diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-07-10 21:13:36 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-11 09:44:58 -0400 |
commit | b6ad92d4faade38619e89acc509ca1416b81a0bd (patch) | |
tree | 7528f614a7ede9d24f51f53da0b405920e9c9083 /arch/x86 | |
parent | 8d28aab59fe939be40efae870ced0b05caa259fb (diff) |
x86_64: vdso32 cleanup using feature flags
Use the X86_FEATURE_SYSENTER32 to remove hard-coded CPU vendor check.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/vdso/vdso32-setup.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c index cf058fecfcee..0bce5429a515 100644 --- a/arch/x86/vdso/vdso32-setup.c +++ b/arch/x86/vdso/vdso32-setup.c | |||
@@ -203,20 +203,11 @@ static struct page *vdso32_pages[1]; | |||
203 | 203 | ||
204 | #ifdef CONFIG_X86_64 | 204 | #ifdef CONFIG_X86_64 |
205 | 205 | ||
206 | static int use_sysenter __read_mostly = -1; | 206 | #define vdso32_sysenter() (boot_cpu_has(X86_FEATURE_SYSENTER32)) |
207 | |||
208 | #define vdso32_sysenter() (use_sysenter > 0) | ||
209 | 207 | ||
210 | /* May not be __init: called during resume */ | 208 | /* May not be __init: called during resume */ |
211 | void syscall32_cpu_init(void) | 209 | void syscall32_cpu_init(void) |
212 | { | 210 | { |
213 | if (use_sysenter < 0) { | ||
214 | if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) | ||
215 | use_sysenter = 1; | ||
216 | if (boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR) | ||
217 | use_sysenter = 1; | ||
218 | } | ||
219 | |||
220 | /* Load these always in case some future AMD CPU supports | 211 | /* Load these always in case some future AMD CPU supports |
221 | SYSENTER from compat mode too. */ | 212 | SYSENTER from compat mode too. */ |
222 | checking_wrmsrl(MSR_IA32_SYSENTER_CS, (u64)__KERNEL_CS); | 213 | checking_wrmsrl(MSR_IA32_SYSENTER_CS, (u64)__KERNEL_CS); |