diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-07-12 05:22:06 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-16 05:08:44 -0400 |
commit | d5303b811b9d6dad2e7396d545eb7db414d42a61 (patch) | |
tree | 232a999678a4a2e1420d4a35a3af49d84348b1ce /arch/x86/xen | |
parent | 6a52e4b1cddd90fbfde8fb67021657936ee74b07 (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.c | 9 |
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 | } |