summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-07-12 13:22:06 +0400
committerIngo Molnar <mingo@elte.hu>2008-07-16 13:08:44 +0400
commitd5303b811b9d6dad2e7396d545eb7db414d42a61 (patch)
tree232a999678a4a2e1420d4a35a3af49d84348b1ce /arch
parent6a52e4b1cddd90fbfde8fb67021657936ee74b07 (diff)
downloadlinux-d5303b811b9d6dad2e7396d545eb7db414d42a61.tar.xz
x86: xen: no need to disable vdso32
Now that the vdso32 code can cope with both syscall and sysenter missing for 32-bit compat processes, just disable the features without disabling vdso altogether. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/xen/setup.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index e3648e64a637..b6acc3a0af46 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -137,7 +137,7 @@ void __cpuinit xen_enable_syscall(void)
ret = register_callback(CALLBACKTYPE_syscall, xen_syscall_target);
if (ret != 0) {
- printk(KERN_ERR "Failed to set syscall: %d\n", ret);
+ printk(KERN_ERR "Failed to set syscall callback: %d\n", ret);
/* Pretty fatal; 64-bit userspace has no other
mechanism for syscalls. */
}
@@ -145,13 +145,8 @@ void __cpuinit xen_enable_syscall(void)
if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
ret = register_callback(CALLBACKTYPE_syscall32,
xen_syscall32_target);
- if (ret != 0) {
- printk(KERN_INFO "Xen: 32-bit syscall not supported: disabling vdso\n");
+ if (ret != 0)
setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
-#ifdef CONFIG_COMPAT
- sysctl_vsyscall32 = 0;
-#endif
- }
}
#endif /* CONFIG_X86_64 */
}