* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+
+ACPI_EXTRACT_ALL_CODE AmlCode
+
DefinitionBlock (
"acpi-dsdt.aml", // Output Filename
"DSDT", // Signature
B0EJ, 32,
}
- OperationRegion(RMVC, SystemIO, 0xae0c, 0x04)
- Field(RMVC, DWordAcc, NoLock, WriteAsZeros)
- {
- PCRM, 32,
- }
-
Name (_CRS, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
Return (0x00)
}
}
- Method(_RMV) { Return (0x00) }
}
}
Scope(\_SB.PCI0) {
Device (ISA) {
Name (_ADR, 0x00010000)
- Method(_RMV) { Return (0x00) }
/* PIIX PCI to ISA irq remapping */
OperationRegion (P40C, PCI_Config, 0x60, 0x04)
Scope(\_SB.PCI0) {
/* Methods called by bulk generated PCI devices below */
- Method (PRMV, 1, NotSerialized) {
- // _RMV method - check if device can be removed
- If (And(\_SB.PCI0.PCRM, ShiftLeft(1, Arg0))) {
- Return (0x1)
- }
- Return (0x0)
- }
-#define gen_pci_device(slot) \
- Device(SL##slot) { \
- Name (_ADR, 0x##slot##0000) \
- Method (_RMV) { Return (PRMV(0x##slot)) } \
- Name (_SUN, 0x##slot) \
- }
-
- /* VGA (slot 1) and ISA bus (slot 2) defined above */
- gen_pci_device(03)
- gen_pci_device(04)
- gen_pci_device(05)
- gen_pci_device(06)
- gen_pci_device(07)
- gen_pci_device(08)
- gen_pci_device(09)
- gen_pci_device(0a)
- gen_pci_device(0b)
- gen_pci_device(0c)
- gen_pci_device(0d)
- gen_pci_device(0e)
- gen_pci_device(0f)
- gen_pci_device(10)
- gen_pci_device(11)
- gen_pci_device(12)
- gen_pci_device(13)
- gen_pci_device(14)
- gen_pci_device(15)
- gen_pci_device(16)
- gen_pci_device(17)
- gen_pci_device(18)
- gen_pci_device(19)
- gen_pci_device(1a)
- gen_pci_device(1b)
- gen_pci_device(1c)
- gen_pci_device(1d)
- gen_pci_device(1e)
- gen_pci_device(1f)
-
- /* Methods called by bulk generated hotplug devices below */
+ /* Methods called by hotplug devices */
Method (PCEJ, 1, NotSerialized) {
// _EJ0 method - eject callback
Store(ShiftLeft(1, Arg0), B0EJ)
Return (0x0)
}
- /* Bulk generated PCI hotplug devices */
-#define hotplug_slot(slot) \
- Device (S##slot) { \
- Name (_ADR, 0x##slot##0000) \
- Method (_EJ0, 1) { Return(PCEJ(0x##slot)) } \
- Name (_SUN, 0x##slot) \
- }
-
- hotplug_slot(01)
- hotplug_slot(02)
- hotplug_slot(03)
- hotplug_slot(04)
- hotplug_slot(05)
- hotplug_slot(06)
- hotplug_slot(07)
- hotplug_slot(08)
- hotplug_slot(09)
- hotplug_slot(0a)
- hotplug_slot(0b)
- hotplug_slot(0c)
- hotplug_slot(0d)
- hotplug_slot(0e)
- hotplug_slot(0f)
- hotplug_slot(10)
- hotplug_slot(11)
- hotplug_slot(12)
- hotplug_slot(13)
- hotplug_slot(14)
- hotplug_slot(15)
- hotplug_slot(16)
- hotplug_slot(17)
- hotplug_slot(18)
- hotplug_slot(19)
- hotplug_slot(1a)
- hotplug_slot(1b)
- hotplug_slot(1c)
- hotplug_slot(1d)
- hotplug_slot(1e)
- hotplug_slot(1f)
+ /* Hotplug notification method supplied by SSDT */
+ External (\_SB.PCI0.PCNT, MethodObj)
/* PCI hotplug notify method */
Method(PCNF, 0) {
Return(One)
}
-#define gen_pci_hotplug(slot) \
- If (LEqual(Arg0, 0x##slot)) { Notify(S##slot, Arg1) }
-
- Method(PCNT, 2) {
- gen_pci_hotplug(01)
- gen_pci_hotplug(02)
- gen_pci_hotplug(03)
- gen_pci_hotplug(04)
- gen_pci_hotplug(05)
- gen_pci_hotplug(06)
- gen_pci_hotplug(07)
- gen_pci_hotplug(08)
- gen_pci_hotplug(09)
- gen_pci_hotplug(0a)
- gen_pci_hotplug(0b)
- gen_pci_hotplug(0c)
- gen_pci_hotplug(0d)
- gen_pci_hotplug(0e)
- gen_pci_hotplug(0f)
- gen_pci_hotplug(10)
- gen_pci_hotplug(11)
- gen_pci_hotplug(12)
- gen_pci_hotplug(13)
- gen_pci_hotplug(14)
- gen_pci_hotplug(15)
- gen_pci_hotplug(16)
- gen_pci_hotplug(17)
- gen_pci_hotplug(18)
- gen_pci_hotplug(19)
- gen_pci_hotplug(1a)
- gen_pci_hotplug(1b)
- gen_pci_hotplug(1c)
- gen_pci_hotplug(1d)
- gen_pci_hotplug(1e)
- gen_pci_hotplug(1f)
- }
}
}
Return (0x0B)
}
- Method (IQDI, 1, NotSerialized) {
- // _DIS method - disable interrupt
- Or(DerefOf(Arg0), 0x80, Arg0)
- }
Method (IQCR, 1, NotSerialized) {
// _CRS method - get current settings
Name (PRR0, ResourceTemplate ()
}
Return (PRR0)
}
- Method (IQSR, 2, NotSerialized) {
- // _SRS method - set interrupt
- CreateDWordField (Arg1, 0x05, PRRI)
- Store (PRRI, Arg0)
- }
+ // _DIS method - disable interrupt
+#define DISIRQ(PRQVAR) \
+ Or(PRQVAR, 0x80, PRQVAR) \
+ // _SRS method - set interrupt
+#define SETIRQ(PRQVAR, IRQINFO) \
+ CreateDWordField (IRQINFO, 0x05, PRRI) \
+ Store (PRRI, PRQVAR)
Device(LNKA) {
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
{ 5, 10, 11 }
})
Method (_STA, 0, NotSerialized) { Return (IQST(PRQ0)) }
- Method (_DIS, 0, NotSerialized) { IQDI(RefOf(PRQ0)) }
+ Method (_DIS, 0, NotSerialized) { DISIRQ(PRQ0) }
Method (_CRS, 0, NotSerialized) { Return (IQCR(PRQ0)) }
- Method (_SRS, 1, NotSerialized) { IQSR(RefOf(PRQ0), Arg0) }
+ Method (_SRS, 1, NotSerialized) { SETIRQ(PRQ0, Arg0) }
}
Device(LNKB) {
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
{ 5, 10, 11 }
})
Method (_STA, 0, NotSerialized) { Return (IQST(PRQ1)) }
- Method (_DIS, 0, NotSerialized) { IQDI(RefOf(PRQ1)) }
+ Method (_DIS, 0, NotSerialized) { DISIRQ(PRQ1) }
Method (_CRS, 0, NotSerialized) { Return (IQCR(PRQ1)) }
- Method (_SRS, 1, NotSerialized) { IQSR(RefOf(PRQ1), Arg0) }
+ Method (_SRS, 1, NotSerialized) { SETIRQ(PRQ1, Arg0) }
}
Device(LNKC) {
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
{ 5, 10, 11 }
})
Method (_STA, 0, NotSerialized) { Return (IQST(PRQ2)) }
- Method (_DIS, 0, NotSerialized) { IQDI(RefOf(PRQ2)) }
+ Method (_DIS, 0, NotSerialized) { DISIRQ(PRQ2) }
Method (_CRS, 0, NotSerialized) { Return (IQCR(PRQ2)) }
- Method (_SRS, 1, NotSerialized) { IQSR(RefOf(PRQ2), Arg0) }
+ Method (_SRS, 1, NotSerialized) { SETIRQ(PRQ2, Arg0) }
}
Device(LNKD) {
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
{ 5, 10, 11 }
})
Method (_STA, 0, NotSerialized) { Return (IQST(PRQ3)) }
- Method (_DIS, 0, NotSerialized) { IQDI(RefOf(PRQ3)) }
+ Method (_DIS, 0, NotSerialized) { DISIRQ(PRQ3) }
Method (_CRS, 0, NotSerialized) { Return (IQCR(PRQ3)) }
- Method (_SRS, 1, NotSerialized) { IQSR(RefOf(PRQ3), Arg0) }
+ Method (_SRS, 1, NotSerialized) { SETIRQ(PRQ3, Arg0) }
}
Device(LNKS) {
Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
{ 9 }
})
Method (_STA, 0, NotSerialized) { Return (IQST(PRQ0)) }
- Method (_DIS, 0, NotSerialized) { IQDI(RefOf(PRQ0)) }
+ Method (_DIS, 0, NotSerialized) { DISIRQ(PRQ0) }
Method (_CRS, 0, NotSerialized) { Return (IQCR(PRQ0)) }
}
}