ia64/xen-unstable

changeset 6325:8cc3e7262a23

I noticed that an old problem is back (see below). The time command is
not showing the correct time (it's 3 sec in real time). The patch
attached restores the dropped line at the time of upgrading to 2.6.12.

Jun Nakajima
author kaf24@firebug.cl.cam.ac.uk
date Mon Aug 22 09:37:27 2005 +0000 (2005-08-22)
parents 5e71bcc3b51a
children f6aa23148c19
files linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c	Mon Aug 22 08:51:04 2005 +0000
     1.2 +++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/vsyscall.c	Mon Aug 22 09:37:27 2005 +0000
     1.3 @@ -210,15 +210,16 @@ static void __init map_vsyscall(void)
     1.4  	__set_fixmap(VSYSCALL_FIRST_PAGE, physaddr_page0, PAGE_KERNEL_VSYSCALL);
     1.5  }
     1.6  
     1.7 -extern void __set_fixmap_user (enum fixed_addresses, unsigned long, pgprot_t);
     1.8 -
     1.9 +#ifdef CONFIG_XEN
    1.10  static void __init map_vsyscall_user(void)
    1.11  {
    1.12 +	extern void __set_fixmap_user(enum fixed_addresses, unsigned long, pgprot_t);
    1.13  	extern char __vsyscall_0;
    1.14  	unsigned long physaddr_page0 = __pa_symbol(&__vsyscall_0);
    1.15  
    1.16  	__set_fixmap_user(VSYSCALL_FIRST_PAGE, physaddr_page0, PAGE_KERNEL_VSYSCALL);
    1.17  }
    1.18 +#endif
    1.19  
    1.20  static int __init vsyscall_init(void)
    1.21  {
    1.22 @@ -227,7 +228,10 @@ static int __init vsyscall_init(void)
    1.23  	BUG_ON((unsigned long) &vtime != VSYSCALL_ADDR(__NR_vtime));
    1.24  	BUG_ON((VSYSCALL_ADDR(0) != __fix_to_virt(VSYSCALL_FIRST_PAGE)));
    1.25  	map_vsyscall();
    1.26 -        map_vsyscall_user();    /* establish tranlation for user address space */
    1.27 +#ifdef CONFIG_XEN
    1.28 +	map_vsyscall_user();
    1.29 +	sysctl_vsyscall = 0; /* disable vgettimeofay() */
    1.30 +#endif
    1.31  #ifdef CONFIG_SYSCTL
    1.32  	register_sysctl_table(kernel_root_table2, 0);
    1.33  #endif