9ae3a8
From 7ed89963702e6c53c20864b564a5b43712a38ccd Mon Sep 17 00:00:00 2001
9ae3a8
From: Eduardo Habkost <ehabkost@redhat.com>
9ae3a8
Date: Thu, 25 Jun 2015 19:31:24 +0200
9ae3a8
Subject: [PATCH 04/10] kvm: always update the MPX model specific register
9ae3a8
9ae3a8
Message-id: <1435260689-9556-4-git-send-email-ehabkost@redhat.com>
9ae3a8
Patchwork-id: 66501
9ae3a8
O-Subject: [RHEL-7.2 qemu-kvm PATCH 3/8] kvm: always update the MPX model specific register
9ae3a8
Bugzilla: 1233350
9ae3a8
RH-Acked-by: Igor Mammedov <imammedo@redhat.com>
9ae3a8
RH-Acked-by: Bandan Das <bsd@redhat.com>
9ae3a8
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
9ae3a8
9ae3a8
From: Paolo Bonzini <pbonzini@redhat.com>
9ae3a8
9ae3a8
The original patch from Liu Jinsong restricted them to reset or full
9ae3a8
state updates, but that's unnecessary (and wrong) since the BNDCFGS
9ae3a8
MSR has no side effects.
9ae3a8
9ae3a8
Cc: Liu Jinsong <jinsong.liu@intel.com>
9ae3a8
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
9ae3a8
(cherry picked from commit 439d19f2922ac409ee224bc1e5522cee7009d829)
9ae3a8
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
9ae3a8
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
9ae3a8
9ae3a8
Conflicts:
9ae3a8
	target-i386/kvm.c
9ae3a8
---
9ae3a8
 target-i386/kvm.c | 6 +++---
9ae3a8
 1 file changed, 3 insertions(+), 3 deletions(-)
9ae3a8
9ae3a8
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
9ae3a8
index 6d9aa63..bbbbac0 100644
9ae3a8
--- a/target-i386/kvm.c
9ae3a8
+++ b/target-i386/kvm.c
9ae3a8
@@ -1155,6 +1155,9 @@ static int kvm_put_msrs(X86CPU *cpu, int level)
9ae3a8
         kvm_msr_entry_set(&msrs[n++], MSR_IA32_MISC_ENABLE,
9ae3a8
                           env->msr_ia32_misc_enable);
9ae3a8
     }
9ae3a8
+    if (has_msr_bndcfgs) {
9ae3a8
+        kvm_msr_entry_set(&msrs[n++], MSR_IA32_BNDCFGS, env->msr_bndcfgs);
9ae3a8
+    }
9ae3a8
 #ifdef TARGET_X86_64
9ae3a8
     if (lm_capable_kernel) {
9ae3a8
         kvm_msr_entry_set(&msrs[n++], MSR_CSTAR, env->cstar);
9ae3a8
@@ -1266,9 +1269,6 @@ static int kvm_put_msrs(X86CPU *cpu, int level)
9ae3a8
                                   MSR_MTRRphysMask(i), env->mtrr_var[i].mask);
9ae3a8
             }
9ae3a8
         }
9ae3a8
-        if (has_msr_bndcfgs) {
9ae3a8
-            kvm_msr_entry_set(&msrs[n++], MSR_IA32_BNDCFGS, env->msr_bndcfgs);
9ae3a8
-        }
9ae3a8
     }
9ae3a8
     if (env->mcg_cap) {
9ae3a8
         int i;
9ae3a8
-- 
9ae3a8
1.8.3.1
9ae3a8