[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 04/21] KVM: x86: Fix up misreported CPU features
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH v2 04/21] KVM: x86: Fix up misreported CPU features |
Date: |
Wed, 3 Feb 2010 09:53:29 +0100 |
>From qemu-kvm: Kernels before 2.6.30 misreported some essential CPU
features via KVM_GET_SUPPORTED_CPUID. Fix them up.
Signed-off-by: Jan Kiszka <address@hidden>
---
target-i386/kvm.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 504f501..9fb96b5 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -101,12 +101,18 @@ uint32_t kvm_arch_get_supported_cpuid(CPUState *env,
uint32_t function, int reg)
break;
case R_EDX:
ret = cpuid->entries[i].edx;
- if (function == 0x80000001) {
+ switch (function) {
+ case 1:
+ /* KVM before 2.6.30 misreports the following features */
+ ret |= CPUID_MTRR | CPUID_PAT | CPUID_MCE | CPUID_MCA;
+ break;
+ case 0x80000001:
/* On Intel, kvm returns cpuid according to the Intel spec,
* so add missing bits according to the AMD spec:
*/
cpuid_1_edx = kvm_arch_get_supported_cpuid(env, 1, R_EDX);
ret |= cpuid_1_edx & 0xdfeff7ff;
+ break;
}
break;
}
--
1.6.0.2
- [Qemu-devel] [PATCH v2 00/21] qemu-kvm: Hook cleanups and extended use of upstream code, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 01/21] qemu-kvm: Drop vmport changes, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 02/21] KVM: Make vmport KVM-compatible, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 06/21] qemu-kvm: Use upstream kvm_setup_guest_memory, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 03/21] qemu-kvm: Clean up register access API, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 08/21] qemu-kvm: Use upstream kvm_arch_get_supported_cpuid, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 04/21] KVM: x86: Fix up misreported CPU features,
Jan Kiszka <=
- [Qemu-devel] [PATCH v2 09/21] qemu-kvm: Use upstream kvm_pit_in_kernel, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 18/21] qemu-kvm: Cleanup/fix TSC and PV clock writeback, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 10/21] KVM: Move and rename regs_modified, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 07/21] qemu-kvm: Use some more upstream prototypes, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 11/21] KVM: Rework of guest debug state writing, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 16/21] KVM: x86: Restrict writeback of VCPU state, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 05/21] qemu-kvm: Use upstream kvm_enabled and cpu_synchronize_state, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 20/21] qemu-kvm: Move kvm_set_boot_cpu_id, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 21/21] qemu-kvm: Bring qemu_init_vcpu back home, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 17/21] qemu-kvm: Use VCPU event state for reset and vmsave/load, Jan Kiszka, 2010/02/03