Tian, Kevin
2009-Feb-05 10:17 UTC
[Xen-devel] [PATCH] s3: recover pat value for bsp after S3 resume.
recover pat value for bsp after S3 resume. host pat is set to cover all memory types by Xen, which is necessary to support guest mtrr/pat, especially when device is passthroughed with VT-d. However pat on bsp is not recovered which could make assigned device defunct after S3 resume Signed-off-by Kevin Tian <kevin.tian@intel.com> diff -r 0894164a95f4 xen/arch/x86/acpi/suspend.c --- a/xen/arch/x86/acpi/suspend.c Wed Feb 04 22:41:20 2009 -0500 +++ b/xen/arch/x86/acpi/suspend.c Wed Feb 04 22:54:33 2009 -0500 @@ -65,6 +65,9 @@ /* Reload FPU state on next FPU use. */ stts(); + if (cpu_has_pat) + wrmsrl(MSR_IA32_CR_PAT, host_pat); + mtrr_ap_init(); mcheck_init(&boot_cpu_data); } diff -r 0894164a95f4 xen/include/asm-x86/processor.h --- a/xen/include/asm-x86/processor.h Wed Feb 04 22:41:20 2009 -0500 +++ b/xen/include/asm-x86/processor.h Wed Feb 04 22:54:33 2009 -0500 @@ -188,6 +188,7 @@ #define current_cpu_data boot_cpu_data #endif +extern u64 host_pat; extern int phys_proc_id[NR_CPUS]; extern int cpu_core_id[NR_CPUS]; _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel