tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
acpitz hangs on attach
Hi -
a -current kernel hangs on some embedded i386 (CompactPCI)
CPU board when it tries to attach at:
THRM (ACPI Object Type 'Thermal' [0x0d]) at acpi0 not configured
(I've hacked the match function to reject it for now so I can
boot the box.)
I'll append the DSDT.
best regards
Matthias
-------------------------------------------------------------------
-------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzende des Aufsichtsrats: MinDir'in Baerbel Brumme-Bothe
Geschaeftsfuehrung: Prof. Dr. Achim Bachem (Vorsitzender),
Dr. Ulrich Krafft (stellv. Vorsitzender), Prof. Dr. Harald Bolt,
Dr. Sebastian M. Schmidt
-------------------------------------------------------------------
-------------------------------------------------------------------
/*
RSD PTR: Checksum=54, OEMID=IntelR, RsdtAddress=0x7f6e3040
*/
/*
RSDT: Length=64, Revision=1, Checksum=31,
OEMID=IntelR, OEM Table ID=AWRDACPI, OEM Revision=0x30302e32,
Creator ID=AWRD, Creator Revision=0x0
*/
/*
Entries={ 0x7f6e30c0, 0x7f6e6f40, 0x7f6e6fc0, 0x7f6e7040, 0x7f6e6e80,
0x7f6e70c0, 0x7f6e7550 }
*/
/*
DSDT=0x7f6e31c0
INT_MODEL=APIC
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xa1, ACPI_DISABLE=0xa0, S4BIOS_REQ=0x0
PM1a_EVT_BLK=0x400-0x403
PM1a_CNT_BLK=0x404-0x405
PM2_TMR_BLK=0x408-0x40b
PM2_GPE0_BLK=0x428-0x42f
P_LVL2_LAT=101ms, P_LVL3_LAT=1001ms
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=1
DAY_ALRM=13, MON_ALRM=0, CENTURY=0
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
*/
/*
DSDT: Length=15485, Revision=1, Checksum=68,
OEMID=INTELR, OEM Table ID=AWRDACPI, OEM Revision=0x1000,
Creator ID=MSFT, Creator Revision=0x3000000
*/
DefinitionBlock ("acpi_dst.aml", "DSDT", 0x1, "INTELR", "AWRDACPI", 0x1000)
{
Scope(\_PR) {
Processor(\_PR.CPU0, 0, 0x0, 0x0) {
}
Processor(\_PR.CPU1, 1, 0x0, 0x0) {
}
}
Name(\_S0, Package(0x04) {
0x00,
0x00,
0x00,
0x00,
})
Name(\SS1, Package(0x04) {
0x01,
0x00,
0x00,
0x00,
})
Name(\_S3, Package(0x04) {
0x05,
0x00,
0x00,
0x00,
})
Name(\_S4, Package(0x04) {
0x06,
0x00,
0x00,
0x00,
})
Name(\_W5, Package(0x04) {
0x07,
0x00,
0x00,
0x00,
})
Name(FLAG, 0x00)
Name(STAT, 0x00)
OperationRegion(\DEBG, SystemIO, 0x80, 0x01)
Field(\DEBG, ByteAcc, NoLock, Preserve) {
DBG1, 8
}
Name(NACL, 0x80)
Name(NPBP, 0x81)
OperationRegion(RCRB, SystemMemory, 0xfed1c000, 0x4000)
Field(RCRB, DWordAcc, Lock, Preserve) {
Offset(0x3404),
, 7,
HPTF, 1
}
OperationRegion(ELKM, SystemMemory, 0x000fffea, 0x01)
Field(ELKM, ByteAcc, NoLock, Preserve) {
, 1,
, 1,
ELSO, 1,
, 1,
, 1,
, 1,
, 1
}
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(\SMIC, SystemIO, 0xb2, 0x01)
Field(\SMIC, ByteAcc, NoLock, Preserve) {
SCP, 8
}
OperationRegion(\PM1S, SystemIO, 0x0400, 0x04)
Field(\PM1S, ByteAcc, NoLock, Preserve) {
PM00, 8,
PM01, 8,
PM02, 8,
PM03, 8
}
OperationRegion(\PM2S, SystemIO, 0x0429, 0x01)
Field(\PM2S, ByteAcc, NoLock, Preserve) {
, 1,
PM29, 1
}
OperationRegion(\SPEN, SystemIO, 0x0430, 0x01)
Field(\SPEN, ByteAcc, NoLock, Preserve) {
, 4,
TRAP, 1
}
OperationRegion(\GBLE, SystemIO, 0x0421, 0x01)
Field(\GBLE, ByteAcc, NoLock, Preserve) {
ESMI, 8
}
OperationRegion(APMP, SystemIO, 0xb2, 0x02)
Field(APMP, ByteAcc, NoLock, Preserve) {
APMC, 8,
APMD, 8
}
OperationRegion(PALD, SystemIO, 0x0490, 0x01)
Field(PALD, AnyAcc, NoLock, Preserve) {
LEDP, 8
}
OperationRegion(\GPO, SystemIO, 0x048c, 0x04)
Field(\GPO, ByteAcc, NoLock, Preserve) {
GO00, 1,
GO01, 1,
GO02, 1,
GO03, 1,
GO04, 1,
GO05, 1,
GO06, 1,
GO07, 1,
GO08, 1,
GO09, 1,
GO0A, 1,
GO0B, 1,
GO0C, 1,
GO0D, 1,
GO0E, 1,
GO0F, 1,
GO10, 1,
GO11, 1,
GO12, 1,
GO13, 1,
GO14, 1,
GO15, 1,
GO16, 1,
GO17, 1,
GO18, 1,
GO19, 1,
GO1A, 1,
GO1B, 1,
GO1C, 1,
GO1D, 1,
GO1E, 1,
GO1F, 1
}
OperationRegion(\GPO2, SystemIO, 0x04b8, 0x04)
Field(\GPO2, ByteAcc, NoLock, Preserve) {
GO20, 1,
GO21, 1,
GO22, 1,
GO23, 1,
GO24, 1,
GO25, 1,
GO26, 1,
GO27, 1,
, 1,
, 1,
, 1,
, 1,
, 1,
, 1,
, 1,
Offset(0x2),
GO30, 1,
GO31, 1
}
Name(OSFX, 0x01)
Name(OSFL, 0x01)
Method(STRC, 2) {
If(LNot(LEqual(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(LNot(LEqual(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(0xf),
SHUT, 8
}
OperationRegion(INFO, SystemMemory, 0x000ff840, 0x01)
Field(INFO, ByteAcc, NoLock, Preserve) {
KBDI, 1,
RTCW, 1,
PS2F, 1,
IRFL, 2,
DISE, 1,
SSHU, 1,
AWMD, 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) {
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) {
Store(Arg0, PICF)
}
}
Method(\_PTS, 1) {
Or(Arg0, 0xf0, Local0)
Store(Local0, DBG1)
Store(0x01, PM29)
If(LNot(LEqual(VID0, 0xffff))) {
If(LEqual(And(RSR0, 0x01, ), 0x01)) {
Or(RSR0, 0x01, RSR0)
Or(PMC0, 0x80, PMC0)
}
}
If(LNot(LEqual(VID1, 0xffff))) {
If(LEqual(And(RSR1, 0x01, ), 0x01)) {
Or(RSR1, 0x01, RSR1)
Or(PMC1, 0x80, PMC1)
}
}
If(LNot(LEqual(VID2, 0xffff))) {
If(LEqual(And(RSR2, 0x01, ), 0x01)) {
Or(RSR2, 0x01, RSR2)
Or(PMC2, 0x80, PMC2)
}
}
If(LNot(LEqual(VID3, 0xffff))) {
If(LEqual(And(RSR3, 0x01, ), 0x01)) {
Or(RSR3, 0x01, RSR3)
Or(PMC3, 0x80, PMC3)
}
}
OSTP()
If(LEqual(Arg0, 0x01)) {
}
If(LEqual(Arg0, 0x03)) {
}
If(LEqual(Arg0, 0x05)) {
Store(ESMI, Local0)
And(Local0, 0xfb, Local0)
Store(Local0, ESMI)
}
If(LEqual(Arg0, 0x04)) {
If(LNot(PICF)) {
Sleep(0x64)
}
}
}
Method(\_WAK, 1) {
Store(0xff, DBG1)
If(LEqual(Arg0, 0x03)) {
Store(0x88, SCP)
}
If(OSFL) {
Notify(\_SB.PWRB, 0x02)
}
Else {
If(LEqual(RTCW, 0x00)) {
Notify(\_SB.PWRB, 0x02)
}
}
Notify(\_SB.PCI0.USB0, 0x00)
Notify(\_SB.PCI0.USB1, 0x00)
Notify(\_SB.PCI0.USB2, 0x00)
Notify(\_SB.PCI0.USB3, 0x00)
}
Scope(\_SI) {
Method(_MSG, 1) {
Store(Local0, Local0)
}
Method(_SST, 1) {
Store(Local0, Local0)
}
}
Scope(\_GPE) {
Method(_L01) {
Sleep(0x64)
}
Method(_L05) {
Notify(\_SB.PCI0.AC97, 0x02)
Notify(\_SB.PCI0.AZAL, 0x02)
}
Method(_L03) {
Notify(\_SB.PCI0.USB0, 0x02)
}
Method(_L04) {
Notify(\_SB.PCI0.USB1, 0x02)
}
Method(_L0C) {
Notify(\_SB.PCI0.USB2, 0x02)
}
Method(_L0E) {
Notify(\_SB.PCI0.USB3, 0x02)
}
Method(_L0D) {
Notify(\_SB.PCI0.USBE, 0x02)
}
Method(_L0B) {
Notify(\_SB.PCI0.HUB0, 0x02)
}
Method(_L0A) {
Notify(\_SB.IELK, NPBP)
\_SB.IELK.CPBS()
}
Method(_L09) {
If(LNot(LEqual(VID0, 0xffff))) {
If(LEqual(And(RSR0, 0x01, ), 0x01)) {
Store(0xff, RSR0)
Store(0x80, PMC0)
Notify(\_SB.PCI0.PEX0, 0x02)
}
}
If(LNot(LEqual(VID1, 0xffff))) {
If(LEqual(And(RSR1, 0x01, ), 0x01)) {
Store(0xff, RSR1)
Store(0x80, PMC1)
Notify(\_SB.PCI0.PEX1, 0x02)
}
}
If(LNot(LEqual(VID2, 0xffff))) {
If(LEqual(And(RSR2, 0x01, ), 0x01)) {
Store(0xff, RSR2)
Store(0x80, PMC2)
Notify(\_SB.PCI0.PEX2, 0x02)
}
}
If(LNot(LEqual(VID3, 0xffff))) {
If(LEqual(And(RSR3, 0x01, ), 0x01)) {
Store(0xff, RSR3)
Store(0x80, PMC3)
Notify(\_SB.PCI0.PEX3, 0x02)
}
}
If(LNot(LEqual(VID4, 0xffff))) {
If(LEqual(And(RSR4, 0x01, ), 0x01)) {
Store(0xff, RSR4)
Store(0x80, PMC4)
Notify(\_SB.PCI0.PEX4, 0x02)
}
}
If(LNot(LEqual(VID5, 0xffff))) {
If(LEqual(And(RSR5, 0x01, ), 0x01)) {
Store(0xff, RSR5)
Store(0x80, PMC5)
Notify(\_SB.PCI0.PEX5, 0x02)
}
}
}
}
Scope(\_SB) {
Device(PWRB) {
Name(_HID, 0x0c0cd041)
Method(_STA) {
Return(0x0b)
}
}
Device(IELK) {
Name(_HID, "AWY0001")
Method(_STA) {
If(ELSO) {
Return(0x0f)
}
Return(0x00)
}
Method(DAPB, 0, Serialized) {
Return(0x01)
}
Method(ESKU, 1) {
If(Arg0) {
Store(0x89, SCP)
}
}
Method(ARPB, 0, Serialized) {
Return(0x01)
}
Method(SMOD, 1) {
Name(LDON, 0x03)
Name(LDOF, 0x02)
If(LNot(Arg0)) {
Store(LDOF, LEDP)
Store(0x00, \_SB.PCI0.PX40.ELGN)
Store(0x01, \_SB.PCI0.PX40.ELYL)
}
Else {
Store(LDON, LEDP)
Store(0x01, \_SB.PCI0.PX40.ELGN)
Store(0x00, \_SB.PCI0.PX40.ELYL)
}
Return(Zero)
}
Method(GPBS) {
Return(XOr(\_SB.PCI0.PX40.PBLV, 0x01, ))
}
Method(CPBS) {
Store(0x01, \_SB.PCI0.PX40.ELPB)
}
}
Device(PCI0) {
Name(_HID, 0x080ad041)
Name(_CID, 0x030ad041)
Name(_ADR, 0x00)
Name(_UID, 0x01)
Name(_BBN, 0x00)
Method(_S3D) {
If(LEqual(OSFL, 0x02)) {
Return(0x02)
}
Else {
Return(0x03)
}
}
Method(_STA) {
Return(0x0f)
}
Method(_CRS) {
Name(BUF0, Buffer(0x88) {0x88, 0xd, 0x0, 0x2, 0x1, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1,
0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0,
0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0,
0x0, 0x0, 0xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87,
0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0xff,
0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc,
0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0xff, 0xff, 0xbf, 0xfe, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0x79, 0x0 })
CreateDWordField(BUF0, 0x76, TCMM)
CreateDWordField(BUF0, 0x82, TOMM)
Add(AMEM, 0x00010000, TCMM)
Add(TCMM, 0x00010000, TCMM)
Subtract(0xfec00000, TCMM, TOMM)
Return(BUF0)
}
Name(PICM, Package(0x17) {
Package(0x04) {
0x0002ffff,
0x00,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x0002ffff,
0x01,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x0002ffff,
0x02,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x0002ffff,
0x03,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x001bffff,
0x00,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x0001ffff,
0x00,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x0001ffff,
0x01,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x0001ffff,
0x02,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x0001ffff,
0x03,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x001cffff,
0x00,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x001cffff,
0x01,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x001cffff,
0x02,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x001cffff,
0x03,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x001cffff,
0x02,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x001cffff,
0x03,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x001dffff,
0x00,
\_SB.PCI0.LNK1,
0x00,
},
Package(0x04) {
0x001dffff,
0x01,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x001dffff,
0x02,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x001dffff,
0x03,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x001effff,
0x00,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x001effff,
0x01,
\_SB.PCI0.LNKE,
0x00,
},
Package(0x04) {
0x001fffff,
0x00,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x001fffff,
0x01,
\_SB.PCI0.LNKD,
0x00,
},
})
Name(APIC, Package(0x17) {
Package(0x04) {
0x0002ffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0x0002ffff,
0x01,
0x00,
0x11,
},
Package(0x04) {
0x0002ffff,
0x02,
0x00,
0x12,
},
Package(0x04) {
0x0002ffff,
0x03,
0x00,
0x13,
},
Package(0x04) {
0x001bffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0x0001ffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0x0001ffff,
0x01,
0x00,
0x11,
},
Package(0x04) {
0x0001ffff,
0x02,
0x00,
0x12,
},
Package(0x04) {
0x0001ffff,
0x03,
0x00,
0x13,
},
Package(0x04) {
0x001cffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0x001cffff,
0x01,
0x00,
0x11,
},
Package(0x04) {
0x001cffff,
0x02,
0x00,
0x12,
},
Package(0x04) {
0x001cffff,
0x03,
0x00,
0x13,
},
Package(0x04) {
0x001cffff,
0x02,
0x00,
0x12,
},
Package(0x04) {
0x001cffff,
0x03,
0x00,
0x13,
},
Package(0x04) {
0x001dffff,
0x00,
0x00,
0x17,
},
Package(0x04) {
0x001dffff,
0x01,
0x00,
0x13,
},
Package(0x04) {
0x001dffff,
0x02,
0x00,
0x12,
},
Package(0x04) {
0x001dffff,
0x03,
0x00,
0x10,
},
Package(0x04) {
0x001effff,
0x00,
0x00,
0x11,
},
Package(0x04) {
0x001effff,
0x01,
0x00,
0x14,
},
Package(0x04) {
0x001fffff,
0x00,
0x00,
0x12,
},
Package(0x04) {
0x001fffff,
0x01,
0x00,
0x13,
},
})
Method(_PRT) {
If(LNot(PICF)) {
Return(PICM)
}
Else {
Return(APIC)
}
}
Device(PEX0) {
Name(_ADR, 0x001c0000)
Method(_STA) {
Return(0x0f)
}
Method(_PRW) {
Return(Package(0x02) {
0x09,
0x05,
})
}
OperationRegion(PCE0, PCI_Config, 0x00, 0xff)
Scope(\) {
Field(\_SB.PCI0.PEX0.PCE0, ByteAcc, NoLock, Preserve) {
VID0, 16,
Offset(0x62),
RSR0, 8,
Offset(0xdf),
PMC0, 8
}
}
Name(PIC0, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0xffff,
0x01,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0xffff,
0x02,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0xffff,
0x03,
\_SB.PCI0.LNKD,
0x00,
},
})
Name(API0, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0xffff,
0x01,
0x00,
0x11,
},
Package(0x04) {
0xffff,
0x02,
0x00,
0x12,
},
Package(0x04) {
0xffff,
0x03,
0x00,
0x13,
},
})
Method(_PRT) {
If(LNot(PICF)) {
Return(PIC0)
}
Else {
Return(API0)
}
}
}
Device(PEX1) {
Name(_ADR, 0x001c0001)
Method(_STA) {
Return(0x0f)
}
Method(_PRW) {
Return(Package(0x02) {
0x09,
0x05,
})
}
OperationRegion(PCE1, PCI_Config, 0x00, 0xff)
Scope(\) {
Field(\_SB.PCI0.PEX1.PCE1, ByteAcc, NoLock, Preserve) {
VID1, 16,
Offset(0x62),
RSR1, 8,
Offset(0xdf),
PMC1, 8
}
}
Name(PIC1, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0xffff,
0x01,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0xffff,
0x02,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0xffff,
0x03,
\_SB.PCI0.LNKA,
0x00,
},
})
Name(API1, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
0x00,
0x11,
},
Package(0x04) {
0xffff,
0x01,
0x00,
0x12,
},
Package(0x04) {
0xffff,
0x02,
0x00,
0x13,
},
Package(0x04) {
0xffff,
0x03,
0x00,
0x10,
},
})
Method(_PRT) {
If(LNot(PICF)) {
Return(PIC1)
}
Else {
Return(API1)
}
}
}
Device(PEX2) {
Name(_ADR, 0x001c0002)
Method(_STA) {
Return(0x0f)
}
Method(_PRW) {
Return(Package(0x02) {
0x09,
0x05,
})
}
OperationRegion(PCE2, PCI_Config, 0x00, 0xff)
Scope(\) {
Field(\_SB.PCI0.PEX2.PCE2, ByteAcc, NoLock, Preserve) {
VID2, 16,
Offset(0x62),
RSR2, 8,
Offset(0xdf),
PMC2, 8
}
}
Name(PIC2, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0xffff,
0x01,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0xffff,
0x02,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0xffff,
0x03,
\_SB.PCI0.LNKB,
0x00,
},
})
Name(API2, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
0x00,
0x12,
},
Package(0x04) {
0xffff,
0x01,
0x00,
0x13,
},
Package(0x04) {
0xffff,
0x02,
0x00,
0x10,
},
Package(0x04) {
0xffff,
0x03,
0x00,
0x11,
},
})
Method(_PRT) {
If(LNot(PICF)) {
Return(PIC2)
}
Else {
Return(API2)
}
}
}
Device(PEX3) {
Name(_ADR, 0x001c0003)
Method(_STA) {
Return(0x0f)
}
Method(_PRW) {
Return(Package(0x02) {
0x09,
0x05,
})
}
OperationRegion(PCE3, PCI_Config, 0x00, 0xff)
Scope(\) {
Field(\_SB.PCI0.PEX3.PCE3, ByteAcc, NoLock, Preserve) {
VID3, 16,
Offset(0x62),
RSR3, 8,
Offset(0xdf),
PMC3, 8
}
}
Name(PIC3, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0xffff,
0x01,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0xffff,
0x02,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0xffff,
0x03,
\_SB.PCI0.LNKC,
0x00,
},
})
Name(API3, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
0x00,
0x13,
},
Package(0x04) {
0xffff,
0x01,
0x00,
0x10,
},
Package(0x04) {
0xffff,
0x02,
0x00,
0x11,
},
Package(0x04) {
0xffff,
0x03,
0x00,
0x12,
},
})
Method(_PRT) {
If(LNot(PICF)) {
Return(PIC3)
}
Else {
Return(API3)
}
}
}
Device(PEX4) {
Name(_ADR, 0x001c0004)
Method(_STA) {
Return(0x0f)
}
Method(_PRW) {
Return(Package(0x02) {
0x09,
0x05,
})
}
OperationRegion(PCE4, PCI_Config, 0x00, 0xff)
Scope(\) {
Field(\_SB.PCI0.PEX4.PCE4, ByteAcc, NoLock, Preserve) {
VID4, 16,
Offset(0x62),
RSR4, 8,
Offset(0xdf),
PMC4, 8
}
}
Name(PIC4, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0xffff,
0x01,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0xffff,
0x02,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0xffff,
0x03,
\_SB.PCI0.LNKB,
0x00,
},
})
Name(API4, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0xffff,
0x01,
0x00,
0x11,
},
Package(0x04) {
0xffff,
0x02,
0x00,
0x12,
},
Package(0x04) {
0xffff,
0x03,
0x00,
0x13,
},
})
Method(_PRT) {
If(LNot(PICF)) {
Return(PIC4)
}
Else {
Return(API4)
}
}
}
Device(PEX5) {
Name(_ADR, 0x001c0005)
Method(_STA) {
Return(0x0f)
}
Method(_PRW) {
Return(Package(0x02) {
0x09,
0x05,
})
}
OperationRegion(PCE5, PCI_Config, 0x00, 0xff)
Scope(\) {
Field(\_SB.PCI0.PEX5.PCE5, ByteAcc, NoLock, Preserve) {
VID5, 16,
Offset(0x62),
RSR5, 8,
Offset(0xdf),
PMC5, 8
}
}
Name(PIC5, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0xffff,
0x01,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0xffff,
0x02,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0xffff,
0x03,
\_SB.PCI0.LNKC,
0x00,
},
})
Name(API5, Package(0x04) {
Package(0x04) {
0xffff,
0x00,
0x00,
0x11,
},
Package(0x04) {
0xffff,
0x01,
0x00,
0x12,
},
Package(0x04) {
0xffff,
0x02,
0x00,
0x13,
},
Package(0x04) {
0xffff,
0x03,
0x00,
0x10,
},
})
Method(_PRT) {
If(LNot(PICF)) {
Return(PIC5)
}
Else {
Return(API5)
}
}
}
Device(HUB0) {
Name(_ADR, 0x001e0000)
Method(_STA) {
Return(0x0f)
}
Name(PICM, Package(0x20) {
Package(0x04) {
0x000fffff,
0x00,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x000fffff,
0x01,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x000fffff,
0x02,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x000fffff,
0x03,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x000effff,
0x00,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x000effff,
0x01,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x000effff,
0x02,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x000effff,
0x03,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x000dffff,
0x00,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x000dffff,
0x01,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x000dffff,
0x02,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x000dffff,
0x03,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x000cffff,
0x00,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x000cffff,
0x01,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x000cffff,
0x02,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x000cffff,
0x03,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x000bffff,
0x00,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x000bffff,
0x01,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x000bffff,
0x02,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x000bffff,
0x03,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x000affff,
0x00,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x000affff,
0x01,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x000affff,
0x02,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x000affff,
0x03,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x0009ffff,
0x00,
\_SB.PCI0.LNKB,
0x00,
},
Package(0x04) {
0x0009ffff,
0x01,
\_SB.PCI0.LNKC,
0x00,
},
Package(0x04) {
0x0009ffff,
0x02,
\_SB.PCI0.LNKD,
0x00,
},
Package(0x04) {
0x0009ffff,
0x03,
\_SB.PCI0.LNKA,
0x00,
},
Package(0x04) {
0x0008ffff,
0x00,
\_SB.PCI0.LNKE,
0x00,
},
Package(0x04) {
0x0008ffff,
0x01,
\_SB.PCI0.LNKF,
0x00,
},
Package(0x04) {
0x0008ffff,
0x02,
\_SB.PCI0.LNK0,
0x00,
},
Package(0x04) {
0x0008ffff,
0x03,
\_SB.PCI0.LNK1,
0x00,
},
})
Name(APIC, Package(0x20) {
Package(0x04) {
0x000fffff,
0x00,
0x00,
0x13,
},
Package(0x04) {
0x000fffff,
0x01,
0x00,
0x10,
},
Package(0x04) {
0x000fffff,
0x02,
0x00,
0x11,
},
Package(0x04) {
0x000fffff,
0x03,
0x00,
0x12,
},
Package(0x04) {
0x000effff,
0x00,
0x00,
0x12,
},
Package(0x04) {
0x000effff,
0x01,
0x00,
0x13,
},
Package(0x04) {
0x000effff,
0x02,
0x00,
0x10,
},
Package(0x04) {
0x000effff,
0x03,
0x00,
0x11,
},
Package(0x04) {
0x000dffff,
0x00,
0x00,
0x11,
},
Package(0x04) {
0x000dffff,
0x01,
0x00,
0x12,
},
Package(0x04) {
0x000dffff,
0x02,
0x00,
0x13,
},
Package(0x04) {
0x000dffff,
0x03,
0x00,
0x10,
},
Package(0x04) {
0x000cffff,
0x00,
0x00,
0x10,
},
Package(0x04) {
0x000cffff,
0x01,
0x00,
0x11,
},
Package(0x04) {
0x000cffff,
0x02,
0x00,
0x12,
},
Package(0x04) {
0x000cffff,
0x03,
0x00,
0x13,
},
Package(0x04) {
0x000bffff,
0x00,
0x00,
0x13,
},
Package(0x04) {
0x000bffff,
0x01,
0x00,
0x10,
},
Package(0x04) {
0x000bffff,
0x02,
0x00,
0x11,
},
Package(0x04) {
0x000bffff,
0x03,
0x00,
0x12,
},
Package(0x04) {
0x000affff,
0x00,
0x00,
0x12,
},
Package(0x04) {
0x000affff,
0x01,
0x00,
0x13,
},
Package(0x04) {
0x000affff,
0x02,
0x00,
0x10,
},
Package(0x04) {
0x000affff,
0x03,
0x00,
0x11,
},
Package(0x04) {
0x0009ffff,
0x00,
0x00,
0x11,
},
Package(0x04) {
0x0009ffff,
0x01,
0x00,
0x12,
},
Package(0x04) {
0x0009ffff,
0x02,
0x00,
0x13,
},
Package(0x04) {
0x0009ffff,
0x03,
0x00,
0x10,
},
Package(0x04) {
0x0008ffff,
0x00,
0x00,
0x14,
},
Package(0x04) {
0x0008ffff,
0x01,
0x00,
0x15,
},
Package(0x04) {
0x0008ffff,
0x02,
0x00,
0x16,
},
Package(0x04) {
0x0008ffff,
0x03,
0x00,
0x17,
},
})
Method(_PRT) {
If(LNot(PICF)) {
Return(PICM)
}
Else {
Return(APIC)
}
}
Method(_PRW) {
Return(Package(0x02) {
0x0b,
0x05,
})
}
}
Device(PX40) {
Name(_ADR, 0x001f0000)
OperationRegion(ELR0, PCI_Config, 0x00, 0x0100)
Field(ELR0, AnyAcc, NoLock, Preserve) {
Offset(0xa0),
, 9,
PBLV, 1,
Offset(0xa2),
Offset(0xb0),
, 3,
ELPB, 1,
Offset(0xb1),
, 2,
ELGN, 2,
ELYL, 2
}
OperationRegion(OP9F, PCI_Config, 0x58, 0x02)
Field(OP9F, AnyAcc, NoLock, Preserve) {
BA45, 16
}
Method(GPBS) {
And(0xfffe, BA45, Local0)
Return(Local0)
}
Scope(\) {
Name(IDTS, Package(0x03) {
"\x5fDTS",
0x7f6e6f40,
0x00,
})
}
OperationRegion(DTST, SystemMemory, DerefOf(Index(IDTS, 0x01, )),
0x60)
Field(DTST, AnyAcc, Lock, Preserve) {
Offset(0x20),
DTS1, 8,
DTS2, 8,
TMPS, 8
}
ThermalZone(TZ00) {
Method(_CRT, 0, Serialized) {
Return(Add(0x0aac, Multiply(0x7f, 0x0a, ), ))
}
Method(_TMP, 0, Serialized) {
Store(0x8a, SCP)
Return(Add(0x0aac, Multiply(TMPS, 0x0a, ), ))
}
}
OperationRegion(PREV, PCI_Config, 0x08, 0x01)
Scope(\) {
Field(\_SB.PCI0.PX40.PREV, ByteAcc, NoLock, Preserve) {
REV0, 8
}
}
OperationRegion(PIRQ, PCI_Config, 0x60, 0x04)
Scope(\) {
Field(\_SB.PCI0.PX40.PIRQ, ByteAcc, NoLock, Preserve) {
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
}
OperationRegion(PIR2, PCI_Config, 0x68, 0x04)
Scope(\) {
Field(\_SB.PCI0.PX40.PIR2, ByteAcc, NoLock, Preserve) {
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8
}
}
OperationRegion(LPIO, PCI_Config, 0x80, 0x0e)
Scope(\) {
Field(\_SB.PCI0.PX40.LPIO, ByteAcc, NoLock, Preserve) {
UAIO, 8,
PRIO, 8,
LPE1, 8,
LPE2, 8,
GN1L, 8,
GN1H, 8,
GN2L, 8,
GN2H, 8
}
Method(DISD, 1) {
If(LEqual(Arg0, 0x00)) {
And(LPE1, 0xfe, LPE1)
}
If(LEqual(Arg0, 0x01)) {
And(LPE1, 0xfd, LPE1)
}
If(LEqual(Arg0, 0x02)) {
And(LPE1, 0xfb, LPE1)
}
If(LEqual(Arg0, 0x03)) {
And(LPE1, 0xf7, LPE1)
}
If(LEqual(Arg0, 0x04)) {
And(LPE2, 0xfc, LPE2)
}
If(LEqual(Arg0, 0x05)) {
And(LPE1, 0xdf, LPE1)
}
If(LEqual(Arg0, 0x06)) {
And(GN2L, 0xfe, GN2L)
}
}
Method(CKIO, 2) {
If(LEqual(Arg1, 0x00)) {
Or(LPE1, 0x01, LPE1)
And(UAIO, 0xf0, Local0)
If(LEqual(Arg0, 0x03f8)) {
Or(Local0, 0x00, UAIO)
}
If(LEqual(Arg0, 0x02f8)) {
Or(Local0, 0x01, UAIO)
}
If(LEqual(Arg0, 0x02e8)) {
Or(Local0, 0x05, UAIO)
}
If(LEqual(Arg0, 0x03e8)) {
Or(Local0, 0x07, UAIO)
}
}
If(LEqual(Arg1, 0x01)) {
Or(LPE1, 0x02, LPE1)
And(UAIO, 0x0f, Local0)
If(LEqual(Arg0, 0x03f8)) {
Or(Local0, 0x00, UAIO)
}
If(LEqual(Arg0, 0x02f8)) {
Or(Local0, 0x10, UAIO)
}
If(LEqual(Arg0, 0x02e8)) {
Or(Local0, 0x50, UAIO)
}
If(LEqual(Arg0, 0x03e8)) {
Or(Local0, 0x70, UAIO)
}
}
If(LEqual(Arg1, 0x02)) {
Or(LPE1, 0x04, LPE1)
And(PRIO, 0xfc, Local0)
If(LEqual(Arg0, 0x0378)) {
Or(Local0, 0x00, PRIO)
}
If(LEqual(Arg0, 0x0278)) {
Or(Local0, 0x01, PRIO)
}
If(LEqual(Arg0, 0x03bc)) {
Or(Local0, 0x02, PRIO)
}
}
If(LEqual(Arg1, 0x03)) {
Or(LPE1, 0x08, LPE1)
}
If(LEqual(Arg1, 0x04)) {
If(LEqual(Arg0, 0x0201)) {
Or(LPE2, 0x01, LPE2)
}
If(LEqual(Arg0, 0x0209)) {
Or(LPE2, 0x02, LPE2)
}
}
If(LEqual(Arg1, 0x06)) {
If(LNot(LEqual(Arg0, 0xffff))) {
And(Arg0, 0xff, Local0)
Or(Local0, 0x01, GN2L)
ShiftRight(Arg0, 0x08, GN2H)
}
Else {
Store(Zero, GN2H)
Store(Zero, GN2L)
}
}
}
}
Scope(\) {
Method(SLDM, 2) {
}
}
Scope(\) {
OperationRegion(\SCPP, SystemIO, 0xb2, 0x01)
Field(\SCPP, ByteAcc, NoLock, Preserve) {
SMIP, 8
}
}
Method(\_SB.PCI0._INI) {
If(STRC(\_OS, "Microsoft\x20Windows")) {
Store(0x56, SMIP)
}
Else {
If(STRC(\_OS, "Microsoft\x20Windows\x20NT")) {
If(CondRefOf(\_OSI, Local0)) {
If(\_OSI("Windows\x202001")) {
Store(0x59, SMIP)
Store(0x00, OSFL)
Store(0x03, OSFX)
}
If(\_OSI("Windows\x202006")) {
Store(0x59, SMIP)
Store(0x00, OSFL)
Store(0x04, OSFX)
}
}
Else {
Store(0x58, SMIP)
Store(0x00, OSFX)
Store(0x00, OSFL)
}
}
Else {
Store(0x57, SMIP)
Store(0x02, OSFX)
Store(0x02, OSFL)
}
}
}
Scope(\) {
Method(OSTP) {
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)
}
If(LEqual(OSFX, 0x04)) {
Store(0x59, SMIP)
}
}
}
Device(SYSR) {
Name(_HID, 0x020cd041)
Name(_UID, 0x01)
Name(_CRS, Buffer(0x62) {0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0x1,
0x10, 0x47, 0x1, 0x22, 0x0, 0x22, 0x0, 0x1, 0x1e, 0x47, 0x1, 0x44, 0x0, 0x44,
0x0, 0x1, 0x1c, 0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x2, 0x47, 0x1, 0x65,
0x0, 0x65, 0x0, 0x1, 0xb, 0x47, 0x1, 0x74, 0x0, 0x74, 0x0, 0x1, 0xc, 0x47, 0x1,
0x91, 0x0, 0x91, 0x0, 0x1, 0x3, 0x47, 0x1, 0xa2, 0x0, 0xa2, 0x0, 0x1, 0x1e,
0x47, 0x1, 0xe0, 0x0, 0xe0, 0x0, 0x1, 0x10, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4,
0x1, 0x2, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x1, 0x80, 0x47, 0x1, 0x80, 0x8, 0x80,
0x8, 0x1, 0x10, 0x79, 0x0 })
}
Device(PIC) {
Name(_HID, 0xd041)
Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1,
0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
}
Device(DMA1) {
Name(_HID, 0x0002d041)
Name(_CRS, Buffer(0x25) {0x2a, 0x10, 0x4, 0x47, 0x1, 0x0, 0x0,
0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x11, 0x47, 0x1,
0x94, 0x0, 0x94, 0x0, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20,
0x79, 0x0 })
}
Device(TMR) {
Name(_HID, 0x0001d041)
Name(ATT5, Buffer(0x0d) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x0,
0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
Name(ATT6, Buffer(0x0a) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x0,
0x4, 0x79, 0x0 })
Method(_CRS) {
If(LNot(LLess(OSFX, 0x03))) {
If(HPTF) {
Return(ATT6)
}
Else {
Return(ATT5)
}
}
Else {
Return(ATT5)
}
}
}
Device(HPET) {
Name(_HID, 0x0301d041)
Name(ATT3, Buffer(0x14) {0x22, 0x1, 0x0, 0x22, 0x0, 0x1, 0x86,
0x9, 0x0, 0x1, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 })
Name(ATT4, Buffer(0x02) {0x79, 0x0 })
Method(_STA) {
If(LNot(LLess(OSFX, 0x03))) {
If(HPTF) {
Return(0x0f)
}
Else {
Return(0x00)
}
}
Else {
Return(0x00)
}
}
Method(_CRS) {
If(LNot(LLess(OSFX, 0x03))) {
If(HPTF) {
Return(ATT3)
}
Else {
Return(ATT4)
}
}
Else {
Return(ATT4)
}
}
}
Device(RTC) {
Name(_HID, 0x000bd041)
Name(ATT0, Buffer(0x0d) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x0,
0x4, 0x22, 0x0, 0x1, 0x79, 0x0 })
Name(ATT1, Buffer(0x0a) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x0,
0x4, 0x79, 0x0 })
Method(_CRS) {
If(LNot(LLess(OSFX, 0x03))) {
If(HPTF) {
Return(ATT1)
}
Else {
Return(ATT0)
}
}
Else {
Return(ATT0)
}
}
}
Device(SPKR) {
Name(_HID, 0x0008d041)
Name(_CRS, Buffer(0x0a) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1,
0x1, 0x79, 0x0 })
}
Device(COPR) {
Name(_HID, 0x040cd041)
Name(_CRS, Buffer(0x0d) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1,
0x10, 0x22, 0x0, 0x20, 0x79, 0x0 })
}
Device(PMIO) {
Name(_HID, 0x020cd041)
Name(_UID, 0x02)
Method(_CRS) {
Name(BUF0, Buffer(0x0a) {0x47, 0x1, 0x0, 0x4, 0x0, 0x4,
0x1, 0xc0, 0x79, 0x0 })
Return(BUF0)
}
}
}
Device(USB0) {
Name(_ADR, 0x001d0000)
Method(_S3D) {
If(LEqual(OSFL, 0x02)) {
Return(0x02)
}
Return(0x03)
}
Method(_PRW) {
Return(Package(0x02) {
0x03,
0x04,
})
}
}
Device(USB1) {
Name(_ADR, 0x001d0001)
Method(_S3D) {
If(LEqual(OSFL, 0x02)) {
Return(0x02)
}
Return(0x03)
}
Method(_PRW) {
Return(Package(0x02) {
0x04,
0x04,
})
}
}
Device(USB2) {
Name(_ADR, 0x001d0002)
Method(_S3D) {
If(LEqual(OSFL, 0x02)) {
Return(0x02)
}
Return(0x03)
}
Method(_PRW) {
Return(Package(0x02) {
0x0c,
0x04,
})
}
}
Device(USB3) {
Name(_ADR, 0x001d0003)
Method(_S3D) {
If(LEqual(OSFL, 0x02)) {
Return(0x02)
}
Return(0x03)
}
Method(_PRW) {
Return(Package(0x02) {
0x0e,
0x04,
})
}
}
Device(USBE) {
Name(_ADR, 0x001d0007)
Method(_S3D) {
If(LEqual(OSFL, 0x02)) {
Return(0x02)
}
Return(0x03)
}
Method(_PRW) {
Return(Package(0x02) {
0x0d,
0x04,
})
}
}
Device(ICHX) {
Name(_ADR, 0x001f0001)
OperationRegion(PCI, PCI_Config, 0x40, 0x20)
Field(PCI, DWordAcc, NoLock, Preserve) {
ITM0, 16,
ITM1, 16,
SIT0, 4,
SIT1, 4,
Offset(0x8),
UDC0, 2,
UDC1, 2,
Offset(0xa),
UDT0, 8,
UDT1, 8,
Offset(0x14),
ICF0, 2,
ICF1, 2,
, 6,
WPPE, 1,
, 1,
FAS0, 2,
FAS1, 2
}
Method(GTM, 6) {
Store(Buffer(0x14) { }, Local0)
CreateDWordField(Local0, 0x00, PIO0)
CreateDWordField(Local0, 0x04, DMA0)
CreateDWordField(Local0, 0x08, PIO1)
CreateDWordField(Local0, 0x0c, DMA1)
CreateDWordField(Local0, 0x10, FLAG)
Store(0x10, FLAG)
If(LOr(And(Arg0, 0x08, ), LNot(And(Arg0, 0x01, )))) {
Store(0x0384, PIO0)
}
Else {
Add(ShiftRight(And(Arg0, 0x0300, ), 0x08, ),
ShiftRight(And(Arg0, 0x3000, ), 0x0c, ), Local1)
Multiply(Subtract(0x09, Local1, ), 0x1e, PIO0)
}
If(LOr(LAnd(Arg0, 0x4000), LAnd(Arg2, 0x01))) {
If(LOr(And(Arg0, 0x80, ), LNot(And(Arg0, 0x10, )))) {
Store(0x0384, PIO1)
}
Else {
Add(And(Arg1, 0x03, ), ShiftRight(And(Arg1, 0x0c, ),
0x02, ), Local1)
Multiply(Subtract(0x09, Local1, ), 0x1e, PIO1)
}
}
Else {
Store(PIO0, PIO1)
}
If(And(Arg2, 0x01, )) {
Subtract(0x04, And(Arg3, 0x03, ), Local1)
If(And(Arg5, 0x01, )) {
Store(0x14, DMA0)
}
Else {
If(And(Arg4, 0x01, )) {
Multiply(Local1, 0x0f, DMA0)
}
Else {
Multiply(Local1, 0x1e, DMA0)
}
}
}
Else {
Store(PIO0, DMA0)
}
If(LOr(LAnd(Arg0, 0x4000), LAnd(Arg2, 0x01))) {
If(And(Arg2, 0x02, )) {
Subtract(0x04, ShiftRight(And(Arg3, 0x30, ), 0x04, ),
Local1)
If(And(Arg5, 0x02, )) {
Store(0x14, DMA1)
}
Else {
If(And(Arg4, 0x02, )) {
Multiply(Local1, 0x0f, DMA1)
}
Else {
Multiply(Local1, 0x1e, DMA1)
}
}
}
Else {
Store(PIO1, DMA1)
}
}
Else {
Store(DMA0, DMA1)
}
Store(Zero, FLAG)
If(And(Arg0, 0x01, )) {
Or(FLAG, 0x10, FLAG)
}
If(And(Arg2, 0x01, )) {
Or(FLAG, 0x01, FLAG)
}
If(And(Arg0, 0x02, )) {
Or(FLAG, 0x02, FLAG)
}
If(And(Arg2, 0x02, )) {
Or(FLAG, 0x04, FLAG)
}
If(And(Arg0, 0x20, )) {
Or(FLAG, 0x08, FLAG)
}
Return(Local0)
}
Method(STM, 3) {
Store(Buffer(0x18) { }, Local7)
CreateDWordField(Local7, 0x00, ITM)
CreateDWordField(Local7, 0x04, SIT)
CreateDWordField(Local7, 0x08, UDC)
CreateDWordField(Local7, 0x0c, UDT)
CreateDWordField(Local7, 0x10, ICF)
CreateDWordField(Local7, 0x14, FAS)
CreateDWordField(Arg0, 0x00, PIO0)
CreateDWordField(Arg0, 0x04, DMA0)
CreateDWordField(Arg0, 0x08, PIO1)
CreateDWordField(Arg0, 0x0c, DMA1)
CreateDWordField(Arg0, 0x10, FLAG)
Store(FLAG, Local4)
Store(0x8000, Local0)
If(And(Local4, 0x02, )) {
Or(Local0, 0x07, Local0)
}
If(And(Local4, 0x08, )) {
Or(Local0, 0x4000, Local0)
Or(Local0, 0x70, Local0)
}
If(LAnd(LLess(DMA0, PIO0), LNot(And(Local4, 0x01, )))) {
Or(Local0, 0x08, Local0)
}
If(LAnd(LLess(DMA1, PIO1), LNot(And(Local4, 0x04, )))) {
Or(Local0, 0x80, Local0)
}
If(PIO0) {
If(LLess(PIO0, 0x0384)) {
Or(Local0, 0x01, Local0)
}
}
If(PIO1) {
If(LLess(PIO1, 0x0384)) {
Or(Local0, 0x10, Local0)
}
}
If(And(Local4, 0x01, )) {
Store(PIO0, Local1)
}
Else {
Store(DMA0, Local1)
}
If(Local1) {
If(LNot(LGreater(Local1, 0x78))) {
Or(Local0, 0x2300, Local0)
}
Else {
If(LNot(LGreater(Local1, 0xb4))) {
Or(Local0, 0x2100, Local0)
}
Else {
If(LNot(LGreater(Local1, 0xf0))) {
Or(Local0, 0x1000, Local0)
}
}
}
}
Store(Local0, ITM)
Store(Zero, Local0)
If(And(Local4, 0x04, )) {
Store(PIO1, Local1)
}
Else {
Store(DMA1, Local1)
}
If(Local1) {
If(LNot(LGreater(Local1, 0x78))) {
Store(0x0b, Local0)
}
Else {
If(LNot(LGreater(Local1, 0xb4))) {
Store(0x09, Local0)
}
Else {
If(LNot(LGreater(Local1, 0xf0))) {
Store(0x04, Local0)
}
}
}
}
Store(Local0, SIT)
Store(0x00, Local0)
If(And(Local4, 0x01, )) {
Or(Local0, 0x01, Local0)
}
If(And(Local4, 0x04, )) {
Or(Local0, 0x02, Local0)
}
Store(Local0, UDC)
Store(0x00, Local0)
If(And(Local4, 0x01, )) {
If(LEqual(DMA0, 0x14)) {
Store(0x01, Local0)
}
Else {
If(LLess(DMA0, 0x3c)) {
Divide(DMA0, 0x0f, , Local1)
}
Else {
Divide(DMA0, 0x1e, , Local1)
}
Subtract(0x04, Local1, Local0)
}
}
If(And(Local4, 0x04, )) {
If(LEqual(DMA1, 0x14)) {
Store(0x01, Local1)
}
Else {
If(LLess(DMA1, 0x3c)) {
Divide(DMA1, 0x0f, , Local1)
}
Else {
Divide(DMA1, 0x1e, , Local1)
}
Subtract(0x04, Local1, Local1)
}
ShiftLeft(Local1, 0x04, Local1)
Or(Local0, Local1, Local0)
}
Store(Local0, UDT)
Store(0x00, Local0)
If(DMA0) {
If(LGreater(DMA0, 0x14)) {
If(LLess(DMA0, 0x3c)) {
Or(Local0, 0x01, Local0)
}
}
}
If(DMA1) {
If(LGreater(DMA1, 0x14)) {
If(LLess(DMA1, 0x3c)) {
Or(Local0, 0x02, Local0)
}
}
}
Store(Local0, ICF)
Store(0x00, Local0)
If(LEqual(DMA0, 0x14)) {
Or(Local0, 0x01, Local0)
}
If(LEqual(DMA1, 0x14)) {
Or(Local0, 0x02, Local0)
}
Store(Local0, FAS)
Return(Local7)
}
Method(H15P, 1) {
Name(BUFF, Buffer(0x08) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
})
Store(Arg0, Local0)
Store(BUFF, Local1)
Concatenate(Local0, Local1, Local7)
CreateWordField(Local7, 0x02, CYL)
CreateWordField(Local7, 0x06, HEAD)
CreateWordField(Local7, 0x0c, SPT)
If(LAnd(LNot(LLess(HEAD, 0x10)), LNot(LLess(CYL, 0x2000)))) {
Return(SPT)
}
Else {
Return(Zero)
}
}
Method(GTF0, 7) {
Store(Buffer(0x07) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef },
Local7)
CreateByteField(Local7, 0x01, MODE)
If(And(Arg2, 0x01, )) {
And(Arg3, 0x03, Local0)
If(And(Arg6, 0x01, )) {
Add(Local0, 0x04, Local0)
}
Else {
If(And(Arg4, 0x01, )) {
Add(Local0, 0x02, Local0)
}
}
Or(Local0, 0x40, MODE)
}
Else {
Add(ShiftRight(And(Arg0, 0x0300, ), 0x08, ),
ShiftRight(And(Arg0, 0x3000, ), 0x0c, ), Local0)
If(LNot(LLess(Local0, 0x05))) {
Store(0x22, MODE)
}
Else {
If(LNot(LLess(Local0, 0x03))) {
Store(0x21, MODE)
}
Else {
Store(0x20, MODE)
}
}
}
Concatenate(Local7, Local7, Local6)
If(LOr(And(Arg0, 0x08, ), LNot(And(Arg0, 0x01, )))) {
If(And(Arg0, 0x02, )) {
Store(0x00, MODE)
}
Else {
Store(0x01, MODE)
}
}
Else {
Add(ShiftRight(And(Arg0, 0x0300, ), 0x08, ),
ShiftRight(And(Arg0, 0x3000, ), 0x0c, ), Local0)
If(LNot(LLess(Local0, 0x05))) {
Store(0x0c, MODE)
}
Else {
If(LNot(LLess(Local0, 0x03))) {
Store(0x0b, MODE)
}
Else {
Store(0x0a, MODE)
}
}
}
Concatenate(Local6, Local7, Local5)
If(Arg5) {
Store(Buffer(0x07) {0x0, 0x0, 0x0, 0x0, 0x0, 0xae, 0x91 },
Local4)
CreateByteField(Local4, 0x01, SPT)
Store(Arg5, SPT)
Concatenate(Local5, Local4, Local6)
Return(Local6)
}
Else {
Return(Local5)
}
}
Method(GTF1, 7) {
Store(Buffer(0x07) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef },
Local7)
CreateByteField(Local7, 0x01, MODE)
If(And(Arg2, 0x02, )) {
ShiftRight(And(Arg3, 0x30, ), 0x04, Local0)
If(And(Arg6, 0x02, )) {
Add(Local0, 0x04, Local0)
}
Else {
If(And(Arg4, 0x02, )) {
Add(Local0, 0x02, Local0)
}
}
Or(Local0, 0x40, MODE)
}
Else {
Add(ShiftRight(And(Arg1, 0x03, ), 0x02, ), And(Arg1, 0x0c,
), Local0)
If(LNot(LLess(Local0, 0x05))) {
Store(0x22, MODE)
}
Else {
If(LNot(LLess(Local0, 0x03))) {
Store(0x21, MODE)
}
Else {
Store(0x20, MODE)
}
}
}
Concatenate(Local7, Local7, Local6)
If(LOr(And(Arg0, 0x80, ), LNot(And(Arg0, 0x10, )))) {
If(And(Arg0, 0x20, )) {
Store(0x00, MODE)
}
Else {
Store(0x01, MODE)
}
}
Else {
Add(ShiftRight(And(Arg1, 0x03, ), 0x02, ), And(Arg1, 0x0c,
), Local0)
If(LNot(LLess(Local0, 0x05))) {
Store(0x0c, MODE)
}
Else {
If(LNot(LLess(Local0, 0x03))) {
Store(0x0b, MODE)
}
Else {
Store(0x0a, MODE)
}
}
}
Concatenate(Local6, Local7, Local5)
If(Arg5) {
Store(Buffer(0x07) {0x0, 0x0, 0x0, 0x0, 0x0, 0xbe, 0x91 },
Local4)
CreateByteField(Local4, 0x01, SPT)
Store(Arg5, SPT)
Concatenate(Local5, Local4, Local6)
Return(Local6)
}
Else {
Return(Local5)
}
}
Device(PRIM) {
Name(_ADR, 0x00)
Method(_GTM) {
Store(GTM(ITM0, SIT0, UDC0, UDT0, ICF0, FAS0), Local0)
Return(Local0)
}
Method(_STM, 3) {
Store(STM(Arg0, Arg1, Arg2), Local0)
CreateDWordField(Local0, 0x00, ITM)
CreateDWordField(Local0, 0x04, SIT)
CreateDWordField(Local0, 0x08, UDC)
CreateDWordField(Local0, 0x0c, UDT)
CreateDWordField(Local0, 0x10, ICF)
CreateDWordField(Local0, 0x14, FAS)
Store(UDC, UDC0)
Store(UDT, UDT0)
Store(ICF, ICF0)
Store(FAS, FAS0)
}
Device(MAST) {
Name(_ADR, 0x00)
Name(H15F, Zero)
Method(_GTF) {
Store(GTF0(ITM0, SIT0, UDC0, UDT0, ICF0, H15F, FAS0),
Local0)
Return(Local0)
}
}
Device(SLAV) {
Name(_ADR, 0x01)
Name(H15F, Zero)
Method(_GTF) {
Store(GTF1(ITM0, SIT0, UDC0, UDT0, ICF0, H15F, FAS0),
Local0)
Return(Local0)
}
}
}
Device(SECN) {
Name(_ADR, 0x01)
Method(_GTM) {
Store(GTM(ITM1, SIT1, UDC1, UDT1, ICF1, FAS1), Local0)
Return(Local0)
}
Method(_STM, 3) {
Store(STM(Arg0, Arg1, Arg2), Local0)
CreateDWordField(Local0, 0x00, ITM)
CreateDWordField(Local0, 0x04, SIT)
CreateDWordField(Local0, 0x08, UDC)
CreateDWordField(Local0, 0x0c, UDT)
CreateDWordField(Local0, 0x10, ICF)
CreateDWordField(Local0, 0x14, FAS)
Store(UDC, UDC1)
Store(UDT, UDT1)
Store(ICF, ICF1)
Store(FAS, FAS1)
}
Device(MAST) {
Name(_ADR, 0x00)
Name(H15F, Zero)
Method(_GTF) {
Store(GTF0(ITM1, SIT1, UDC1, UDT1, ICF1, H15F, FAS1),
Local0)
Return(Local0)
}
}
Device(SLAV) {
Name(_ADR, 0x01)
Name(H15F, Zero)
Method(_GTF) {
Store(GTF1(ITM1, SIT1, UDC1, UDT1, ICF1, H15F, FAS1),
Local0)
Return(Local0)
}
}
}
}
Device(IDE1) {
Name(_ADR, 0x001f0002)
OperationRegion(PCI, PCI_Config, 0x40, 0x20)
Field(PCI, DWordAcc, NoLock, Preserve) {
ITM0, 16,
ITM1, 16,
SIT0, 4,
SIT1, 4,
Offset(0x8),
UDC0, 2,
UDC1, 2,
Offset(0xa),
UDT0, 8,
UDT1, 8,
Offset(0x14),
ICF0, 2,
ICF1, 2,
, 6,
WPPE, 1,
, 1,
FAS0, 2,
FAS1, 2
}
Device(PRIM) {
Name(_ADR, 0x00)
Method(_GTM) {
Store(\_SB.PCI0.ICHX.GTM(ITM0, SIT0, UDC0, UDT0, ICF0,
FAS0), Local0)
Return(Local0)
}
Method(_STM, 3) {
Store(\_SB.PCI0.ICHX.STM(Arg0, Arg1, Arg2), Local0)
CreateDWordField(Local0, 0x00, ITM)
CreateDWordField(Local0, 0x04, SIT)
CreateDWordField(Local0, 0x08, UDC)
CreateDWordField(Local0, 0x0c, UDT)
CreateDWordField(Local0, 0x10, ICF)
CreateDWordField(Local0, 0x14, FAS)
Store(UDC, UDC0)
Store(UDT, UDT0)
Store(ICF, ICF0)
Store(FAS, FAS0)
}
Device(DRV0) {
Name(_ADR, 0x00)
Name(H15F, Zero)
Method(_GTF) {
Store(\_SB.PCI0.ICHX.GTF0(ITM0, SIT0, UDC0, UDT0, ICF0,
H15F, FAS0), Local0)
Return(Local0)
}
}
Device(DRV1) {
Name(_ADR, 0x01)
Name(H15F, Zero)
Method(_GTF) {
Store(\_SB.PCI0.ICHX.GTF1(ITM0, SIT0, UDC0, UDT0, ICF0,
H15F, FAS0), Local0)
Return(Local0)
}
}
}
Device(SECD) {
Name(_ADR, 0x01)
Method(_GTM) {
Store(\_SB.PCI0.ICHX.GTM(ITM1, SIT1, UDC1, UDT1, ICF1,
FAS1), Local0)
Return(Local0)
}
Method(_STM, 3) {
Store(\_SB.PCI0.ICHX.STM(Arg0, Arg1, Arg2), Local0)
CreateDWordField(Local0, 0x00, ITM)
CreateDWordField(Local0, 0x04, SIT)
CreateDWordField(Local0, 0x08, UDC)
CreateDWordField(Local0, 0x0c, UDT)
CreateDWordField(Local0, 0x10, ICF)
CreateDWordField(Local0, 0x14, FAS)
Store(UDC, UDC1)
Store(UDT, UDT1)
Store(ICF, ICF1)
Store(FAS, FAS1)
}
Device(DRV0) {
Name(_ADR, 0x00)
Name(H15F, Zero)
Method(_GTF) {
Store(\_SB.PCI0.ICHX.GTF0(ITM1, SIT1, UDC1, UDT1, ICF1,
H15F, FAS1), Local0)
Return(Local0)
}
}
Device(DRV1) {
Name(_ADR, 0x01)
Name(H15F, Zero)
Method(_GTF) {
Store(\_SB.PCI0.ICHX.GTF1(ITM1, SIT1, UDC1, UDT1, ICF1,
H15F, FAS1), Local0)
Return(Local0)
}
}
}
}
Device(PX43) {
Name(_ADR, 0x001f0003)
OperationRegion(PBAS, PCI_Config, 0x20, 0x02)
Field(PBAS, ByteAcc, NoLock, Preserve) {
BAS0, 16
}
Method(SMBB) {
And(BAS0, 0xfffe, Local0)
Return(Local0)
}
}
Device(AC97) {
Name(_ADR, 0x001e0002)
Method(_PRW) {
Return(Package(0x02) {
0x05,
0x05,
})
}
}
Device(AZAL) {
Name(_ADR, 0x001b0000)
Method(_PRW) {
Return(Package(0x02) {
0x05,
0x05,
})
}
}
Name(BUFA, Buffer(0x06) {0x23, 0xb8, 0xde, 0x18, 0x79, 0x0 })
Name(BUFB, Buffer(0x06) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFB, 0x01, IRQV)
Device(LNKA) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x01)
Method(_STA) {
And(PIRA, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRA, 0x80, PIRA)
}
Method(_CRS) {
And(PIRA, 0x0f, Local0)
ShiftLeft(0x01, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x01, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRA)
}
}
Device(LNKB) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x02)
Method(_STA) {
And(PIRB, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRB, 0x80, PIRB)
}
Method(_CRS) {
And(PIRB, 0x0f, Local0)
ShiftLeft(0x01, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x01, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRB)
}
}
Device(LNKC) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x03)
Method(_STA) {
And(PIRC, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRC, 0x80, PIRC)
}
Method(_CRS) {
And(PIRC, 0x0f, Local0)
ShiftLeft(0x01, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x01, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRC)
}
}
Device(LNKD) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x04)
Method(_STA) {
And(PIRD, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRD, 0x80, PIRD)
}
Method(_CRS) {
And(PIRD, 0x0f, Local0)
ShiftLeft(0x01, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x01, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRD)
}
}
Device(LNKE) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x05)
Method(_STA) {
And(PIRE, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRE, 0x80, PIRE)
}
Method(_CRS) {
And(PIRE, 0x0f, Local0)
ShiftLeft(0x01, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x01, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRE)
}
}
Device(LNKF) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x06)
Method(_STA) {
And(PIRF, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRF, 0x80, PIRF)
}
Method(_CRS) {
And(PIRF, 0x0f, Local0)
ShiftLeft(0x01, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x01, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRF)
}
}
Device(LNK0) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x07)
Method(_STA) {
And(PIRG, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRG, 0x80, PIRG)
}
Method(_CRS) {
And(PIRG, 0x0f, Local0)
ShiftLeft(0x01, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x01, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRG)
}
}
Device(LNK1) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x08)
Method(_STA) {
And(PIRH, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRH, 0x80, PIRH)
}
Method(_CRS) {
And(PIRH, 0x0f, Local0)
ShiftLeft(0x01, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x01, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRH)
}
}
Method(_PRW) {
Return(Package(0x02) {
0x0b,
0x05,
})
}
}
OperationRegion(MBTM, SystemMemory, 0x000ff824, 0x04)
Field(MBTM, DWordAcc, NoLock, Preserve) {
MBIM, 32
}
Device(MEM) {
Name(_HID, 0x010cd041)
Method(_CRS) {
Name(BUF0, Buffer(0x9e) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0,
0x0, 0x0, 0x1, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x1, 0x0,
0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x86, 0x9,
0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0,
0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x8, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xc0, 0xfe, 0x0, 0x10, 0x0,
0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x30, 0xd1, 0xfe, 0x0, 0xb0, 0x0, 0x0, 0x86,
0x9, 0x0, 0x1, 0x0, 0x0, 0xd2, 0xfe, 0x0, 0x0, 0x7, 0x0, 0x86, 0x9, 0x0, 0x1,
0x0, 0x0, 0xe0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xb0,
0xff, 0x0, 0x0, 0x8, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xf0, 0xff, 0x0, 0x0,
0x10, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x1, 0x0, 0x79,
0x0 })
CreateDWordField(BUF0, 0x1c, ACMM)
CreateDWordField(BUF0, 0x20, ASSM)
CreateDWordField(BUF0, 0x38, EXTM)
Subtract(AMEM, 0x00100000, EXTM)
CreateDWordField(BUF0, 0x40, MBBA)
CreateDWordField(BUF0, 0x44, MBTM)
If(LNot(LEqual(MBIM, Zero))) {
Store(MBIM, MBBA)
Subtract(EXTM, 0x0800, EXTM)
}
Else {
Store(Zero, MBTM)
}
Store(AMEM, ACMM)
And(AMEM, 0x000fffff, Local0)
Subtract(0x00100000, Local0, ASSM)
Return(BUF0)
}
}
Device(\_SB.PCI0.PX40.FWH) {
Name(_HID, 0x0008d425)
Method(_CRS) {
Name(FWH0, Buffer(0x0e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xb8, 0xff,
0x0, 0x0, 0x8, 0x0, 0x79, 0x0 })
Return(FWH0)
}
}
Device(\_SB.PCI0.EXPL) {
Name(_HID, 0x020cd041)
Name(_UID, 0x04)
Method(_CRS) {
Name(BUF0, Buffer(0x0e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe0,
0x0, 0x0, 0x0, 0x10, 0x79, 0x0 })
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) {0x0, 0x0, 0x0, 0x0, 0x0 })
CreateByteField(TVAR, 0x00, PLCY)
CreateWordField(TVAR, 0x01, CTOS)
CreateWordField(TVAR, 0x03, CTHY)
Name(TBUF, Buffer(0x04) {0x0, 0x0, 0x0, 0x0 })
CreateByteField(TBUF, 0x00, DB00)
CreateByteField(TBUF, 0x01, DB01)
CreateWordField(TBUF, 0x00, DW00)
CreateWordField(TBUF, 0x02, DW01)
CreateDWordField(TBUF, 0x00, DATD)
Name(TSAD, 0x98)
Method(SCFG, 1) {
WBYT(TSAD, 0x03, Arg0)
}
Method(STOS, 3) {
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)
}
WBYT(TSAD, 0x07, Local0)
}
Method(STHY, 3) {
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)
}
WBYT(TSAD, 0x08, Local0)
}
Method(RTMP) {
Store(RBYT(TSAD, 0x01), Local0)
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)
}
If(LEqual(SSHU, 0x01)) {
Return(0x0c3c)
}
Else {
Return(Local0)
}
}
Method(SMBC, 5, Serialized) {
OperationRegion(SM00, SystemIO, \_SB.PCI0.PX43.SMBB(), 0x07)
Field(SM00, ByteAcc, Lock, Preserve) {
HSTS, 8,
SSTS, 8,
CTLR, 8,
CMDR, 8,
ADDR, 8,
DAT0, 8,
DAT1, 8
}
Field(SM00, ByteAcc, Lock, Preserve) {
Offset(0x5),
DATW, 16
}
If(LEqual(And(Arg0, 0x0200, ), 0x00)) {
Store(0x01, Local1)
And(HSTS, 0x40, Local0)
While(LNot(LEqual(Local0, 0x00))) {
Add(Local1, 0x01, Local1)
If(LEqual(Local1, 0x03e8)) {
Store(0x40, HSTS)
}
Else {
Sleep(0x01)
}
And(HSTS, 0x40, Local0)
}
}
And(HSTS, 0x01, Local0)
While(LEqual(Local0, 0x01)) {
Sleep(0x01)
And(HSTS, 0x01, Local0)
}
And(CTLR, 0xbf, Local7)
Store(0x00, Local1)
While(LNot(LEqual(Local1, 0x05))) {
Store(And(Arg0, 0xff, ), ADDR)
Store(Arg1, CMDR)
Store(Arg2, DAT0)
Store(Arg3, DAT1)
Store(0xbf, HSTS)
Store(Arg4, CTLR)
And(HSTS, 0x1e, Local0)
While(LEqual(Local0, Zero)) {
Sleep(0x01)
And(HSTS, 0x1e, Local0)
}
Store(0xbf, HSTS)
If(LEqual(And(Local0, 0x18, ), 0x00)) {
Store(0x05, Local1)
}
Else {
Add(Local1, 0x01, Local1)
}
}
Store(Local7, CTLR)
Store(Ones, Local1)
If(LEqual(Local0, 0x02)) {
Store(DATW, Local1)
}
If(LEqual(And(Arg0, 0x0100, ), 0x00)) {
Store(0x40, HSTS)
}
Return(Local1)
}
Method(SBYT, 2) {
SMBC(Arg0, Arg1, 0x00, 0x00, 0x44)
}
Method(WBYT, 3) {
SMBC(Arg0, Arg1, Arg2, 0x00, 0x48)
}
Method(WWRD, 4) {
SMBC(Arg0, Arg1, Arg2, Arg3, 0x4c)
}
Method(RBYT, 2) {
Or(Arg0, 0x01, Local1)
Return(SMBC(Local1, Arg1, 0x00, 0x00, 0x48))
}
Method(RWRD, 2) {
Or(Arg0, 0x01, Local1)
Return(SMBC(Local1, Arg1, 0x00, 0x00, 0x4c))
}
Scope(\_TZ) {
Device(FAN) {
Name(_HID, 0x0b0cd041)
Method(_INI) {
Store(TP1H, CTOS)
Store(TP1L, CTHY)
}
}
ThermalZone(THRM) {
Name(_AL0, Package(0x01) {
FAN,
})
Method(_AC0) {
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) {
If(Or(PLCY, PLCY, Local7)) {
Return(TP1H)
}
Else {
Return(TP2H)
}
}
Method(_CRT) {
Return(TRPC)
}
Method(_TMP) {
And(SENF, 0x01, Local6)
If(LEqual(Local6, 0x01)) {
Return(RTMP())
}
Else {
Return(0x0b86)
}
}
Method(_SCP, 1) {
If(Arg0) {
Store(One, PLCY)
}
Else {
Store(Zero, PLCY)
}
Notify(\_TZ.THRM, 0x81)
}
Method(STMP, 2) {
Store(Arg1, DW00)
If(Arg0) {
STHY(DB00, DB01, DW00)
}
Else {
STOS(DB00, DB01, DW00)
}
}
}
}
}
/*
HPET: Length=56, Revision=1, Checksum=240,
OEMID=IntelR, OEM Table ID=AWRDACPI, OEM Revision=0x30302e32,
Creator ID=AWRD, Creator Revision=0x98
*/
/*
MCFG: Length=60, Revision=1, Checksum=64,
OEMID=IntelR, OEM Table ID=AWRDACPI, OEM Revision=0x30302e32,
Creator ID=AWRD, Creator Revision=0x0
*/
/*
APIC: Length=104, Revision=1, Checksum=217,
OEMID=IntelR, OEM Table ID=AWRDACPI, OEM Revision=0x30302e32,
Creator ID=AWRD, Creator Revision=0x0
*/
/*
SSDT: Length=348, Revision=1, Checksum=92,
OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
Creator ID=INTL, Creator Revision=0x20050624
*/
/*
SSDT: Length=483, Revision=1, Checksum=140,
OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
Creator ID=INTL, Creator Revision=0x20050624
*/
Home |
Main Index |
Thread Index |
Old Index