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