On Mon, 2007-06-25 at 18:08 -0400, Avi Kivity wrote: > There's a slight issue that Windows with the ACPI HAL > is dog slow when virtulalized, but maybe we can find another HAL that > supports ACPI but doesn't use the APIC.
Is this in reference to the frequent TPR updates, or is there something else that is also slow with ACPI enabled? > > > Note that there is another standard that would allow us to use built-in > > routing without ACPI/IOAPIC: MSI. I know the battle over > > virtual-bus-rendering is still raging w.r.t. to PCI or not-PCI. But I > > will point out that if we do use PCI, setting the PV devices up as MSI > > capable in the config space potentially eliminates the need to also wire > > them to an IOAPIC. They will get their vector data from the MSI setup > > and can then send APIC messages directly. (I think there is some > > confusion about how we can do MSI later in this thread...I will reply to > > those mails separately) > > > > MSI is also a good solution; but do all semi-modern guest OSes support it? I can't say for sure, but I would guess "yes" because IIUC PCI-Express only uses MSI (or at least heavily prefers it). > No, a single ioapic in the kernel, with one interrupt line that is > shared between a kernel-provided device and a userspace-provided > device. The kernel would need to provide the OR function that sharing > implies. Got it. I was confused earlier. > > > > If we do end up needing the IOAPIC in the > > kernel and userspace, I would suggest using two IOAPICs (we just need to > > update the ACPI tables to say there are two) so that they can operate > > independently. This should be supportable from a virtual system > > infrastructure standpoint, and is much cleaner IMHO. If you were > > talking about a different scenario. please clarify > > I was talking about a different scenario, but your solution is cleaner > (though it involves more hand-dirtying with the ACPI tables). Basically > each PCI IRQ would have its own dedicated line. Right. Or more precisely, *anything* you want can have its own line ;) IIUC a standard IOAPIC has 24 input lines, so you just need one for every 24 devices allocated. ------------------------------------------------------------------------- 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