diff options
author | Marcelo Tosatti <mtosatti@redhat.com> | 2011-07-29 18:44:21 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-09-25 12:18:01 -0400 |
commit | 742bc67042e34a9fe1fed0b46e4cb1431a72c4bf (patch) | |
tree | fe7edae3943a1bf7ffe108ae03bd7677361738ca | |
parent | 1d2887e2d849969f58ce79203f9785ebe065d494 (diff) |
KVM: x86: report valid microcode update ID
Windows Server 2008 SP2 checked build with smp > 1 BSOD's during
boot due to lack of microcode update:
*** Assertion failed: The system BIOS on this machine does not properly
support the processor. The system BIOS did not load any microcode update.
A BIOS containing the latest microcode update is needed for system reliability.
(CurrentUpdateRevision != 0)
*** Source File: d:\longhorn\base\hals\update\intelupd\update.c, line 440
Report a non-zero microcode update signature to make it happy.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r-- | arch/x86/kvm/x86.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 1fe9637ff153..ea8f9f03e923 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -1842,7 +1842,6 @@ int kvm_get_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 *pdata) | |||
1842 | 1842 | ||
1843 | switch (msr) { | 1843 | switch (msr) { |
1844 | case MSR_IA32_PLATFORM_ID: | 1844 | case MSR_IA32_PLATFORM_ID: |
1845 | case MSR_IA32_UCODE_REV: | ||
1846 | case MSR_IA32_EBL_CR_POWERON: | 1845 | case MSR_IA32_EBL_CR_POWERON: |
1847 | case MSR_IA32_DEBUGCTLMSR: | 1846 | case MSR_IA32_DEBUGCTLMSR: |
1848 | case MSR_IA32_LASTBRANCHFROMIP: | 1847 | case MSR_IA32_LASTBRANCHFROMIP: |
@@ -1863,6 +1862,9 @@ int kvm_get_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 *pdata) | |||
1863 | case MSR_FAM10H_MMIO_CONF_BASE: | 1862 | case MSR_FAM10H_MMIO_CONF_BASE: |
1864 | data = 0; | 1863 | data = 0; |
1865 | break; | 1864 | break; |
1865 | case MSR_IA32_UCODE_REV: | ||
1866 | data = 0x100000000ULL; | ||
1867 | break; | ||
1866 | case MSR_MTRRcap: | 1868 | case MSR_MTRRcap: |
1867 | data = 0x500 | KVM_NR_VAR_MTRR; | 1869 | data = 0x500 | KVM_NR_VAR_MTRR; |
1868 | break; | 1870 | break; |