Gregory Haskins wrote: > 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. > >
Well, kvm shouldn't really know how the qemu hardware is wired up. It can change; and non-qemu userspaces should always be possible. When we change an irq line, there are three things that matter: - which chip the line is connected to (PIC 1, PIC2, IOAPIC) - which line we're talking about - what level the line is to have If we allow lists of such triplets to be sent via a single ioctl, then we can optimize the case where lines are wired together without teaching kvm about the board layout. (the ISA name might annoy our non-x86 friends. I see nothing x86 specific about the interface) -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ------------------------------------------------------------------------- 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