On Mon, 14 Jan 2019 at 10:32, Jan Bolke <jan.bolke@xxxxxxxxxxxx> wrote: > Then I observed some strange behavior: > > When accessing unmapped address with str instructions they lead > to an KVM_EXIT_MMIO as expected. > > However, if the str instruction is post-indexed, KVM exits with > KVM_EXIT_UNKNOWN. Yes, that's expected. KVM only supports performing MMIO operations with instructions which report an ESR on data aborts with a valid instruction syndrome, which is to say: * loads and stores of a single general-purpose register, including those with acquire/release semantics but excluding load/store exclusive and excluding insns using writeback Loads and stores in that category can be easily emulated by the kernel, so it dos a KVM_EXIT_MMIO to userspace to get/set the actual data. Other loads and stores are easily emulated, so the kernel does a KVM_EXIT_UNKNOWN, which typically results in the userspace component (QEMU, etc) saying "can't handle this" and shutting down the VM. In theory a sufficiently capable userspace component could read the offending guest insn and do full instruction emulation of it, but in practice we don't do that, because sensible guests don't use these insns to do device IO. thanks -- PMM _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm