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