Re: KVM: add doc note about PIO/MMIO completion API

Avi Kivity
2010-02-14T08:17:29Z

On 02/13/2010 08:10 PM, Marcelo Tosatti wrote:
> How's that? Feel free to upgrade it.
>
> ------
>
>
> Document that partially emulated instructions leave the guest state
> unconsistent, and that the kernel must complete operations before
> checking for pending signals.
>
> Signed-off-by: Marcelo Tosatti<mtosatti@redhat.com>
>
> diff --git a/Documentation/kvm/api.txt b/Documentation/kvm/api.txt
> index c6416a3..ec0e72b 100644
> --- a/Documentation/kvm/api.txt
> +++ b/Documentation/kvm/api.txt
> @@ -820,6 +820,11 @@ 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 must first finish
> +uncomplete operations and then check for pending signals.
> +
>

Well, s/must/will/, the document is written from userspace's point of view.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.