aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-07-12 05:22:06 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-16 05:08:44 -0400
commitd5303b811b9d6dad2e7396d545eb7db414d42a61 (patch)
tree232a999678a4a2e1420d4a35a3af49d84348b1ce /arch/x86/xen
parent6a52e4b1cddd90fbfde8fb67021657936ee74b07 (diff)
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/x86/xen')
-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)
137 137
138 ret = register_callback(CALLBACKTYPE_syscall, xen_syscall_target); 138 ret = register_callback(CALLBACKTYPE_syscall, xen_syscall_target);
139 if (ret != 0) { 139 if (ret != 0) {
140 printk(KERN_ERR "Failed to set syscall: %d\n", ret); 140 printk(KERN_ERR "Failed to set syscall callback: %d\n", ret);
141 /* Pretty fatal; 64-bit userspace has no other 141 /* Pretty fatal; 64-bit userspace has no other
142 mechanism for syscalls. */ 142 mechanism for syscalls. */
143 } 143 }
@@ -145,13 +145,8 @@ void __cpuinit xen_enable_syscall(void)
145 if (boot_cpu_has(X86_FEATURE_SYSCALL32)) { 145 if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
146 ret = register_callback(CALLBACKTYPE_syscall32, 146 ret = register_callback(CALLBACKTYPE_syscall32,
147 xen_syscall32_target); 147 xen_syscall32_target);
148 if (ret != 0) { 148 if (ret != 0)
149 printk(KERN_INFO "Xen: 32-bit syscall not supported: disabling vdso\n");
150 setup_clear_cpu_cap(X86_FEATURE_SYSCALL32); 149 setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
151#ifdef CONFIG_COMPAT
152 sysctl_vsyscall32 = 0;
153#endif
154 }
155 } 150 }
156#endif /* CONFIG_X86_64 */ 151#endif /* CONFIG_X86_64 */
157} 152}