diff options
author | Gleb Natapov <gleb@redhat.com> | 2010-04-28 12:15:41 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-08-01 03:35:36 -0400 |
commit | bdb475a323858101f4a5ad6a1a04b1dd8885325a (patch) | |
tree | 3e39adfa30395205df20a8a3cf76da28ed932f46 /arch/x86/kvm/emulate.c | |
parent | ef050dc0390176ec6888f373edb776587c88be3d (diff) |
KVM: x86 emulator: use shadowed register in emulate_sysexit()
emulate_sysexit() should use shadowed registers copy instead of
looking into vcpu state directly.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/emulate.c')
-rw-r--r-- | arch/x86/kvm/emulate.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index 291e220c69a5..42cb7d71ff55 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c | |||
@@ -2063,8 +2063,8 @@ emulate_sysexit(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops) | |||
2063 | ops->set_cached_descriptor(&ss, VCPU_SREG_SS, ctxt->vcpu); | 2063 | ops->set_cached_descriptor(&ss, VCPU_SREG_SS, ctxt->vcpu); |
2064 | ops->set_segment_selector(ss_sel, VCPU_SREG_SS, ctxt->vcpu); | 2064 | ops->set_segment_selector(ss_sel, VCPU_SREG_SS, ctxt->vcpu); |
2065 | 2065 | ||
2066 | c->eip = ctxt->vcpu->arch.regs[VCPU_REGS_RDX]; | 2066 | c->eip = c->regs[VCPU_REGS_RDX]; |
2067 | c->regs[VCPU_REGS_RSP] = ctxt->vcpu->arch.regs[VCPU_REGS_RCX]; | 2067 | c->regs[VCPU_REGS_RSP] = c->regs[VCPU_REGS_RCX]; |
2068 | 2068 | ||
2069 | return X86EMUL_CONTINUE; | 2069 | return X86EMUL_CONTINUE; |
2070 | } | 2070 | } |