On 13/05/2015 03:47, Steve Rutherford wrote: > In order to enable userspace PIC support, the userspace PIC needs to > be able to inject local interrupt requests. > > This adds the ioctl KVM_REQUEST_LOCAL_INTERRUPT and kvm exit > KVM_EXIT_GET_EXTINT. > > The vm ioctl KVM_REQUEST_LOCAL_INTERRUPT makes a KVM_REQ_EVENT request > on the BSP, which causes the BSP to exit to userspace to fetch the > vector of the underlying external interrupt, which the BSP then > injects into the guest. This matches the PIC spec, and is necessary to > boot Windows. > > Boots and passes the KVM unit tests on intel x86 with the > PIC/PIT/IOAPIC in userspace (under a non-QEMU VMM). Boots and passes > the KVM unit tests under normal conditions as well. > > SVM support and device assignment are untested with this feature > enabled, but testing for both is in the works. > > Compiles for ARM/x86/PPC. This may be ENOCOFFEE, but where is extint.vector read? Could you use KVM_INTERRUPT to set KVM_REQUEST_LOCAL_INTERRUPT _and_ the interrupt vector at the same time? This is exactly the logic that is used for !irqchip, and it should work for the EXTINT case as well. Paolo -- 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