[SeaBIOS] [PATCH] acpi: fix irq 8 ressource conflict
Gerd Hoffmann
kraxel at redhat.com
Wed Dec 5 10:13:57 CET 2012
Both hpet and rtc have irq 8 in their ressources, making windows unhappy
because of the conflict. Fix this by making rtc check whenever the hpet
is present, and claim irq 8 only in case it isn't. So rtc gets irq 8
only in case you start qemu with the -no-hpet switch.
Verified working in both linux (check pnp boot messages) and windows
(check rtc ressources in device manager) guests.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
src/acpi-dsdt-isa.dsl | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/acpi-dsdt-isa.dsl b/src/acpi-dsdt-isa.dsl
index 23761db..15dc181 100644
--- a/src/acpi-dsdt-isa.dsl
+++ b/src/acpi-dsdt-isa.dsl
@@ -3,11 +3,23 @@ Scope(\_SB.PCI0.ISA) {
Device(RTC) {
Name(_HID, EisaId("PNP0B00"))
- Name(_CRS, ResourceTemplate() {
+ Name(RESP, ResourceTemplate() {
IO(Decode16, 0x0070, 0x0070, 0x10, 0x02)
- IRQNoFlags() { 8 }
IO(Decode16, 0x0072, 0x0072, 0x02, 0x06)
})
+ Name(RESI, ResourceTemplate() {
+ IRQNoFlags() { 8 }
+ })
+ Method(_CRS, 0) {
+ Store(\_SB.HPET._STA(), Local0)
+ If (LEqual(Local0, 0)) {
+ /* hpet not present -> give irq 8 to rtc */
+ ConcatenateResTemplate(RESP, RESI, Local1)
+ Return (Local1)
+ } else {
+ Return (RESP)
+ }
+ }
}
Device(KBD) {
--
1.7.1
More information about the SeaBIOS
mailing list