9ae3a8
From 78fbb36235f35484e0ae0a124269b35288dd472b Mon Sep 17 00:00:00 2001
9ae3a8
From: Eduardo Habkost <ehabkost@redhat.com>
9ae3a8
Date: Tue, 20 Aug 2013 15:09:49 +0200
9ae3a8
Subject: [PATCH 21/28] pc: set compat CPUID[0x80000001].EDX bits on Westmere for rhel6.x
9ae3a8
9ae3a8
RH-Author: Eduardo Habkost <ehabkost@redhat.com>
9ae3a8
Message-id: <1377011392-9336-5-git-send-email-ehabkost@redhat.com>
9ae3a8
Patchwork-id: 53611
9ae3a8
O-Subject: [RHEL7 PATCH 4/7] pc: set compat CPUID[0x80000001].EDX bits on Westmere for rhel6.x
9ae3a8
Bugzilla: 918907
9ae3a8
RH-Acked-by: Markus Armbruster <armbru@redhat.com>
9ae3a8
RH-Acked-by: Bandan Das <bsd@redhat.com>
9ae3a8
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
9ae3a8
9ae3a8
Bugzilla: 918907
9ae3a8
Upstream status: not applicable
9ae3a8
9ae3a8
On RHEL-6 the Westmere CPU model has many CPU feature alias bits
9ae3a8
incorrectly set on CPUID[0x80000001].EDX. This is a RHEL-6 bug (that
9ae3a8
doesn't cause problems because those bits are documented as reserved on
9ae3a8
Intel CPUs), but we need to keep exactly the same bits for compatibility
9ae3a8
on the rhel6.x machine-types.
9ae3a8
9ae3a8
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
9ae3a8
---
9ae3a8
 hw/i386/pc_piix.c | 6 ++++++
9ae3a8
 1 file changed, 6 insertions(+)
9ae3a8
9ae3a8
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
9ae3a8
---
9ae3a8
 hw/i386/pc_piix.c |    6 ++++++
9ae3a8
 1 files changed, 6 insertions(+), 0 deletions(-)
9ae3a8
9ae3a8
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
9ae3a8
index c5d82ab..d5dc04d 100644
9ae3a8
--- a/hw/i386/pc_piix.c
9ae3a8
+++ b/hw/i386/pc_piix.c
9ae3a8
@@ -868,6 +868,12 @@ static void pc_init_rhel650(QEMUMachineInitArgs *args)
9ae3a8
     x86_cpu_compat_set_features("Penryn", FEAT_1_ECX, CPUID_EXT_X2APIC, 0);
9ae3a8
     x86_cpu_compat_set_features("Nehalem", FEAT_1_ECX, CPUID_EXT_X2APIC, 0);
9ae3a8
     x86_cpu_compat_set_features("Westmere", FEAT_1_ECX, CPUID_EXT_X2APIC, 0);
9ae3a8
+    x86_cpu_compat_set_features("Westmere", FEAT_8000_0001_EDX,
9ae3a8
+             CPUID_EXT2_FXSR | CPUID_EXT2_MMX | CPUID_EXT2_PAT |
9ae3a8
+             CPUID_EXT2_CMOV | CPUID_EXT2_PGE | CPUID_EXT2_APIC |
9ae3a8
+             CPUID_EXT2_CX8 | CPUID_EXT2_MCE | CPUID_EXT2_PAE | CPUID_EXT2_MSR |
9ae3a8
+             CPUID_EXT2_TSC | CPUID_EXT2_PSE | CPUID_EXT2_DE | CPUID_EXT2_FPU,
9ae3a8
+             0);
9ae3a8
     pc_init_rhel700(args);
9ae3a8
 }
9ae3a8
 
9ae3a8
-- 
9ae3a8
1.7.1
9ae3a8