diff options
author | Marcelo Tosatti <mtosatti@redhat.com> | 2010-02-13 13:10:26 -0500 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-04-25 05:26:32 -0400 |
commit | 679613442f84702c06a80f2320cb8a50089200bc (patch) | |
tree | 5dc5571f1b9a789c9e7d8082c3ffecea3dfe176d /Documentation/kvm | |
parent | 1ef6ce7a340f9ed139a73147ff9cf7ad56889414 (diff) |
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.txt | 7 |
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 | |||
820 | by kvm. The 'data' member contains the written data if 'is_write' is | 820 | by kvm. The 'data' member contains the written data if 'is_write' is |
821 | true, and should be filled by application code otherwise. | 821 | true, and should be filled by application code otherwise. |
822 | 822 | ||
823 | NOTE: For KVM_EXIT_IO and KVM_EXIT_MMIO, the corresponding operations | ||
824 | are complete (and guest state is consistent) only after userspace has | ||
825 | re-entered the kernel with KVM_RUN. The kernel side will first finish | ||
826 | incomplete operations and then check for pending signals. Userspace | ||
827 | can re-enter the guest with an unmasked signal pending to complete | ||
828 | pending operations. | ||
829 | |||
823 | /* KVM_EXIT_HYPERCALL */ | 830 | /* KVM_EXIT_HYPERCALL */ |
824 | struct { | 831 | struct { |
825 | __u64 nr; | 832 | __u64 nr; |