From: Avi Kivity <[email protected]>

kvm misreports the support for MTRR, PAT, MCA, and MCE.  This causes Vista x64
to fail to boot.

Signed-off-by: Avi Kivity <[email protected]>

diff --git a/kvm/libkvm/libkvm-x86.c b/kvm/libkvm/libkvm-x86.c
index dd2b878..a2f6320 100644
--- a/kvm/libkvm/libkvm-x86.c
+++ b/kvm/libkvm/libkvm-x86.c
@@ -627,6 +627,15 @@ uint32_t kvm_get_supported_cpuid(kvm_context_t kvm, 
uint32_t function, int reg)
                                break;
                        case R_EDX:
                                ret = cpuid->entries[i].edx;
+                                if (function == 1) {
+                                    /* kvm misreports the following features
+                                     */
+                                    ret |= 1 << 12; /* MTRR */
+                                    ret |= 1 << 16; /* PAT */
+                                    ret |= 1 << 7;  /* MCE */
+                                    ret |= 1 << 14; /* MCA */
+                                }
+
                                /* On Intel, kvm returns cpuid according to
                                 * the Intel spec, so add missing bits
                                 * according to the AMD spec:
--
To unsubscribe from this list: send the line "unsubscribe kvm-commits" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to