|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] x86: recover pat value for bsp after S3 r
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1233836049 0
# Node ID 8303bd33d0304ed4f4edc94960c874eabad60563
# Parent 4c92a04f4f5ec6bfc07ff39783bf8a45765bb418
x86: 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=20
recovered which could make assigned device defunct after S3
resume
Signed-off-by Kevin Tian <kevin.tian@xxxxxxxxx>
---
xen/arch/x86/acpi/suspend.c | 3 +++
xen/include/asm-x86/processor.h | 1 +
2 files changed, 4 insertions(+)
diff -r 4c92a04f4f5e -r 8303bd33d030 xen/arch/x86/acpi/suspend.c
--- a/xen/arch/x86/acpi/suspend.c Thu Feb 05 12:13:25 2009 +0000
+++ b/xen/arch/x86/acpi/suspend.c Thu Feb 05 12:14:09 2009 +0000
@@ -65,6 +65,9 @@ void restore_rest_processor_state(void)
/* 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 4c92a04f4f5e -r 8303bd33d030 xen/include/asm-x86/processor.h
--- a/xen/include/asm-x86/processor.h Thu Feb 05 12:13:25 2009 +0000
+++ b/xen/include/asm-x86/processor.h Thu Feb 05 12:14:09 2009 +0000
@@ -188,6 +188,7 @@ extern struct cpuinfo_x86 cpu_data[];
#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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] x86: recover pat value for bsp after S3 resume.,
Xen patchbot-unstable <=
|
|
|
|
|