aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGlauber Costa <gcosta@redhat.com>2008-06-10 09:46:53 -0400
committerAvi Kivity <avi@qumranet.com>2008-07-20 05:42:32 -0400
commit25be46080f1a446cb2bda3daadbd22a5682b955e (patch)
treed736f1c5982d4eefa5da40dac5d8e8074dfa0a76 /arch
parent622395a9e63bf87a16faecf555ed02375cbae5b7 (diff)
KVM: Do not calculate linear rip in emulation failure report
If we're not gonna do anything (case in which failure is already reported), we do not need to even bother with calculating the linear rip. Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kvm/x86.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index d731d4fff1ae..5d21bb69d88c 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2081,11 +2081,11 @@ void kvm_report_emulation_failure(struct kvm_vcpu *vcpu, const char *context)
2081 unsigned long rip = vcpu->arch.rip; 2081 unsigned long rip = vcpu->arch.rip;
2082 unsigned long rip_linear; 2082 unsigned long rip_linear;
2083 2083
2084 rip_linear = rip + get_segment_base(vcpu, VCPU_SREG_CS);
2085
2086 if (reported) 2084 if (reported)
2087 return; 2085 return;
2088 2086
2087 rip_linear = rip + get_segment_base(vcpu, VCPU_SREG_CS);
2088
2089 emulator_read_std(rip_linear, (void *)opcodes, 4, vcpu); 2089 emulator_read_std(rip_linear, (void *)opcodes, 4, vcpu);
2090 2090
2091 printk(KERN_ERR "emulation failed (%s) rip %lx %02x %02x %02x %02x\n", 2091 printk(KERN_ERR "emulation failed (%s) rip %lx %02x %02x %02x %02x\n",