[linux] remove gratuitous differences with plain linux.
authorChristian Limpach <Christian.Limpach@xensource.com>
Thu, 18 Jan 2007 15:33:59 +0000 (15:33 +0000)
committerChristian Limpach <Christian.Limpach@xensource.com>
Thu, 18 Jan 2007 15:33:59 +0000 (15:33 +0000)
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
linux-2.6-xen-sparse/arch/i386/kernel/sysenter.c

index f300bd159e87d069297a64f4138b0acded4ca855..1631c182c994888cf599aac3b451c7af04f36217 100644 (file)
@@ -56,7 +56,9 @@ static void *syscall_page;
 
 int __init sysenter_setup(void)
 {
-       syscall_page = (void *)get_zeroed_page(GFP_ATOMIC);
+       void *page = (void *)get_zeroed_page(GFP_ATOMIC);
+
+       syscall_page = page;
 
 #ifdef CONFIG_XEN
        if (boot_cpu_has(X86_FEATURE_SEP)) {
@@ -70,16 +72,16 @@ int __init sysenter_setup(void)
        }
 #endif
 
-       if (boot_cpu_has(X86_FEATURE_SEP)) {
-               memcpy(syscall_page,
-                      &vsyscall_sysenter_start,
-                      &vsyscall_sysenter_end - &vsyscall_sysenter_start);
+       if (!boot_cpu_has(X86_FEATURE_SEP)) {
+               memcpy(page,
+                      &vsyscall_int80_start,
+                      &vsyscall_int80_end - &vsyscall_int80_start);
                return 0;
        }
 
-       memcpy(syscall_page,
-              &vsyscall_int80_start,
-              &vsyscall_int80_end - &vsyscall_int80_start);
+       memcpy(page,
+              &vsyscall_sysenter_start,
+              &vsyscall_sysenter_end - &vsyscall_sysenter_start);
 
        return 0;
 }