thebeanogamer / rpms / qemu-kvm

Forked from rpms/qemu-kvm 5 months ago
Clone
Blob Blame History Raw
From f28b055b5d576b9e5e87aa18bf655b53eff1571c Mon Sep 17 00:00:00 2001
From: Eduardo Habkost <ehabkost@redhat.com>
Date: Tue, 20 Aug 2013 15:09:51 +0200
Subject: [PATCH 23/28] pc: SandyBridge rhel6.x compat fixes

RH-Author: Eduardo Habkost <ehabkost@redhat.com>
Message-id: <1377011392-9336-7-git-send-email-ehabkost@redhat.com>
Patchwork-id: 53614
O-Subject: [RHEL7 PATCH 6/7] pc: SandyBridge rhel6.x compat fixes
Bugzilla: 918907
RH-Acked-by: Markus Armbruster <armbru@redhat.com>
RH-Acked-by: Bandan Das <bsd@redhat.com>
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>

Bugzilla: 918907
Upstream status: not applicable

This patch implements the following changes, to match the SandyBridge
CPU features on RHEL-6:

 * rhel6.3.0 and older don't have tsc-deadline on SandyBridge
   (commit 10ce057)
 * rhel6.5.0 and older don't have rdtscp on SandyBridge

Signed-off-by: Eduardo Habkost <ehabkost@raisama.net>
---
 hw/i386/pc_piix.c | 4 ++++
 1 file changed, 4 insertions(+)

Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
---
 hw/i386/pc_piix.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 846e2ce..fb5256e 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -875,6 +875,8 @@ static void pc_init_rhel650(QEMUMachineInitArgs *args)
              CPUID_EXT2_CX8 | CPUID_EXT2_MCE | CPUID_EXT2_PAE | CPUID_EXT2_MSR |
              CPUID_EXT2_TSC | CPUID_EXT2_PSE | CPUID_EXT2_DE | CPUID_EXT2_FPU,
              0);
+    x86_cpu_compat_set_features("SandyBridge", FEAT_8000_0001_EDX,
+                                0, CPUID_EXT2_RDTSCP);
     pc_init_rhel700(args);
 }
 
@@ -961,6 +963,8 @@ static void pc_init_rhel630(QEMUMachineInitArgs *args)
 {
     disable_kvm_pv_eoi();
     enable_compat_apic_id_mode();
+    x86_cpu_compat_set_features("SandyBridge", FEAT_1_ECX,
+                                0, CPUID_EXT_TSC_DEADLINE_TIMER);
     pc_init_rhel640(args);
 }
 
-- 
1.7.1