Re: [PATCH] kvm: Document KVM_IOEVENTFD

Takuya Yoshikawa
2011-05-30T10:59:20Z

On Sat, 28 May 2011 14:12:30 +0300
Sasha Levin <levinsasha928@gmail.com> wrote:

> Document KVM_IOEVENTFD that can be used to receive
> notifications of PIO/MMIO events without triggering
> an exit.
>
> Cc: Avi Kivity <avi@redhat.com>
> Cc: Marcelo Tosatti <mtosatti@redhat.com>
> Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
> ---
> Documentation/virtual/kvm/api.txt | 30 ++++++++++++++++++++++++++++++
> 1 files changed, 30 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
> index 42542eb..80c5fcd 100644
> --- a/Documentation/virtual/kvm/api.txt
> +++ b/Documentation/virtual/kvm/api.txt
> @@ -1291,6 +1291,36 @@ Returns the tsc frequency of the guest. The unit of the return value is
> KHz. If the host has unstable tsc this ioctl returns -EIO instead as an
> error.
>
> +4.56 KVM_IOEVENTFD
> +
> +Capability: KVM_CAP_IOEVENTFD
> +Architectures: all
> +Type: vm ioctl
> +Parameters: struct kvm_ioeventfd (in)
> +Returns: 0 on success, !0 on error
> +
> +This ioctl attaches or deattaches an ioeventfd to a legal pio/mmio address

Typo: attach -- detach (probably, I'm not a native)

Thanks,
Takuya

> +within the guest. A guest write in the registered address will signal the
> +provided event instead of triggering an exit.
> +
> +struct kvm_ioeventfd {
> + __u64 datamatch;
> + __u64 addr; /* legal pio/mmio address */
> + __u32 len; /* 1, 2, 4, or 8 bytes */
> + __s32 fd;
> + __u32 flags;
> + __u8 pad[36];
> +};
> +
> +The following flags are defined:
> +
> +#define KVM_IOEVENTFD_FLAG_DATAMATCH (1 << kvm_ioeventfd_flag_nr_datamatch)
> +#define KVM_IOEVENTFD_FLAG_PIO (1 << kvm_ioeventfd_flag_nr_pio)
> +#define KVM_IOEVENTFD_FLAG_DEASSIGN (1 << kvm_ioeventfd_flag_nr_deassign)
> +
> +If datamatch flag is set, the event will be signaled only if the written value
> +to the registered address is equal to datamatch in struct kvm_ioeventfd.
> +
> 5. The kvm_run structure
>
> Application code obtains a pointer to the kvm_run structure by
> --
> 1.7.5.rc3
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>