From: Toshi Kani Delete the PAT table initialization code from Xen as this case is now supported by PAT. --- arch/x86/include/asm/mtrr.h | 2 +- arch/x86/kernel/cpu/mtrr/main.c | 4 ++-- arch/x86/xen/enlighten.c | 9 --------- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h index a965e74..77420c3 100644 --- a/arch/x86/include/asm/mtrr.h +++ b/arch/x86/include/asm/mtrr.h @@ -86,7 +86,7 @@ static inline void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi) } static inline void mtrr_bp_init(void) { - pat_disable("PAT disabled by MTRR"); + pat_disable("PAT emulation"); } #define mtrr_ap_init() do {} while (0) diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c index d9e91f1..e10fba4 100644 --- a/arch/x86/kernel/cpu/mtrr/main.c +++ b/arch/x86/kernel/cpu/mtrr/main.c @@ -767,10 +767,10 @@ void __init mtrr_bp_init(void) /* * PAT initialization relies on MTRR's rendezvous handler. - * Disable PAT until the handler can initialize both features + * Emulate PAT until the handler can initialize both features * independently. */ - pat_disable("PAT disabled by MTRR"); + pat_disable("PAT emulation"); } } diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index d09e4c9..c883f11 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -74,7 +74,6 @@ #include #include #include -#include #include #ifdef CONFIG_ACPI @@ -1510,7 +1509,6 @@ asmlinkage __visible void __init xen_start_kernel(void) { struct physdev_set_iopl set_iopl; unsigned long initrd_start = 0; - u64 pat; int rc; if (!xen_start_info) @@ -1617,13 +1615,6 @@ asmlinkage __visible void __init xen_start_kernel(void) xen_start_info->nr_pages); xen_reserve_special_pages(); - /* - * Modify the cache mode translation tables to match Xen's PAT - * configuration. - */ - rdmsrl(MSR_IA32_CR_PAT, pat); - pat_init_cache_modes(pat); - /* keep using Xen gdt for now; no urgent need to change it */ #ifdef CONFIG_X86_32