[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 13/13] x86/cpuid: Update qemu64/32 CPU models
From: |
Andre Przywara |
Subject: |
[Qemu-devel] [PATCH 13/13] x86/cpuid: Update qemu64/32 CPU models |
Date: |
Thu, 11 Mar 2010 14:39:07 +0100 |
Since we now have a real TCG feature set, use it to describe the
artificial qemu CPUs (both 64 and 32-bit). If new features are added
to TCG, the capability of qemu64/32 will automatically be adjusted.
Signed-off-by: Andre Przywara <address@hidden>
---
target-i386/cpuid.c | 25 +++++++++++++------------
1 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/target-i386/cpuid.c b/target-i386/cpuid.c
index 076f6cc..ec43596 100644
--- a/target-i386/cpuid.c
+++ b/target-i386/cpuid.c
@@ -227,6 +227,7 @@ typedef struct x86_def_t {
CPUID_MSR | CPUID_MCE | CPUID_CX8 | CPUID_PGE | CPUID_CMOV | \
CPUID_PAT | CPUID_FXSR | CPUID_MMX | CPUID_SSE | CPUID_SSE2 | \
CPUID_PAE | CPUID_SEP | CPUID_APIC)
+#define EXT2_FEATURES_64 (CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX)
#define EXT2_FEATURE_MASK 0x0183F3FF
#define TCG_FEATURES (CPUID_FP87 | CPUID_PSE | CPUID_TSC | CPUID_MSR | \
@@ -259,16 +260,12 @@ static x86_def_t builtin_x86_defs[] = {
.family = 6,
.model = 2,
.stepping = 3,
- .features = PPRO_FEATURES |
- /* these features are needed for Win64 and aren't fully implemented */
- CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA |
- /* this feature is needed for Solaris and isn't fully implemented */
- CPUID_PSE36,
- .ext_features = CPUID_EXT_SSE3 | CPUID_EXT_CX16 | CPUID_EXT_POPCNT,
- .ext2_features = (PPRO_FEATURES & EXT2_FEATURE_MASK) |
- CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX,
- .ext3_features = CPUID_EXT3_LAHF_LM | CPUID_EXT3_SVM |
- CPUID_EXT3_ABM | CPUID_EXT3_SSE4A,
+ .features = TCG_FEATURES,
+ .ext_features = TCG_EXT_FEATURES,
+ /* 3DNow! is deprecated, so leave it out of the default feature set */
+ .ext2_features = (TCG_EXT2_FEATURES | EXT2_FEATURES_64) &
+ ~(CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT),
+ .ext3_features = TCG_EXT3_FEATURES,
.xlevel = 0x8000000A,
.model_id = "QEMU Virtual CPU version " QEMU_VERSION,
},
@@ -354,8 +351,12 @@ static x86_def_t builtin_x86_defs[] = {
.family = 6,
.model = 3,
.stepping = 3,
- .features = PPRO_FEATURES,
- .ext_features = CPUID_EXT_SSE3 | CPUID_EXT_POPCNT,
+ .features = TCG_FEATURES,
+ .ext_features = TCG_EXT_FEATURES,
+ /* 3DNow! is deprecated, so leave it out of the default feature set */
+ .ext2_features = TCG_EXT2_FEATURES &
+ ~(CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT),
+ .ext3_features = TCG_EXT3_FEATURES,
.xlevel = 0x80000004,
.model_id = "QEMU Virtual CPU version " QEMU_VERSION,
},
--
1.6.4
- [Qemu-devel] [PATCH 00/13] x86/cpuid: cleanups and fixes, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 03/13] x86/cpuid: fix missing feature set bits, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 06/13] x86/cpuid: add "host" to the list of supported CPU models, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 08/13] x86/cpuid: propagate further CPUID leafs when -cpu host, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 12/13] x86/cpuid: fix CPUID levels, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 09/13] x86/cpuid: add TCG feature bit trimming, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 04/13] x86/cpuid: moved host_cpuid function and remove prototype, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 13/13] x86/cpuid: Update qemu64/32 CPU models,
Andre Przywara <=
- [Qemu-devel] [PATCH 10/13] x86/cpuid: Always expose 32 and 64-bit CPUs, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 02/13] x86/cpuid: replace magic number with named constant, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 07/13] x86/cpuid: remove unnecessary kvm_trim function, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 01/13] x86/cpuid: move CPUID functions into separate file, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 05/13] x86/cpuid: add missing CPUID feature flag names, Andre Przywara, 2010/03/11
- [Qemu-devel] [PATCH 11/13] x86/cpuid: Add kvm32 CPU model, Andre Przywara, 2010/03/11
- Re: [Qemu-devel] [PATCH 00/13] x86/cpuid: cleanups and fixes, Aurelien Jarno, 2010/03/13