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

Reply via email to