summaryrefslogtreecommitdiffstats
path: root/Documentation/kvm
diff options
context:
space:
mode:
authorMarcelo Tosatti <mtosatti@redhat.com>2010-02-13 16:10:26 -0200
committerAvi Kivity <avi@redhat.com>2010-04-25 12:26:32 +0300
commit679613442f84702c06a80f2320cb8a50089200bc (patch)
tree5dc5571f1b9a789c9e7d8082c3ffecea3dfe176d /Documentation/kvm
parent1ef6ce7a340f9ed139a73147ff9cf7ad56889414 (diff)
downloadlinux-stable-679613442f84702c06a80f2320cb8a50089200bc.tar.gz
linux-stable-679613442f84702c06a80f2320cb8a50089200bc.tar.bz2
linux-stable-679613442f84702c06a80f2320cb8a50089200bc.zip
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 <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'Documentation/kvm')
-rw-r--r--Documentation/kvm/api.txt7
1 files changed, 7 insertions, 0 deletions
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;