From 4941c3e5c2366f008c90f1f58a49c0ed203fce11 Mon Sep 17 00:00:00 2001 From: Eduardo Habkost Date: Tue, 25 Mar 2014 16:03:47 +0100 Subject: [PATCH 2/2] target-i386: Copy cpu64-rhel6 definition into qemu64 RH-Author: Eduardo Habkost Message-id: <1395763427-31684-3-git-send-email-ehabkost@redhat.com> Patchwork-id: 58248 O-Subject: [RHEL7 qemu-kvm PATCH 2/2] target-i386: Copy cpu64-rhel6 definition into qemu64 Bugzilla: 1080170 RH-Acked-by: Paolo Bonzini RH-Acked-by: Alex Williamson RH-Acked-by: Bandan Das Bugzilla: 1078607 Brew scratch build: http://brewweb.devel.redhat.com/brew/taskinfo?taskID=7250917 Upstream status: not applicable The CPUID data from cpu64-rhel6 is a better default than qemu64. Among other things, this fixes MSI problems on 32-bit Windows guests. Signed-off-by: Eduardo Habkost --- target-i386/cpu.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) Signed-off-by: Miroslav Rezanina --- target-i386/cpu.c | 33 ++++++++++++++++++++------------- 1 files changed, 20 insertions(+), 13 deletions(-) diff --git a/target-i386/cpu.c b/target-i386/cpu.c index 005e190..e65318e 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -440,24 +440,31 @@ typedef struct x86_def_t { */ static x86_def_t builtin_x86_defs[] = { { + /* qemu64 is the default CPU model for all *-rhel7.* machine-types. + * The default on RHEL-6 was cpu64-rhel6. + * libvirt assumes that qemu64 is the default for _all_ machine-types, + * so we should try to keep qemu64 and cpu64-rhel6 as similar as + * possible. + */ .name = "qemu64", .level = 4, .vendor = CPUID_VENDOR_AMD, .family = 6, - .model = 6, + .model = 13, .stepping = 3, - .features[FEAT_1_EDX] = - PPRO_FEATURES | - CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | - CPUID_PSE36, - .features[FEAT_1_ECX] = - CPUID_EXT_SSE3 | CPUID_EXT_CX16 | CPUID_EXT_POPCNT, - .features[FEAT_8000_0001_EDX] = - (PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) | - CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX, - .features[FEAT_8000_0001_ECX] = - CPUID_EXT3_LAHF_LM | CPUID_EXT3_SVM | - CPUID_EXT3_ABM | CPUID_EXT3_SSE4A, + .features[FEAT_1_EDX] = CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | + CPUID_MMX | CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | + CPUID_MCA | CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | + CPUID_CX8 | CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | + CPUID_PSE | CPUID_DE | CPUID_FP87, + .features[FEAT_1_ECX] = CPUID_EXT_CX16 | CPUID_EXT_SSE3, + .features[FEAT_8000_0001_EDX] = CPUID_EXT2_LM | CPUID_EXT2_FXSR | + CPUID_EXT2_MMX | CPUID_EXT2_NX | CPUID_EXT2_PAT | CPUID_EXT2_CMOV | + CPUID_EXT2_PGE | CPUID_EXT2_SYSCALL | CPUID_EXT2_APIC | + CPUID_EXT2_CX8 | CPUID_EXT2_MCE | CPUID_EXT2_PAE | CPUID_EXT2_MSR | CPUID_EXT2_TSC | + CPUID_EXT2_PSE | CPUID_EXT2_DE | CPUID_EXT2_FPU, + .features[FEAT_8000_0001_ECX] = CPUID_EXT3_SSE4A | CPUID_EXT3_ABM | + CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM, .xlevel = 0x8000000A, }, { -- 1.7.1