From 679613442f84702c06a80f2320cb8a50089200bc Mon Sep 17 00:00:00 2001 From: Marcelo Tosatti Date: Sat, 13 Feb 2010 16:10:26 -0200 Subject: [PATCH] KVM: add doc note about PIO/MMIO completion API Document that partially emulated instructions leave the guest state inconsistent, and that the kernel will complete operations before checking for pending signals. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity --- Documentation/kvm/api.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/kvm/api.txt b/Documentation/kvm/api.txt index c6416a398163..beb444a95013 100644 --- a/Documentation/kvm/api.txt +++ b/Documentation/kvm/api.txt @@ -820,6 +820,13 @@ executed a memory-mapped I/O instruction which could not be satisfied by kvm. The 'data' member contains the written data if 'is_write' is true, and should be filled by application code otherwise. +NOTE: For KVM_EXIT_IO and KVM_EXIT_MMIO, the corresponding operations +are complete (and guest state is consistent) only after userspace has +re-entered the kernel with KVM_RUN. The kernel side will first finish +incomplete operations and then check for pending signals. Userspace +can re-enter the guest with an unmasked signal pending to complete +pending operations. + /* KVM_EXIT_HYPERCALL */ struct { __u64 nr; -- 2.20.1