diff mbox

[resend] KVM: Document KVM_IRQFD

Message ID 1314621244-4360-1-git-send-email-levinsasha928@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sasha Levin Aug. 29, 2011, 12:34 p.m. UTC
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 |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

Comments

Avi Kivity Aug. 29, 2011, 12:37 p.m. UTC | #1
On 08/29/2011 03:34 PM, Sasha Levin wrote:
> Cc: Avi Kivity<avi@redhat.com>
> Cc: Marcelo Tosatti<mtosatti@redhat.com>
> Signed-off-by: Sasha Levin<levinsasha928@gmail.com>

Thanks, applied.

> +Returns: 0 on success, !0 on error
> +

-1 (I fixed this).
Sasha Levin Aug. 29, 2011, 12:43 p.m. UTC | #2
On Mon, 2011-08-29 at 15:37 +0300, Avi Kivity wrote:
> On 08/29/2011 03:34 PM, Sasha Levin wrote:
> > Cc: Avi Kivity<avi@redhat.com>
> > Cc: Marcelo Tosatti<mtosatti@redhat.com>
> > Signed-off-by: Sasha Levin<levinsasha928@gmail.com>
> 
> Thanks, applied.
> 
> > +Returns: 0 on success, !0 on error
> > +
> 
> -1 (I fixed this).
> 

Why -1? It could be anything < 0, no?
Avi Kivity Aug. 29, 2011, 12:50 p.m. UTC | #3
On 08/29/2011 03:43 PM, Sasha Levin wrote:
> On Mon, 2011-08-29 at 15:37 +0300, Avi Kivity wrote:
> >  On 08/29/2011 03:34 PM, Sasha Levin wrote:
> >  >  Cc: Avi Kivity<avi@redhat.com>
> >  >  Cc: Marcelo Tosatti<mtosatti@redhat.com>
> >  >  Signed-off-by: Sasha Levin<levinsasha928@gmail.com>
> >
> >  Thanks, applied.
> >
> >  >  +Returns: 0 on success, !0 on error
> >  >  +
> >
> >  -1 (I fixed this).
> >
>
> Why -1? It could be anything<  0, no?
>

No.  ioctl()s (and most system calls) return -1 on error and set errno.
Scott Wood Aug. 29, 2011, 9:52 p.m. UTC | #4
On 08/29/2011 07:34 AM, Sasha Levin wrote:
> 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 |   27 +++++++++++++++++++++++++++
>  1 files changed, 27 insertions(+), 0 deletions(-)
> 
> diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
> index 2d510b6..d1150b6 100644
> --- a/Documentation/virtual/kvm/api.txt
> +++ b/Documentation/virtual/kvm/api.txt
> @@ -1450,6 +1450,33 @@ is supported; 2 if the processor requires all virtual machines to have
>  an RMA, or 1 if the processor can use an RMA but doesn't require it,
>  because it supports the Virtual RMA (VRMA) facility.
>  
> +4.64 KVM_IRQFD
> +
> +Capability: KVM_CAP_IRQFD
> +Architectures: all
> +Type: vm ioctl
> +Parameters: struct kvm_irqfd (in)
> +Returns: 0 on success, !0 on error
> +
> +This ioctl attaches or detaches an eventfd to a GSI within the guest.
> +While the eventfd is assigned to the guest, any write to the eventfd
> +would trigger the GSI within the guest.
> +
> +struct kvm_irqfd {
> +	__u32 fd;
> +	__u32 gsi;
> +	__u32 flags;
> +	__u8  pad[20];
> +};

Should define "gsi" (and how it's used by KVM) somewhere.  AFAICT it's
an ACPI-ism.

-Scott

--
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
diff mbox

Patch

diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index 2d510b6..d1150b6 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -1450,6 +1450,33 @@  is supported; 2 if the processor requires all virtual machines to have
 an RMA, or 1 if the processor can use an RMA but doesn't require it,
 because it supports the Virtual RMA (VRMA) facility.
 
+4.64 KVM_IRQFD
+
+Capability: KVM_CAP_IRQFD
+Architectures: all
+Type: vm ioctl
+Parameters: struct kvm_irqfd (in)
+Returns: 0 on success, !0 on error
+
+This ioctl attaches or detaches an eventfd to a GSI within the guest.
+While the eventfd is assigned to the guest, any write to the eventfd
+would trigger the GSI within the guest.
+
+struct kvm_irqfd {
+	__u32 fd;
+	__u32 gsi;
+	__u32 flags;
+	__u8  pad[20];
+};
+
+The following flags are defined:
+
+#define KVM_IRQFD_FLAG_DEASSIGN (1 << 0)
+
+If deassign flag is set, the eventfd will be deassigned from the GSI and
+further writes to the eventfd won't trigger the GSI.
+
+
 5. The kvm_run structure
 
 Application code obtains a pointer to the kvm_run structure by