On Sat, 28 May 2011 14:12:30 +0300 Sasha Levin <levinsasha928@xxxxxxxxx> wrote: > Document KVM_IOEVENTFD that can be used to receive > notifications of PIO/MMIO events without triggering > an exit. > > Cc: Avi Kivity <avi@xxxxxxxxxx> > Cc: Marcelo Tosatti <mtosatti@xxxxxxxxxx> > Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx> > --- > 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@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Takuya Yoshikawa <yoshikawa.takuya@xxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html