diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2012-11-28 10:17:37 +0100 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2012-12-01 23:22:20 -0500 |
commit | 2114f50148c42e374586359d23b522483ca10e8d (patch) | |
tree | 4174e6b432e9c87853d1272e277641afd2db6c7a /src | |
parent | ecbe3fd615111c3a1e9869978a0f8701f3d1c9f9 (diff) | |
download | seabios-hppa-2114f50148c42e374586359d23b522483ca10e8d.zip seabios-hppa-2114f50148c42e374586359d23b522483ca10e8d.tar.gz seabios-hppa-2114f50148c42e374586359d23b522483ca10e8d.tar.bz2 |
seabios: q35: Register PCI IRQs as active high in APIC mode
Seems important for Windows.
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Jason Baron <jbaron@redhat.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/q35-acpi-dsdt.dsl | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/src/q35-acpi-dsdt.dsl b/src/q35-acpi-dsdt.dsl index 4b4f291..126081c 100644 --- a/src/q35-acpi-dsdt.dsl +++ b/src/q35-acpi-dsdt.dsl @@ -161,19 +161,10 @@ DefinitionBlock ( #define prt_slot_lnkH(nr) prt_slot_lnk(nr, LNKH, LNKE, LNKF, LNKG) #define prt_slot_gsi(nr, gsi0, gsi1, gsi2, gsi3) \ - Package() { nr##ffff, 0, 0, gsi0 }, \ - Package() { nr##ffff, 1, 0, gsi1 }, \ - Package() { nr##ffff, 2, 0, gsi2 }, \ - Package() { nr##ffff, 3, 0, gsi3 } - -#define GSIA 0x10 -#define GSIB 0x11 -#define GSIC 0x12 -#define GSID 0x13 -#define GSIE 0x14 -#define GSIF 0x15 -#define GSIG 0x16 -#define GSIH 0x17 + Package() { nr##ffff, 0, gsi0, 0 }, \ + Package() { nr##ffff, 1, gsi1, 0 }, \ + Package() { nr##ffff, 2, gsi2, 0 }, \ + Package() { nr##ffff, 3, gsi3, 0 } #define prt_slot_gsiA(nr) prt_slot_gsi(nr, GSIA, GSIB, GSIC, GSID) #define prt_slot_gsiB(nr) prt_slot_gsi(nr, GSIB, GSIC, GSID, GSIA) @@ -699,6 +690,35 @@ DefinitionBlock ( define_link(LNKF, 5, \_SB.PCI0.LPC.PRQF) define_link(LNKG, 6, \_SB.PCI0.LPC.PRQG) define_link(LNKH, 7, \_SB.PCI0.LPC.PRQH) + +#define define_gsi_link(link, uid, gsi) \ + Device(link){ \ + Name(_HID, EISAID("PNP0C0F")) \ + Name(_UID, uid) \ + Name(_PRS, ResourceTemplate() { \ + Interrupt (, Level, ActiveHigh, \ + Shared) \ + { gsi } \ + }) \ + Method (_CRS, 0, NotSerialized) \ + { \ + Return (ResourceTemplate () { \ + Interrupt (, Level, ActiveHigh, \ + Shared) \ + { gsi } \ + }) \ + } \ + Method (_SRS, 1, NotSerialized) { } \ + } \ + + define_gsi_link(GSIA, 0, 0x10) + define_gsi_link(GSIB, 0, 0x11) + define_gsi_link(GSIC, 0, 0x12) + define_gsi_link(GSID, 0, 0x13) + define_gsi_link(GSIE, 0, 0x14) + define_gsi_link(GSIF, 0, 0x15) + define_gsi_link(GSIG, 0, 0x16) + define_gsi_link(GSIH, 0, 0x17) } /* CPU hotplug */ |