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>
This commit is contained in:
committed by
Ingo Molnar
parent
8d28aab59f
commit
b6ad92d4fa
@@ -203,20 +203,11 @@ static struct page *vdso32_pages[1];
|
|||||||
|
|
||||||
#ifdef CONFIG_X86_64
|
#ifdef CONFIG_X86_64
|
||||||
|
|
||||||
static int use_sysenter __read_mostly = -1;
|
#define vdso32_sysenter() (boot_cpu_has(X86_FEATURE_SYSENTER32))
|
||||||
|
|
||||||
#define vdso32_sysenter() (use_sysenter > 0)
|
|
||||||
|
|
||||||
/* May not be __init: called during resume */
|
/* May not be __init: called during resume */
|
||||||
void syscall32_cpu_init(void)
|
void syscall32_cpu_init(void)
|
||||||
{
|
{
|
||||||
if (use_sysenter < 0) {
|
|
||||||
if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
|
|
||||||
use_sysenter = 1;
|
|
||||||
if (boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR)
|
|
||||||
use_sysenter = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Load these always in case some future AMD CPU supports
|
/* Load these always in case some future AMD CPU supports
|
||||||
SYSENTER from compat mode too. */
|
SYSENTER from compat mode too. */
|
||||||
checking_wrmsrl(MSR_IA32_SYSENTER_CS, (u64)__KERNEL_CS);
|
checking_wrmsrl(MSR_IA32_SYSENTER_CS, (u64)__KERNEL_CS);
|
||||||
|
Reference in New Issue
Block a user