From aaf60450da6b0bc4723028aeab9ced75ee03111b Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 22 Jul 2019 18:22:20 +0100 Subject: [PATCH 39/39] i386/kvm: Do not sync nested state during runtime RH-Author: Paolo Bonzini Message-id: <20190722182220.19374-19-pbonzini@redhat.com> Patchwork-id: 89635 O-Subject: [RHEL-8.1.0 PATCH qemu-kvm v3 18/18] i386/kvm: Do not sync nested state during runtime Bugzilla: 1689269 RH-Acked-by: Peter Xu RH-Acked-by: Laurent Vivier RH-Acked-by: Dr. David Alan Gilbert From: Jan Kiszka Writing the nested state e.g. after a vmport access can invalidate important parts of the kernel-internal state, and it is not needed as well. So leave this out from KVM_PUT_RUNTIME_STATE. Suggested-by: Paolo Bonzini Signed-off-by: Jan Kiszka Message-Id: Signed-off-by: Paolo Bonzini (cherry picked from commit 20b25d239ab7a94bb8bff3d0f13a9527ee75cf10) Signed-off-by: Danilo C. L. de Paula --- target/i386/kvm.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/i386/kvm.c b/target/i386/kvm.c index 8648f1f..da5f07e 100644 --- a/target/i386/kvm.c +++ b/target/i386/kvm.c @@ -3014,12 +3014,12 @@ int kvm_arch_put_registers(CPUState *cpu, int level) assert(cpu_is_stopped(cpu) || qemu_cpu_is_self(cpu)); - ret = kvm_put_nested_state(x86_cpu); - if (ret < 0) { - return ret; - } - if (level >= KVM_PUT_RESET_STATE) { + ret = kvm_put_nested_state(x86_cpu); + if (ret < 0) { + return ret; + } + ret = kvm_put_msr_feature_control(x86_cpu); if (ret < 0) { return ret; -- 1.8.3.1