[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 12/21] Use extended interrupt descriptor for pci irq
From: |
Gleb Natapov |
Subject: |
[Qemu-devel] [PATCH 12/21] Use extended interrupt descriptor for pci irqs. |
Date: |
Thu, 8 Oct 2009 17:59:17 +0200 |
This is necessary to allow freebsd to boot; freebsd chokes if a regular
interrupt descriptor specifies an active high pic irq.
Qemu pcbios commit aaff1cc0ce8de3c45eec49b9b0e7624576058eda
Signed-off-by: Gleb Natapov <address@hidden>
---
src/acpi-dsdt.dsl | 56 ++++++++++++++++++++++------------------------------
1 files changed, 24 insertions(+), 32 deletions(-)
diff --git a/src/acpi-dsdt.dsl b/src/acpi-dsdt.dsl
index 905d58b..b7ac9f6 100644
--- a/src/acpi-dsdt.dsl
+++ b/src/acpi-dsdt.dsl
@@ -340,7 +340,7 @@ DefinitionBlock (
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 1)
Name(_PRS, ResourceTemplate(){
- IRQ (Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{ 5, 9, 10, 11 }
})
Method (_STA, 0, NotSerialized)
@@ -360,14 +360,14 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- IRQ (Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{1}
})
- CreateWordField (PRR0, 0x01, TMP)
+ CreateDWordField (PRR0, 0x05, TMP)
Store (PRQ0, Local0)
If (LLess (Local0, 0x80))
{
- ShiftLeft (One, Local0, TMP)
+ Store (Local0, TMP)
}
Else
{
@@ -377,17 +377,15 @@ DefinitionBlock (
}
Method (_SRS, 1, NotSerialized)
{
- CreateWordField (Arg0, 0x01, TMP)
- FindSetRightBit (TMP, Local0)
- Decrement (Local0)
- Store (Local0, PRQ0)
+ CreateDWordField (Arg0, 0x05, TMP)
+ Store (TMP, PRQ0)
}
}
Device(LNKB){
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 2)
Name(_PRS, ResourceTemplate(){
- IRQ (Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{ 5, 9, 10, 11 }
})
Method (_STA, 0, NotSerialized)
@@ -407,14 +405,14 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- IRQ (Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{1}
})
- CreateWordField (PRR0, 0x01, TMP)
+ CreateDWordField (PRR0, 0x05, TMP)
Store (PRQ1, Local0)
If (LLess (Local0, 0x80))
{
- ShiftLeft (One, Local0, TMP)
+ Store (Local0, TMP)
}
Else
{
@@ -424,17 +422,15 @@ DefinitionBlock (
}
Method (_SRS, 1, NotSerialized)
{
- CreateWordField (Arg0, 0x01, TMP)
- FindSetRightBit (TMP, Local0)
- Decrement (Local0)
- Store (Local0, PRQ1)
+ CreateDWordField (Arg0, 0x05, TMP)
+ Store (TMP, PRQ1)
}
}
Device(LNKC){
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 3)
Name(_PRS, ResourceTemplate(){
- IRQ (Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{ 5, 9, 10, 11 }
})
Method (_STA, 0, NotSerialized)
@@ -454,14 +450,14 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- IRQ (Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{1}
})
- CreateWordField (PRR0, 0x01, TMP)
+ CreateDWordField (PRR0, 0x05, TMP)
Store (PRQ2, Local0)
If (LLess (Local0, 0x80))
{
- ShiftLeft (One, Local0, TMP)
+ Store (Local0, TMP)
}
Else
{
@@ -471,17 +467,15 @@ DefinitionBlock (
}
Method (_SRS, 1, NotSerialized)
{
- CreateWordField (Arg0, 0x01, TMP)
- FindSetRightBit (TMP, Local0)
- Decrement (Local0)
- Store (Local0, PRQ2)
+ CreateDWordField (Arg0, 0x05, TMP)
+ Store (TMP, PRQ2)
}
}
Device(LNKD){
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
Name(_UID, 4)
Name(_PRS, ResourceTemplate(){
- IRQ (Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{ 5, 9, 10, 11 }
})
Method (_STA, 0, NotSerialized)
@@ -501,14 +495,14 @@ DefinitionBlock (
{
Name (PRR0, ResourceTemplate ()
{
- IRQ (Level, ActiveHigh, Shared)
+ Interrupt (, Level, ActiveHigh, Shared)
{1}
})
- CreateWordField (PRR0, 0x01, TMP)
+ CreateDWordField (PRR0, 0x05, TMP)
Store (PRQ3, Local0)
If (LLess (Local0, 0x80))
{
- ShiftLeft (One, Local0, TMP)
+ Store (Local0, TMP)
}
Else
{
@@ -518,10 +512,8 @@ DefinitionBlock (
}
Method (_SRS, 1, NotSerialized)
{
- CreateWordField (Arg0, 0x01, TMP)
- FindSetRightBit (TMP, Local0)
- Decrement (Local0)
- Store (Local0, PRQ3)
+ CreateDWordField (Arg0, 0x05, TMP)
+ Store (TMP, PRQ3)
}
}
}
--
1.6.3.3
- [Qemu-devel] [PATCH 00/21] Bring seabios and qemu pcbios closer together, Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 03/21] Always create PCI interrupt override acpi tables., Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 04/21] Correct default pci irq links, Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH v2 01/21] Add support for passing additional acpi tables from qemu., Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 08/21] Add rule to compile DSDT to make file., Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 07/21] Remove CONFIG_KVM compile option., Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 06/21] Check at runtime if VM is KVM., Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 12/21] Use extended interrupt descriptor for pci irqs.,
Gleb Natapov <=
- [Qemu-devel] [PATCH v2 02/21] Load SMBIOS entries and files from qemu, Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 15/21] Pci hotplug support., Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 10/21] Advertise pci irqs as active high in DSDT, Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 05/21] irq0override provided by qemu., Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 14/21] Provide gpe _L0x methods., Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 16/21] HPET support., Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 09/21] Use preprocessor for pci link routing., Gleb Natapov, 2009/10/08
- [Qemu-devel] [PATCH 17/21] Add 26 pci slots, bringing the total to 32., Gleb Natapov, 2009/10/08