* [Qemu-devel] [PATCH uq/master] kvm: always update the MPX model specific register
@ 2014-01-20 13:25 Paolo Bonzini
2014-01-22 15:29 ` Marcelo Tosatti
0 siblings, 1 reply; 3+ messages in thread
From: Paolo Bonzini @ 2014-01-20 13:25 UTC (permalink / raw)
To: qemu-devel; +Cc: Liu Jinsong, kvm
The original patch from Liu Jinsong restricted them to reset or full
state updates, but that's unnecessary (and wrong) since the BNDCFGS
MSR has no side effects.
Cc: Liu Jinsong <jinsong.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
target-i386/kvm.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 221c8a0..d34981f 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -1161,6 +1161,9 @@ static int kvm_put_msrs(X86CPU *cpu, int level)
kvm_msr_entry_set(&msrs[n++], MSR_IA32_MISC_ENABLE,
env->msr_ia32_misc_enable);
}
+ if (has_msr_bndcfgs) {
+ kvm_msr_entry_set(&msrs[n++], MSR_IA32_BNDCFGS, env->msr_bndcfgs);
+ }
#ifdef TARGET_X86_64
if (lm_capable_kernel) {
kvm_msr_entry_set(&msrs[n++], MSR_CSTAR, env->cstar);
@@ -1224,9 +1227,6 @@ static int kvm_put_msrs(X86CPU *cpu, int level)
if (cpu->hyperv_vapic) {
kvm_msr_entry_set(&msrs[n++], HV_X64_MSR_APIC_ASSIST_PAGE, 0);
}
- if (has_msr_bndcfgs) {
- kvm_msr_entry_set(&msrs[n++], MSR_IA32_BNDCFGS, env->msr_bndcfgs);
- }
/* Note: MSR_IA32_FEATURE_CONTROL is written separately, see
* kvm_put_msr_feature_control. */
--
1.8.3.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH uq/master] kvm: always update the MPX model specific register
2014-01-20 13:25 [Qemu-devel] [PATCH uq/master] kvm: always update the MPX model specific register Paolo Bonzini
@ 2014-01-22 15:29 ` Marcelo Tosatti
2014-01-22 16:35 ` Paolo Bonzini
0 siblings, 1 reply; 3+ messages in thread
From: Marcelo Tosatti @ 2014-01-22 15:29 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Liu Jinsong, qemu-devel, kvm
On Mon, Jan 20, 2014 at 02:25:36PM +0100, Paolo Bonzini wrote:
> The original patch from Liu Jinsong restricted them to reset or full
> state updates, but that's unnecessary (and wrong) since the BNDCFGS
> MSR has no side effects.
Why is it necessary to save/restore BNDCFGS MSR on states other
than FULL and RESET?
> Cc: Liu Jinsong <jinsong.liu@intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> target-i386/kvm.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> index 221c8a0..d34981f 100644
> --- a/target-i386/kvm.c
> +++ b/target-i386/kvm.c
> @@ -1161,6 +1161,9 @@ static int kvm_put_msrs(X86CPU *cpu, int level)
> kvm_msr_entry_set(&msrs[n++], MSR_IA32_MISC_ENABLE,
> env->msr_ia32_misc_enable);
> }
> + if (has_msr_bndcfgs) {
> + kvm_msr_entry_set(&msrs[n++], MSR_IA32_BNDCFGS, env->msr_bndcfgs);
> + }
> #ifdef TARGET_X86_64
> if (lm_capable_kernel) {
> kvm_msr_entry_set(&msrs[n++], MSR_CSTAR, env->cstar);
> @@ -1224,9 +1227,6 @@ static int kvm_put_msrs(X86CPU *cpu, int level)
> if (cpu->hyperv_vapic) {
> kvm_msr_entry_set(&msrs[n++], HV_X64_MSR_APIC_ASSIST_PAGE, 0);
> }
> - if (has_msr_bndcfgs) {
> - kvm_msr_entry_set(&msrs[n++], MSR_IA32_BNDCFGS, env->msr_bndcfgs);
> - }
>
> /* Note: MSR_IA32_FEATURE_CONTROL is written separately, see
> * kvm_put_msr_feature_control. */
> --
> 1.8.3.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH uq/master] kvm: always update the MPX model specific register
2014-01-22 15:29 ` Marcelo Tosatti
@ 2014-01-22 16:35 ` Paolo Bonzini
0 siblings, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2014-01-22 16:35 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: Liu Jinsong, qemu-devel, kvm
Il 22/01/2014 16:29, Marcelo Tosatti ha scritto:
> > The original patch from Liu Jinsong restricted them to reset or full
> > state updates, but that's unnecessary (and wrong) since the BNDCFGS
> > MSR has no side effects.
>
> Why is it necessary to save/restore BNDCFGS MSR on states other
> than FULL and RESET?
Yes, nothing in QEMU except reset will touch the MSR, but this applies
also to all the other MSRs that are saved unconditionally. It's nice to
be able to poke them with gdb, and saving/restoring the MSR provides that.
Paolo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-01-22 16:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-20 13:25 [Qemu-devel] [PATCH uq/master] kvm: always update the MPX model specific register Paolo Bonzini
2014-01-22 15:29 ` Marcelo Tosatti
2014-01-22 16:35 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).