forked from Minki/linux
KVM: x86: add comments where MMIO does not return to the emulator
Support for single-step in the emulator (new in 3.12) does not work for MMIO or PIO writes, because they are completed without returning to the emulator. This is not worse than what we had in 3.11; still, add comments so that the issue is not forgotten. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Gleb Natapov <gleb@redhat.com>
This commit is contained in:
parent
94452b9e34
commit
0912c9771e
@ -5122,9 +5122,10 @@ restart:
|
||||
inject_emulated_exception(vcpu);
|
||||
r = EMULATE_DONE;
|
||||
} else if (vcpu->arch.pio.count) {
|
||||
if (!vcpu->arch.pio.in)
|
||||
if (!vcpu->arch.pio.in) {
|
||||
/* FIXME: return into emulator if single-stepping. */
|
||||
vcpu->arch.pio.count = 0;
|
||||
else {
|
||||
} else {
|
||||
writeback = false;
|
||||
vcpu->arch.complete_userspace_io = complete_emulated_pio;
|
||||
}
|
||||
@ -6176,6 +6177,8 @@ static int complete_emulated_mmio(struct kvm_vcpu *vcpu)
|
||||
|
||||
if (vcpu->mmio_cur_fragment == vcpu->mmio_nr_fragments) {
|
||||
vcpu->mmio_needed = 0;
|
||||
|
||||
/* FIXME: return into emulator if single-stepping. */
|
||||
if (vcpu->mmio_is_write)
|
||||
return 1;
|
||||
vcpu->mmio_read_completed = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user