[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-4.0-testing] svm: Fake out the Bus Unit Config MSR on revF AMD CPUs
# HG changeset patch # User George Dunlap <george.dunlap@xxxxxxxxxxxxx> # Date 1335878326 -3600 # Node ID d8fd425b60d3105d08a82d572bc41d4c36190dae # Parent b1a00a222eb948feeb81ccc2ebd822787316fb47 svm: Fake out the Bus Unit Config MSR on revF AMD CPUs Win2k8 x64 reads this MSR on revF chips, where it wasn't publically available; it uses a magic constant in %rdi as a password, which we don't have in rdmsr_safe(). Since we'll ignore the later writes, just use a plausible value here (the reset value from rev10h chips) if the real CPU didn't provide one. Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx> Committed-by: Keir Fraser <keir@xxxxxxx> xen-unstable changeset: 24990:322300fd2ebd xen-unstable date: Thu Mar 08 09:17:21 2012 +0000 svm: amend c/s 24990:322300fd2ebd (fake BU_CFG MSR on AMD revF) Let's restrict such a hack to the known affected family. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Keir Fraser <keir@xxxxxxx> Acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx> xen-unstable changeset: 25058:f47d91cb0faa xen-unstable date: Thu Mar 15 15:09:18 2012 +0100 --- diff -r b1a00a222eb9 -r d8fd425b60d3 xen/arch/x86/hvm/svm/svm.c --- a/xen/arch/x86/hvm/svm/svm.c Tue May 01 14:16:31 2012 +0100 +++ b/xen/arch/x86/hvm/svm/svm.c Tue May 01 14:18:46 2012 +0100 @@ -1070,6 +1070,18 @@ static int svm_msr_read_intercept(struct break; } + if ( boot_cpu_data.x86 == 0xf && ecx == MSR_F10_BU_CFG ) + { + /* Win2k8 x64 reads this MSR on revF chips, where it + * wasn't publically available; it uses a magic constant + * in %rdi as a password, which we don't have in + * rdmsr_safe(). Since we'll ignore the later writes, + * just use a plausible value here (the reset value from + * rev10h chips) if the real CPU didn't provide one. */ + msr_content = 0x0000000010200020ull; + break; + } + goto gpf; } diff -r b1a00a222eb9 -r d8fd425b60d3 xen/include/asm-x86/msr-index.h --- a/xen/include/asm-x86/msr-index.h Tue May 01 14:16:31 2012 +0100 +++ b/xen/include/asm-x86/msr-index.h Tue May 01 14:18:46 2012 +0100 @@ -242,6 +242,9 @@ #define MSR_F10_MC4_MISC2 0xc0000409 #define MSR_F10_MC4_MISC3 0xc000040A +/* AMD Family10h MMU control MSRs */ +#define MSR_F10_BU_CFG 0xc0011023 + /* Other AMD Fam10h MSRs */ #define MSR_FAM10H_MMIO_CONF_BASE 0xc0010058 #define FAM10H_MMIO_CONF_ENABLE (1<<0) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |