ACPI Panic on Current, AMD64
Timothy Mukaibo
tinkysama at mukaibo.com
Wed May 27 11:06:01 UTC 2009
Hello Eygene,
I know the patch won't fix anything :(
Here's the updated dmesg:
acpi0: <Nvidia NVDAACPI> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a000 (3) failed
acpi0: reservation of 100000, bfdf0000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
acip_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI Host PCI bus> on pcib0
pci_link26: Index IRQ Rtd Ref IRQs
MPASS 0 20 N 1 20 21 22 23
link type is 15
panic: Assertion link->l_prs_template.Type == ACPI_RESOURCE_TYPE_IRQ
failed at /usr/src/sys/dev/acpica/acpi_pci_link.c:746
cpuid = 0
KDB: enter: panic
[thread pid 0 tid 100000 ]
Stopped at kdb_enter+0x3d: movq $0,0x677da0(%rip)
Here's acpidump -dt from the machine running a recent 7.2-Stable. I
can't get this from 8.0-Current because of the crash (right?). I can
email this as an attachment if that would be easier.
Thanks,
Timothy.
/*
RSD PTR: OEM=Nvidia, ACPI_Rev=1.0x (0)
RSDT=0xbfef3010, cksum=152
*/
/*
RSDT: Length=56, Revision=1, Checksum=90,
OEMID=Nvidia, OEM Table ID=NVDAACPI, OEM Revision=0x42302e31,
Creator ID=NVDA, Creator Revision=0x0
Entries={ 0xbfef3060, 0xbfef9b10, 0xbfef9da0, 0xbfef9df0, 0xbfef9a90 }
*/
/*
FACP: Length=116, Revision=1, Checksum=190,
OEMID=Nvidia, OEM Table ID=NVDAACPI, OEM Revision=0x42302e31,
Creator ID=NVDA, Creator Revision=0x0
FACS=0xbfef0000, DSDT=0xbfef30e0
INT_MODEL=APIC
Preferred_PM_Profile=Unspecified (0)
SCI_INT=9
SMI_CMD=0x142e, ACPI_ENABLE=0xa1, ACPI_DISABLE=0xa0, S4BIOS_REQ=0x0
PSTATE_CNT=0x0
PM1a_EVT_BLK=0x1000-0x1003
PM1a_CNT_BLK=0x1004-0x1005
PM2_CNT_BLK=0x1480-0x1480
PM_TMR_BLK=0x1008-0x100b
GPE0_BLK=0x1020-0x1027
GPE1_BLK=0x14a0-0x14af, GPE1_BASE=32
P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=0
DAY_ALRM=125, MON_ALRM=126, CENTURY=50
IAPC_BOOT_ARCH=
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4,RESET_REG}
RESET_REG=0x00000000:0[0] (Memory), RESET_VALUE=0x44
*/
/*
FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
Global_Lock=
Flags=
Version=0
*/
/*
DSDT: Length=27040, Revision=1, Checksum=241,
OEMID=NVIDIA, OEM Table ID=AWRDACPI, OEM Revision=0x1000,
Creator ID=MSFT, Creator Revision=0x3000000
*/
/*
SSDT: Length=584, Revision=1, Checksum=49,
OEMID=PTLTD, OEM Table ID=POWERNOW, OEM Revision=0x1,
Creator ID= LTP, Creator Revision=0x1
*/
/*
WDRT: Length=71, Revision=1, Checksum=48,
OEMID=Nvidia, OEM Table ID=NVDAACPI, OEM Revision=0x42302e31,
Creator ID=NVDA, Creator Revision=0x0
*/
/*
MCFG: Length=60, Revision=1, Checksum=44,
OEMID=Nvidia, OEM Table ID=NVDAACPI, OEM Revision=0x42302e31,
Creator ID=NVDA, Creator Revision=0x0
Base Address= 0x00000000e0000000
Segment Group= 0x0000
Start Bus= 0
End Bus= 255
*/
/*
APIC: Length=124, Revision=1, Checksum=85,
OEMID=Nvidia, OEM Table ID=NVDAACPI, OEM Revision=0x42302e31,
Creator ID=NVDA, Creator Revision=0x0
Local APIC ADDR=0xfee00000
Flags={PC-AT}
Type=Local APIC
ACPI CPU=0
Flags={ENABLED}
APIC ID=0
Type=Local APIC
ACPI CPU=1
Flags={ENABLED}
APIC ID=1
Type=IO APIC
APIC ID=2
INT BASE=0
ADDR=0x00000000fec00000
Type=INT Override
BUS=0
IRQ=0
INTR=2
Flags={Polarity=conforming, Trigger=conforming}
Type=INT Override
BUS=0
IRQ=9
INTR=9
Flags={Polarity=active-hi, Trigger=level}
Type=INT Override
BUS=0
IRQ=14
INTR=14
Flags={Polarity=active-hi, Trigger=edge}
Type=INT Override
BUS=0
IRQ=15
INTR=15
Flags={Polarity=active-hi, Trigger=edge}
Type=Local NMI
ACPI CPU=0
LINT Pin=1
Flags={Polarity=active-hi, Trigger=edge}
Type=Local NMI
ACPI CPU=1
LINT Pin=1
Flags={Polarity=active-hi, Trigger=edge}
*/
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20070320
*
* Disassembly of /tmp/acpidump.tM8i3U, Wed May 27 18:57:19 2009
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x00006BC4 (27588)
* Revision 0x01
* OEM ID "NVIDIA"
* OEM Table ID "AWRDACPI"
* OEM Revision 0x00001000 (4096)
* Creator ID "MSFT"
* Creator Revision 0x03000000 (50331648)
*/
DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "NVIDIA", "AWRDACPI",
0x00001000)
{
Scope (\_PR)
{
Processor (\_PR.CPU0, 0x00, 0x00001010, 0x06) {}
Processor (\_PR.CPU1, 0x01, 0x00000000, 0x00) {}
}
Name (\_S0, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
Name (\_S1, Package (0x04)
{
0x01,
0x00,
0x00,
0x00
})
Name (\_S3, Package (0x04)
{
0x05,
0x00,
0x00,
0x00
})
Name (\_S4, Package (0x04)
{
0x06,
0x00,
0x00,
0x00
})
Name (\_S5, Package (0x04)
{
0x07,
0x00,
0x00,
0x00
})
OperationRegion (\DEBG, SystemIO, 0x80, 0x01)
Field (\DEBG, ByteAcc, NoLock, Preserve)
{
DBG1, 8
}
OperationRegion (KBC, SystemIO, 0x64, 0x01)
Field (KBC, ByteAcc, NoLock, Preserve)
{
KCMD, 8
}
OperationRegion (KBCD, SystemIO, 0x60, 0x01)
Field (KBCD, ByteAcc, NoLock, Preserve)
{
KDAT, 8
}
OperationRegion (EXTM, SystemMemory, 0x000FF830, 0x10)
Field (EXTM, WordAcc, NoLock, Preserve)
{
ROM1, 16,
RMS1, 16,
ROM2, 16,
RMS2, 16,
ROM3, 16,
RMS3, 16,
AMEM, 32
}
OperationRegion (\PM1S, SystemIO, 0x1000, 0x02)
Field (\PM1S, ByteAcc, NoLock, Preserve)
{
Offset (0x01),
PBTS, 1,
, 1,
RTCS, 1,
, 4,
WAKS, 1
}
OperationRegion (ELCR, SystemIO, 0x04D0, 0x02)
Field (ELCR, ByteAcc, NoLock, Preserve)
{
ELC1, 8,
ELC2, 8
}
OperationRegion (\STUS, SystemIO, 0x1400, 0x04)
Field (\STUS, ByteAcc, NoLock, Preserve)
{
G_ST, 32
}
OperationRegion (\GPS0, SystemIO, 0x1020, 0x04)
Field (\GPS0, ByteAcc, NoLock, Preserve)
{
GS00, 8,
GS01, 8,
GS02, 8,
GS03, 8
}
OperationRegion (\P20S, SystemIO, 0x1020, 0x04)
Field (\P20S, ByteAcc, NoLock, Preserve)
{
P_20, 32
}
OperationRegion (\SMIC, SystemIO, 0x142E, 0x01)
Field (\SMIC, ByteAcc, NoLock, Preserve)
{
SCP, 8
}
OperationRegion (\GP1, SystemIO, 0x14C0, 0x32)
Field (\GP1, ByteAcc, NoLock, Preserve)
{
GP00, 8,
GP01, 8,
GP02, 8,
GP03, 8,
GP04, 8,
GP05, 8,
GP06, 8,
GP07, 8,
GP08, 8,
GP09, 8,
GP10, 8,
GP11, 8,
GP12, 8,
GP13, 8,
GP14, 8,
GP15, 8,
GP16, 8,
GP17, 8,
GP18, 8,
GP19, 8,
GP20, 8,
GP21, 8,
GP22, 8,
Offset (0x18),
GP24, 8,
GP25, 8,
GP26, 8,
GP27, 8,
GP28, 8,
GP29, 8,
GP30, 8,
GP31, 8,
GP32, 8,
GP33, 8,
GP34, 8,
GP35, 8,
GP36, 8,
GP37, 8,
GP38, 8,
GP39, 8,
GP40, 8,
GP41, 8,
GP42, 8,
GP43, 8,
GP44, 8,
GP45, 8,
GP46, 8,
GP47, 8,
GP48, 8,
GP49, 8
}
Name (OSFX, 0x01)
Name (OSFL, 0x01)
Method (STRC, 2, NotSerialized)
{
If (LNotEqual (SizeOf (Arg0), SizeOf (Arg1)))
{
Return (0x00)
}
Add (SizeOf (Arg0), 0x01, Local0)
Name (BUF0, Buffer (Local0) {})
Name (BUF1, Buffer (Local0) {})
Store (Arg0, BUF0)
Store (Arg1, BUF1)
While (Local0)
{
Decrement (Local0)
If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf
(Index (
BUF1, Local0))))
{
Return (Zero)
}
}
Return (One)
}
OperationRegion (RTCM, SystemIO, 0x70, 0x02)
Field (RTCM, ByteAcc, NoLock, Preserve)
{
CMIN, 8,
CMDA, 8
}
IndexField (CMIN, CMDA, ByteAcc, NoLock, Preserve)
{
Offset (0x0F),
SHUT, 8
}
OperationRegion (INFO, SystemMemory, 0x000FF840, 0x01)
Field (INFO, ByteAcc, NoLock, Preserve)
{
KBDI, 1,
RTCW, 1,
PS2F, 1,
IRFL, 2,
DISE, 1,
SSHU, 1
}
OperationRegion (BEEP, SystemIO, 0x61, 0x01)
Field (BEEP, ByteAcc, NoLock, Preserve)
{
S1B, 8
}
OperationRegion (CONT, SystemIO, 0x40, 0x04)
Field (CONT, ByteAcc, NoLock, Preserve)
{
CNT0, 8,
CNT1, 8,
CNT2, 8,
CTRL, 8
}
Method (SPKR, 1, NotSerialized)
{
Store (S1B, Local0)
Store (0xB6, CTRL)
Store (0x55, CNT2)
Store (0x03, CNT2)
Store (Arg0, Local2)
While (LGreater (Local2, 0x00))
{
Or (S1B, 0x03, S1B)
Store (0x5FFF, Local3)
While (LGreater (Local3, 0x00))
{
Decrement (Local3)
}
And (S1B, 0xFC, S1B)
Store (0x0EFF, Local3)
While (LGreater (Local3, 0x00))
{
Decrement (Local3)
}
Decrement (Local2)
}
Store (Local0, S1B)
}
Scope (\)
{
Name (PICF, 0x00)
Method (_PIC, 1, NotSerialized)
{
Store (Arg0, PICF)
}
}
Name (SID4, 0x00)
Name (SLG0, 0x00)
Name (SLG1, 0x00)
Name (SLG2, 0x00)
Name (SLG3, 0x00)
Name (SLG4, 0x00)
Name (SLG5, 0x00)
Name (SLG6, 0x00)
Name (SLG7, 0x00)
Name (SLG8, 0x00)
Name (SLG9, 0x00)
Name (SLGA, 0x00)
Name (SID5, 0x00)
Name (SSM0, 0x00)
Name (SSM1, 0x00)
Name (SSM2, 0x00)
Name (SSM3, 0x00)
Name (SSM4, 0x00)
Name (SUA0, 0x00)
Name (SUB0, 0x00)
Name (SX, 0x00)
Name (SFLG, 0x00)
Name (SID0, 0x00)
Name (SID1, 0x00)
Name (SID2, 0x00)
Name (SID3, 0x00)
Method (\_PTS, 1, NotSerialized)
{
Store (Arg0, Local0)
Store (Local0, SX)
Or (Arg0, 0xF0, Local0)
Store (Local0, DBG1)
OSTP ()
Store (\_SB.PCI0.IDE0.ID20, SID0)
Store (\_SB.PCI0.IDE0.IDTS, SID1)
Store (\_SB.PCI0.IDE0.IDTP, SID2)
Store (\_SB.PCI0.IDE0.ID22, SID3)
Store (\_SB.PCI0.IDE0.UMSS, SID4)
Store (\_SB.PCI0.IDE0.UMSP, SID5)
If (LEqual (Arg0, 0x01)) {}
If (LEqual (Arg0, 0x03)) {}
If (LEqual (Arg0, 0x04)) {}
If (LEqual (Arg0, 0x05))
{
If (LNotEqual (OSFL, 0x00))
{
Sleep (0x01F4)
}
}
}
Method (\_WAK, 1, NotSerialized)
{
Store (0xFF, DBG1)
Store (0x00, SFLG)
If (LEqual (RTCW, 0x00))
{
Notify (\_SB.PWRB, 0x02)
}
Notify (\_SB.PCI0.USB0, 0x00)
If (LGreaterEqual (OSFL, 0x01))
{
Store (0x00, \_SB.PCI0.SMB0.SMPM)
}
}
Scope (\_SI)
{
Method (_MSG, 1, NotSerialized)
{
Store ("==== MSG Working ====", Debug)
}
Method (_SST, 1, NotSerialized)
{
Store ("==== SST Working ====", Debug)
}
}
Scope (\_GPE)
{
Method (_L11, 0, NotSerialized)
{
Store (0x02, GS02)
If (LNotEqual (PEVA, 0xFFFF))
{
If (PESA)
{
While (PESA)
{
Store (0x01, PESA)
}
Notify (\_SB.PCI0.MXR0, 0x02)
}
}
If (LNotEqual (PEVB, 0xFFFF))
{
If (PESB)
{
While (PESB)
{
Store (0x01, PESB)
}
Notify (\_SB.PCI0.MXR1, 0x02)
}
}
If (LNotEqual (PEVC, 0xFFFF))
{
If (PESC)
{
While (PESC)
{
Store (0x01, PESC)
}
Notify (\_SB.PCI0.MXR2, 0x02)
}
}
If (LNotEqual (PEVD, 0xFFFF))
{
If (PESD)
{
While (PESD)
{
Store (0x01, PESD)
}
Notify (\_SB.PCI0.MXR3, 0x02)
}
}
If (LNotEqual (PEVE, 0xFFFF))
{
If (PESE)
{
While (PESE)
{
Store (0x01, PESE)
}
Notify (\_SB.PCI0.MXR4, 0x02)
}
}
If (LNotEqual (PEVF, 0xFFFF))
{
If (PESF)
{
While (PESF)
{
Store (0x01, PESF)
}
Notify (\_SB.PCI0.MXR5, 0x02)
}
}
}
Method (_L00, 0, NotSerialized)
{
Notify (\_SB.PCI0.HUB0, 0x02)
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.UAR1, 0x02)
}
Method (_L0A, 0, NotSerialized)
{
Notify (\_SB.PCI0.MAC1, 0x02)
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.MMAC, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
}
Method (_L10, 0, NotSerialized)
{
\_SB.PCI0.PS2W ()
}
Method (_L15, 0, NotSerialized)
{
Notify (\_SB.PCI0.AZA, 0x02)
}
}
Scope (\_SB)
{
Device (MBIO)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x05)
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x1000, // Range Minimum
0x1000, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1080, // Range Minimum
0x1080, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1400, // Range Minimum
0x1400, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1480, // Range Minimum
0x1480, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1800, // Range Minimum
0x1800, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1880, // Range Minimum
0x1880, // Range Maximum
0x01, // Alignment
0x80, // Length
)
})
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Method (_STA, 0, NotSerialized)
{
Return (0x0B)
}
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A08"))
Name (_CID, 0x030AD041)
Name (_ADR, 0x00)
Name (_UID, 0x01)
Name (_BBN, 0x00)
Name (PCIA, 0x00)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x02))
{
Store (Arg1, PCIA)
}
}
Name (NATA, Package (0x01)
{
0x000C0000
})
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Name (SUPP, 0x00)
Name (CTRL, 0x00)
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, CDW1)
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x5B, 0x4D, 0xDB, 0x33,
0xF7, 0x1F, 0x1C, 0x40,
/* 0008 */ 0x96, 0x57, 0x74, 0x41,
0xC0, 0x3D, 0xD7, 0x66
}))
{
Return (Arg3)
}
Else
{
Or (CDW1, 0x04, CDW1)
Return (Arg3)
}
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
OperationRegion (LDT3, PCI_Config, 0x6C, 0x04)
Field (LDT3, DWordAcc, NoLock, Preserve)
{
UCFG, 32
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinNotFixed,
MaxNotFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x0000, // Range Maximum
0x0000, // Translation Offset
0x0000, // Length
,, _Y00)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed,
PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x03AF, // Range Maximum
0x0000, // Translation Offset
0x03B0, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed,
PosDecode, EntireRange,
0x0000, // Granularity
0x03E0, // Range Minimum
0x0CF7, // Range Maximum
0x0000, // Translation Offset
0x0918, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed,
PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0000, // Range Maximum
0x0000, // Translation Offset
0x0000, // Length
,, _Y01, TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed,
PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0000, // Range Maximum
0x0000, // Translation Offset
0x0000, // Length
,, _Y02, TypeStatic)
QWordMemory (ResourceProducer, PosDecode,
MinFixed, MaxFixed, Cacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y03, AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode,
MinFixed, MaxFixed, Cacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y04, AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode,
MinFixed, MaxFixed, Cacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y05, AddressRangeMemory, TypeStatic)
})
CreateWordField (BUF0, \_SB.PCI0._CRS._Y00._MIN, B1MN)
CreateWordField (BUF0, \_SB.PCI0._CRS._Y00._MAX, B1MX)
CreateWordField (BUF0, \_SB.PCI0._CRS._Y00._LEN, B1LN)
And (\_SB.PCI0.K801.L0EN, 0x03, Local0)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.DL00, 0x03, Local0)
If (LEqual (Local0, 0x00))
{
Store (\_SB.PCI0.K801.BNB0, B1MN)
Store (\_SB.PCI0.K801.BNL0, B1MX)
Subtract (B1MX, B1MN, Local1)
Add (0x01, Local1, B1LN)
}
}
And (\_SB.PCI0.K801.L1EN, 0x03, Local0)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.DL01, 0x03, Local0)
If (LEqual (Local0, 0x00))
{
Store (\_SB.PCI0.K801.BNB1, B1MN)
Store (\_SB.PCI0.K801.BNL1, B1MX)
Subtract (B1MX, B1MN, Local1)
Add (0x01, Local1, B1LN)
}
}
And (\_SB.PCI0.K801.L2EN, 0x03, Local0)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.DL02, 0x03, Local0)
If (LEqual (Local0, 0x00))
{
Store (\_SB.PCI0.K801.BNB2, B1MN)
Store (\_SB.PCI0.K801.BNL2, B1MX)
Subtract (B1MX, B1MN, Local1)
Add (0x01, Local1, B1LN)
}
}
And (\_SB.PCI0.K801.L3EN, 0x03, Local0)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.DL03, 0x03, Local0)
If (LEqual (Local0, 0x00))
{
Store (\_SB.PCI0.K801.BNB3, B1MN)
Store (\_SB.PCI0.K801.BNL3, B1MX)
Subtract (B1MX, B1MN, Local1)
Add (0x01, Local1, B1LN)
}
}
CreateWordField (BUF0, \_SB.PCI0._CRS._Y01._MIN, IOMN)
CreateWordField (BUF0, \_SB.PCI0._CRS._Y01._MAX, IOMX)
CreateWordField (BUF0, \_SB.PCI0._CRS._Y01._LEN, IOLN)
CreateWordField (BUF0, \_SB.PCI0._CRS._Y02._MIN, VIMN)
CreateWordField (BUF0, \_SB.PCI0._CRS._Y02._MAX, VIMX)
CreateWordField (BUF0, \_SB.PCI0._CRS._Y02._LEN, VILN)
And (\_SB.PCI0.K801.IB00, 0x03, Local0)
And (\_SB.PCI0.K801.IL00, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
If (LEqual (Local1, 0x00))
{
And (\_SB.PCI0.K801.IB00, 0x10, Local1)
ShiftLeft (\_SB.PCI0.K801.IBV0, 0x0C, IOMN)
ShiftLeft (\_SB.PCI0.K801.ILV0, 0x0C, IOMX)
Or (IOMX, 0x0FFF, IOMX)
Subtract (IOMX, IOMN, IOLN)
Increment (IOLN)
If (LEqual (Local1, 0x10))
{
Store (0x03B0, VIMN)
Store (0x03DF, VIMX)
Store (0x30, VILN)
}
}
}
And (\_SB.PCI0.K801.IB01, 0x03, Local0)
And (\_SB.PCI0.K801.IL01, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
If (LEqual (Local1, 0x00))
{
And (\_SB.PCI0.K801.IB01, 0x10, Local1)
ShiftLeft (\_SB.PCI0.K801.IBV1, 0x0C, IOMN)
ShiftLeft (\_SB.PCI0.K801.ILV1, 0x0C, IOMX)
Or (IOMX, 0x0FFF, IOMX)
Subtract (IOMX, IOMN, IOLN)
Increment (IOLN)
If (LEqual (Local1, 0x10))
{
Store (0x03B0, VIMN)
Store (0x03DF, VIMX)
Store (0x30, VILN)
}
}
}
And (\_SB.PCI0.K801.IB02, 0x03, Local0)
And (\_SB.PCI0.K801.IL02, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
If (LEqual (Local1, 0x00))
{
And (\_SB.PCI0.K801.IB02, 0x10, Local1)
ShiftLeft (\_SB.PCI0.K801.IBV2, 0x0C, IOMN)
ShiftLeft (\_SB.PCI0.K801.ILV2, 0x0C, IOMX)
Or (IOMX, 0x0FFF, IOMX)
Subtract (IOMX, IOMN, IOLN)
Increment (IOLN)
If (LEqual (Local1, 0x10))
{
Store (0x03B0, VIMN)
Store (0x03DF, VIMX)
Store (0x30, VILN)
}
}
}
And (\_SB.PCI0.K801.IB03, 0x03, Local0)
And (\_SB.PCI0.K801.IL03, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
If (LEqual (Local1, 0x00))
{
And (\_SB.PCI0.K801.IB03, 0x10, Local1)
ShiftLeft (\_SB.PCI0.K801.IBV3, 0x0C, IOMN)
ShiftLeft (\_SB.PCI0.K801.ILV3, 0x0C, IOMX)
Or (IOMX, 0x0FFF, IOMX)
Subtract (IOMX, IOMN, IOLN)
Increment (IOLN)
If (LEqual (Local1, 0x10))
{
Store (0x03B0, VIMN)
Store (0x03DF, VIMX)
Store (0x30, VILN)
}
}
}
CreateDWordField (BUF0, \_SB.PCI0._CRS._Y03._MIN, M0MN)
CreateDWordField (BUF0, \_SB.PCI0._CRS._Y03._MAX, M0MX)
CreateDWordField (BUF0, \_SB.PCI0._CRS._Y03._LEN, M0LN)
CreateDWordField (BUF0, \_SB.PCI0._CRS._Y04._MIN, M1MN)
CreateDWordField (BUF0, \_SB.PCI0._CRS._Y04._MAX, M1MX)
CreateDWordField (BUF0, \_SB.PCI0._CRS._Y04._LEN, M1LN)
CreateDWordField (BUF0, \_SB.PCI0._CRS._Y05._MIN, M2MN)
CreateDWordField (BUF0, \_SB.PCI0._CRS._Y05._MAX, M2MX)
CreateDWordField (BUF0, \_SB.PCI0._CRS._Y05._LEN, M2LN)
And (\_SB.PCI0.K801.MB00, 0x03, Local0)
And (\_SB.PCI0.K801.ML00, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.ML00, 0x80, Local0)
If (LEqual (Local0, 0x00))
{
If (LEqual (Local1, 0x00))
{
If (LEqual (M0LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV0, 0x10,
M0MN)
ShiftLeft (\_SB.PCI0.K801.MLV0, 0x10,
M0MX)
Or (M0MX, 0xFFFF, M0MX)
Subtract (M0MX, M0MN, M0LN)
Increment (M0LN)
}
Else
{
If (LEqual (M1LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV0,
0x10, M1MN)
ShiftLeft (\_SB.PCI0.K801.MLV0,
0x10, M1MX)
Or (M1MX, 0xFFFF, M1MX)
Subtract (M1MX, M1MN, M1LN)
Increment (M1LN)
}
Else
{
ShiftLeft (\_SB.PCI0.K801.MBV0,
0x10, M2MN)
ShiftLeft (\_SB.PCI0.K801.MLV0,
0x10, M2MX)
Or (M2MX, 0xFFFF, M2MX)
Subtract (M2MX, M2MN, M2LN)
Increment (M2LN)
}
}
}
}
}
And (\_SB.PCI0.K801.MB01, 0x03, Local0)
And (\_SB.PCI0.K801.ML01, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.ML01, 0x80, Local0)
If (LEqual (Local0, 0x00))
{
If (LEqual (Local1, 0x00))
{
If (LEqual (M0LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV1, 0x10,
M0MN)
ShiftLeft (\_SB.PCI0.K801.MLV1, 0x10,
M0MX)
Or (M0MX, 0xFFFF, M0MX)
Subtract (M0MX, M0MN, M0LN)
Increment (M0LN)
}
Else
{
If (LEqual (M1LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV1,
0x10, M1MN)
ShiftLeft (\_SB.PCI0.K801.MLV1,
0x10, M1MX)
Or (M1MX, 0xFFFF, M1MX)
Subtract (M1MX, M1MN, M1LN)
Increment (M1LN)
}
Else
{
ShiftLeft (\_SB.PCI0.K801.MBV1,
0x10, M2MN)
ShiftLeft (\_SB.PCI0.K801.MLV1,
0x10, M2MX)
Or (M2MX, 0xFFFF, M2MX)
Subtract (M2MX, M2MN, M2LN)
Increment (M2LN)
}
}
}
}
}
And (\_SB.PCI0.K801.MB02, 0x03, Local0)
And (\_SB.PCI0.K801.ML02, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.ML02, 0x80, Local0)
If (LEqual (Local0, 0x00))
{
If (LEqual (Local1, 0x00))
{
If (LEqual (M0LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV2, 0x10,
M0MN)
ShiftLeft (\_SB.PCI0.K801.MLV2, 0x10,
M0MX)
Or (M0MX, 0xFFFF, M0MX)
Subtract (M0MX, M0MN, M0LN)
Increment (M0LN)
}
Else
{
If (LEqual (M1LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV2,
0x10, M1MN)
ShiftLeft (\_SB.PCI0.K801.MLV2,
0x10, M1MX)
Or (M1MX, 0xFFFF, M1MX)
Subtract (M1MX, M1MN, M1LN)
Increment (M1LN)
}
Else
{
ShiftLeft (\_SB.PCI0.K801.MBV2,
0x10, M2MN)
ShiftLeft (\_SB.PCI0.K801.MLV2,
0x10, M2MX)
Or (M2MX, 0xFFFF, M2MX)
Subtract (M2MX, M2MN, M2LN)
Increment (M2LN)
}
}
}
}
}
And (\_SB.PCI0.K801.MB03, 0x03, Local0)
And (\_SB.PCI0.K801.ML03, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.ML03, 0x80, Local0)
If (LEqual (Local0, 0x00))
{
If (LEqual (Local1, 0x00))
{
If (LEqual (M0LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV3, 0x10,
M0MN)
ShiftLeft (\_SB.PCI0.K801.MLV3, 0x10,
M0MX)
Or (M0MX, 0xFFFF, M0MX)
Subtract (M0MX, M0MN, M0LN)
Increment (M0LN)
}
Else
{
If (LEqual (M1LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV3,
0x10, M1MN)
ShiftLeft (\_SB.PCI0.K801.MLV3,
0x10, M1MX)
Or (M1MX, 0xFFFF, M1MX)
Subtract (M1MX, M1MN, M1LN)
Increment (M1LN)
}
Else
{
ShiftLeft (\_SB.PCI0.K801.MBV3,
0x10, M2MN)
ShiftLeft (\_SB.PCI0.K801.MLV3,
0x10, M2MX)
Or (M2MX, 0xFFFF, M2MX)
Subtract (M2MX, M2MN, M2LN)
Increment (M2LN)
}
}
}
}
}
And (\_SB.PCI0.K801.MB04, 0x03, Local0)
And (\_SB.PCI0.K801.ML04, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.ML04, 0x80, Local0)
If (LEqual (Local0, 0x00))
{
If (LEqual (Local1, 0x00))
{
If (LEqual (M0LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV4, 0x10,
M0MN)
ShiftLeft (\_SB.PCI0.K801.MLV4, 0x10,
M0MX)
Or (M0MX, 0xFFFF, M0MX)
Subtract (M0MX, M0MN, M0LN)
Increment (M0LN)
}
Else
{
If (LEqual (M1LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV4,
0x10, M1MN)
ShiftLeft (\_SB.PCI0.K801.MLV4,
0x10, M1MX)
Or (M1MX, 0xFFFF, M1MX)
Subtract (M1MX, M1MN, M1LN)
Increment (M1LN)
}
Else
{
ShiftLeft (\_SB.PCI0.K801.MBV4,
0x10, M2MN)
ShiftLeft (\_SB.PCI0.K801.MLV4,
0x10, M2MX)
Or (M2MX, 0xFFFF, M2MX)
Subtract (M2MX, M2MN, M2LN)
Increment (M2LN)
}
}
}
}
}
And (\_SB.PCI0.K801.MB05, 0x03, Local0)
And (\_SB.PCI0.K801.ML05, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.ML05, 0x80, Local0)
If (LEqual (Local0, 0x00))
{
If (LEqual (Local1, 0x00))
{
If (LEqual (M0LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV5, 0x10,
M0MN)
ShiftLeft (\_SB.PCI0.K801.MLV5, 0x10,
M0MX)
Or (M0MX, 0xFFFF, M0MX)
Subtract (M0MX, M0MN, M0LN)
Increment (M0LN)
}
Else
{
If (LEqual (M1LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV5,
0x10, M1MN)
ShiftLeft (\_SB.PCI0.K801.MLV5,
0x10, M1MX)
Or (M1MX, 0xFFFF, M1MX)
Subtract (M1MX, M1MN, M1LN)
Increment (M1LN)
}
Else
{
ShiftLeft (\_SB.PCI0.K801.MBV5,
0x10, M2MN)
ShiftLeft (\_SB.PCI0.K801.MLV5,
0x10, M2MX)
Or (M2MX, 0xFFFF, M2MX)
Subtract (M2MX, M2MN, M2LN)
Increment (M2LN)
}
}
}
}
}
And (\_SB.PCI0.K801.MB06, 0x03, Local0)
And (\_SB.PCI0.K801.ML06, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.ML06, 0x80, Local0)
If (LEqual (Local0, 0x00))
{
If (LEqual (Local1, 0x00))
{
If (LEqual (M0LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV6, 0x10,
M0MN)
ShiftLeft (\_SB.PCI0.K801.MLV6, 0x10,
M0MX)
Or (M0MX, 0xFFFF, M0MX)
Subtract (M0MX, M0MN, M0LN)
Increment (M0LN)
}
Else
{
If (LEqual (M1LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV6,
0x10, M1MN)
ShiftLeft (\_SB.PCI0.K801.MLV6,
0x10, M1MX)
Or (M1MX, 0xFFFF, M1MX)
Subtract (M1MX, M1MN, M1LN)
Increment (M1LN)
}
Else
{
ShiftLeft (\_SB.PCI0.K801.MBV6,
0x10, M2MN)
ShiftLeft (\_SB.PCI0.K801.MLV6,
0x10, M2MX)
Or (M2MX, 0xFFFF, M2MX)
Subtract (M2MX, M2MN, M2LN)
Increment (M2LN)
}
}
}
}
}
And (\_SB.PCI0.K801.MB07, 0x03, Local0)
And (\_SB.PCI0.K801.ML07, 0x30, Local1)
ShiftRight (Local1, 0x04, Local1)
If (LEqual (Local0, 0x03))
{
And (\_SB.PCI0.K801.ML07, 0x80, Local0)
If (LEqual (Local0, 0x00))
{
If (LEqual (Local1, 0x00))
{
If (LEqual (M0LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV7, 0x10,
M0MN)
ShiftLeft (\_SB.PCI0.K801.MLV7, 0x10,
M0MX)
Or (M0MX, 0xFFFF, M0MX)
Subtract (M0MX, M0MN, M0LN)
Increment (M0LN)
}
Else
{
If (LEqual (M1LN, 0x00))
{
ShiftLeft (\_SB.PCI0.K801.MBV7,
0x10, M1MN)
ShiftLeft (\_SB.PCI0.K801.MLV7,
0x10, M1MX)
Or (M1MX, 0xFFFF, M1MX)
Subtract (M1MX, M1MN, M1LN)
Increment (M1LN)
}
Else
{
ShiftLeft (\_SB.PCI0.K801.MBV7,
0x10, M2MN)
ShiftLeft (\_SB.PCI0.K801.MLV7,
0x10, M2MX)
Or (M2MX, 0xFFFF, M2MX)
Subtract (M2MX, M2MN, M2LN)
Increment (M2LN)
}
}
}
}
}
Return (BUF0)
}
Name (PICM, Package (0x2E)
{
Package (0x04)
{
0x0004FFFF,
0x00,
\_SB.PCI0.LXV5,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
\_SB.PCI0.LXV6,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x02,
\_SB.PCI0.LXV7,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x03,
\_SB.PCI0.LXV8,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
\_SB.PCI0.LXV5,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
\_SB.PCI0.LXV6,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x02,
\_SB.PCI0.LXV7,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x03,
\_SB.PCI0.LXV8,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LXV6,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
\_SB.PCI0.LXV7,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x02,
\_SB.PCI0.LXV8,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x03,
\_SB.PCI0.LXV5,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x01,
\_SB.PCI0.LSMB,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x00,
\_SB.PCI0.LUBA,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x01,
\_SB.PCI0.LUB2,
0x00
},
Package (0x04)
{
0x0010FFFF,
0x00,
\_SB.PCI0.LMAC,
0x00
},
Package (0x04)
{
0x0011FFFF,
0x00,
\_SB.PCI0.LMC1,
0x00
},
Package (0x04)
{
0x000EFFFF,
0x01,
\_SB.PCI0.LAZA,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x00,
\_SB.PCI0.LIDE,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x00,
\_SB.PCI0.LSA0,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x01,
\_SB.PCI0.LSA1,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x02,
\_SB.PCI0.LSA2,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x00,
\_SB.PCI0.LXV6,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x00,
\_SB.PCI0.LXV7,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x00,
\_SB.PCI0.LXV8,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x00,
\_SB.PCI0.LXV5,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x00,
\_SB.PCI0.LXV7,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x00,
\_SB.PCI0.LXV8,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x00,
\_SB.PCI0.LXV5,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x00,
\_SB.PCI0.LXV6,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x00,
\_SB.PCI0.LXV8,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x00,
\_SB.PCI0.LXV5,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x00,
\_SB.PCI0.LXV6,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x00,
\_SB.PCI0.LXV7,
0x00
},
Package (0x04)
{
0x0014FFFF,
0x00,
\_SB.PCI0.LXV5,
0x00
},
Package (0x04)
{
0x0014FFFF,
0x00,
\_SB.PCI0.LXV6,
0x00
},
Package (0x04)
{
0x0014FFFF,
0x00,
\_SB.PCI0.LXV7,
0x00
},
Package (0x04)
{
0x0014FFFF,
0x00,
\_SB.PCI0.LXV8,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x00,
\_SB.PCI0.LXV6,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x00,
\_SB.PCI0.LXV7,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x00,
\_SB.PCI0.LXV8,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x00,
\_SB.PCI0.LXV5,
0x00
},
Package (0x04)
{
0x0012FFFF,
0x00,
\_SB.PCI0.LXV7,
0x00
},
Package (0x04)
{
0x0012FFFF,
0x00,
\_SB.PCI0.LXV8,
0x00
},
Package (0x04)
{
0x0012FFFF,
0x00,
\_SB.PCI0.LXV5,
0x00
},
Package (0x04)
{
0x0012FFFF,
0x00,
\_SB.PCI0.LXV6,
0x00
}
})
Name (APIC, Package (0x2F)
{
Package (0x04)
{
0x0004FFFF,
0x00,
\_SB.PCI0.AXV5,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
\_SB.PCI0.AXV6,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x02,
\_SB.PCI0.AXV7,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x03,
\_SB.PCI0.AXV8,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
\_SB.PCI0.AXV5,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
\_SB.PCI0.AXV6,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x02,
\_SB.PCI0.AXV7,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x03,
\_SB.PCI0.AXV8,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.AXV6,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
\_SB.PCI0.AXV7,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x02,
\_SB.PCI0.AXV8,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x03,
\_SB.PCI0.AXV5,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x00,
\_SB.PCI0.ASMB,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x01,
\_SB.PCI0.ASMB,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x00,
\_SB.PCI0.AUBA,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x01,
\_SB.PCI0.AUS2,
0x00
},
Package (0x04)
{
0x0010FFFF,
0x00,
\_SB.PCI0.AMAC,
0x00
},
Package (0x04)
{
0x0011FFFF,
0x00,
\_SB.PCI0.AMA1,
0x00
},
Package (0x04)
{
0x000EFFFF,
0x01,
\_SB.PCI0.AAZA,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x00,
\_SB.PCI0.AIDE,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x00,
\_SB.PCI0.ASA0,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x01,
\_SB.PCI0.ASA1,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x02,
\_SB.PCI0.ASA2,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x00,
\_SB.PCI0.AXV6,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x01,
\_SB.PCI0.AXV7,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x02,
\_SB.PCI0.AXV8,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x03,
\_SB.PCI0.AXV5,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x00,
\_SB.PCI0.AXV7,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x01,
\_SB.PCI0.AXV8,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x02,
\_SB.PCI0.AXV5,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x03,
\_SB.PCI0.AXV6,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x00,
\_SB.PCI0.AXV8,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x01,
\_SB.PCI0.AXV5,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x02,
\_SB.PCI0.AXV6,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x03,
\_SB.PCI0.AXV7,
0x00
},
Package (0x04)
{
0x0014FFFF,
0x00,
\_SB.PCI0.AXV5,
0x00
},
Package (0x04)
{
0x0014FFFF,
0x01,
\_SB.PCI0.AXV6,
0x00
},
Package (0x04)
{
0x0014FFFF,
0x02,
\_SB.PCI0.AXV7,
0x00
},
Package (0x04)
{
0x0014FFFF,
0x03,
\_SB.PCI0.AXV8,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x00,
\_SB.PCI0.AXV6,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x01,
\_SB.PCI0.AXV7,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x02,
\_SB.PCI0.AXV8,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x03,
\_SB.PCI0.AXV5,
0x00
},
Package (0x04)
{
0x0012FFFF,
0x00,
\_SB.PCI0.AXV7,
0x00
},
Package (0x04)
{
0x0012FFFF,
0x01,
\_SB.PCI0.AXV8,
0x00
},
Package (0x04)
{
0x0012FFFF,
0x02,
\_SB.PCI0.AXV5,
0x00
},
Package (0x04)
{
0x0012FFFF,
0x03,
\_SB.PCI0.AXV6,
0x00
}
})
Method (_PRT, 0, NotSerialized)
{
If (LNot (PICF))
{
Return (PICM)
}
Else
{
Return (APIC)
}
}
Device (HUB0)
{
Name (_ADR, 0x000E0000)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (PICM, Package (0x14)
{
Package (0x04)
{
0x000AFFFF,
0x00,
\_SB.PCI0.LNK3,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x01,
\_SB.PCI0.LNK4,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x02,
\_SB.PCI0.LNK1,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x03,
\_SB.PCI0.LNK2,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x00,
\_SB.PCI0.LNK2,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x01,
\_SB.PCI0.LNK3,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x02,
\_SB.PCI0.LNK4,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x03,
\_SB.PCI0.LNK1,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
\_SB.PCI0.LNK1,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x01,
\_SB.PCI0.LNK2,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x02,
\_SB.PCI0.LNK3,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x03,
\_SB.PCI0.LNK4,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x00,
\_SB.PCI0.LNK2,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x01,
\_SB.PCI0.LNK3,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x02,
\_SB.PCI0.LNK4,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x03,
\_SB.PCI0.LNK1,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
\_SB.PCI0.LNK3,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x01,
\_SB.PCI0.LNK4,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x02,
\_SB.PCI0.LNK1,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x03,
\_SB.PCI0.LNK2,
0x00
}
})
Name (APIC, Package (0x14)
{
Package (0x04)
{
0x000AFFFF,
0x00,
\_SB.PCI0.APC3,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x01,
\_SB.PCI0.APC4,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x02,
\_SB.PCI0.APC1,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x03,
\_SB.PCI0.APC2,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x00,
\_SB.PCI0.APC2,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x01,
\_SB.PCI0.APC3,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x02,
\_SB.PCI0.APC4,
0x00
},
Package (0x04)
{
0x0009FFFF,
0x03,
\_SB.PCI0.APC1,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
\_SB.PCI0.APC1,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x01,
\_SB.PCI0.APC2,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x02,
\_SB.PCI0.APC3,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x03,
\_SB.PCI0.APC4,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x00,
\_SB.PCI0.APC2,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x01,
\_SB.PCI0.APC3,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x02,
\_SB.PCI0.APC4,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x03,
\_SB.PCI0.APC1,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
\_SB.PCI0.APC3,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x01,
\_SB.PCI0.APC4,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x02,
\_SB.PCI0.APC1,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x03,
\_SB.PCI0.APC2,
0x00
}
})
Method (_PRT, 0, NotSerialized)
{
If (LNot (PICF))
{
Return (PICM)
}
Else
{
Return (APIC)
}
}
Name (_PRW, Package (0x02)
{
0x00,
0x05
})
}
Device (SAT0)
{
Name (_ADR, 0x000D0000)
Device (PRI0)
{
Name (_ADR, 0x00)
Name (SPTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SPTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SPTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00,
0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Device (SEC0)
{
Name (_ADR, 0x01)
Name (SSTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SSTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SSTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00,
0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Method (DRMP, 0, NotSerialized)
{
Return (\_SB.PCI0.NVRB.R_S0)
}
}
Device (SAT1)
{
Name (_ADR, 0x000D0001)
Device (PRI0)
{
Name (_ADR, 0x00)
Name (SPTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SPTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SPTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00,
0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Device (SEC0)
{
Name (_ADR, 0x01)
Name (SSTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SSTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SSTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00,
0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Method (DRMP, 0, NotSerialized)
{
Return (\_SB.PCI0.NVRB.R_S1)
}
}
Device (SAT2)
{
Name (_ADR, 0x000D0002)
Device (PRI0)
{
Name (_ADR, 0x00)
Name (SPTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SPTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SPTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00,
0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Device (SEC0)
{
Name (_ADR, 0x01)
Name (SSTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SSTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SSTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00,
0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Method (DRMP, 0, NotSerialized)
{
Return (\_SB.PCI0.NVRB.R_S2)
}
}
Device (IDE0)
{
Name (_ADR, 0x000C0000)
OperationRegion (A090, PCI_Config, 0x50, 0x18)
Field (A090, DWordAcc, NoLock, Preserve)
{
ID20, 16,
Offset (0x08),
IDTS, 16,
IDTP, 16,
ID22, 32,
UMSS, 16,
UMSP, 16
}
Name (IDEP, Buffer (0x14) {})
Name (IDES, Buffer (0x14) {})
Method (GTM, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Store (IDTP, Local0)
Store (UMSP, Local1)
Store (IDEP, Local2)
}
Else
{
Store (IDTS, Local0)
Store (UMSS, Local1)
Store (IDES, Local2)
}
CreateDWordField (Local2, 0x00, PIO0)
CreateDWordField (Local2, 0x04, DMA0)
CreateDWordField (Local2, 0x08, PIO1)
CreateDWordField (Local2, 0x0C, DMA1)
CreateDWordField (Local2, 0x10, FLAG)
Store (0x10, FLAG)
And (Local0, 0x0F00, Local3)
And (Local0, 0xF000, Local4)
ShiftRight (Local3, 0x08, Local3)
ShiftRight (Local4, 0x0C, Local4)
Add (Local3, Local4, Local3)
Multiply (Add (Local3, 0x02), 0x1E, PIO0)
If (LLessEqual (PIO0, 0xB4))
{
Or (FLAG, 0x02, FLAG)
}
If (And (Local1, 0x4000))
{
Or (FLAG, 0x01, FLAG)
And (Local1, 0x0700, Local3)
ShiftRight (Local3, 0x08, Local3)
Store (U2T (Local3), DMA0)
}
Else
{
Store (PIO0, DMA0)
}
And (Local0, 0x0F, Local3)
And (Local0, 0xF0, Local4)
ShiftRight (Local4, 0x04, Local4)
Add (Local3, Local4, Local3)
Multiply (Add (Local3, 0x02), 0x1E, PIO1)
If (LLessEqual (PIO1, 0xB4))
{
Or (FLAG, 0x08, FLAG)
}
If (And (Local1, 0x40))
{
Or (FLAG, 0x04, FLAG)
And (Local1, 0x07, Local3)
Store (U2T (Local3), DMA1)
}
Else
{
Store (PIO1, DMA1)
}
If (LEqual (Arg0, 0x00))
{
Store (Local2, IDEP)
Return (IDEP)
}
Else
{
Store (Local2, IDES)
Return (IDES)
}
}
Method (U2T, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Return (0x3C)
}
If (LEqual (Arg0, 0x01))
{
Return (0x5A)
}
If (LEqual (Arg0, 0x02))
{
Return (0x78)
}
If (LEqual (Arg0, 0x03))
{
Return (0x96)
}
If (LEqual (Arg0, 0x04))
{
Return (0x2D)
}
If (LEqual (Arg0, 0x05))
{
Return (0x1E)
}
If (LEqual (Arg0, 0x06))
{
Return (0x14)
}
Return (0x0F)
}
Method (T2U, 1, NotSerialized)
{
If (LGreater (Arg0, 0x78))
{
Return (0x03)
}
If (LGreater (Arg0, 0x5A))
{
Return (0x02)
}
If (LGreater (Arg0, 0x3C))
{
Return (0x01)
}
If (LGreater (Arg0, 0x2D))
{
Return (0x00)
}
If (LGreater (Arg0, 0x1E))
{
Return (0x04)
}
If (LGreater (Arg0, 0x14))
{
Return (0x05)
}
If (LGreater (Arg0, 0x0F))
{
Return (0x06)
}
Return (0x07)
}
Method (T2D, 1, NotSerialized)
{
If (LGreater (Arg0, 0x01E0))
{
Return (0xA8)
}
If (LGreater (Arg0, 0x0186))
{
Return (0x77)
}
If (LGreater (Arg0, 0xF0))
{
Return (0x47)
}
If (LGreater (Arg0, 0xB4))
{
Return (0x33)
}
If (LGreater (Arg0, 0x96))
{
Return (0x22)
}
If (LGreater (Arg0, 0x78))
{
Return (0x21)
}
Return (0x20)
}
Method (STM, 4, NotSerialized)
{
If (SX)
{
Store (SID0, ID20)
Store (SID1, IDTS)
Store (SID2, IDTP)
Store (SID3, ID22)
Store (SID4, UMSS)
Store (SID5, UMSP)
}
Else
{
Store (ID20, SID0)
Store (IDTS, SID1)
Store (IDTP, SID2)
Store (ID22, SID3)
Store (UMSS, SID4)
Store (UMSP, SID5)
}
Store (0x00, SX)
CreateDWordField (Arg0, 0x00, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
If (LEqual (Arg3, 0x00))
{
Store (SID2, Local0)
Store (SID5, Local1)
}
Else
{
Store (SID1, Local0)
Store (SID4, Local1)
}
If (LNotEqual (PIO0, 0xFFFFFFFF))
{
And (Local0, 0xFF, Local0)
ShiftLeft (T2D (PIO0), 0x08, Local2)
Or (Local0, Local2, Local0)
}
If (LNotEqual (PIO1, 0xFFFFFFFF))
{
And (Local0, 0xFF00, Local0)
Or (Local0, T2D (PIO1), Local0)
}
If (And (FLAG, 0x01))
{
And (Local1, 0xFF, Local1)
ShiftLeft (T2U (DMA0), 0x08, Local2)
Or (0xC000, Local2, Local2)
Or (Local2, Local1, Local1)
}
Else
{
If (LNotEqual (DMA0, 0xFFFFFFFF))
{
And (Local0, 0xFF, Local0)
ShiftLeft (T2D (DMA0), 0x08, Local2)
Or (Local0, Local2, Local0)
}
}
If (And (FLAG, 0x04))
{
And (Local1, 0xFF00, Local1)
Or (0xC0, T2U (DMA1), Local2)
Or (Local2, Local1, Local1)
}
Else
{
If (LNotEqual (DMA1, 0xFFFFFFFF))
{
And (Local0, 0xFF00, Local0)
Or (Local0, T2D (DMA1), Local0)
}
}
If (LEqual (Arg3, 0x00))
{
Store (Local0, IDTP)
Store (Local1, UMSP)
}
Else
{
Store (Local0, IDTS)
Store (Local1, UMSS)
}
}
Method (GTF, 2, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
CreateByteField (Local0, 0x01, MODE)
CreateByteField (Local0, 0x05, DRIV)
Store (Arg1, DRIV)
If (LEqual (Arg0, 0x00))
{
Store (IDEP, Local1)
}
Else
{
Store (IDES, Local1)
}
CreateDWordField (Local1, 0x00, PIO0)
CreateDWordField (Local1, 0x04, DMA0)
CreateDWordField (Local1, 0x08, PIO1)
CreateDWordField (Local1, 0x0C, DMA1)
CreateDWordField (Local1, 0x10, FLGX)
If (LEqual (Arg1, 0xA0))
{
Store (PIO0, Local2)
Store (DMA0, Local3)
And (FLGX, 0x01, FLGX)
}
Else
{
Store (PIO1, Local2)
Store (DMA1, Local3)
And (FLGX, 0x04, FLGX)
}
Store (FLGX, Local1)
If (LGreater (Local2, 0x0186))
{
Store (0x00, Local2)
}
Else
{
If (LGreater (Local2, 0xF0))
{
Store (0x01, Local2)
}
Else
{
If (LGreater (Local2, 0xB4))
{
Store (0x02, Local2)
}
Else
{
If (LGreater (Local2, 0x78))
{
Store (0x03, Local2)
}
Else
{
Store (0x04, Local2)
}
}
}
}
Or (0x08, Local2, MODE)
Store (Local0, Local2)
If (FLGX)
{
If (LGreater (Local3, 0x5A))
{
Store (0x00, Local3)
}
Else
{
If (LGreater (Local3, 0x3C))
{
Store (0x01, Local3)
}
Else
{
If (LGreater (Local3, 0x2D))
{
Store (0x02, Local3)
}
Else
{
If (LGreater (Local3, 0x1E))
{
Store (0x03, Local3)
}
Else
{
If (LGreater (Local3, 0x14))
{
Store (0x04, Local3)
}
Else
{
If (LGreater (Local3,
0x0F))
{
Store (0x05, Local3)
}
Else
{
Store (0x06, Local3)
}
}
}
}
}
}
Or (0x40, Local3, MODE)
}
Else
{
If (LEqual (Local3, 0xFFFFFFFF))
{
Return (Local0)
}
Else
{
If (LGreater (Local3, 0x96))
{
Store (0x00, Local3)
}
Else
{
If (LGreater (Local3, 0x78))
{
Store (0x01, Local3)
}
Else
{
Store (0x02, Local3)
}
}
Or (0x20, Local3, MODE)
}
}
Concatenate (Local0, Local2, Local1)
Return (Local1)
}
Device (PRI0)
{
Name (_ADR, 0x00)
Method (_GTM, 0, NotSerialized)
{
Return (GTM (0x00))
}
Method (_STM, 3, NotSerialized)
{
STM (Arg0, Arg1, Arg2, 0x00)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Return (GTF (0x00, 0xA0))
}
}
Device (SLAV)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Return (GTF (0x00, 0xB0))
}
}
}
Device (SEC0)
{
Name (_ADR, 0x01)
Method (_GTM, 0, NotSerialized)
{
Return (GTM (0x01))
}
Method (_STM, 3, NotSerialized)
{
STM (Arg0, Arg1, Arg2, 0x01)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Return (GTF (0x01, 0xA0))
}
}
Device (SLAV)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Return (GTF (0x01, 0xB0))
}
}
}
Method (DRMP, 0, NotSerialized)
{
Return (\_SB.PCI0.NVRB.R_P0)
}
}
Device (K800)
{
Name (_BBN, 0x00)
Name (_ADR, 0x00180000)
}
Device (K801)
{
Name (_BBN, 0x00)
Name (_ADR, 0x00180001)
OperationRegion (K181, PCI_Config, 0x00, 0xFF)
Field (K181, AnyAcc, NoLock, Preserve)
{
Offset (0x80),
MB00, 8,
MBV0, 24,
ML00, 8,
MLV0, 24,
MB01, 8,
MBV1, 24,
ML01, 8,
MLV1, 24,
MB02, 8,
MBV2, 24,
ML02, 8,
MLV2, 24,
MB03, 8,
MBV3, 24,
ML03, 8,
MLV3, 24,
MB04, 8,
MBV4, 24,
ML04, 8,
MLV4, 24,
MB05, 8,
MBV5, 24,
ML05, 8,
MLV5, 24,
MB06, 8,
MBV6, 24,
ML06, 8,
MLV6, 24,
MB07, 8,
MBV7, 24,
ML07, 8,
MLV7, 24,
IB00, 6,
, 6,
IBV0, 13,
Offset (0xC4),
IL00, 6,
, 6,
ILV0, 13,
Offset (0xC8),
IB01, 6,
, 6,
IBV1, 13,
Offset (0xCC),
IL01, 6,
, 6,
ILV1, 13,
Offset (0xD0),
IB02, 6,
, 6,
IBV2, 13,
Offset (0xD4),
IL02, 6,
, 6,
ILV2, 13,
Offset (0xD8),
IB03, 6,
, 6,
IBV3, 13,
Offset (0xDC),
IL03, 6,
, 6,
ILV3, 13,
Offset (0xE0),
L0EN, 8,
DL00, 8,
BNB0, 8,
BNL0, 8,
L1EN, 8,
DL01, 8,
BNB1, 8,
BNL1, 8,
L2EN, 8,
DL02, 8,
BNB2, 8,
BNL2, 8,
L3EN, 8,
DL03, 8,
BNB3, 8,
BNL3, 8
}
}
Device (K802)
{
Name (_BBN, 0x00)
Name (_ADR, 0x00180002)
}
Device (K810)
{
Name (_BBN, 0x00)
Name (_ADR, 0x00190000)
}
Device (K811)
{
Name (_BBN, 0x00)
Name (_ADR, 0x00190001)
OperationRegion (K281, PCI_Config, 0x00, 0xFF)
Field (K281, AnyAcc, NoLock, Preserve)
{
Offset (0x80),
MB00, 8,
MBV0, 24,
ML00, 8,
MLV0, 24,
MB01, 8,
MBV1, 24,
ML01, 8,
MLV1, 24,
MB02, 8,
MBV2, 24,
ML02, 8,
MLV2, 24,
MB03, 8,
MBV3, 24,
ML03, 8,
MLV3, 24,
MB04, 8,
MBV4, 24,
ML04, 8,
MLV4, 24,
MB05, 8,
MBV5, 24,
ML05, 8,
MLV5, 24,
MB06, 8,
MBV6, 24,
ML06, 8,
MLV6, 24,
MB07, 8,
MBV7, 24,
ML07, 8,
MLV7, 24,
IB00, 6,
, 6,
IBV0, 13,
Offset (0xC4),
IL00, 6,
, 6,
ILV0, 13,
Offset (0xC8),
IB01, 6,
, 6,
IBV1, 13,
Offset (0xCC),
IL01, 6,
, 6,
ILV1, 13,
Offset (0xD0),
IB02, 6,
, 6,
IBV2, 13,
Offset (0xD4),
IL02, 6,
, 6,
ILV2, 13,
Offset (0xD8),
IB03, 6,
, 6,
IBV3, 13,
Offset (0xDC),
IL03, 6,
, 6,
ILV3, 13,
Offset (0xE0),
L0EN, 8,
DL00, 8,
BNB0, 8,
BNL0, 8,
L1EN, 8,
DL01, 8,
BNB1, 8,
BNL1, 8,
L2EN, 8,
DL02, 8,
BNB2, 8,
BNL2, 8,
L3EN, 8,
DL03, 8,
BNB3, 8,
BNL3, 8
}
}
Device (K812)
{
Name (_BBN, 0x00)
Name (_ADR, 0x00190002)
}
Device (MXR0)
{
Name (_ADR, 0x00170000)
OperationRegion (PCVA, PCI_Config, 0x00, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.MXR0.PCVA, ByteAcc, NoLock,
Preserve)
{
PEVA, 16,
Offset (0x9C),
, 3,
XPEA, 1,
Offset (0xA0),
RQDA, 16,
PESA, 1,
PEPA, 1
}
}
Name (_PRW, Package (0x02)
{
0x11,
0x05
})
}
Device (MXR1)
{
Name (_ADR, 0x00160000)
OperationRegion (PCVB, PCI_Config, 0x00, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.MXR1.PCVB, ByteAcc, NoLock,
Preserve)
{
PEVB, 16,
Offset (0x9C),
, 3,
XPEB, 1,
Offset (0xA0),
RQDB, 16,
PESB, 1,
PEPB, 1
}
}
Name (_PRW, Package (0x02)
{
0x11,
0x05
})
}
Device (MXR2)
{
Name (_ADR, 0x00150000)
OperationRegion (PCVC, PCI_Config, 0x00, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.MXR2.PCVC, ByteAcc, NoLock,
Preserve)
{
PEVC, 16,
Offset (0x9C),
, 3,
XPEC, 1,
Offset (0xA0),
RQDC, 16,
PESC, 1,
PEPC, 1
}
}
Name (_PRW, Package (0x02)
{
0x11,
0x05
})
}
Device (MXR3)
{
Name (_ADR, 0x00140000)
OperationRegion (PCVD, PCI_Config, 0x00, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.MXR3.PCVD, ByteAcc, NoLock,
Preserve)
{
PEVD, 16,
Offset (0x9C),
, 3,
XPED, 1,
Offset (0xA0),
RQDD, 16,
PESD, 1,
PEPD, 1
}
}
Name (_PRW, Package (0x02)
{
0x11,
0x05
})
}
Device (MXR4)
{
Name (_ADR, 0x00130000)
OperationRegion (PCVE, PCI_Config, 0x00, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.MXR4.PCVE, ByteAcc, NoLock,
Preserve)
{
PEVE, 16,
Offset (0x9C),
, 3,
XPEE, 1,
Offset (0xA0),
RQDE, 16,
PESE, 1,
PEPE, 1
}
}
Name (_PRW, Package (0x02)
{
0x11,
0x05
})
}
Device (MXR5)
{
Name (_ADR, 0x00120000)
OperationRegion (PCVF, PCI_Config, 0x00, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.MXR5.PCVF, ByteAcc, NoLock,
Preserve)
{
PEVF, 16,
Offset (0x9C),
, 3,
XPEF, 1,
Offset (0xA0),
RQDF, 16,
PESF, 1,
PEPF, 1
}
}
Name (_PRW, Package (0x02)
{
0x11,
0x05
})
}
Device (XVR0)
{
Name (_ADR, 0x00020000)
OperationRegion (PCV0, PCI_Config, 0x00, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.XVR0.PCV0, ByteAcc, NoLock,
Preserve)
{
PEV0, 16,
Offset (0x9C),
, 3,
XPE0, 1,
Offset (0xA0),
RQD0, 16,
PES0, 1,
PEP0, 1
}
}
Name (_PRW, Package (0x02)
{
0x11,
0x05
})
}
Device (XVR1)
{
Name (_ADR, 0x00030000)
OperationRegion (PCV1, PCI_Config, 0x00, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.XVR1.PCV1, ByteAcc, NoLock,
Preserve)
{
PEV1, 16,
Offset (0x9C),
, 3,
XPE1, 1,
Offset (0xA0),
RQD1, 16,
PES1, 1,
PEP1, 1
}
}
Name (_PRW, Package (0x02)
{
0x11,
0x05
})
}
Device (XVR2)
{
Name (_ADR, 0x00040000)
OperationRegion (PCV2, PCI_Config, 0x00, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.XVR2.PCV2, ByteAcc, NoLock,
Preserve)
{
PEV2, 16,
Offset (0x9C),
, 3,
XPE2, 1,
Offset (0xA0),
RQD2, 16,
PES2, 1,
PEP2, 1
}
}
Name (_PRW, Package (0x02)
{
0x11,
0x05
})
}
Device (SMB0)
{
Name (_ADR, 0x00090001)
OperationRegion (SMCF, PCI_Config, 0x48, 0x10)
Field (SMCF, DWordAcc, NoLock, Preserve)
{
SMPM, 4,
SMT1, 28,
SMT2, 32,
SB1, 32,
SB2, 32
}
Method (SMBB, 0, NotSerialized)
{
If (PCIA)
{
And (SB1, 0xFFFE, Local0)
}
Else
{
Store (0x1C00, Local0)
}
Return (Local0)
}
}
Device (VT86)
{
Name (_ADR, 0x00090000)
OperationRegion (PIO0, PCI_Config, 0x04, 0x20)
Scope (\)
{
Field (\_SB.PCI0.VT86.PIO0, ByteAcc, NoLock,
Preserve)
{
SMEN, 8,
Offset (0x0C),
Offset (0x0D),
SMIO, 8
}
}
OperationRegion (PIRQ, PCI_Config, 0x7C, 0x0C)
Scope (\)
{
Field (\_SB.PCI0.VT86.PIRQ, AnyAcc, NoLock,
Preserve)
{
INTA, 4,
INTB, 4,
INTC, 4,
INTD, 4,
PCEA, 4,
PCEB, 4,
PCEC, 4,
PCED, 4,
SCII, 4,
TCOI, 4,
SMBI, 4,
US2I, 4,
P2PI, 4,
PMUI, 4,
SA1I, 4,
SA0I, 4,
US0I, 4,
MA1I, 4,
MA0I, 4,
AZAI, 4,
ACII, 4,
MCII, 4,
IDEI, 4,
SA2I, 4
}
}
OperationRegion (OCSP, PCI_Config, 0x78, 0x01)
Scope (\)
{
Field (\_SB.PCI0.VT86.OCSP, ByteAcc, NoLock,
Preserve)
{
OCSE, 2,
OCSA, 3,
OCSI, 2
}
}
OperationRegion (PDEV, PCI_Config, 0xE8, 0x04)
Scope (\)
{
Field (\_SB.PCI0.VT86.PDEV, AnyAcc, NoLock,
Preserve)
{
, 12,
ACIE, 1
}
}
OperationRegion (LPIO, PCI_Config, 0xA0, 0x18)
Scope (\)
{
Field (\_SB.PCI0.VT86.LPIO, ByteAcc, NoLock,
Preserve)
{
UAIO, 8,
SNDD, 4,
MIDD, 4,
MSSD, 4,
FDCD, 2,
Offset (0x03),
PRIO, 3,
, 1,
GEN1, 1,
GEN2, 1,
GEN3, 1,
GEN4, 1,
GAM1, 8,
GAM2, 8
}
OperationRegion (RTC2, SystemIO, 0x72, 0x02)
Field (RTC2, ByteAcc, NoLock, Preserve)
{
CM2I, 8,
CM2D, 8
}
IndexField (CM2I, CM2D, ByteAcc, NoLock, Preserve)
{
Offset (0xCC),
UA1D, 8
}
Name (UARA, 0x00)
Name (UARB, 0x00)
Name (UARC, 0x00)
Method (DISD, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Store (UARA, Local0)
XOr (Local0, 0xFF, Local0)
And (UAIO, Local0, UAIO)
}
If (LEqual (Arg0, 0x01)) {}
If (LEqual (Arg0, 0x10))
{
Store (UARC, Local0)
XOr (Local0, 0xFF, Local0)
And (UAIO, Local0, UAIO)
}
If (LEqual (Arg0, 0x02))
{
Store (0x00, PRIO)
}
If (LEqual (Arg0, 0x03))
{
Store (0x00, FDCD)
}
If (LEqual (Arg0, 0x04))
{
Store (0x00, GAM1)
Store (0x00, GAM2)
}
If (LEqual (Arg0, 0x05))
{
Store (0x00, MIDD)
}
}
Method (CKIO, 2, NotSerialized)
{
If (LEqual (Arg1, 0x00))
{
Or (UARA, UARB, Local0)
Or (UARC, Local0, Local0)
And (UAIO, Local0, UAIO)
Store (UARA, Local0)
XOr (Local0, 0xFF, Local0)
And (UAIO, Local0, UAIO)
If (LEqual (Arg0, 0x03F8))
{
Store (0x01, Local0)
}
If (LEqual (Arg0, 0x02F8))
{
Store (0x02, Local0)
}
If (LEqual (Arg0, 0x02E8))
{
Store (0x20, Local0)
}
If (LEqual (Arg0, 0x03E8))
{
Store (0x80, Local0)
}
Or (UAIO, Local0, UAIO)
Store (Local0, UARA)
}
If (LEqual (Arg1, 0x01)) {}
If (LEqual (Arg1, 0x10))
{
Or (UARA, UARB, Local0)
Or (UARC, Local0, Local0)
And (UAIO, Local0, UAIO)
Store (UARC, Local0)
XOr (Local0, 0xFF, Local0)
And (UAIO, Local0, UAIO)
If (LEqual (Arg0, 0x03F8))
{
Store (0x01, Local0)
}
If (LEqual (Arg0, 0x02F8))
{
Store (0x02, Local0)
}
If (LEqual (Arg0, 0x02E8))
{
Store (0x20, Local0)
}
If (LEqual (Arg0, 0x03E8))
{
Store (0x80, Local0)
}
Or (UAIO, Local0, UAIO)
Store (Local0, UARC)
}
If (LEqual (Arg1, 0x02))
{
If (LEqual (Arg0, 0x0378))
{
Store (0x00, PRIO)
Or (PRIO, 0x01, PRIO)
}
If (LEqual (Arg0, 0x0278))
{
Store (0x00, PRIO)
Or (PRIO, 0x02, PRIO)
}
If (LEqual (Arg0, 0x03BC))
{
Store (0x00, PRIO)
Or (PRIO, 0x04, PRIO)
}
}
If (LEqual (Arg1, 0x03))
{
Or (FDCD, 0x01, FDCD)
}
If (LEqual (Arg1, 0x04))
{
Store (0x00, GAM1)
Store (0x00, GAM2)
If (LEqual (Arg0, 0x0201))
{
Or (GAM1, 0x02, GAM1)
}
If (LEqual (Arg0, 0x0209))
{
Or (GAM2, 0x02, GAM2)
}
}
If (LEqual (Arg1, 0x05))
{
Store (0x00, MIDD)
If (LEqual (Arg0, 0x0300))
{
Or (MIDD, 0x01, MIDD)
}
If (LEqual (Arg0, 0x0330))
{
Or (MIDD, 0x08, MIDD)
}
}
}
Method (SLDM, 2, NotSerialized)
{
}
Method (CLSU, 1, NotSerialized)
{
CreateWordField (Arg0, 0x02, UARO)
If (LEqual (UARO, 0x03F8))
{
And (UAIO, 0xFE, UAIO)
}
If (LEqual (UARO, 0x02F8))
{
And (UAIO, 0xFD, UAIO)
}
If (LEqual (UARO, 0x02E8))
{
And (UAIO, 0xBF, UAIO)
}
If (LEqual (UARO, 0x03E8))
{
And (UAIO, 0x7F, UAIO)
}
}
}
}
Device (USB0)
{
Name (_ADR, 0x000A0000)
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
}
Device (USB2)
{
Name (_ADR, 0x000A0001)
OperationRegion (P020, PCI_Config, 0x49, 0x01)
Field (P020, AnyAcc, NoLock, Preserve)
{
U0WK, 1
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x01, U0WK)
}
Else
{
Store (0x00, U0WK)
}
}
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
Return (0x01)
}
Name (_PRW, Package (0x02)
{
0x05,
0x03
})
}
Device (MMAC)
{
Name (_ADR, 0x00100000)
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
}
Device (MAC1)
{
Name (_ADR, 0x00110000)
Name (_PRW, Package (0x02)
{
0x0A,
0x05
})
}
Device (AZA)
{
Name (_ADR, 0x000E0001)
Name (_PRW, Package (0x02)
{
0x15,
0x05
})
}
Device (NVRB)
{
Name (_HID, "NVRAIDBUS")
OperationRegion (NVRD, SystemMemory, 0x000FFF38, 0x03)
Field (NVRD, ByteAcc, NoLock, Preserve)
{
R_ST, 1,
, 3,
R_P0, 4,
R_S0, 4,
R_S1, 4,
R_S2, 4
}
Name (FNVR, 0xFF)
Method (_DIS, 0, NotSerialized)
{
Store (0x00, FNVR)
}
Method (_STA, 0, NotSerialized)
{
If (LEqual (R_ST, 0x01))
{
If (LEqual (FNVR, 0xFF))
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (0x00)
}
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x04D2, // Range Minimum
0x04D2, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
Method (_SRS, 1, NotSerialized)
{
Store (0xFF, FNVR)
}
}
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{5,7,9,10,11,14,15}
})
Name (BUFB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y06)
{}
})
CreateWordField (BUFB, \_SB.PCI0._Y06._INT, IRQV)
Method (CRS, 1, NotSerialized)
{
If (Arg0)
{
ShiftLeft (0x01, Arg0, IRQV)
}
Else
{
Store (Zero, IRQV)
}
Return (BUFB)
}
Method (SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Return (Local0)
}
Method (CRSA, 1, Serialized)
{
Store (0x00, Local0)
If (LEqual (Arg0, 0x01))
{
Store (0x17, Local0)
}
If (LEqual (Arg0, 0x02))
{
Store (0x16, Local0)
}
If (LEqual (Arg0, 0x03))
{
Store (0x10, Local0)
}
If (LEqual (Arg0, 0x04))
{
Store (0x11, Local0)
}
If (LEqual (Arg0, 0x06))
{
Store (0x12, Local0)
}
If (LEqual (Arg0, 0x08))
{
Store (0x14, Local0)
}
If (LEqual (Arg0, 0x0C))
{
Store (0x13, Local0)
}
If (LEqual (Arg0, 0x0D))
{
Store (0x15, Local0)
}
If (LEqual (Local0, 0x00))
{
Return (CRS (Arg0))
}
Else
{
Name (IRZ5, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level,
ActiveLow, Shared, ,, _Y07)
{
0x00000007,
}
})
CreateWordField (IRZ5, \_SB.PCI0.CRSA._Y07._INT,
INZ5)
Store (Local0, INZ5)
Return (IRZ5)
}
}
Method (SRSA, 1, Serialized)
{
CreateWordField (Arg0, 0x05, INZ6)
Store (0x08, Local0)
If (LEqual (INZ6, 0x10))
{
Store (0x03, Local0)
}
If (LEqual (INZ6, 0x11))
{
Store (0x04, Local0)
}
If (LEqual (INZ6, 0x12))
{
Store (0x06, Local0)
}
If (LEqual (INZ6, 0x13))
{
Store (0x0C, Local0)
}
If (LEqual (INZ6, 0x14))
{
Store (0x08, Local0)
}
If (LEqual (INZ6, 0x15))
{
Store (0x0D, Local0)
}
If (LEqual (INZ6, 0x16))
{
Store (0x02, Local0)
}
If (LEqual (INZ6, 0x17))
{
Store (0x01, Local0)
}
Return (Local0)
}
Device (LNK1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
If (INTA)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, INTA)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (INTA))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), INTA)
}
}
Device (LNK2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
If (INTB)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, INTB)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (INTB))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), INTB)
}
}
Device (LNK3)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
If (INTC)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, INTC)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (INTC))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), INTC)
}
}
Device (LNK4)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
If (INTD)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, INTD)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (INTD))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), INTD)
}
}
Device (LXV5)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
If (PCEA)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PCEA)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (PCEA))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), PCEA)
}
}
Device (LXV6)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_STA, 0, NotSerialized)
{
If (PCEB)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PCEB)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (PCEB))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), PCEB)
}
}
Device (LXV7)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
If (PCEC)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PCEC)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (PCEC))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), PCEC)
}
}
Device (LXV8)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
If (PCED)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PCED)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (PCED))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), PCED)
}
}
Device (LUBA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x11)
Method (_STA, 0, NotSerialized)
{
If (US0I)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, US0I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (US0I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), US0I)
}
}
Device (LMC1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x12)
Method (_STA, 0, NotSerialized)
{
If (MA1I)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, MA1I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (MA1I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), MA1I)
}
}
Device (LMAC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x13)
Method (_STA, 0, NotSerialized)
{
If (MA0I)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, MA0I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (MA0I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), MA0I)
}
}
Device (LAZA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x14)
Method (_STA, 0, NotSerialized)
{
If (AZAI)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, AZAI)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (AZAI))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), AZAI)
}
}
Device (LSMB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0B)
Method (_STA, 0, NotSerialized)
{
If (SMBI)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, SMBI)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (SMBI))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), SMBI)
}
}
Device (LUB2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0C)
Method (_STA, 0, NotSerialized)
{
If (US2I)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, US2I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (US2I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), US2I)
}
}
Device (LIDE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x17)
Method (_STA, 0, NotSerialized)
{
If (IDEI)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, IDEI)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (IDEI))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), IDEI)
}
}
Device (LSA0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x10)
Method (_STA, 0, NotSerialized)
{
If (SA0I)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, SA0I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (SA0I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), SA0I)
}
}
Device (LSA1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0F)
Method (_STA, 0, NotSerialized)
{
If (SA1I)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, SA1I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (SA1I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), SA1I)
}
}
Device (LSA2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x18)
Method (_STA, 0, NotSerialized)
{
If (SA2I)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, SA2I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRS (SA2I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRS (Arg0), SA2I)
}
}
Name (BUF1, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow,
Shared, ,, )
{
0x00000010,
}
})
Name (BUF2, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow,
Shared, ,, )
{
0x00000011,
}
})
Name (BUF3, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow,
Shared, ,, )
{
0x00000012,
}
})
Name (BUF4, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow,
Shared, ,, )
{
0x00000013,
}
})
Name (BUFF, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow,
Shared, ,, )
{
0x00000014,
0x00000015,
0x00000016,
0x00000017,
}
})
Name (BUFH, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow,
Shared, ,, )
{
0x0000000B,
}
})
Name (BUFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow,
Shared, ,, )
{
0x00000017,
}
})
Name (IRZ1, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow,
Shared, ,, )
{
0x00000007,
}
})
Device (APC1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x65)
Method (_STA, 0, NotSerialized)
{
If (LAnd (INTA, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUF1)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, INTA)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (INTA))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), INTA)
}
}
Device (APC2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x66)
Method (_STA, 0, NotSerialized)
{
If (LAnd (INTB, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUF2)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, INTB)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (INTB))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), INTB)
}
}
Device (APC3)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x67)
Method (_STA, 0, NotSerialized)
{
If (LAnd (INTC, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUF3)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, INTC)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (INTC))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), INTC)
}
}
Device (APC4)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x68)
Method (_STA, 0, NotSerialized)
{
If (LAnd (INTD, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUF4)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, INTD)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (INTD))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), INTD)
}
}
Device (AXV5)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x69)
Method (_STA, 0, NotSerialized)
{
If (LAnd (PCEA, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUF1)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PCEA)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (PCEA))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), PCEA)
}
}
Device (AXV6)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x6A)
Method (_STA, 0, NotSerialized)
{
If (LAnd (PCEB, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUF1)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PCEB)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (PCEB))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), PCEB)
}
}
Device (AXV7)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x6B)
Method (_STA, 0, NotSerialized)
{
If (LAnd (PCEC, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUF1)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PCEC)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (PCEC))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), PCEC)
}
}
Device (AXV8)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x6C)
Method (_STA, 0, NotSerialized)
{
If (LAnd (PCED, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUF1)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PCED)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (PCED))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), PCED)
}
}
Device (AUBA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x75)
Method (_STA, 0, NotSerialized)
{
If (LAnd (US0I, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, US0I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (US0I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), US0I)
}
}
Device (AMA1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x76)
Method (_STA, 0, NotSerialized)
{
If (LAnd (MA1I, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, MA1I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (MA1I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), MA1I)
}
}
Device (AMAC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x77)
Method (_STA, 0, NotSerialized)
{
If (LAnd (MA0I, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, MA0I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (MA0I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), MA0I)
}
}
Device (AAZA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x78)
Method (_STA, 0, NotSerialized)
{
If (LAnd (AZAI, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, AZAI)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (AZAI))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), AZAI)
}
}
Device (AACI)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x79)
Method (_STA, 0, NotSerialized)
{
If (LAnd (ACII, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, ACII)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (ACII))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), ACII)
}
}
Device (AMCI)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x7A)
Method (_STA, 0, NotSerialized)
{
If (LAnd (MCII, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, MCII)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (MCII))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), MCII)
}
}
Device (ASMB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x6F)
Method (_STA, 0, NotSerialized)
{
If (LAnd (SMBI, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, SMBI)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (SMBI))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), SMBI)
}
}
Device (AUS2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x70)
Method (_STA, 0, NotSerialized)
{
If (LAnd (US2I, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, US2I)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (US2I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), US2I)
}
}
Device (AIDE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x7B)
Method (_STA, 0, NotSerialized)
{
If (LAnd (IDEI, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, IDEI)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (IDEI))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), IDEI)
}
}
Device (ASA0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x74)
Method (_STA, 0, NotSerialized)
{
If (LAnd (SA0I, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, SA0I)
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (SA0I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), SA0I)
}
}
Device (ASA1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x73)
Method (_STA, 0, NotSerialized)
{
If (LAnd (SA1I, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, SA1I)
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (SA1I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), SA1I)
}
}
Device (ASA2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x26)
Method (_STA, 0, NotSerialized)
{
If (LAnd (SA1I, PICF))
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, SA2I)
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFF)
}
Method (_CRS, 0, NotSerialized)
{
Return (CRSA (SA2I))
}
Method (_SRS, 1, NotSerialized)
{
Store (SRSA (Arg0), SA2I)
}
}
Scope (\)
{
OperationRegion (\SCPP, SystemIO, 0x142E, 0x01)
Field (\SCPP, ByteAcc, NoLock, Preserve)
{
SMIP, 8
}
}
Method (\_SB.PCI0._INI, 0, NotSerialized)
{
If (STRC (\_OS, "Microsoft Windows"))
{
Store (0x56, SMIP)
}
Else
{
If (STRC (\_OS, "Microsoft Windows NT"))
{
If (CondRefOf (\_OSI, Local0))
{
If (\_OSI ("Windows 2001"))
{
Store (0x59, SMIP)
Store (0x00, OSFL)
Store (0x03, OSFX)
}
}
Else
{
Store (0x58, SMIP)
Store (0x00, OSFX)
Store (0x00, OSFL)
}
}
Else
{
Store (0x57, SMIP)
Store (0x02, OSFX)
Store (0x02, OSFL)
}
}
Name (TEMP, 0x00)
Store (UA1D, TEMP)
And (TEMP, 0x0F, TEMP)
ShiftLeft (0x01, TEMP, UARA)
Store (UA1D, TEMP)
And (TEMP, 0xF0, TEMP)
ShiftRight (TEMP, 0x04, TEMP)
ShiftLeft (0x01, TEMP, UARB)
}
Scope (\)
{
Method (OSTP, 0, NotSerialized)
{
If (LEqual (OSFX, 0x01))
{
Store (0x56, SMIP)
}
If (LEqual (OSFX, 0x02))
{
Store (0x57, SMIP)
}
If (LEqual (OSFX, 0x00))
{
Store (0x58, SMIP)
}
If (LEqual (OSFX, 0x03))
{
Store (0x59, SMIP)
}
}
}
Device (SYSR)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x01)
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0010, // Range Minimum
0x0010, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0022, // Range Minimum
0x0022, // Range Maximum
0x01, // Alignment
0x1E, // Length
)
IO (Decode16,
0x0044, // Range Minimum
0x0044, // Range Maximum
0x01, // Alignment
0x1C, // Length
)
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x0B, // Length
)
IO (Decode16,
0x0074, // Range Minimum
0x0074, // Range Maximum
0x01, // Alignment
0x0C, // Length
)
IO (Decode16,
0x0091, // Range Minimum
0x0091, // Range Maximum
0x01, // Alignment
0x03, // Length
)
IO (Decode16,
0x00A2, // Range Minimum
0x00A2, // Range Maximum
0x01, // Alignment
0x1E, // Length
)
IO (Decode16,
0x00E0, // Range Minimum
0x00E0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0295, // Range Minimum
0x0295, // Range Maximum
0x01, // Alignment
0x80, // Length
)
})
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (DMA1)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8, )
{4}
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x11, // Length
)
IO (Decode16,
0x0094, // Range Minimum
0x0094, // Range Maximum
0x01, // Alignment
0x0C, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x04, // Alignment
0x04, // Length
)
IRQNoFlags ()
{8}
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IRQNoFlags ()
{13}
})
}
Device (OCU1)
{
Method (_INI, 0, NotSerialized)
{
Store (OCSE, OCEB)
If (OCSE)
{
ShiftLeft (0x01, OCSA, UARC)
}
}
Name (OCEB, 0x02)
Name (_HID, EisaId ("PNP0501"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
If (LNot (OCEB))
{
Return (0x00)
}
If (OCSE)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, OCSE)
DISD (0x10)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y08)
IRQNoFlags (_Y09)
{}
})
CreateWordField (BUF1,
\_SB.PCI0.OCU1._CRS._Y08._MIN, IOLO)
CreateWordField (BUF1,
\_SB.PCI0.OCU1._CRS._Y08._MAX, IORL)
CreateWordField (BUF1,
\_SB.PCI0.OCU1._CRS._Y09._INT, IRQW)
Store (0x00, IOLO)
Store (0x00, IORL)
Store (0x00, IRQW)
If (OCSE)
{
If (LEqual (OCSA, 0x00))
{
Store (0x03F8, IOLO)
Store (0x03F8, IORL)
}
If (LEqual (OCSA, 0x01))
{
Store (0x02F8, IOLO)
Store (0x02F8, IORL)
}
If (LEqual (OCSA, 0x02))
{
Store (0x0220, IOLO)
Store (0x0220, IORL)
}
If (LEqual (OCSA, 0x03))
{
Store (0x0228, IOLO)
Store (0x0228, IORL)
}
If (LEqual (OCSA, 0x04))
{
Store (0x0238, IOLO)
Store (0x0238, IORL)
}
If (LEqual (OCSA, 0x05))
{
Store (0x02E8, IOLO)
Store (0x02E8, IORL)
}
If (LEqual (OCSA, 0x06))
{
Store (0x0338, IOLO)
Store (0x0338, IORL)
}
If (LEqual (OCSA, 0x07))
{
Store (0x03E8, IOLO)
Store (0x03E8, IORL)
}
If (LEqual (OCSI, 0x01))
{
Store (0x08, IRQW)
}
If (LEqual (OCSI, 0x02))
{
Store (0x10, IRQW)
}
}
Return (BUF1)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x02, IOAD)
CreateWordField (Arg0, 0x09, IRQW)
If (LEqual (IOAD, 0x03F8))
{
Store (0x00, OCSA)
}
If (LEqual (IOAD, 0x02F8))
{
Store (0x01, OCSA)
}
If (LEqual (IOAD, 0x0220))
{
Store (0x02, OCSA)
}
If (LEqual (IOAD, 0x0228))
{
Store (0x03, OCSA)
}
If (LEqual (IOAD, 0x0238))
{
Store (0x04, OCSA)
}
If (LEqual (IOAD, 0x02E8))
{
Store (0x05, OCSA)
}
If (LEqual (IOAD, 0x0338))
{
Store (0x06, OCSA)
}
If (LEqual (IOAD, 0x03E8))
{
Store (0x07, OCSA)
}
If (LEqual (IRQW, 0x08))
{
Store (0x01, OCSI)
}
If (LEqual (IRQW, 0x10))
{
Store (0x02, OCSI)
}
Store (OCEB, OCSE)
CKIO (IOAD, 0x10)
}
}
Scope (\)
{
OperationRegion (WIN1, SystemIO, 0x2E, 0x02)
Field (WIN1, ByteAcc, NoLock, Preserve)
{
INDP, 8,
DATA, 8
}
IndexField (INDP, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
CFG, 8,
Offset (0x07),
LDN, 8,
Offset (0x20),
IDHI, 8,
IDLO, 8,
POWC, 8,
Offset (0x30),
ACTR, 8,
Offset (0x60),
IOAH, 8,
IOAL, 8,
IO2H, 8,
IO2L, 8,
Offset (0x70),
INTR, 8,
Offset (0x72),
INT1, 8,
Offset (0x74),
DMCH, 8,
Offset (0xE0),
CRE0, 8,
CRE1, 8,
CRE2, 8,
CRE3, 8,
CRE4, 8,
Offset (0xF0),
OPT1, 8,
OPT2, 8,
OPT3, 8,
OPT4, 8,
OPT5, 8,
OPT6, 8,
OPT7, 8,
OPT8, 8,
OPT9, 8,
OPTA, 8
}
Method (ENFG, 0, NotSerialized)
{
Store (0x87, INDP)
Store (0x87, INDP)
}
Method (EXFG, 0, NotSerialized)
{
Store (0xAA, INDP)
}
}
OperationRegion (COM1, SystemIO, 0x03F8, 0x08)
Field (COM1, ByteAcc, NoLock, Preserve)
{
P3F8, 8,
P3F9, 8,
P3FA, 8,
P3FB, 8,
P3FC, 8,
P3FD, 8,
P3FE, 8,
P3FF, 8
}
OperationRegion (COM2, SystemIO, 0x02F8, 0x08)
Field (COM2, ByteAcc, NoLock, Preserve)
{
P2F8, 8,
P2F9, 8,
P2FA, 8,
P2FB, 8,
P2FC, 8,
P2FD, 8,
P2FE, 8,
P2FF, 8
}
OperationRegion (COM3, SystemIO, 0x03E8, 0x08)
Field (COM3, ByteAcc, NoLock, Preserve)
{
P3E8, 8,
P3E9, 8,
P3EA, 8,
P3EB, 8,
P3EC, 8,
P3ED, 8,
P3EE, 8,
P3EF, 8
}
OperationRegion (COM4, SystemIO, 0x02E8, 0x08)
Field (COM4, ByteAcc, NoLock, Preserve)
{
P2E8, 8,
P2E9, 8,
P2EA, 8,
P2EB, 8,
P2EC, 8,
P2ED, 8,
P2EE, 8,
P2EF, 8
}
Method (ICOM, 1, NotSerialized)
{
Store (Arg0, Local0)
If (LEqual (Local0, 0x03F8))
{
Store (P3FD, Local0)
Store (P3FD, Local0)
Store (0xC3, P3FA)
While (LNotEqual (P3FA, 0xC1))
{
Store (P3FE, Local0)
}
}
Else
{
If (LEqual (Local0, 0x02F8))
{
Store (P2FD, Local0)
Store (P2FD, Local0)
Store (0xC3, P2FA)
While (LNotEqual (P2FA, 0xC1))
{
Store (P2FE, Local0)
}
}
Else
{
If (LEqual (Local0, 0x03E8))
{
Store (P3ED, Local0)
Store (P3ED, Local0)
Store (0xC3, P3EA)
While (LNotEqual (P3EA, 0xC1))
{
Store (P3EE, Local0)
}
}
Else
{
If (LEqual (Local0, 0x02E8))
{
Store (P2ED, Local0)
Store (P2ED, Local0)
Store (0xC3, P2EA)
While (LNotEqual (P2EA, 0xC1))
{
Store (P2EE, Local0)
}
}
}
}
}
}
Device (FDC0)
{
Name (_HID, EisaId ("PNP0700"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (Zero, LDN)
If (ACTR)
{
EXFG ()
Return (0x0F)
}
Else
{
If (LOr (IOAH, IOAL))
{
EXFG ()
Return (0x0D)
}
Else
{
EXFG ()
Return (0x00)
}
}
}
Method (_DIS, 0, NotSerialized)
{
ENFG ()
Store (0x00, LDN)
Store (Zero, ACTR)
SLDM (DMCH, 0x04)
EXFG ()
DISD (0x03)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x03F0, // Range Minimum
0x03F0, // Range Maximum
0x01, // Alignment
0x06, // Length
_Y0A)
IO (Decode16,
0x03F7, // Range Minimum
0x03F7, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{6}
DMA (Compatibility, NotBusMaster, Transfer8, )
{2}
})
CreateByteField (BUF0,
\_SB.PCI0.FDC0._CRS._Y0A._MIN, IOLO)
CreateByteField (BUF0, 0x03, IOHI)
CreateByteField (BUF0,
\_SB.PCI0.FDC0._CRS._Y0A._MAX, IORL)
CreateByteField (BUF0, 0x05, IORH)
ENFG ()
EXFG ()
Return (BUF0)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F0, // Range Minimum
0x03F0, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x03F7, // Range Minimum
0x03F7, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{6}
DMA (Compatibility, NotBusMaster, Transfer8, )
{2}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x02, IOAD)
CreateWordField (Arg0, 0x19, IRQL)
CreateByteField (Arg0, 0x1C, DMAV)
ENFG ()
Store (Zero, LDN)
Store (One, ACTR)
SLDM (DMCH, DMCH)
EXFG ()
CKIO (IOAD, 0x03)
}
}
Device (UAR1)
{
Name (_HID, EisaId ("PNP0501"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (0x02, LDN)
If (ACTR)
{
EXFG ()
Return (0x0F)
}
Else
{
If (LOr (IOAH, IOAL))
{
EXFG ()
Return (0x0D)
}
Else
{
EXFG ()
Return (0x00)
}
}
EXFG ()
}
Method (_DIS, 0, NotSerialized)
{
ENFG ()
Store (0x02, LDN)
Store (Zero, ACTR)
EXFG ()
DISD (0x00)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y0B)
IRQNoFlags (_Y0C)
{}
})
CreateByteField (BUF1,
\_SB.PCI0.UAR1._CRS._Y0B._MIN, IOLO)
CreateByteField (BUF1, 0x03, IOHI)
CreateByteField (BUF1,
\_SB.PCI0.UAR1._CRS._Y0B._MAX, IORL)
CreateByteField (BUF1, 0x05, IORH)
CreateWordField (BUF1,
\_SB.PCI0.UAR1._CRS._Y0C._INT, IRQW)
ENFG ()
Store (0x02, LDN)
Store (IOAL, IOLO)
Store (IOAL, IORL)
Store (IOAH, IOHI)
Store (IOAH, IORH)
Store (One, Local0)
ShiftLeft (Local0, INTR, IRQW)
EXFG ()
Return (BUF1)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,7,9,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,7,9,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,7,9,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,7,9,10,11,12}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x02, IOAD)
CreateWordField (Arg0, 0x09, IRQW)
ENFG ()
Store (0x02, LDN)
Store (One, ACTR)
Store (IOLO, IOAL)
Store (IOHI, IOAH)
FindSetRightBit (IRQW, Local0)
Subtract (Local0, 0x01, INTR)
EXFG ()
CKIO (IOAD, 0x00)
}
}
OperationRegion (KBCT, SystemIO, 0x60, 0x05)
Field (KBCT, ByteAcc, NoLock, Preserve)
{
P060, 8,
Offset (0x04),
P064, 8
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F13"))
Method (_STA, 0, NotSerialized)
{
If (LEqual (PS2F, 0x00))
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF1, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Name (BUF2, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{12}
})
If (LEqual (KBDI, 0x01))
{
If (LEqual (OSFL, 0x02))
{
Return (BUF1)
}
If (LEqual (OSFL, 0x01))
{
Return (BUF1)
}
Else
{
Return (BUF2)
}
}
Else
{
Return (BUF1)
}
}
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, 0x0B03D041)
Method (_STA, 0, NotSerialized)
{
If (LEqual (KBDI, 0x01))
{
Return (0x00)
}
Else
{
Return (0x0F)
}
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{1}
})
}
Device (PSMR)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
If (LEqual (KBDI, 0x00))
{
Return (0x00)
}
If (LEqual (PS2F, 0x00))
{
If (LEqual (OSFL, 0x02))
{
Return (0x0F)
}
If (LEqual (OSFL, 0x01))
{
Return (0x0F)
}
Return (0x00)
}
Return (0x00)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
}
Scope (\)
{
Method (PLED, 1, NotSerialized)
{
ENFG ()
Store (0x07, LDN)
Store (0x01, ACTR)
And (OPT1, 0xFE, Local0)
Store (Local0, OPT1)
And (OPT3, 0xFE, Local0)
Store (Local0, OPT3)
And (OPT2, 0xFE, Local0)
Or (Local0, Arg0, OPT2)
EXFG ()
}
}
Scope (\)
{
Method (SLED, 1, NotSerialized)
{
ENFG ()
Store (0x09, LDN)
Store (0x04, ACTR)
And (OPT5, 0xFD, Local0)
Store (Local0, OPT5)
And (OPT7, 0xFD, Local0)
Store (Local0, OPT7)
And (OPT6, 0xFD, Local0)
Or (Local0, Arg0, OPT6)
EXFG ()
}
}
Scope (\)
{
Method (SFOF, 0, NotSerialized)
{
ENFG ()
EXFG ()
}
Method (SFON, 0, NotSerialized)
{
ENFG ()
EXFG ()
}
}
Method (\_SB.PCI0.UAR1._PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x03,
0x05
})
}
Method (\_SB.PCI0.PS2K._PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x10,
0x04
})
}
Method (\_SB.PCI0.PS2M._PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x10,
0x04
})
}
Method (PS2W, 0, NotSerialized)
{
ENFG ()
Store (0x0A, LDN)
Store (OPT4, Local0)
If (And (Local0, 0x20))
{
Notify (\_SB.PCI0.PS2M, 0x02)
}
If (And (Local0, 0x10))
{
Notify (\_SB.PCI0.PS2K, 0x02)
}
Store (Local0, OPT4)
ENFG ()
}
Method (\_SB.PCI0.PS2M._PSW, 1, NotSerialized)
{
ENFG ()
Store (0x0A, LDN)
If (Arg0)
{
Or (OPT7, 0x20, OPT7)
}
Else
{
And (OPT7, 0xDF, OPT7)
}
EXFG ()
}
Method (\_SB.PCI0.PS2K._PSW, 1, NotSerialized)
{
ENFG ()
Store (0x0A, LDN)
If (Arg0)
{
Or (OPT7, 0x10, OPT7)
}
Else
{
And (OPT7, 0xEF, OPT7)
}
EXFG ()
}
}
Device (MEM)
{
Name (_HID, EisaId ("PNP0C01"))
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x000F0000, // Address Base
0x00004000, // Address Length
_Y0E)
Memory32Fixed (ReadWrite,
0x000F4000, // Address Base
0x00004000, // Address Length
_Y0F)
Memory32Fixed (ReadWrite,
0x000F8000, // Address Base
0x00004000, // Address Length
_Y10)
Memory32Fixed (ReadWrite,
0x000FC000, // Address Base
0x00004000, // Address Length
_Y11)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00010000, // Address Length
_Y0D)
Memory32Fixed (ReadWrite,
0xFFFF0000, // Address Base
0x00010000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x000A0000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00100000, // Address Base
0x00000000, // Address Length
_Y12)
Memory32Fixed (ReadWrite,
0xFEC00000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEE00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEFFF000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFFF80000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFFF90000, // Address Base
0x00030000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFFFED000, // Address Base
0x00003000, // Address Length
)
})
CreateDWordField (BUF0, \_SB.MEM._CRS._Y0D._BAS, ACMM)
CreateDWordField (BUF0, \_SB.MEM._CRS._Y0E._BAS, RMA1)
CreateDWordField (BUF0, \_SB.MEM._CRS._Y0E._LEN, RSS1)
CreateDWordField (BUF0, \_SB.MEM._CRS._Y0F._BAS, RMA2)
CreateDWordField (BUF0, \_SB.MEM._CRS._Y0F._LEN, RSS2)
CreateDWordField (BUF0, \_SB.MEM._CRS._Y10._BAS, RMA3)
CreateDWordField (BUF0, \_SB.MEM._CRS._Y10._LEN, RSS3)
CreateDWordField (BUF0, \_SB.MEM._CRS._Y11._BAS, RMA4)
CreateDWordField (BUF0, \_SB.MEM._CRS._Y11._LEN, RSS4)
CreateDWordField (BUF0, \_SB.MEM._CRS._Y12._LEN, EXTM)
Subtract (AMEM, 0x00100000, EXTM)
If (LNotEqual (ROM1, Zero))
{
Store (RMA1, RMA2)
ShiftLeft (ROM1, 0x08, Local0)
Store (Local0, RMA1)
ShiftLeft (RMS1, 0x08, Local0)
Store (Local0, RSS1)
Store (0x8000, RSS2)
}
If (LNotEqual (ROM2, Zero))
{
Store (RMA2, RMA3)
ShiftLeft (ROM2, 0x08, Local0)
Store (Local0, RMA2)
ShiftLeft (RMS2, 0x08, Local0)
Store (Local0, RSS2)
Store (0xC000, RSS3)
}
If (LNotEqual (ROM3, Zero))
{
Store (RMA3, RMA4)
ShiftLeft (ROM3, 0x08, Local0)
Store (Local0, RMA3)
ShiftLeft (RMS3, 0x08, Local0)
Store (Local0, RSS3)
Store (0x00010000, RSS4)
}
Store (AMEM, ACMM)
Return (BUF0)
}
}
Device (\_SB.PCI0.EXPL)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x04)
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xE0000000, // Address Base
0x10000000, // Address Length
)
})
Return (BUF0)
}
}
}
OperationRegion (TEMM, SystemMemory, 0x000FF810, 0x0C)
Field (TEMM, WordAcc, NoLock, Preserve)
{
TP1H, 16,
TP1L, 16,
TP2H, 16,
TP2L, 16,
TRPC, 16,
SENF, 16
}
Name (TVAR, Buffer (0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00
})
CreateByteField (TVAR, 0x00, PLCY)
CreateWordField (TVAR, 0x01, CTOS)
CreateWordField (TVAR, 0x03, CTHY)
Name (TBUF, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
CreateByteField (TBUF, 0x00, DB00)
CreateByteField (TBUF, 0x01, DB01)
CreateWordField (TBUF, 0x00, DW00)
CreateWordField (TBUF, 0x02, DW01)
CreateDWordField (TBUF, 0x00, DATD)
OperationRegion (SEN1, SystemIO, 0x0295, 0x02)
Field (SEN1, ByteAcc, NoLock, Preserve)
{
SEI0, 8,
SED0, 8
}
Method (STOS, 3, NotSerialized)
{
If (LLess (Arg2, 0x0AAC))
{
Subtract (Arg2, 0x0AAC, Local0)
Divide (Local0, 0x0A, Local0)
}
Else
{
Subtract (0x0AAC, Arg2, Local0)
Divide (Local0, 0x0A, Local0)
Add (Local0, 0x80, Local0)
}
WSEN (0x4E, 0x01)
WSEN (0x53, Local0)
}
Method (STHY, 3, NotSerialized)
{
If (LLess (Arg2, 0x0AAC))
{
Subtract (Arg2, 0x0AAC, Local0)
Divide (Local0, 0x0A, Local0)
}
Else
{
Subtract (0x0AAC, Arg2, Local0)
Divide (Local0, 0x0A, Local0)
Add (Local0, 0x80, Local0)
}
WSEN (0x4E, 0x01)
WSEN (0x54, Local0)
}
Method (RTMP, 0, NotSerialized)
{
WSEN (0x4E, 0x01)
Store (RSEN (0x50), Local0)
If (LEqual (Local0, 0x7F))
{
Return (0x0AAC)
}
If (LLess (Local0, 0x80))
{
Multiply (Local0, 0x0A, Local0)
Add (Local0, 0x0AAC, Local0)
}
Else
{
Subtract (Local0, 0x80, Local0)
Multiply (Local0, 0x0A, Local0)
Subtract (0x0AAC, Local0, Local0)
}
Return (0x0C3C)
If (LEqual (SSHU, 0x01))
{
Return (0x0C3C)
}
Else
{
Return (Local0)
}
}
Method (WSEN, 2, NotSerialized)
{
Store (Arg0, SEI0)
Store (Arg1, SED0)
}
Method (RSEN, 1, NotSerialized)
{
Store (Arg0, SEI0)
Store (SED0, Local0)
Return (Local0)
}
Method (SFAN, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
FOFF ()
}
Else
{
FON ()
}
}
Method (FON, 0, NotSerialized)
{
WSEN (0x4E, 0x00)
WSEN (0x01, 0xFF)
WSEN (0x03, 0xFF)
}
Method (FOFF, 0, NotSerialized)
{
WSEN (0x4E, 0x00)
WSEN (0x01, 0x00)
WSEN (0x03, 0x00)
}
OperationRegion (SM00, SystemIO, \_SB.PCI0.SMB0.SMBB (), 0x06)
Field (SM00, ByteAcc, NoLock, Preserve)
{
CTLR, 8,
HSTS, 8,
ADDR, 8,
CMDR, 8,
DAT0, 8,
DAT1, 8
}
Method (SWFS, 0, NotSerialized)
{
And (HSTS, 0x80, Local0)
While (LEqual (Local0, Zero))
{
Stall (0x01)
And (HSTS, 0x80, Local0)
}
}
Method (SRBY, 2, NotSerialized)
{
Store (Arg0, ADDR)
Store (Arg1, CMDR)
Store (0x04, CTLR)
SWFS ()
}
Method (WBYT, 3, NotSerialized)
{
Store (Arg0, ADDR)
Store (Arg1, CMDR)
Store (Arg2, DAT0)
Store (0x06, CTLR)
SWFS ()
}
Method (SMWW, 4, NotSerialized)
{
Store (Arg0, ADDR)
Store (Arg1, CMDR)
Store (Arg2, DAT0)
Store (Arg3, DAT1)
Store (0x08, CTLR)
SWFS ()
}
Method (RBYT, 2, NotSerialized)
{
Store (Arg0, ADDR)
Store (Arg1, CMDR)
Store (0x07, CTLR)
SWFS ()
Return (DAT0)
}
Method (SMRW, 2, NotSerialized)
{
Store (Arg0, ADDR)
Store (Arg1, CMDR)
Store (0x09, CTLR)
SWFS ()
Store (DAT0, Local0)
ShiftLeft (DAT1, 0x08, Local1)
Or (Local0, Local1, Local2)
Return (Local2)
}
Scope (\_TZ)
{
Device (FAN)
{
Name (_HID, EisaId ("PNP0C0B"))
Method (_INI, 0, NotSerialized)
{
Store (TP1H, CTOS)
Store (TP1L, CTHY)
}
}
ThermalZone (THRM)
{
Name (_AL0, Package (0x01)
{
FAN
})
Method (_AC0, 0, NotSerialized)
{
If (Or (PLCY, PLCY, Local7))
{
Return (TP2H)
}
Else
{
Return (TP1H)
}
}
Name (_PSL, Package (0x01)
{
\_PR.CPU0
})
Name (_TSP, 0x3C)
Name (_TC1, 0x04)
Name (_TC2, 0x03)
Method (_PSV, 0, NotSerialized)
{
If (Or (PLCY, PLCY, Local7))
{
Return (TP1H)
}
Else
{
Return (TP2H)
}
}
Method (_CRT, 0, NotSerialized)
{
Return (TRPC)
}
Method (_TMP, 0, NotSerialized)
{
And (SENF, 0x01, Local6)
If (LEqual (Local6, 0x01))
{
Return (RTMP ())
}
Else
{
Return (0x0B86)
}
}
Method (_SCP, 1, NotSerialized)
{
If (Arg0)
{
Store (One, PLCY)
}
Else
{
Store (Zero, PLCY)
}
Notify (\_TZ.THRM, 0x81)
}
Method (STMP, 2, NotSerialized)
{
Store (Arg1, DW00)
If (Arg0)
{
STHY (DB00, DB01, DW00)
}
Else
{
STOS (DB00, DB01, DW00)
}
}
}
}
Scope (\_PR.CPU0)
{
Name (_PCT, Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
}
})
Name (_PSS, Package (0x05)
{
Package (0x06)
{
0x00000960,
0x0000FDE8,
0x00000064,
0x00000009,
0xE8202B10,
0x00000310
},
Package (0x06)
{
0x00000898,
0x0000D680,
0x00000064,
0x00000009,
0xE8202B8E,
0x0000038E
},
Package (0x06)
{
0x000007D0,
0x0000B316,
0x00000064,
0x00000009,
0xE8202C0C,
0x0000040C
},
Package (0x06)
{
0x00000708,
0x0000A12E,
0x00000064,
0x00000009,
0xE8202C0A,
0x0000040A
},
Package (0x06)
{
0x000003E8,
0x000051ED,
0x00000064,
0x00000009,
0xE8202C82,
0x00000482
}
})
Name (_PPC, 0x00)
Name (_PSD, Package (0x01)
{
Package (0x05)
{
0x05,
0x00,
0x00000000,
0x000000FD,
0x00000002
}
})
}
Scope (\_PR.CPU1)
{
Name (_PCT, Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
}
})
Name (_PSS, Package (0x05)
{
Package (0x06)
{
0x00000960,
0x0000FDE8,
0x00000064,
0x00000009,
0xE8202B10,
0x00000310
},
Package (0x06)
{
0x00000898,
0x0000D680,
0x00000064,
0x00000009,
0xE8202B8E,
0x0000038E
},
Package (0x06)
{
0x000007D0,
0x0000B316,
0x00000064,
0x00000009,
0xE8202C0C,
0x0000040C
},
Package (0x06)
{
0x00000708,
0x0000A12E,
0x00000064,
0x00000009,
0xE8202C0A,
0x0000040A
},
Package (0x06)
{
0x000003E8,
0x000051ED,
0x00000064,
0x00000009,
0xE8202C82,
0x00000482
}
})
Name (_PPC, 0x00)
Name (_PSD, Package (0x01)
{
Package (0x05)
{
0x05,
0x00,
0x00000000,
0x000000FD,
0x00000002
}
})
}
}
On 27/05/2009, at 8:20 PM, Eygene Ryabinkin wrote:
> Timothy, good day.
>
> Wed, May 27, 2009 at 05:45:02PM +1000, Timothy Mukaibo wrote:
>> db> bt
>> Tracing pid 0 tid 100000 td 0fffffff80bd2ae0
>> kdb_enter() at kdb_enter+0x3d
>> panic() at panic+0x17b
>> acpi_pci_link_route_irqs() at acpi_pci_link_route_irqs+0x727
>> acpi_pci_link_route_interrupt() at acpi_pci_link_route_interrupt
>> +0x1a9
>> acpi_pcib_route_interrupt() at acpi_pcib_route_interrupt+0x40d
>> pci_assign_interrupt() at pci_assign_interrupt+0x1c3
>> pci_add_resources() at pci_add_resources+0x147
>> pci_add_children() at pci_add_children+0x10e
>> acpi_pci_attach() at acpi_pci_attach+0xcd
>> device_attach() at device_attach+0x69
>> bus_generic_attach() at bus_generic_attach+0x1a
>> acpi_pcib_attach() at acpi_pcib_attach+0x1a7
>> acpi_pcib_acpi_attach() at acpi_pcib_acpi_attach+0x1a5
>> device_attach() at device_attach+0x69
>> bus_generic_attach() at bus_generic_attach+0x1a
>> acpi_attach() at acpi_attach+0xa50
>> device_attach() at device_attach+0x69
>> bus_generic_attach() at bus_generic_attach+0x1a
>> device_attach() at device_attach+0x69
>> root_bus_configure() at root_bus_configure+0x28
>> configure() at configure+0xa
>> mi_startup() at mi_startup+0x59
>> btext() at biext+0x2c
>
> OK, will try to look at it more closely.
>
>> I'll try your patch.
>
> Please, note that the patch just adds verbosity, currently it won't
> heal
> anything.
>
> Still, the output from 'acpidump -dt' might be interesting.
> --
> Eygene
More information about the freebsd-current
mailing list