Avi Kivity wrote:
Beth Kon wrote:
These patches resolve the irq0->inti2 override issue, and get the
hpet working
on kvm.
They are dependent on Jes Sorensen's recent
0006-qemu-kvm-irq-routing.patch.
Override and HPET changes are sent as a series because HPET depends
on the override. Win2k8 expects the HPET interrupt on inti2,
regardless of whether an override exists in the BIOS. And the HPET
spec states that in legacy mode, timer interrupt is on inti2.
The irq0->inti2 override will always be used unless the kernel cannot
do irq routing (i.e., compatibility with old kernels). So if the
kernel is capable, userspace sets up irq0->inti2 via the irq routing
interface, and adds the irq0->inti2 override to the MADT interrupt
source override table, and the mp table (for the no-acpi case).
A couple of months ago, Marcelo was seeing RHEL5 guests complain of
invalid
checksum with these patches, but later he couldn't reproduce it, and
I'm not seeing it now. While all guests still need to be fully
tested, everything appears to be in order. I've tested on win2k864,
win2k832, RHEL5.3 32 bit, and ubuntu 8.10 64 bit.
What are the changes relative to v1?
Just merge issues with the changes you put in when moving to the newer
bios. I submitted prematurely, incorrectly thinking I was done testing.
When I finished, some problems surfaced.
@@ -477,6 +480,7 @@ void wrmsr_smp(uint32_t index, uint64_t val)
#define QEMU_CFG_SIGNATURE 0x00
#define QEMU_CFG_ID 0x01
#define QEMU_CFG_UUID 0x02
+#define QEMU_CFG_IRQ0_OVERRIDE 0x0e
As noted, this should be in the arch local space.
The base changes were not in the code yet. As we discussed on IRC, I'll
resubmit once they're there.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html