On Mon, May 10, 2010 at 4:43 AM, Avi Kivity <avi@xxxxxxxxxx> wrote: > On 04/21/2010 08:53 PM, Cam Macdonell wrote: >> >> Generic functions to assign irqfds and ioeventfds. >> >> > > Signoff. > >> } >> >> #ifdef KVM_IOEVENTFD >> +int kvm_set_irqfd(int fd, uint16_t vector, uint32_t gsi) >> +{ >> + struct kvm_irqfd call = { }; >> + int r; >> + >> + call.fd = fd; >> + call.gsi = gsi; >> > >> + >> + if (!kvm_enabled()) >> + return -ENOSYS; >> > > Braces, here and elsewhere. This function is unnecessary as Michael added one that does the same thing. > >> + r = kvm_vm_ioctl(kvm_state, KVM_IRQFD,&call); >> + >> + if (r< 0) { >> + return r; >> > > -errno > >> + } >> + return 0; >> +} >> + >> +int kvm_set_ioeventfd_mmio_long(int fd, uint32_t addr, uint32_t val, bool >> assign) >> +{ >> + >> + int ret; >> + struct kvm_ioeventfd iofd; >> + >> + iofd.datamatch = val; >> + iofd.addr = addr; >> + iofd.len = 4; >> + iofd.flags = KVM_IOEVENTFD_FLAG_DATAMATCH; >> + iofd.fd = fd; >> + >> + if (!kvm_enabled()) >> + return -ENOSYS; >> + if (!assign) >> + iofd.flags |= KVM_IOEVENTFD_FLAG_DEASSIGN; >> > > May be more usable to have separate assign and deassign functions (that can > call into a single internal implementation). I believe the convention so far is to use the 'assign' flag as Michael's patch and the PIO version kvm_set_ioeventfd_pio_word() do. > >> + >> + ret = kvm_vm_ioctl(kvm_state, KVM_IOEVENTFD,&iofd); >> + >> + if (ret< 0) { >> + return ret; >> > > -errno > >> + } >> + >> + return 0; >> +} >> + >> > > -- > error compiling committee.c: too many arguments to function > > -- 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