KVM: nSVM: remove HF_HIF_MASK
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 19 May 2020 13:21:04 +0000 (09:21 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 1 Jun 2020 08:26:02 +0000 (04:26 -0400)
The L1 flags can be found in the save area of svm->nested.hsave, fish
it from there so that there is one fewer thing to migrate.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/svm/nested.c
arch/x86/kvm/svm/svm.c

index 0dfc522..3485f84 100644 (file)
@@ -1595,7 +1595,6 @@ enum {
 };
 
 #define HF_GIF_MASK            (1 << 0)
-#define HF_HIF_MASK            (1 << 1)
 #define HF_NMI_MASK            (1 << 3)
 #define HF_IRET_MASK           (1 << 4)
 #define HF_GUEST_MASK          (1 << 5) /* VCPU is in guest-mode */
index 6967fe8..65ecc85 100644 (file)
@@ -371,11 +371,6 @@ void enter_svm_guest_mode(struct vcpu_svm *svm, u64 vmcb_gpa,
                          struct vmcb *nested_vmcb)
 {
        svm->nested.vmcb = vmcb_gpa;
-       if (kvm_get_rflags(&svm->vcpu) & X86_EFLAGS_IF)
-               svm->vcpu.arch.hflags |= HF_HIF_MASK;
-       else
-               svm->vcpu.arch.hflags &= ~HF_HIF_MASK;
-
        load_nested_vmcb_control(svm, &nested_vmcb->control);
        nested_prepare_vmcb_save(svm, nested_vmcb);
        nested_prepare_vmcb_control(svm);
index 6867dba..bc08221 100644 (file)
@@ -3105,7 +3105,7 @@ bool svm_interrupt_blocked(struct kvm_vcpu *vcpu)
        if (is_guest_mode(vcpu)) {
                /* As long as interrupts are being delivered...  */
                if ((svm->nested.ctl.int_ctl & V_INTR_MASKING_MASK)
-                   ? !(svm->vcpu.arch.hflags & HF_HIF_MASK)
+                   ? !(svm->nested.hsave->save.rflags & X86_EFLAGS_IF)
                    : !(kvm_get_rflags(vcpu) & X86_EFLAGS_IF))
                        return true;