Marcelo Tosatti wrote:
Looks good to me, ready to be applied. There is one pending detail in the ioctl interface. Its a minor issue, but might become troublesome later (and can be fixed after the patchset has been applied). The unassign ioctl takes "struct kvm_assigned_irq" and parses its flags to decide what to do, in this way: - If any bit is set in the guest mask (GUEST_INTX, GUEST_MSI, GUEST_MSIX), we disable guest-side interrupt. - Likewise for host, disabling host-side interrupt. host_irq_type = irq_requested_type & KVM_DEV_IRQ_HOST_MASK; guest_irq_type = irq_requested_type & KVM_DEV_IRQ_GUEST_MASK; if (host_irq_type) deassign_host_irq(kvm, assigned_dev); if (guest_irq_type) deassign_guest_irq(kvm, assigned_dev); This is a little confusing. If we simply want to disable _whatever is assigned_ in either guest or host side, we want a UNASSIGN_GUEST/UNASSIGN_HOST pair of flags (this is how the ioctl behaves, but we pass more flags and don't use them effectively). Or, if the unassign ioctl continues to receive guest/host flags with interrupt type detail, it should error out if userspace passed a type that does not match what is currently assigned. The current behaviour is simpler for userspace, but then we'd need not to pass "struct kvm_assigned_irq". Sheng, what do you say?
Maybe we want different ioctl pairs for guest and host? -- 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