Re: [PATCH 1/5] BIOS changes for configuring irq0->inti2 override (v4)

Beth Kon
2009-06-11T21:45:34Z

Beth Kon wrote:
> Sebastian Herbszt wrote:
>> Beth Kon wrote:
>>> These patches resolve the irq0->inti2 override issue, and get the
>>> hpet working
>>> on kvm.
>>>
>>> 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).
>>>
>>> Changes from v3:
>>>
>>> - changes based on comments from Avi and Gleb.
>>> - corrected legacy enable/disable for in-kernel PIT. The code now best
>>> approximates a multiplexer that disables PIT interrupts when HPET
>>> is in legacy mode (as described by HPET spec). Any changes to the
>>> PIT that may occur while HPET is operating in legacy mode are
>>> saved, so if HPET leaves legacy mode, the PIT is just reenabled,
>>> with mode set to whatever the last setting from guest was.
>>> Legacy mode is disabled
>>> at least during crash and shutdown (in Linux), so this needs to be
>>> handled properly.
>>>
>>>
>>> ---
>>> kvm/bios/rombios32.c | 60
>>> ++++++++++++++++++++++++++++++++++++-------------
>>> 1 files changed, 44 insertions(+), 16 deletions(-)
>>
>> What about the mptable entry count?
>> Think it would need something like
>>
>> #ifdef BX_QEMU
>> if (irq0_override)
>> putle16(&q, smp_cpus + 17); /* entry count */
>> else
>> putle16(&q, smp_cpus + 18); /* entry count */
>> #else
>> putle16(&q, smp_cpus + 18); /* entry count */
>> #endif
>>
>> Your patch "Fix non-ACPI Timer Interrupt Routing - v3" [1] included
>> such a change.
>>
>> [1] http://lists.gnu.org/archive/html/qemu-devel/2009-04/msg01396.html
> Yes, I lost that somehow! Thanks (again!).
Actually, it isn't that simple. That patch that you referred to was a
qemu patch. But I still don't see it in qemu-patched bochs bios.
Apparently, I did neglect to add it to the kvm bios patches that I had
waiting.

Anthony, do you know what happened to this patch?
>
>>
>> - Sebastian
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html