On Thu, 2007-06-21 at 19:31 +0300, Avi Kivity wrote:

> 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.

I actually kind of like the distinction you are making between the
INTERRUPT, EXTINT, and ISA/IOAPIC APIs and keeping them consistent
across modes.  As you suggested below, the ISA/IOAPIC API probably
should really stay as one (I vote for retaining the ISA name) since the
wiring is an invariant of the platform presented by qemu/bochs.

The only unfortunate thing about this change is part of my irqdevice
abstraction goes to waste (e.g. set_pin).  But oh well.  I think the
consistent API is more important.  I will roll this into the fixes I am
making.

-Greg


-------------------------------------------------------------------------
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