forked from Minki/linux
KVM: Set exit_reason to KVM_EXIT_MMIO where run->mmio is initialized.
Signed-off-by: Jeff Dike <jdike@linux.intel.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
9eb829ced8
commit
8fc0d085f5
@ -1276,6 +1276,7 @@ int emulate_instruction(struct kvm_vcpu *vcpu,
|
||||
r = x86_emulate_memop(&emulate_ctxt, &emulate_ops);
|
||||
|
||||
if ((r || vcpu->mmio_is_write) && run) {
|
||||
run->exit_reason = KVM_EXIT_MMIO;
|
||||
run->mmio.phys_addr = vcpu->mmio_phys_addr;
|
||||
memcpy(run->mmio.data, vcpu->mmio_data, 8);
|
||||
run->mmio.len = vcpu->mmio_size;
|
||||
@ -1937,7 +1938,6 @@ static int kvm_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
|
||||
/*
|
||||
* Read-modify-write. Back to userspace.
|
||||
*/
|
||||
kvm_run->exit_reason = KVM_EXIT_MMIO;
|
||||
r = 0;
|
||||
goto out;
|
||||
}
|
||||
|
@ -928,7 +928,6 @@ static int pf_interception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
|
||||
return 1;
|
||||
case EMULATE_DO_MMIO:
|
||||
++vcpu->stat.mmio_exits;
|
||||
kvm_run->exit_reason = KVM_EXIT_MMIO;
|
||||
return 0;
|
||||
case EMULATE_FAIL:
|
||||
vcpu_printf(vcpu, "%s: emulate fail\n", __FUNCTION__);
|
||||
|
@ -1610,7 +1610,6 @@ static int handle_exception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
|
||||
return 1;
|
||||
case EMULATE_DO_MMIO:
|
||||
++vcpu->stat.mmio_exits;
|
||||
kvm_run->exit_reason = KVM_EXIT_MMIO;
|
||||
return 0;
|
||||
case EMULATE_FAIL:
|
||||
vcpu_printf(vcpu, "%s: emulate fail\n", __FUNCTION__);
|
||||
|
Loading…
Reference in New Issue
Block a user