Interrupt storm on acpi0 occurred after madt.c change
Sangwoo Shim
ssw at neo.redjade.org
Fri Jan 30 08:43:39 PST 2004
Hi.
I've experienced interrupt storm on acpi0 after your v1.10 madt.c commit.
(which is located at src/sys/i386/acpica/madt.c);
What really makes me frustrating is this storm wasn't here before 1.10 change,
which is exactly stand against your commit log message. :-(
I've recompiled kernel with v1.9 of madt.c and the problem didn't occur.
I'm using ASUS P2B-D with two p3-650 processors.
BIOS version is 1014 beta 3 (which is the last published one);
My kernel config is stripped GENERIC, which includes
option CPU_FASTER_5X86_FPU
option CPU_ENABLE_SSE
device acpi # Mine hangs with acpi loaded as module.
Attached file is my acpidump -t -d output.
Thanks.
-------------- next part --------------
/*
RSD PTR: OEM=ASUS, ACPI_Rev=1.0x (0)
RSDT=0x0fffd000, cksum=135
*/
/*
RSDT: Length=48, Revision=1, Checksum=24,
OEMID=ASUS, OEM Table ID=P2B-D, OEM Revision=0x58582e33,
Creator ID=MSFT, Creator Revision=0x31313031
Entries={ 0x0fffd100, 0x0fffd040, 0x0fffd080 }
*/
/*
FADT: FACS=0xffff000, DSDT=0xfffd180
INT_MODEL=PIC
Preferred_PM_Profile=Unspecified (0)
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xa1, ACPI_DISABLE=0xa0, S4BIOS_REQ=0x0
PSTATE_CNT=0x0
PM1a_EVT_BLK=0xe400-0xe403
PM1a_CNT_BLK=0xe404-0xe405
PM_TMR_BLK=0xe408-0xe40b
GPE0_BLK=0xe40c-0xe40f
P_LVL2_LAT=190 us, P_LVL3_LAT=1900 us
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=0
DAY_ALRM=13, MON_ALRM=0, CENTURY=0
IAPC_BOOT_ARCH=
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
*/
/*
FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
Global_Lock=
Flags=
Version=0
*/
/*
DSDT: Length=7518, Revision=1, Checksum=14,
OEMID=ASUS, OEM Table ID=P2B-D, OEM Revision=0x1000,
Creator ID=MSFT, Creator Revision=0x1000001
*/
/*
BOOT: Length=40, Revision=1, Checksum=62,
OEMID=ASUS, OEM Table ID=P2B-D, OEM Revision=0x58582e33,
Creator ID=MSFT, Creator Revision=0x31313031
*/
/*
APIC: Length=92, Revision=1, Checksum=95,
OEMID=ASUS, OEM Table ID=P2B-D, OEM Revision=0x58582e33,
Creator ID=MSFT, Creator Revision=0x31313031
Local APIC ADDR=0xfee00000
Flags={PC-AT}
Type=IO APIC
APIC ID=2
INT BASE=0
ADDR=0x00000000fec00000
Type=INT Override
BUS=0
IRQ=0
INTR=2
Flags={Polarity=conforming, Trigger=edge}
Type=INT Override
BUS=0
IRQ=9
INTR=20
Flags={Polarity=active-hi, Trigger=level}
Type=Local APIC
ACPI CPU=0
Flags={ENABLED}
APIC ID=1
Type=Local APIC
ACPI CPU=1
Flags={ENABLED}
APIC ID=0
*/
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20031203
*
* Disassembly of /tmp/acpidump.vLE7w8, Sat Jan 31 01:03:38 2004
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "ASUS", "P2B-D ", 4096)
{
Scope (\_PR)
{
Processor (\_PR.CPU, 0x00, 0x00000000, 0x00) {}
Processor (\_PR.CPU1, 0x01, 0x00000000, 0x00) {}
}
Name (\_S0, Package (0x04)
{
0x05,
0x05,
0x00,
0x00
})
Name (\_S1, Package (0x04)
{
0x07,
0x07,
0x00,
0x00
})
Name (\_S4, Package (0x04)
{
0x06,
0x06,
0x00,
0x00
})
Name (\_S5, Package (0x04)
{
0x06,
0x06,
0x00,
0x00
})
OperationRegion (\DEBG, SystemIO, 0x80, 0x01)
Field (\DEBG, ByteAcc, NoLock, Preserve)
{
DBG1, 8
}
OperationRegion (GPOB, SystemIO, 0xE42C, 0x10)
Field (GPOB, ByteAcc, NoLock, Preserve)
{
Offset (0x03),
TO12, 1,
Offset (0x08),
FANM, 1,
Offset (0x09),
PLED, 1,
, 3,
, 2,
, 16,
MSG0, 1
}
Name (\PICF, 0x00)
Method (_PIC, 1, NotSerialized)
{
Store (Arg0, \PICF)
}
Method (\_PTS, 1, NotSerialized)
{
If (LNot (LEqual (Arg0, 0x05)))
{
Store (0x00, FANM)
Store (0x00, PLED)
}
If (LEqual (Arg0, 0x01))
{
Store (One, TO12)
}
If (LEqual (Arg0, 0x02)) {}
Store (One, TO12)
Or (Arg0, 0xF0, Local2)
Store (Local2, DBG1)
}
Method (\_WAK, 1, NotSerialized)
{
Notify (\_SB.PWRB, 0x02)
Store (0x01, FANM)
Store (One, PLED)
Store (0xFF, DBG1)
}
Scope (\_SI)
{
Method (_MSG, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (One, MSG0)
}
Else
{
Store (Zero, MSG0)
}
}
}
Scope (\_SB)
{
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Method (_STA, 0, NotSerialized)
{
Return (0x0B)
}
}
OperationRegion (MGRM, SystemMemory, 0x04E3, 0x02)
Field (MGRM, WordAcc, NoLock, Preserve)
{
MEM0, 16
}
Method (MEMS, 0, NotSerialized)
{
Return (MEM0)
}
Device (MEM)
{
Name (_HID, EisaId ("PNP0C01"))
Method (_CRS, 0, NotSerialized)
{
Name (BUF1, Buffer (0x4A)
{
0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0A, 0x00, 0x86, 0x09, 0x00, 0x00,
0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00,
0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0x86, 0x09, 0x00, 0x01,
0x00, 0x00, 0xC0, 0xFE, 0x00, 0x10, 0x00, 0x00,
0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0xE0, 0xFE,
0x00, 0x10, 0x00, 0x00, 0x86, 0x09, 0x00, 0x00,
0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x02, 0x00,
0x79, 0x00
})
CreateDWordField (BUF1, 0x20, EMLN)
Store (MEMS (), EMLN)
ShiftLeft (EMLN, 0x14, EMLN)
Return (BUF1)
}
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
And (\_SB.PCI0.PX40.PIRA, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Name (_PRS, Buffer (0x06)
{
0x23, 0xF8, 0xDE, 0x18, 0x79, 0x00
})
Method (_DIS, 0, NotSerialized)
{
Store (0x80, \_SB.PCI0.PX40.PIRA)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFA, Buffer (0x06)
{
0x23, 0x00, 0x00, 0x18, 0x79, 0x00
})
CreateWordField (BUFA, 0x01, IRA)
And (\_SB.PCI0.PX40.PIRA, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
ShiftLeft (One, Local0, Local1)
Store (Local1, IRA)
}
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x01, IRA1)
CreateByteField (Arg0, 0x02, IRA2)
ShiftLeft (IRA2, 0x08, Local0)
Or (Local0, IRA1, Local0)
Store (0x00, Local1)
ShiftRight (Local0, 0x01, Local0)
While (LGreater (Local0, 0x00))
{
Increment (Local1)
ShiftRight (Local0, 0x01, Local0)
}
And (\_SB.PCI0.PX40.PIRA, 0x70, Local0)
Or (Local1, Local0, \_SB.PCI0.PX40.PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
And (\_SB.PCI0.PX40.PIRB, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Name (_PRS, Buffer (0x06)
{
0x23, 0xF8, 0xDE, 0x18, 0x79, 0x00
})
Method (_DIS, 0, NotSerialized)
{
Store (0x80, \_SB.PCI0.PX40.PIRB)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFB, Buffer (0x06)
{
0x23, 0x00, 0x00, 0x18, 0x79, 0x00
})
CreateWordField (BUFB, 0x01, IRB)
And (\_SB.PCI0.PX40.PIRB, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
ShiftLeft (One, Local0, Local1)
Store (Local1, IRB)
}
Return (BUFB)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x01, IRB1)
CreateByteField (Arg0, 0x02, IRB2)
ShiftLeft (IRB2, 0x08, Local0)
Or (Local0, IRB1, Local0)
Store (0x00, Local1)
ShiftRight (Local0, 0x01, Local0)
While (LGreater (Local0, 0x00))
{
Increment (Local1)
ShiftRight (Local0, 0x01, Local0)
}
And (\_SB.PCI0.PX40.PIRB, 0x70, Local0)
Or (Local1, Local0, \_SB.PCI0.PX40.PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
And (\_SB.PCI0.PX40.PIRC, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Name (_PRS, Buffer (0x06)
{
0x23, 0xF8, 0xDE, 0x18, 0x79, 0x00
})
Method (_DIS, 0, NotSerialized)
{
Store (0x80, \_SB.PCI0.PX40.PIRC)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFC, Buffer (0x06)
{
0x23, 0x00, 0x00, 0x18, 0x79, 0x00
})
CreateWordField (BUFC, 0x01, IRC)
And (\_SB.PCI0.PX40.PIRC, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
ShiftLeft (One, Local0, Local1)
Store (Local1, IRC)
}
Return (BUFC)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x01, IRC1)
CreateByteField (Arg0, 0x02, IRC2)
ShiftLeft (IRC2, 0x08, Local0)
Or (Local0, IRC1, Local0)
Store (0x00, Local1)
ShiftRight (Local0, 0x01, Local0)
While (LGreater (Local0, 0x00))
{
Increment (Local1)
ShiftRight (Local0, 0x01, Local0)
}
And (\_SB.PCI0.PX40.PIRC, 0x70, Local0)
Or (Local1, Local0, \_SB.PCI0.PX40.PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
And (\_SB.PCI0.PX40.PIRD, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Name (_PRS, Buffer (0x06)
{
0x23, 0xF8, 0xDE, 0x18, 0x79, 0x00
})
Method (_DIS, 0, NotSerialized)
{
Store (0x80, \_SB.PCI0.PX40.PIRD)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFD, Buffer (0x06)
{
0x23, 0x00, 0x00, 0x18, 0x79, 0x00
})
CreateWordField (BUFD, 0x01, IRD)
And (\_SB.PCI0.PX40.PIRD, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
ShiftLeft (One, Local0, Local1)
Store (Local1, IRD)
}
Return (BUFD)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x01, IRD1)
CreateByteField (Arg0, 0x02, IRD2)
ShiftLeft (IRD2, 0x08, Local0)
Or (Local0, IRD1, Local0)
Store (0x00, Local1)
ShiftRight (Local0, 0x01, Local0)
While (LGreater (Local0, 0x00))
{
Increment (Local1)
ShiftRight (Local0, 0x01, Local0)
}
And (\_SB.PCI0.PX40.PIRD, 0x70, Local0)
Or (Local1, Local0, \_SB.PCI0.PX40.PIRD)
}
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00)
Name (CRES, Buffer (0x88)
{
0x88, 0x0D, 0x00, 0x02, 0x0C, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01,
0x47, 0x01, 0xF8, 0x0C, 0xF8, 0x0C, 0x01, 0x08,
0x88, 0x0D, 0x00, 0x01, 0x0C, 0x03, 0x00, 0x00,
0x00, 0x00, 0xF7, 0x0C, 0x00, 0x00, 0xF8, 0x0C,
0x88, 0x0D, 0x00, 0x01, 0x0C, 0x03, 0x00, 0x00,
0x00, 0x0D, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xF3,
0x87, 0x17, 0x00, 0x00, 0x0C, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0xFF, 0xFF,
0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x02, 0x00, 0x87, 0x17, 0x00, 0x00, 0x0C, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0C, 0x00,
0xFF, 0xFF, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x01, 0x00, 0x87, 0x17, 0x00, 0x00,
0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10, 0x00, 0xFF, 0xFF, 0xFD, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x79, 0x00
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRES, 0x76, RAMT)
CreateDWordField (CRES, 0x82, RAMR)
Add (MEMS (), 0x01, RAMT)
ShiftLeft (RAMT, 0x14, RAMT)
Subtract (0xFFFE0000, RAMT, RAMR)
Return (CRES)
}
Name (PICM, Package (0x18)
{
Package (0x04)
{
0x000CFFFF,
0x00,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x01,
\_SB.LNKB,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x02,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x03,
\_SB.LNKD,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x00,
\_SB.LNKB,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x01,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x02,
\_SB.LNKD,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x03,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x00,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x01,
\_SB.LNKD,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x02,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x03,
\_SB.LNKB,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x00,
\_SB.LNKD,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x01,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x02,
\_SB.LNKB,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x03,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
\_SB.LNKB,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x02,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x03,
\_SB.LNKD,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.LNKA,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x01,
\_SB.LNKB,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x02,
\_SB.LNKC,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x03,
\_SB.LNKD,
0x00
}
})
Name (APIC, Package (0x18)
{
Package (0x04)
{
0x000CFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x000CFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x000CFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x000CFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x000BFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x000BFFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0x000BFFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0x000BFFFF,
0x03,
0x00,
0x10
},
Package (0x04)
{
0x000AFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x000AFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0x000AFFFF,
0x02,
0x00,
0x10
},
Package (0x04)
{
0x000AFFFF,
0x03,
0x00,
0x11
},
Package (0x04)
{
0x0009FFFF,
0x00,
0x00,
0x13
},
Package (0x04)
{
0x0009FFFF,
0x01,
0x00,
0x10
},
Package (0x04)
{
0x0009FFFF,
0x02,
0x00,
0x11
},
Package (0x04)
{
0x0009FFFF,
0x03,
0x00,
0x12
},
Package (0x04)
{
0x0004FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0004FFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x0004FFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x0004FFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0001FFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x0001FFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x03,
0x00,
0x13
}
})
Method (_PRT, 0, NotSerialized)
{
If (LNot (\PICF))
{
Return (PICM)
}
Else
{
Return (APIC)
}
}
Device (PX40)
{
Name (_ADR, 0x00040000)
OperationRegion (PIRQ, PCI_Config, 0x60, 0x04)
Field (PIRQ, ByteAcc, NoLock, Preserve)
{
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
Device (SYSR)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_CRS, 0, NotSerialized)
{
Name (BUF1, Buffer (0x72)
{
0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40,
0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10,
0x47, 0x01, 0x94, 0x02, 0x94, 0x02, 0x01, 0x04,
0x47, 0x01, 0x10, 0x00, 0x10, 0x00, 0x01, 0x10,
0x47, 0x01, 0x22, 0x00, 0x22, 0x00, 0x01, 0x1E,
0x47, 0x01, 0x44, 0x00, 0x44, 0x00, 0x01, 0x1C,
0x47, 0x01, 0x62, 0x00, 0x62, 0x00, 0x01, 0x02,
0x47, 0x01, 0x65, 0x00, 0x65, 0x00, 0x01, 0x0B,
0x47, 0x01, 0x74, 0x00, 0x74, 0x00, 0x01, 0x0C,
0x47, 0x01, 0x91, 0x00, 0x91, 0x00, 0x01, 0x03,
0x47, 0x01, 0xA2, 0x00, 0xA2, 0x00, 0x01, 0x1E,
0x47, 0x01, 0xE0, 0x00, 0xE0, 0x00, 0x01, 0x10,
0x47, 0x01, 0xF0, 0x03, 0xF0, 0x03, 0x01, 0x02,
0x47, 0x01, 0xD0, 0x04, 0xD0, 0x04, 0x01, 0x02,
0x79, 0x00
})
CreateByteField (BUF1, 0x02, PMLO)
CreateByteField (BUF1, 0x03, PMHI)
CreateByteField (BUF1, 0x04, PMRL)
CreateByteField (BUF1, 0x05, PMRH)
CreateByteField (BUF1, 0x0A, SBLO)
CreateByteField (BUF1, 0x0B, SBHI)
CreateByteField (BUF1, 0x0C, SBRL)
CreateByteField (BUF1, 0x0D, SBRH)
Store (\_SB.PCI0.PX43.PM00, Local0)
And (Local0, 0xFE, PMLO)
Store (\_SB.PCI0.PX43.PM01, PMHI)
Store (\_SB.PCI0.PX43.SB00, Local0)
And (Local0, 0xFE, SBLO)
Store (\_SB.PCI0.PX43.SB01, SBHI)
Store (PMLO, PMRL)
Store (PMHI, PMRH)
Store (SBLO, SBRL)
Store (SBHI, SBRH)
Return (BUF1)
}
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, Buffer (0x15)
{
0x47, 0x01, 0x20, 0x00, 0x20, 0x00, 0x01, 0x02,
0x47, 0x01, 0xA0, 0x00, 0xA0, 0x00, 0x01, 0x02,
0x22, 0x04, 0x00, 0x79, 0x00
})
}
Device (DMA1)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, Buffer (0x25)
{
0x2A, 0x10, 0x04, 0x47, 0x01, 0x00, 0x00, 0x00,
0x00, 0x01, 0x10, 0x47, 0x01, 0x80, 0x00, 0x80,
0x00, 0x01, 0x11, 0x47, 0x01, 0x94, 0x00, 0x94,
0x00, 0x01, 0x0C, 0x47, 0x01, 0xC0, 0x00, 0xC0,
0x00, 0x01, 0x20, 0x79, 0x00
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, Buffer (0x0D)
{
0x47, 0x01, 0x40, 0x00, 0x40, 0x00, 0x01, 0x04,
0x22, 0x01, 0x00, 0x79, 0x00
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, Buffer (0x0D)
{
0x47, 0x01, 0x70, 0x00, 0x70, 0x00, 0x01, 0x04,
0x22, 0x00, 0x01, 0x79, 0x00
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, Buffer (0x0A)
{
0x47, 0x01, 0x61, 0x00, 0x61, 0x00, 0x01, 0x01,
0x79, 0x00
})
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, Buffer (0x0D)
{
0x47, 0x01, 0xF0, 0x00, 0xF0, 0x00, 0x01, 0x10,
0x22, 0x00, 0x20, 0x79, 0x00
})
}
OperationRegion (W977, SystemIO, 0x03F0, 0x02)
Field (W977, ByteAcc, NoLock, Preserve)
{
NIDX, 8,
NDAT, 8
}
IndexField (NIDX, NDAT, ByteAcc, NoLock, Preserve)
{
Offset (0x07),
LDNM, 8,
Offset (0x20),
DEVI, 8,
DEVR, 8,
Offset (0x30),
ACTR, 8,
Offset (0x60),
IOAH, 8,
IOAL, 8,
IOBH, 8,
IOBL, 8,
Offset (0x70),
INTR, 8,
Offset (0x72),
INRQ, 8,
Offset (0x74),
DMCH, 8,
Offset (0xE0),
MSWK, 8,
Offset (0xE4),
KBWK, 8,
Offset (0xF0),
OPT1, 8,
OPT2, 8
}
Method (ENFG, 0, NotSerialized)
{
Store (0x00, Local0)
Store (0x11, Local1)
While (LNot (LEqual (Local0, 0x71)))
{
Store (0x87, NIDX)
Store (0x87, NIDX)
If (LOr (LEqual (DEVI, 0x97), LEqual (DEVI, 0x52)))
{
Store (0x71, Local0)
}
Decrement (Local1)
If (LEqual (Local1, 0x00))
{
Store (0x71, Local0)
}
}
}
Method (EXFG, 0, NotSerialized)
{
Store (0xAA, NIDX)
}
Device (FDC0)
{
Name (_HID, EisaId ("PNP0700"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (Zero, LDNM)
If (ACTR)
{
EXFG ()
Return (0x0F)
}
Else
{
EXFG ()
Return (0x0D)
}
}
Method (_DIS, 0, NotSerialized)
{
ENFG ()
Store (Zero, LDNM)
Store (Zero, ACTR)
EXFG ()
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, Buffer (0x19)
{
0x47, 0x01, 0xF2, 0x03, 0xF2, 0x03, 0x00, 0x04,
0x47, 0x01, 0xF7, 0x03, 0xF7, 0x03, 0x00, 0x01,
0x23, 0x40, 0x00, 0x01, 0x2A, 0x04, 0x00, 0x79,
0x00
})
CreateWordField (BUF0, 0x11, IRQW)
CreateByteField (BUF0, 0x15, DMAV)
ENFG ()
Store (Zero, LDNM)
Store (One, Local0)
ShiftLeft (Local0, INTR, IRQW)
Store (One, Local0)
ShiftLeft (Local0, DMCH, DMAV)
EXFG ()
Return (BUF0)
}
Name (_PRS, Buffer (0x19)
{
0x47, 0x01, 0xF2, 0x03, 0xF2, 0x03, 0x00, 0x04,
0x47, 0x01, 0xF7, 0x03, 0xF7, 0x03, 0x00, 0x01,
0x23, 0x40, 0x00, 0x01, 0x2A, 0x04, 0x00, 0x79,
0x00
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x11, IRQW)
CreateByteField (Arg0, 0x15, DMAV)
ENFG ()
Store (Zero, LDNM)
And (IOLO, 0xF8, IOAL)
Store (IOHI, IOAH)
FindSetRightBit (IRQW, Local0)
Decrement (Local0)
Store (Local0, INTR)
FindSetRightBit (DMAV, Local0)
Decrement (Local0)
Store (Local0, DMCH)
Store (One, ACTR)
EXFG ()
}
}
Device (LPT)
{
Name (_HID, EisaId ("PNP0400"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (0x01, LDNM)
And (OPT1, 0x02, Local0)
If (LOr (IOAH, IOAL))
{
If (LEqual (Local0, 0x02))
{
EXFG ()
Return (0x00)
}
Else
{
If (ACTR)
{
EXFG ()
Return (0x0F)
}
Else
{
EXFG ()
Return (0x0D)
}
}
}
EXFG ()
Return (0x00)
}
Method (_DIS, 0, NotSerialized)
{
ENFG ()
Store (0x01, LDNM)
Store (Zero, ACTR)
EXFG ()
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF5, Buffer (0x0E)
{
0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 0x00, 0x04,
0x23, 0x80, 0x00, 0x01, 0x79, 0x00
})
CreateByteField (BUF5, 0x02, IOLO)
CreateByteField (BUF5, 0x03, IOHI)
CreateByteField (BUF5, 0x04, IORL)
CreateByteField (BUF5, 0x05, IORH)
CreateWordField (BUF5, 0x09, IRQW)
ENFG ()
Store (0x01, LDNM)
Store (IOAL, IOLO)
Store (IOAL, IORL)
Store (IOAH, IOHI)
Store (IOAH, IORH)
Store (One, Local0)
ShiftLeft (Local0, INTR, IRQW)
EXFG ()
Return (BUF5)
}
Name (_PRS, Buffer (0x2D)
{
0x31, 0x05, 0x47, 0x01, 0x78, 0x03, 0x78, 0x03,
0x00, 0x08, 0x23, 0xA0, 0x00, 0x01, 0x31, 0x05,
0x47, 0x01, 0x78, 0x02, 0x78, 0x02, 0x00, 0x08,
0x23, 0xA0, 0x00, 0x01, 0x31, 0x05, 0x47, 0x01,
0xBC, 0x03, 0xBC, 0x03, 0x00, 0x04, 0x23, 0xA0,
0x00, 0x01, 0x38, 0x79, 0x00
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQW)
ENFG ()
Store (0x01, LDNM)
Store (IOLO, IOAL)
Store (IOHI, IOAH)
FindSetRightBit (IRQW, Local0)
Decrement (Local0)
Store (Local0, INTR)
Store (One, ACTR)
EXFG ()
}
}
Device (ECP)
{
Name (_HID, EisaId ("PNP0401"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (0x01, LDNM)
And (OPT1, 0x02, Local0)
If (LOr (IOAH, IOAL))
{
If (LEqual (Local0, 0x02))
{
If (ACTR)
{
EXFG ()
Return (0x0F)
}
Else
{
EXFG ()
Return (0x05)
}
}
Else
{
EXFG ()
Return (0x00)
}
}
EXFG ()
Return (0x00)
}
Method (_DIS, 0, NotSerialized)
{
ENFG ()
Store (0x01, LDNM)
Store (Zero, ACTR)
EXFG ()
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF6, Buffer (0x19)
{
0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 0x00, 0x04,
0x47, 0x01, 0x78, 0x07, 0x78, 0x07, 0x00, 0x04,
0x23, 0x80, 0x00, 0x01, 0x2A, 0x02, 0x00, 0x79,
0x00
})
CreateByteField (BUF6, 0x02, IOLO)
CreateByteField (BUF6, 0x03, IOHI)
CreateByteField (BUF6, 0x04, IORL)
CreateByteField (BUF6, 0x05, IORH)
CreateByteField (BUF6, 0x0A, I2LO)
CreateByteField (BUF6, 0x0B, I2HI)
CreateByteField (BUF6, 0x0C, I2RL)
CreateByteField (BUF6, 0x0D, I2RH)
CreateWordField (BUF6, 0x11, IRQW)
CreateByteField (BUF6, 0x15, DMAC)
ENFG ()
Store (0x01, LDNM)
Store (IOAL, IOLO)
Store (IOAL, IORL)
Store (IOLO, I2LO)
Store (IOLO, I2RL)
Store (IOAH, IORH)
Store (IOAH, IOHI)
Add (IOHI, 0x04, I2HI)
Add (IOHI, 0x04, I2RH)
Store (One, Local0)
ShiftLeft (Local0, INTR, IRQW)
Store (One, Local0)
ShiftLeft (Local0, DMCH, DMAC)
EXFG ()
Return (BUF6)
}
Name (_PRS, Buffer (0x4E)
{
0x31, 0x05, 0x47, 0x01, 0x78, 0x03, 0x78, 0x03,
0x00, 0x04, 0x47, 0x01, 0x78, 0x07, 0x78, 0x07,
0x00, 0x04, 0x23, 0xA0, 0x00, 0x01, 0x2A, 0x0B,
0x00, 0x31, 0x05, 0x47, 0x01, 0x78, 0x02, 0x78,
0x02, 0x00, 0x04, 0x47, 0x01, 0x78, 0x06, 0x78,
0x06, 0x00, 0x04, 0x23, 0xA0, 0x00, 0x01, 0x2A,
0x0B, 0x00, 0x31, 0x05, 0x47, 0x01, 0xBC, 0x03,
0xBC, 0x03, 0x00, 0x04, 0x47, 0x01, 0xBC, 0x07,
0xBC, 0x07, 0x00, 0x04, 0x23, 0xA0, 0x00, 0x01,
0x2A, 0x0B, 0x00, 0x38, 0x79, 0x00
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x11, IRQW)
CreateByteField (Arg0, 0x15, DMAC)
ENFG ()
Store (0x01, LDNM)
Store (IOLO, IOAL)
Store (IOHI, IOAH)
FindSetRightBit (IRQW, Local0)
Decrement (Local0)
Store (Local0, INTR)
FindSetRightBit (DMAC, Local0)
Decrement (Local0)
Store (Local0, DMCH)
Store (One, ACTR)
EXFG ()
}
}
Device (UAR1)
{
Name (_HID, EisaId ("PNP0501"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (0x02, LDNM)
If (LOr (IOAH, IOAL))
{
If (ACTR)
{
EXFG ()
Return (0x0F)
}
Else
{
EXFG ()
Return (0x0D)
}
}
EXFG ()
Return (0x00)
}
Method (_DIS, 0, NotSerialized)
{
ENFG ()
Store (0x02, LDNM)
Store (Zero, ACTR)
EXFG ()
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF1, Buffer (0x0E)
{
0x47, 0x01, 0xF8, 0x03, 0xF8, 0x03, 0x00, 0x08,
0x23, 0x10, 0x00, 0x01, 0x79, 0x00
})
CreateByteField (BUF1, 0x02, IOLO)
CreateByteField (BUF1, 0x03, IOHI)
CreateByteField (BUF1, 0x04, IORL)
CreateByteField (BUF1, 0x05, IORH)
CreateWordField (BUF1, 0x09, IRQW)
ENFG ()
Store (0x02, LDNM)
Store (IOAL, IOLO)
Store (IOAL, IORL)
Store (IOAH, IOHI)
Store (IOAH, IORH)
Store (One, Local0)
ShiftLeft (Local0, INTR, IRQW)
EXFG ()
Return (BUF1)
}
Name (_PRS, Buffer (0x49)
{
0x31, 0x05, 0x47, 0x01, 0xF8, 0x03, 0xF8, 0x03,
0x00, 0x08, 0x23, 0x10, 0x00, 0x01, 0x31, 0x05,
0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 0x00, 0x08,
0x23, 0x08, 0x00, 0x01, 0x31, 0x05, 0x47, 0x01,
0xE8, 0x03, 0xE8, 0x03, 0x00, 0x08, 0x23, 0x10,
0x00, 0x01, 0x31, 0x05, 0x47, 0x01, 0xE8, 0x02,
0xE8, 0x02, 0x00, 0x08, 0x23, 0x08, 0x00, 0x01,
0x31, 0x05, 0x47, 0x01, 0xE8, 0x02, 0xF8, 0x03,
0x00, 0x08, 0x23, 0xB8, 0x14, 0x01, 0x38, 0x79,
0x00
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQW)
ENFG ()
Store (0x02, LDNM)
Store (IOLO, IOAL)
Store (IOHI, IOAH)
FindSetRightBit (IRQW, Local0)
Decrement (Local0)
Store (Local0, INTR)
Store (One, ACTR)
EXFG ()
}
Name (_PRW, Package (0x02)
{
0x0A,
0x01
})
}
Device (UAR2)
{
Name (_HID, EisaId ("PNP0501"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (0x03, LDNM)
If (LOr (IOAH, IOAL))
{
If (LAnd (LEqual (DEVI, 0x97), LEqual (DEVR, 0x71)))
{
If (ACTR)
{
EXFG ()
Return (0x0F)
}
Else
{
EXFG ()
Return (0x0D)
}
}
Else
{
If (LNot (LEqual (OPT2, Zero)))
{
EXFG ()
Return (Zero)
}
Else
{
If (ACTR)
{
EXFG ()
Return (0x0F)
}
Else
{
EXFG ()
Return (0x0D)
}
}
}
}
EXFG ()
Return (0x00)
}
Method (_DIS, 0, NotSerialized)
{
ENFG ()
Store (0x03, LDNM)
Store (Zero, ACTR)
EXFG ()
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF1, Buffer (0x0E)
{
0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 0x00, 0x08,
0x23, 0x08, 0x00, 0x01, 0x79, 0x00
})
CreateByteField (BUF1, 0x02, IOLO)
CreateByteField (BUF1, 0x03, IOHI)
CreateByteField (BUF1, 0x04, IORL)
CreateByteField (BUF1, 0x05, IORH)
CreateWordField (BUF1, 0x09, IRQW)
ENFG ()
Store (0x03, LDNM)
Store (IOAL, IOLO)
Store (IOAL, IORL)
Store (IOAH, IOHI)
Store (IOAH, IORH)
Store (One, Local0)
ShiftLeft (Local0, INTR, IRQW)
EXFG ()
Return (BUF1)
}
Name (_PRS, Buffer (0x49)
{
0x31, 0x05, 0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02,
0x00, 0x08, 0x23, 0x08, 0x00, 0x01, 0x31, 0x05,
0x47, 0x01, 0xF8, 0x03, 0xF8, 0x03, 0x00, 0x08,
0x23, 0x10, 0x00, 0x01, 0x31, 0x05, 0x47, 0x01,
0xE8, 0x02, 0xE8, 0x02, 0x00, 0x08, 0x23, 0x08,
0x00, 0x01, 0x31, 0x05, 0x47, 0x01, 0xE8, 0x03,
0xE8, 0x03, 0x00, 0x08, 0x23, 0x10, 0x00, 0x01,
0x31, 0x05, 0x47, 0x01, 0xE8, 0x02, 0xF8, 0x03,
0x00, 0x08, 0x23, 0xB8, 0x14, 0x01, 0x38, 0x79,
0x00
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQW)
ENFG ()
Store (0x03, LDNM)
Store (IOLO, IOAL)
Store (IOHI, IOAH)
FindSetRightBit (IRQW, Local0)
Decrement (Local0)
Store (Local0, INTR)
Store (One, ACTR)
EXFG ()
}
Name (_PRW, Package (0x02)
{
0x0A,
0x01
})
}
Device (IRDA)
{
Name (_HID, EisaId ("PNP0510"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
If (LAnd (LEqual (DEVI, 0x97), LEqual (DEVR, 0x71)))
{
Store (0x06, LDNM)
If (ACTR)
{
EXFG ()
Return (0x0F)
}
Else
{
If (LOr (IOAH, IOAL))
{
EXFG ()
Return (0x05)
}
Else
{
EXFG ()
Return (0x00)
}
}
}
Else
{
Store (0x03, LDNM)
If (LOr (IOAH, IOAL))
{
If (OPT2)
{
If (ACTR)
{
EXFG ()
Return (0x0F)
}
Else
{
EXFG ()
Return (0x05)
}
}
}
EXFG ()
Return (0x00)
}
}
Method (_DIS, 0, NotSerialized)
{
ENFG ()
If (LAnd (LEqual (DEVI, 0x97), LEqual (DEVR, 0x71)))
{
Store (0x06, LDNM)
}
Else
{
Store (0x03, LDNM)
}
Store (Zero, ACTR)
EXFG ()
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF1, Buffer (0x0E)
{
0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02, 0x00, 0x08,
0x23, 0x08, 0x00, 0x01, 0x79, 0x00
})
CreateByteField (BUF1, 0x02, IOLO)
CreateByteField (BUF1, 0x03, IOHI)
CreateByteField (BUF1, 0x04, IORL)
CreateByteField (BUF1, 0x05, IORH)
CreateWordField (BUF1, 0x09, IRQW)
ENFG ()
If (LAnd (LEqual (DEVI, 0x97), LEqual (DEVR, 0x71)))
{
Store (0x06, LDNM)
}
Else
{
Store (0x03, LDNM)
}
Store (IOAL, IOLO)
Store (IOAL, IORL)
Store (IOAH, IOHI)
Store (IOAH, IORH)
Store (One, Local0)
ShiftLeft (Local0, INTR, IRQW)
EXFG ()
Return (BUF1)
}
Name (_PRS, Buffer (0x49)
{
0x31, 0x05, 0x47, 0x01, 0xF8, 0x02, 0xF8, 0x02,
0x00, 0x08, 0x23, 0x08, 0x00, 0x01, 0x31, 0x05,
0x47, 0x01, 0xF8, 0x03, 0xF8, 0x03, 0x00, 0x08,
0x23, 0x10, 0x00, 0x01, 0x31, 0x05, 0x47, 0x01,
0xE8, 0x02, 0xE8, 0x02, 0x00, 0x08, 0x23, 0x08,
0x00, 0x01, 0x31, 0x05, 0x47, 0x01, 0xE8, 0x03,
0xE8, 0x03, 0x00, 0x08, 0x23, 0x10, 0x00, 0x01,
0x31, 0x05, 0x47, 0x01, 0xE8, 0x02, 0xF8, 0x03,
0x00, 0x08, 0x23, 0xB8, 0x14, 0x01, 0x38, 0x79,
0x00
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQW)
ENFG ()
If (LAnd (LEqual (DEVI, 0x97), LEqual (DEVR, 0x71)))
{
Store (0x06, LDNM)
}
Else
{
Store (0x03, LDNM)
}
Store (IOLO, IOAL)
Store (IOHI, IOAH)
FindSetRightBit (IRQW, Local0)
Decrement (Local0)
Store (Local0, INTR)
Store (One, ACTR)
EXFG ()
}
}
OperationRegion (KBC1, SystemIO, 0x64, 0x01)
Field (KBC1, ByteAcc, NoLock, Preserve)
{
KBIN, 8
}
OperationRegion (KBC2, SystemIO, 0x60, 0x01)
Field (KBC2, ByteAcc, NoLock, Preserve)
{
KBDA, 8
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (0x05, LDNM)
And (INTR, 0x0F, Local0)
If (LNot (LEqual (Local0, 0x00)))
{
EXFG ()
Return (0x0F)
}
Else
{
EXFG ()
Return (0x05)
}
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, Buffer (0x16)
{
0x47, 0x01, 0x60, 0x00, 0x60, 0x00, 0x00, 0x01,
0x47, 0x01, 0x64, 0x00, 0x64, 0x00, 0x00, 0x01,
0x23, 0x02, 0x00, 0x01, 0x79, 0x00
})
Return (BUF0)
}
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F13"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (0x05, LDNM)
And (INRQ, 0x0F, Local0)
If (LEqual (Local0, 0x00))
{
EXFG ()
Return (0x00)
}
Else
{
If (LEqual (Local0, 0x02))
{
EXFG ()
Return (0x0D)
}
Else
{
EXFG ()
Return (0x0F)
}
}
}
Method (_DIS, 0, NotSerialized)
{
And (0x03, KBIN, Local0)
While (Local0)
{
Store (KBDA, Local1)
And (0x03, KBIN, Local0)
}
Store (0xA7, KBIN)
ENFG ()
Store (0x05, LDNM)
Store (0x02, INRQ)
And (INTR, 0x0F, Local0)
If (LEqual (Local0, 0x00))
{
Store (Zero, ACTR)
}
EXFG ()
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, Buffer (0x06)
{
0x23, 0x00, 0x10, 0x01, 0x79, 0x00
})
CreateWordField (BUF0, 0x01, IRQW)
ENFG ()
Store (0x05, LDNM)
Store (One, Local0)
ShiftLeft (Local0, INRQ, IRQW)
EXFG ()
Return (BUF0)
}
Name (_PRS, Buffer (0x06)
{
0x23, 0xB8, 0x14, 0x01, 0x79, 0x00
})
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQW)
And (0x03, KBIN, Local0)
While (Local0)
{
Store (KBDA, Local1)
And (0x03, KBIN, Local0)
}
Store (0xA8, KBIN)
ENFG ()
Store (0x05, LDNM)
FindSetRightBit (IRQW, Local0)
Decrement (Local0)
Store (Local0, INRQ)
Store (One, ACTR)
EXFG ()
}
Name (_PRW, Package (0x02)
{
0x0A,
0x01
})
}
}
Device (PX43)
{
Name (_ADR, 0x00040003)
OperationRegion (IPMU, PCI_Config, 0x40, 0x02)
Field (IPMU, ByteAcc, NoLock, Preserve)
{
PM00, 8,
PM01, 8
}
OperationRegion (ISMB, PCI_Config, 0x90, 0x02)
Field (ISMB, ByteAcc, NoLock, Preserve)
{
SB00, 8,
SB01, 8
}
}
Device (BX00)
{
Name (_ADR, 0x00)
}
Device (USB0)
{
Name (_ADR, 0x00040002)
Name (_PRW, Package (0x02)
{
0x08,
0x01
})
}
Name (_PRW, Package (0x02)
{
0x09,
0x01
})
}
}
Scope (\_GPE)
{
Method (_L08, 0, Serialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
}
Method (_L0A, 0, Serialized)
{
Notify (\_SB.PCI0.PX40.UAR1, 0x02)
Notify (\_SB.PCI0.PX40.UAR2, 0x02)
}
Method (_L09, 0, Serialized)
{
Notify (\_SB.PCI0, 0x02)
}
}
}
More information about the freebsd-current
mailing list