aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2014-06-05 11:29:34 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2014-06-18 11:46:20 -0400
commita5457e7bcf9a76ec5c2de5d311d9b0d3b724edc6 (patch)
tree9ff15ff71baedae369e00b80af6c20ce2384d873 /arch
parent32e94d0696c26c6ba4f3ff53e70f6e0e825979bc (diff)
KVM: emulate: POP SS triggers a MOV SS shadow too
We did not do that when interruptibility was added to the emulator, because at the time pop to segment was not implemented. Now it is, add it. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kvm/emulate.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 9b5d97db7631..bc670675223d 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -1762,6 +1762,9 @@ static int em_pop_sreg(struct x86_emulate_ctxt *ctxt)
1762 if (rc != X86EMUL_CONTINUE) 1762 if (rc != X86EMUL_CONTINUE)
1763 return rc; 1763 return rc;
1764 1764
1765 if (ctxt->modrm_reg == VCPU_SREG_SS)
1766 ctxt->interruptibility = KVM_X86_SHADOW_INT_MOV_SS;
1767
1765 rc = load_segment_descriptor(ctxt, (u16)selector, seg); 1768 rc = load_segment_descriptor(ctxt, (u16)selector, seg);
1766 return rc; 1769 return rc;
1767} 1770}