Gregory Haskins wrote: > 1) KVM_ISA_INTERRUPT: In level-1 mode, this API allows the userspace > pic to dispatch a vector to the kernel. In level-2 mode, this allows > any userspace app to tickle an isa based irq line (which feeds into the > inputs of the PIC and IOAPIC. In other words, a level-2 based userspace > would substitute KVM_ISA_INTERRUPT for pic_set_irq(). > >
Wait. Looks like APIs are changing meaning according to some mode. Confusion. How about: KVM_INTERRUPT == inject this vector now KVM_EXTINT == drives the processor's interrupt pin (this is handled by the lapic code). input is a vector and type KVM_ISA_INTERRUPT == drives the irq inputs to the PIC. Input is line number. KVM_IOAPIC_INTERRUPT == drives the irq inputs to the IOAPIC. Input is line number. KVM_APIC_MESSAGE == do something to the apic That way, there is no mode (at least in the code), and the APIs keep their meaning. Note that if an irq line is wired to both the ioapic and the PIC, we may be better off having a single ioctl that can combine the ISA and IOAPIC variants (driving two inputs at once). Eddie, is that what you were driving at in your simplification attempt? -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel