On Mon, Mar 11, 2019 at 02:19:03PM -0700, Jim Mattson wrote: > How does early %rip advancement interact with KVM_GUESTDBG_SINGLESTEP? > It seems a bit odd to get the KVM_EXIT_DEBUG for the I/O instruction > *before* the KVM_EXIT_IO for the I/O instruction. It effectively suppresses the single step because vcpu->run->exit_reason gets overwritten with KVM_EXIT_IO. kvm_fast_pio() cheeses things and calls kvm_fast_pio_{in,out}() even if kvm_skip_emulated_instruction() requests an exit.