/* RSD PTR: Checksum=104, OEMID=PTLTD, RsdtAddress=0x1f6e7aca */ /* RSDT: Length=52, Revision=1, Checksum=99, OEMID=PTLTD, OEM Table ID=Montara, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 */ /* Entries={ 0x1f6ebed2, 0x1f6ebfd8, 0x1f6e7f25, 0x1f6e7afe } */ /* DSDT=0x1f6e8099 INT_MODEL=PIC SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0xf2 PM1a_EVT_BLK=0x1000-0x1003 PM1a_CNT_BLK=0x1004-0x1005 PM2_CNT_BLK=0x1020-0x1020 PM2_TMR_BLK=0x1008-0x100b PM2_GPE0_BLK=0x1028-0x102f P_LVL2_LAT=1ms, P_LVL3_LAT=85ms FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=2, DUTY_WIDTH=2 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 Flags={WBINVD,PROC_C1,SLP_BUTTON,DCK_CAP} */ /* DSDT: Length=15929, Revision=1, Checksum=145, OEMID=INTEL, OEM Table ID=MONTARAG, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x100000e */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x1, //DSDT Revision "INTEL", //OEMID "MONTARAG", //TABLE ID 0x6040000 //OEM Revision ) { OperationRegion(PORT, SystemIO, 0x80, 0x2) Field(PORT, ByteAcc, NoLock, Preserve) { P80H, 8, P81H, 8 } OperationRegion(IO_T, SystemIO, 0x0800, 0x10) Field(IO_T, ByteAcc, NoLock, Preserve) { TRP0, 8 } OperationRegion(GPIO, SystemIO, 0x1180, 0x3c) Field(GPIO, ByteAcc, NoLock, Preserve) { GU00, 8, GU01, 8, GU02, 8, GU03, 8, GIO0, 8, GIO1, 8, GIO2, 8, GIO3, 8, Offset(0xc), GL00, 8, GL01, 8, GL02, 8, GL03, 8, Offset(0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset(0x2c), GIV0, 8, GIV1, 8, GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GU06, 8, GU07, 8, GIO4, 8, GIO5, 8, GIO6, 8, GIO7, 8, , 1, , 1, CPEN, 1, Offset(0x39), GL05, 8, GL06, 8, GL07, 8 } OperationRegion(MNVS, SystemMemory, 0x1f6ecd79, 0x40) Field(MNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, DBGS, 8, DCKS, 4, CDCK, 4, FPEN, 8, FPST, 8, LIDS, 8, PWRS, 8, Offset(0x14), CMAP, 8, CMBP, 8, LPTP, 8, FDCP, 8, BTEN, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, Offset(0x20), BVAL, 32, TMP0, 8, TMP1, 8, SPDL, 8, CPWR, 8, TMP4, 32, TMP5, 32, IGDS, 8, LCDA, 16, TLST, 8, CADL, 16, PADL, 16, CSTE, 16, NSTE, 16, SSTE, 16, BASW, 16 } Mutex(MUTX, 0) Name(_S0_, Package(0x3) { 0x0, 0x0, 0x0, }) Name(_S3_, Package(0x3) { 0x5, 0x5, 0x0, }) Name(_S4_, Package(0x3) { 0x6, 0x6, 0x0, }) Name(_S5_, Package(0x3) { 0x7, 0x7, 0x0, }) Scope(\_PR_) { Processor(CPU0, 0, 0x1010, 0x6) { } } Name(\GPIC, 0x0) Name(\CTYP, 0x0) Name(\ECON, 0x0) Name(\DSEN, 0x1) Method(\_PIC, 1) { Store(Arg0, GPIC) } Method(_PTS, 1) { Store(Arg0, P80H) ShiftRight(\_SB_.PCI0.LPCB.H_EC.B1AF, 0x10, \BASW) If(LEqual(Arg0, 0x4)) { \_SB_.PHS_(0x90) } } Method(_WAK, 1) { Store(0x3, P80H) If(LNot(LEqual(ShiftRight(\_SB_.PCI0.LPCB.H_EC.B1AF, 0x10, ), \BASW))) { Notify(\_SB_.BAT1, 0x80) Notify(\_SB_.BAT1, 0x81) } Store(\_SB_.PCI0.LPCB.H_EC.ACEX, \PWRS) \_SB_.PHS_(0xa0) If(\PWRS) { \_SB_.PHS_(0x96) } Else { \_SB_.PHS_(0x95) } If(LEqual(Arg0, 0x3)) { \_SB_.PHS_(0x8a) \_SB_.PHS_(0x84) If(LEqual(OSYS, 0x07ce)) { Notify(\_SB_.PWRB, 0x2) \_SB_.PHS_(0x93) } } If(LNot(LLess(OSYS, 0x07d0))) { Notify(\_PR_.CPU0, 0x81) } } Scope(\_GPE) { Method(_L05) { Notify(\_SB_.PCI0.MODM, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L0B) { If(LEqual(OSYS, 0x07ce)) { If(And(\_SB_.PCI0.PCIB.CDB0.CDA5, 0x80, )) { Store(\_SB_.PCI0.PCIB.CDB0.CDA5, Local0) Store(Local0, \_SB_.PCI0.PCIB.CDB0.CDA5) } If(And(\_SB_.PCI0.PCIB.CDB1.CDA5, 0x80, )) { Store(\_SB_.PCI0.PCIB.CDB1.CDA5, Local0) Store(Local0, \_SB_.PCI0.PCIB.CDB1.CDA5) } } Notify(\_SB_.PCI0.PCIB, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L1D) { Store(\_SB_.PHS1(0x8e, 0x0), Local0) If(LEqual(Local0, 0x1)) { Notify(\_SB_.PWRB, 0x2) } If(LEqual(Local0, 0x2)) { Notify(\_SB_.PWRB, 0x2) } } } Method(BTTM, 1) { If(FPEN) { If(FPST) { If(LNot(LLess(Arg0, BVAL))) { Store(Arg0, BVAL) Notify(\_SB_.BAT1, 0x80) } } Else { If(LNot(LGreater(Arg0, BVAL))) { Store(Arg0, BVAL) Notify(\_SB_.BAT1, 0x80) } } } Else { If(PWRS) { If(LNot(LLess(Arg0, BVAL))) { Store(Arg0, BVAL) Notify(\_SB_.BAT1, 0x80) } } Else { If(LNot(LGreater(Arg0, BVAL))) { Store(Arg0, BVAL) Notify(\_SB_.BAT1, 0x80) } } } } Method(HKDS, 1, Serialized) { If(LEqual(0x0, DSEN)) { Store(Arg0, SMIF) Store(0x0, TRP0) If(LEqual(SMIF, 0x0)) { Notify(\_SB_.PCI0, 0x0) Sleep(0x03e8) If(LNot(LEqual(CADL, PADL))) { Store(CADL, PADL) } Notify(\_SB_.PCI0.GFX0, 0x80) } } If(LEqual(0x1, DSEN)) { Store(Increment(Arg0), SMIF) Store(0x0, TRP0) If(LEqual(SMIF, 0x0)) { Notify(\_SB_.PCI0.GFX0, 0x81) } } } Method(LSDS, 1, Serialized) { If(Arg0) { HKDS(0xc) } Else { HKDS(0xe) } } Scope(\_TZ_) { ThermalZone(THRM) { Method(_TMP) { If(LEqual(\ECON, 0x1)) { Store(\_SB_.PCI0.LPCB.H_EC.CTMP, Local0) If(LNot(LEqual(Local0, 0xff))) { Multiply(Local0, 0xa, Local0) Add(Local0, 0x0aac, Local0) Return(Local0) } } Return(0x0c1c) } Method(_AC0) { Store(0x41, Local0) Multiply(Local0, 0xa, Local0) Add(Local0, 0x0aac, Local0) Return(Local0) } Name(_AL0, Package(0x1) { FAN0, }) Method(XPSV) { Store(0x78, Local0) Multiply(Local0, 0xa, Local0) Add(Local0, 0x0aac, Local0) Return(Local0) } Name(XPSL, Package(0x1) { \_PR_.CPU0, }) Method(_CRT) { Store(0x78, Local0) Multiply(Local0, 0xa, Local0) Add(Local0, 0x0aac, Local0) Return(Local0) } Method(_SCP, 1) { Store("Not Support", Debug) } Name(_TC1, 0x4) Name(_TC2, 0x3) Name(_TSP, 0x012c) } } PowerResource(PFAN, 0, 0) { Method(_STA) { Return(FANE) } Method(_ON_) { Store(0x1, FANE) } Method(_OFF) { Store(0x0, FANE) } } Name(FANE, 0x1) Device(FAN0) { Name(_HID, 0x0b0cd041) Name(_PR0, Package(0x1) { PFAN, }) } Scope(\_SB_) { Device(ADP1) { Name(_HID, "ACPI0003") Method(_PSR) { If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS1(0x96, 0x2), Local0) } Else { Store(\_SB_.PCI0.LPCB.H_EC.ACEX, Local0) } Return(Local0) } Method(_PCL) { Return(\_SB_) } Method(_STA) { If(LEqual(\ECON, 0x0)) { Store(0xf, Local0) } Else { If(LEqual(\_SB_.PCI0.LPCB.H_EC.ACEX, 0x0)) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } } Return(Local0) } } Device(BAT1) { Name(_HID, 0x0a0cd041) Name(_UID, 0x1) Name(BATI, Package(0xd) { 0x1, 0xffffffff, 0xffffffff, 0x1, 0xffffffff, 0x3, 0xa, 0x1, 0x1, "Unknown", "Unknown", "Unknown", "Unknown", }) Method(_BIF) { If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS2(0x8c, 0xb0, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x1, )) } Else { Store(Local0, Index(BATI, 0x1, )) } Store(\_SB_.PHS2(0x8c, 0xb2, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x2, )) } Else { Store(Local0, Index(BATI, 0x2, )) } Store(\_SB_.PHS2(0x8c, 0xb4, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x4, )) } Else { Store(Local0, Index(BATI, 0x4, )) } Store(0x0, Index(BATI, 0x5, )) Store(\_SB_.PHS2(0x8c, 0xb6, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(Zero, Index(BATI, 0x6, )) } Else { Store(Local0, Index(BATI, 0x6, )) } } Else { Store(\_SB_.PCI0.LPCB.H_EC.B1AF, Local3) Store(\_SB_.PCI0.LPCB.H_EC.B1VL, Local4) Store(Local3, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x1, )) } Else { Store(Local0, Index(BATI, 0x1, )) } Store(Local3, Local0) ShiftRight(Local0, 0x10, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x2, )) } Else { Store(Local0, Index(BATI, 0x2, )) } Store(Local4, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x4, )) } Else { Store(Local0, Index(BATI, 0x4, )) } Store(0x0, Index(BATI, 0x5, )) Store(Local4, Local0) ShiftRight(Local0, 0x10, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x6, )) } Else { Store(Local0, Index(BATI, 0x6, )) } } Store("", Index(BATI, 0x9, )) Store("", Index(BATI, 0xa, )) Store("LION", Index(BATI, 0xb, )) Store("SAMSUNG Electronics", Index(BATI, 0xc, )) Return(BATI) } Name(STAT, Package(0x4) { 0x0, 0x0, 0x0, 0x0, }) Method(_BST) { If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS2(0x8b, 0x84, 0x0), Local0) If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(LEqual(Local0, 0x5)))) { If(LEqual(\PWRS, 0x1)) { Store(0x2, Local0) } Else { Store(0x1, Local0) } } Store(Local0, Index(STAT, 0x0, )) Store(\_SB_.PHS2(0x8c, 0xa4, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x1, )) } Else { If(LNot(LLess(Local0, 0x8000))) { XOr(Local0, 0xffff, Local0) Increment(Local0) } Store(Local0, Index(STAT, 0x1, )) } Store(\_SB_.PHS2(0x8c, 0xa2, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x2, )) } Else { Store(Local0, Index(STAT, 0x2, )) } Store(\_SB_.PHS2(0x8c, 0xa6, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x3, )) } Else { Store(Local0, Index(STAT, 0x3, )) } } Else { Store(\_SB_.PCI0.LPCB.H_EC.B1RR, Local3) Store(\_SB_.PCI0.LPCB.H_EC.B1PV, Local4) Store(Local3, Local0) And(Local0, 0xff, Local0) If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(LEqual(Local0, 0x5)))) { If(LEqual(\PWRS, 0x1)) { Store(0x2, Local0) } Else { Store(0x1, Local0) } } Store(Local0, Index(STAT, 0x0, )) Store(Local4, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x1, )) } Else { If(LNot(LLess(Local0, 0x8000))) { XOr(Local0, 0xffff, Local0) Increment(Local0) } Store(Local0, Index(STAT, 0x1, )) } Store(Local3, Local0) ShiftRight(Local0, 0x10, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x2, )) } Else { Store(Local0, Index(STAT, 0x2, )) } Store(Local4, Local0) ShiftRight(Local0, 0x10, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x3, )) } Else { Store(Local0, Index(STAT, 0x3, )) } } Return(STAT) } Method(_STA) { If(LEqual(\ECON, 0x0)) { If(LEqual(\_SB_.PHS1(0x81, 0x0), 0x1)) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } } Else { If(LEqual(\_SB_.PCI0.LPCB.H_EC.B1EX, 0x1)) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } } Return(Local0) } Method(_PCL) { Return(\_SB_) } } OperationRegion(PHSD, SystemMemory, 0x1f6fcdbd, 0x00000190) Field(PHSD, AnyAcc, NoLock, Preserve) { BCMD, 8, DID_, 32, INFO, 3152, Offset(0x190) } Field(PHSD, AnyAcc, NoLock, Preserve) { Offset(0x5), INF_, 8, INF1, 8, INF2, 8, INF3, 8 } Field(PHSD, AnyAcc, NoLock, Preserve) { Offset(0x5), INFW, 16 } Field(PHSD, AnyAcc, NoLock, Preserve) { Offset(0x5), INFD, 32 } OperationRegion(PHSI, SystemIO, 0x0000fe00, 0x00000002) Field(PHSI, AnyAcc, NoLock, Preserve) { SMIC, 8 } Mutex(MPHS, 0) Method(PHS_, 1, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, BCMD) Store(Zero, SMIC) Store(0x0, BCMD) Store(INF_, Local7) Release(MPHS) Return(Local7) } Method(PHSR, 1, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, BCMD) Store(Zero, SMIC) Store(0x0, BCMD) Store(INFD, Local7) Release(MPHS) Return(Local7) } Method(PHS1, 2, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, BCMD) Store(Arg1, INF_) Store(Zero, SMIC) Store(0x0, BCMD) Store(INF_, Local7) Release(MPHS) Return(Local7) } Method(PHS2, 3, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, BCMD) Store(Arg1, INF_) Store(Arg2, INF1) Store(Zero, SMIC) Store(0x0, BCMD) Store(INFW, Local7) Release(MPHS) Return(Local7) } Method(PHS4, 5, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, BCMD) Store(Arg1, INF_) Store(Arg2, INF1) Store(Arg3, INF2) Store(Arg4, INF3) Store(Zero, SMIC) Store(0x0, BCMD) Store(INFD, Local7) Release(MPHS) Return(Local7) } Device(LID0) { Name(_HID, 0x0d0cd041) Method(_STA) { Return(0xf) } Method(_LID) { If(\ECON) { If(LEqual(\_SB_.PCI0.LPCB.H_EC.LIDS, 0x1)) { Return(0x1) } } Return(0x0) } } Device(SLPB) { Name(_HID, 0x0e0cd041) Method(_STA) { Return(0xf) } } Device(PWRB) { Name(_HID, 0x0c0cd041) Name(_PRW, Package(0x2) { 0x1d, 0x4, }) } Device(PCI0) { Method(_INI) { Store(0x0, \SPDL) Store(\_SB_.PHS1(0x81, 0x2), Local0) If(LNot(LEqual(Local0, 0x1))) { \_SB_.PHS_(0x95) } If(CondRefOf(\_OSI, Local0)) { Store(0x07d1, OSYS) \_SB_.PHS_(0x88) } Else { If(LEqual(SizeOf(_OS_), 0x14)) { Store(0x07d0, OSYS) Store(0xa7, P80H) \_SB_.PHS_(0x87) } Else { If(LEqual(SizeOf(_OS_), 0x27)) { Store(0x07cf, OSYS) \_SB_.PHS_(0x86) } Else { Store(0x07ce, OSYS) \_SB_.PHS_(0x85) } } } If(LNot(LGreater(OSYS, 0x07cf))) { Store(0x1, ECON) } } Method(_S1D) { If(LEqual(OSYS, 0x07cf)) { Return(0x2) } Return(0x1) } Method(_S3D) { Return(0x2) } Method(_S4D) { Return(0x2) } Name(_HID, 0x030ad041) Name(_ADR, 0x0) Name(_BBN, 0x0) OperationRegion(HBUS, PCI_Config, 0x40, 0xc0) Field(HBUS, DWordAcc, NoLock, Preserve) { Offset(0x18), , 7, HENA, 1, , 4, PM0H, 2, Offset(0x1a), PM1L, 2, , 2, PM1H, 2, Offset(0x1b), PM2L, 2, , 2, PM2H, 2, Offset(0x1c), PM3L, 2, , 2, PM3H, 2, Offset(0x1d), PM4L, 2, , 2, PM4H, 2, Offset(0x1e), PM5L, 2, , 2, PM5H, 2, Offset(0x1f), PM6L, 2, , 2, PM6H, 2, Offset(0x20) } Name(BUF0, Buffer(0x0201) {0x88, 0xe, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x18, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x87, 0x18, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0xff, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { If(PM1L) { CreateDWordField(BUF0, 0x80, C0LN) Store(Zero, C0LN) } If(LEqual(PM1L, 0x1)) { CreateBitField(BUF0, 0x0378, C0RW) Store(Zero, C0RW) } If(PM1H) { CreateDWordField(BUF0, 0x9b, C4LN) Store(Zero, C4LN) } If(LEqual(PM1H, 0x1)) { CreateBitField(BUF0, 0x0450, C4RW) Store(Zero, C4RW) } If(PM2L) { CreateDWordField(BUF0, 0xb6, C8LN) Store(Zero, C8LN) } If(LEqual(PM2L, 0x1)) { CreateBitField(BUF0, 0x0528, C8RW) Store(Zero, C8RW) } If(PM2H) { CreateDWordField(BUF0, 0xd1, CCLN) Store(Zero, CCLN) } If(LEqual(PM2H, 0x1)) { CreateBitField(BUF0, 0x0600, CCRW) Store(Zero, CCRW) } If(PM3L) { CreateDWordField(BUF0, 0xec, D0LN) Store(Zero, D0LN) } If(LEqual(PM3L, 0x1)) { CreateBitField(BUF0, 0x06d8, D0RW) Store(Zero, D0RW) } If(PM3H) { CreateDWordField(BUF0, 0x0107, D4LN) Store(Zero, D4LN) } If(LEqual(PM3H, 0x1)) { CreateBitField(BUF0, 0x07b0, D4RW) Store(Zero, D4RW) } If(PM4L) { CreateDWordField(BUF0, 0x0122, D8LN) Store(Zero, D8LN) } If(LEqual(PM4L, 0x1)) { CreateBitField(BUF0, 0x0888, D8RW) Store(Zero, D8RW) } If(PM4H) { CreateDWordField(BUF0, 0x013d, DCLN) Store(Zero, DCLN) } If(LEqual(PM4H, 0x1)) { CreateBitField(BUF0, 0x0960, DCRW) Store(Zero, DCRW) } If(PM5L) { CreateDWordField(BUF0, 0x0158, E0LN) Store(Zero, E0LN) } If(LEqual(PM5L, 0x1)) { CreateBitField(BUF0, 0x0a38, E0RW) Store(Zero, E0RW) } If(PM5H) { CreateDWordField(BUF0, 0x0173, E4LN) Store(Zero, E4LN) } If(LEqual(PM5H, 0x1)) { CreateBitField(BUF0, 0x0b10, E4RW) Store(Zero, E4RW) } If(PM6L) { CreateDWordField(BUF0, 0x018e, E8LN) Store(Zero, E8LN) } If(LEqual(PM6L, 0x1)) { CreateBitField(BUF0, 0x0be8, E8RW) Store(Zero, E8RW) } If(PM6H) { CreateDWordField(BUF0, 0x01a9, ECLN) Store(Zero, ECLN) } If(LEqual(PM6H, 0x1)) { CreateBitField(BUF0, 0x0cc0, ECRW) Store(Zero, ECRW) } If(PM0H) { CreateDWordField(BUF0, 0x01c4, F0LN) Store(Zero, F0LN) } If(LEqual(PM0H, 0x1)) { CreateBitField(BUF0, 0x0d98, F0RW) Store(Zero, F0RW) } CreateDWordField(BUF0, 0x01d3, M1MN) CreateDWordField(BUF0, 0x01d7, M1MX) CreateDWordField(BUF0, 0x01df, M1LN) Multiply(0x02000000, \_SB_.PCI0.MBUS.DRB3, M1MN) Add(Subtract(M1MX, M1MN, ), 0x1, M1LN) ShiftRight(And(\_SB_.PCI0.LPCB.HPTE, 0x00038000, ), 0xf, Local0) If(And(Local0, 0x4, )) { CreateDWordField(BUF0, 0x01ee, M2MN) CreateDWordField(BUF0, 0x01f2, M2MX) CreateDWordField(BUF0, 0x01fa, M2LN) Store(0xfed00000, M2MN) Store(0xfed003ff, M2MX) Store(0x0400, M2LN) If(LEqual(Local0, 0x5)) { Store(0xfed01000, M2MN) Store(0xfed013ff, M2MX) } If(LEqual(Local0, 0x6)) { Store(0xfed02000, M2MN) Store(0xfed023ff, M2MX) } If(LEqual(Local0, 0x7)) { Store(0xfed03000, M2MN) Store(0xfed033ff, M2MX) } } Return(BUF0) } Method(_PRT) { If(GPIC) { Return(Package(0x7) { Package(0x4) { 0x0002ffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x001dffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x001dffff, 0x1, 0x0, 0x13, }, Package(0x4) { 0x001dffff, 0x2, 0x0, 0x12, }, Package(0x4) { 0x001dffff, 0x3, 0x0, 0x17, }, Package(0x4) { 0x001fffff, 0x0, 0x0, 0x12, }, Package(0x4) { 0x001fffff, 0x1, 0x0, 0x11, }, }) } Else { Return(Package(0x7) { Package(0x4) { 0x0002ffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x001dffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x001dffff, 0x1, \_SB_.PCI0.LPCB.LNKD, 0x0, }, Package(0x4) { 0x001dffff, 0x2, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x001dffff, 0x3, \_SB_.PCI0.LPCB.LNKH, 0x0, }, Package(0x4) { 0x001fffff, 0x0, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x001fffff, 0x1, \_SB_.PCI0.LPCB.LNKB, 0x0, }, }) } } Device(MBUS) { Name(_ADR, 0x1) OperationRegion(MBUS, PCI_Config, 0x40, 0xc0) Field(MBUS, DWordAcc, NoLock, Preserve) { DRB0, 8, DRB1, 8, DRB2, 8, DRB3, 8 } } Device(GFX0) { Name(_ADR, 0x00020000) OperationRegion(VNVS, SystemMemory, 0x1f6ecdb9, 0x00010004) Field(VNVS, AnyAcc, Lock, Preserve) { RSIZ, 32, RBUF, 524288 } Method(_DOS, 1) { Store(And(Arg0, 0x3, ), DSEN) } Method(_DOD) { If(LEqual(LCDA, 0x0110)) { Return(Package(0x6) { 0x00010100, 0x00010110, 0x00010200, 0x00010300, 0x00010500, 0x00010600, }) } Name(PSIZ, 0x0) Name(PPTR, 0x0) Store(0x2, SMIF) Store(0x0, TRP0) Store(CADL, Local0) Store(CADL, Local1) While(Local1) { If(And(Local1, 0x1, )) { Increment(PSIZ) } ShiftRight(Local1, 0x1, Local1) } If(LOr(LEqual(PSIZ, 0x0), LGreater(PSIZ, 0x3))) { Return(Package(0x1) { 0x00010100, }) } Else { If(LEqual(PSIZ, 0x2)) { Name(VID2, Package(0x2) { 0x00010100, 0x00010200, }) If(And(Local0, 0x1, )) { Store(0x00010100, Index(VID2, PPTR, )) Increment(PPTR) } If(And(Local0, 0x2, )) { Store(0x00010200, Index(VID2, PPTR, )) Increment(PPTR) } If(And(Local0, 0x8, )) { Store(0x00010400, Index(VID2, PPTR, )) Increment(PPTR) } Return(VID2) } If(LEqual(PSIZ, 0x3)) { Name(VID3, Package(0x3) { 0x00010100, 0x00010200, 0x00010300, }) If(And(Local0, 0x1, )) { Store(0x00010100, Index(VID3, PPTR, )) Increment(PPTR) } If(And(Local0, 0x2, )) { Store(0x00010200, Index(VID3, PPTR, )) Increment(PPTR) } If(And(Local0, 0x8, )) { Store(0x00010400, Index(VID3, PPTR, )) Increment(PPTR) } Return(VID3) } Name(VID1, Package(0x1) { 0x00010100, }) If(And(Local0, 0x1, )) { Store(0x00010100, Index(VID1, 0x0, )) } If(And(Local0, 0x2, )) { Store(0x00010200, Index(VID1, 0x0, )) } If(And(Local0, 0x8, )) { Store(0x00010400, Index(VID1, 0x0, )) } Return(VID1) } } Method(_ROM, 2) { Store(Arg0, Local0) Store(Arg1, Local1) If(LGreater(Local1, 0x1000)) { Store(0x1000, Local1) } If(LGreater(Add(Local0, Local1, ), RSIZ)) { Store(0x0, Local0) } Multiply(Local0, 0x8, Local2) Multiply(Local1, 0x8, Local3) Name(ROM1, Buffer(RSIZ) { }) Name(ROM2, Buffer(Local1) { }) Store(RBUF, ROM1) CreateField(ROM1, Local2, Local3, TMPB) Store(TMPB, ROM2) Return(ROM2) } Device(CRT1) { Name(_ADR, 0x0100) Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x0101, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x0101, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(DTV1) { Name(_ADR, 0x0200) Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x0202, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x0202, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(DFP1) { Name(_ADR, 0x0300) Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x0404, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x0404, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(LCD_) { Method(_ADR) { If(LEqual(LCDA, 0x0110)) { Return(0x0110) } Return(0x0400) } Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x0808, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x0808, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } Method(_BCL) { Return(Package(0x8) { 0x50, 0x3c, 0x0, 0x14, 0x28, 0x3c, 0x50, 0x64, }) } Method(_BCM, 1) { Store(Arg0, P80H) } } Device(DTV2) { Name(_ADR, 0x0500) Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x1010, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x1010, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(DFP2) { Name(_ADR, 0x0600) Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x2020, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x2020, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } } } Device(PCIB) { Name(_ADR, 0x001e0000) Device(CDB0) { Name(_ADR, 0x00030000) OperationRegion(CBD0, PCI_Config, 0x0, 0xf0) Field(CBD0, AnyAcc, NoLock, Preserve) { Offset(0x3c), CD3C, 8, Offset(0x44), CD44, 32, Offset(0xa5), CDA5, 8, Offset(0xe1), , 7, PMES, 1 } Method(_INI) { Or(CD3C, 0xff, CD3C) Store(0x0, CD44) } } Device(CDB1) { Name(_ADR, 0x00030001) OperationRegion(CBD1, PCI_Config, 0x0, 0xf0) Field(CBD1, AnyAcc, NoLock, Preserve) { Offset(0x3c), CD3C, 8, Offset(0x44), CD44, 32, Offset(0xa5), CDA5, 8, Offset(0xe0), PWST, 8, PMES, 1 } Method(_INI) { Or(CD3C, 0xff, CD3C) Store(0x0, CD44) } Method(_PS0) { And(PWST, 0xfc, PWST) } Method(_PS3) { Or(PWST, 0x3, PWST) } } Device(OHCI) { Name(_ADR, 0x00030002) OperationRegion(OHCI, PCI_Config, 0x0, 0xf0) Field(OHCI, AnyAcc, NoLock, Preserve) { Offset(0x3c), CD3C, 8, Offset(0x44), CD44, 32, Offset(0xe1), PMES, 8 } Method(_INI) { Or(CD3C, 0xff, CD3C) Store(0x0, CD44) } } Device(LANC) { Name(_ADR, 0x00080000) Name(_PRW, Package(0x2) { 0xb, 0x4, }) } Device(MPC0) { Name(_ADR, 0x00070000) OperationRegion(MPC0, PCI_Config, 0xa0, 0x10) Field(MPC0, AnyAcc, NoLock, Preserve) { Offset(0x5), MA5_, 8 } } Device(MPC1) { Name(_ADR, 0x00070001) OperationRegion(MPC1, PCI_Config, 0xa0, 0x10) Field(MPC1, AnyAcc, NoLock, Preserve) { Offset(0x5), MA5_, 8 } } Method(_PRT) { If(GPIC) { Return(Package(0x6) { Package(0x4) { 0x0008ffff, 0x0, 0x0, 0x14, }, Package(0x4) { 0x0003ffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x0003ffff, 0x1, 0x0, 0x11, }, Package(0x4) { 0x0003ffff, 0x2, 0x0, 0x12, }, Package(0x4) { 0x0007ffff, 0x0, 0x0, 0x14, }, Package(0x4) { 0x0007ffff, 0x1, 0x0, 0x15, }, }) } Else { Return(Package(0x6) { Package(0x4) { 0x0008ffff, 0x0, \_SB_.PCI0.LPCB.LNKE, 0x0, }, Package(0x4) { 0x0003ffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x0003ffff, 0x1, \_SB_.PCI0.LPCB.LNKB, 0x0, }, Package(0x4) { 0x0003ffff, 0x2, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x0007ffff, 0x0, \_SB_.PCI0.LPCB.LNKE, 0x0, }, Package(0x4) { 0x0007ffff, 0x1, \_SB_.PCI0.LPCB.LNKF, 0x0, }, }) } } } Device(LPCB) { Name(_ADR, 0x001f0000) OperationRegion(LPC0, PCI_Config, 0x40, 0xc0) Field(LPC0, AnyAcc, NoLock, Preserve) { Offset(0x20), PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset(0x28), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8, Offset(0x90), HPTE, 32, Offset(0xa0), LDE0, 8, LDE1, 8 } Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x1) Method(_DIS, 0, Serialized) { Store(0x80, PIRA) } Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x4, 0x18, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Name(RTLA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLA, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRA, 0xf, ), IRQ0) Return(RTLA) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRA) } Method(_STA, 0, Serialized) { If(And(PIRA, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x2) Method(_DIS, 0, Serialized) { Store(0x80, PIRB) } Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x4, 0x18, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Name(RTLB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLB, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRB, 0xf, ), IRQ0) Return(RTLB) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRB) } Method(_STA, 0, Serialized) { If(And(PIRB, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x3) Method(_DIS, 0, Serialized) { Store(0x80, PIRC) } Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x8, 0x18, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Name(RTLC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLC, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRC, 0xf, ), IRQ0) Return(RTLC) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRC) } Method(_STA, 0, Serialized) { If(And(PIRC, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x4) Method(_DIS, 0, Serialized) { Store(0x80, PIRD) } Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x8, 0x18, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Name(RTLD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLD, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRD, 0xf, ), IRQ0) Return(RTLD) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRD) } Method(_STA, 0, Serialized) { If(And(PIRD, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKE) { Name(_HID, 0x0f0cd041) Name(_UID, 0x5) Method(_DIS, 0, Serialized) { Store(0x80, PIRE) } Name(_PRS, Buffer(0x6) {0x23, 0x20, 0x0, 0x18, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Name(RTLE, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLE, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRE, 0xf, ), IRQ0) Return(RTLE) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRE) } Method(_STA, 0, Serialized) { If(And(PIRE, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKF) { Name(_HID, 0x0f0cd041) Name(_UID, 0x6) Method(_DIS, 0, Serialized) { Store(0x80, PIRF) } Name(_PRS, Buffer(0x6) {0x23, 0x20, 0x0, 0x18, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Name(RTLF, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLF, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRF, 0xf, ), IRQ0) Return(RTLF) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRF) } Method(_STA, 0, Serialized) { If(And(PIRF, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKG) { Name(_HID, 0x0f0cd041) Name(_UID, 0x7) Method(_DIS, 0, Serialized) { Store(0x80, PIRG) } Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x4, 0x18, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Name(RTLG, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLG, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRG, 0xf, ), IRQ0) Return(RTLG) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRG) } Method(_STA, 0, Serialized) { If(And(PIRG, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKH) { Name(_HID, 0x0f0cd041) Name(_UID, 0x8) Method(_DIS, 0, Serialized) { Store(0x80, PIRH) } Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x4, 0x18, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Name(RTLH, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLH, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRH, 0xf, ), IRQ0) Return(RTLH) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRH) } Method(_STA, 0, Serialized) { If(And(PIRH, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(TIMR) { Name(_HID, 0x0001d041) Name(BUF0, Buffer(0x12) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x79, 0x0 }) Name(BUF1, Buffer(0x15) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { If(And(HPTE, 0x00020000, )) { Return(BUF0) } Return(BUF1) } } Device(IPIC) { Name(_HID, 0xd041) Name(_CRS, Buffer(0x8d) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0x24, 0x0, 0x24, 0x0, 0x1, 0x2, 0x47, 0x1, 0x28, 0x0, 0x28, 0x0, 0x1, 0x2, 0x47, 0x1, 0x2c, 0x0, 0x2c, 0x0, 0x1, 0x2, 0x47, 0x1, 0x30, 0x0, 0x30, 0x0, 0x1, 0x2, 0x47, 0x1, 0x34, 0x0, 0x34, 0x0, 0x1, 0x2, 0x47, 0x1, 0x38, 0x0, 0x38, 0x0, 0x1, 0x2, 0x47, 0x1, 0x3c, 0x0, 0x3c, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa4, 0x0, 0xa4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa8, 0x0, 0xa8, 0x0, 0x1, 0x2, 0x47, 0x1, 0xac, 0x0, 0xac, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb0, 0x0, 0xb0, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb4, 0x0, 0xb4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb8, 0x0, 0xb8, 0x0, 0x1, 0x2, 0x47, 0x1, 0xbc, 0x0, 0xbc, 0x0, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 }) } Device(RTC_) { Name(_HID, 0x000bd041) Name(BUF0, Buffer(0xa) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x8, 0x79, 0x0 }) Name(BUF1, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x8, 0x22, 0x0, 0x1, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { If(And(HPTE, 0x00020000, )) { Return(BUF0) } Return(BUF1) } } Device(MATH) { Name(_HID, 0x040cd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x1, 0x22, 0x0, 0x20, 0x79, 0x0 }) } Device(DMAC) { Name(_HID, 0x0002d041) Name(_CRS, Buffer(0x2d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x20, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x1, 0x2, 0x47, 0x1, 0x93, 0x0, 0x93, 0x0, 0x1, 0xd, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x1, 0x79, 0x0 }) } Device(MBRD) { Name(_HID, 0x020cd041) Name(_CRS, Buffer(0x76) {0x47, 0x1, 0x2e, 0x0, 0x2e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x47, 0x1, 0x63, 0x0, 0x63, 0x0, 0x1, 0x1, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0x1, 0x47, 0x1, 0x67, 0x0, 0x67, 0x0, 0x1, 0x1, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x1, 0x47, 0x1, 0x92, 0x0, 0x92, 0x0, 0x1, 0x1, 0x47, 0x1, 0xb2, 0x0, 0xb2, 0x0, 0x1, 0x2, 0x47, 0x1, 0x0, 0x6, 0x0, 0x6, 0x1, 0x10, 0x47, 0x1, 0x0, 0x7, 0x0, 0x7, 0x1, 0x10, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x1, 0x10, 0x47, 0x1, 0x0, 0x10, 0x0, 0x10, 0x1, 0x80, 0x47, 0x1, 0x80, 0x11, 0x80, 0x11, 0x1, 0x40, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xc1, 0xfe, 0x0, 0x0, 0x1, 0x0, 0x79, 0x0 }) } Device(FWHD) { Name(_HID, 0x0008d425) Name(_CRS, Buffer(0xe) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0x80, 0xff, 0x0, 0x0, 0x80, 0x0, 0x79, 0x0 }) } Device(HPET) { Name(_HID, 0x0301d041) Name(BUF0, Buffer(0x14) {0x22, 0x1, 0x0, 0x22, 0x0, 0x1, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 }) Method(_STA) { ShiftRight(And(HPTE, 0x00038000, ), 0xf, Local0) If(LEqual(OSYS, 0x07d1)) { If(And(Local0, 0x4, )) { Return(0xf) } } Else { If(And(Local0, 0x4, )) { Return(0xb) } } Return(0x0) } Method(_CRS, 0, Serialized) { ShiftRight(And(HPTE, 0x00038000, ), 0xf, Local0) If(And(Local0, 0x4, )) { CreateDWordField(BUF0, 0xa, HPT0) If(LEqual(Local0, 0x5)) { Store(0xfed01000, HPT0) } If(LEqual(Local0, 0x6)) { Store(0xfed02000, HPT0) } If(LEqual(Local0, 0x7)) { Store(0xfed03000, HPT0) } } Return(BUF0) } } Device(H_EC) { Name(_HID, 0x090cd041) Name(_UID, 0x1) Method(_CRS) { Name(BFFR, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x0, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x0, 0x1, 0x79, 0x0 }) Return(BFFR) } OperationRegion(ECR_, EmbeddedControl, 0x0, 0xff) Field(ECR_, DWordAcc, Lock, Preserve) { Offset(0x80), B1EX, 1, B2EX, 1, ACEX, 1, Offset(0x81), SWBE, 1, DCBE, 1, Offset(0x82), Offset(0x83), LIDS, 1, Offset(0x84), B1ST, 8, B2ST, 8, Offset(0xa0), B1RR, 32, B1PV, 32, B2RR, 32, B2PV, 32, B1AF, 32, B1VL, 32, B2AF, 32, B2VL, 32, CTMP, 8, Offset(0xd0), B1TI, 16, B1SE, 16, B1CR, 16, B1TM, 16, B2TI, 16, B2SE, 16, B2CR, 16, B2TM, 16 } Method(_REG, 2) { If(LAnd(LEqual(Arg0, 0x3), LEqual(Arg1, 0x1))) { Store(0x1, ECON) Store(\_SB_.PCI0.LPCB.H_EC.ACEX, \PWRS) } } Name(_GPE, 0x1c) Method(_GLK, 1) { Return(One) } Method(_Q51) { Store(0x51, P80H) \_SB_.PHS1(0x82, 0x1) Store(0x1, \PWRS) Notify(\_SB_.ADP1, 0x80) \_SB_.PHS_(0x96) If(LNot(LLess(OSYS, 0x07d0))) { Notify(\_PR_.CPU0, 0x81) } } Method(_Q52) { Store(0x52, P80H) \_SB_.PHS1(0x82, 0x0) Store(0x0, \PWRS) Notify(\_SB_.ADP1, 0x80) \_SB_.PHS_(0x95) If(LNot(LLess(OSYS, 0x07d0))) { Notify(\_PR_.CPU0, 0x81) } } Method(_Q53) { Store(0x53, P80H) Notify(\_SB_.BAT1, 0x80) Notify(\_SB_.BAT1, 0x81) } Method(_Q54) { Store(0x54, P80H) \_SB_.PHS1(0x8f, 0x0) Notify(\_SB_.BAT1, 0x80) Notify(\_SB_.BAT1, 0x81) } Method(_Q5B) { Notify(\_SB_.SLPB, 0x80) } Method(_Q5C) { \_SB_.PHS_(0x83) } Method(_Q5D) { Store(0x5d, P80H) \_SB_.PHS_(0x84) If(IGDS) { Store(0x1, TLST) HKDS(0xa) } } Method(_Q5E) { Notify(\_SB_.LID0, 0x80) Store(0x5e, P80H) } Method(_Q5F) { Store(0x5f, P80H) Notify(\_SB_.LID0, 0x80) } Method(_Q60) { If(LEqual(B1EX, 0x1)) { Notify(\_SB_.BAT1, 0x80) } } Method(_Q61) { If(LEqual(B1EX, 0x1)) { Notify(\_SB_.BAT1, 0x80) } } Method(_Q63) { \_SB_.PHS_(0x9e) } Method(_Q64) { \_SB_.PHS_(0x9f) } Method(_Q65) { Notify(\_TZ_.THRM, 0x80) } Method(_Q66) { Notify(\_SB_.BAT1, 0x80) } Method(_Q76) { Store(0x76, P80H) \_SB_.PHS_(0x9c) } Method(_Q77) { Store(0x77, P80H) \_SB_.PHS_(0x9d) } Method(_Q78) { Store(0x78, P80H) Store(\_SB_.PHS1(0x9b, 0x0), Local0) Store(Local0, \SPDL) Notify(\_PR_.CPU0, 0x80) } } Device(PS2K) { Name(_HID, 0x0303d041) Name(_CRS, Buffer(0x16) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x23, 0x2, 0x0, 0x1, 0x79, 0x0 }) } Device(PS2M) { Name(_HID, 0x130fd041) Name(_CRS, Buffer(0x6) {0x23, 0x0, 0x10, 0x1, 0x79, 0x0 }) } } Device(USB0) { Name(_ADR, 0x001d0000) OperationRegion(U0CS, PCI_Config, 0xc4, 0x4) Field(U0CS, DWordAcc, NoLock, Preserve) { U0EN, 2 } Method(_PSW, 1) { If(Arg0) { Store(0x3, U0EN) } Else { Store(0x0, U0EN) } } Method(_S1D) { If(LEqual(OSYS, 0x07cf)) { Return(0x2) } Return(0x1) } Method(_S3D) { Return(0x2) } Method(_S4D) { Return(0x2) } } Device(USB1) { Name(_ADR, 0x001d0001) OperationRegion(U1CS, PCI_Config, 0xc4, 0x4) Field(U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method(_PSW, 1) { If(Arg0) { Store(0x3, U1EN) } Else { Store(0x0, U1EN) } } Method(_S1D) { If(LEqual(OSYS, 0x07cf)) { Return(0x2) } Return(0x1) } Method(_S3D) { Return(0x2) } Method(_S4D) { Return(0x2) } } Device(USB2) { Name(_ADR, 0x001d0002) OperationRegion(U2CS, PCI_Config, 0xc4, 0x4) Field(U2CS, DWordAcc, NoLock, Preserve) { U2EN, 2 } Method(_PSW, 1) { If(Arg0) { Store(0x3, U2EN) } Else { Store(0x0, U2EN) } } Method(_S1D) { If(LEqual(OSYS, 0x07cf)) { Return(0x2) } Return(0x1) } Method(_S3D) { Return(0x2) } Method(_S4D) { Return(0x2) } } Device(USB7) { Name(_ADR, 0x001d0007) Method(_PS0) { \_SB_.PHS_(0x94) } Method(_PS3) { Store(0x7, P80H) } } Name(PUAL, Package(0x1) { 0x001f0001, }) Device(IDEC) { Name(_ADR, 0x001f0001) OperationRegion(IDEC, PCI_Config, 0x40, 0x18) Field(IDEC, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset(0x8), SYNC, 4, Offset(0xa), SDT0, 2, , 2, SDT1, 2, Offset(0xb), SDT2, 2, , 2, SDT3, 2, Offset(0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4 } Device(PRID) { Name(_ADR, 0x0) Method(_GTM) { Name(PBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }) CreateDWordField(PBUF, 0x0, PIO0) CreateDWordField(PBUF, 0x4, DMA0) CreateDWordField(PBUF, 0x8, PIO1) CreateDWordField(PBUF, 0xc, DMA1) CreateDWordField(PBUF, 0x10, FLAG) Store(GETP(PRIT), PIO0) Store(GDMA(And(SYNC, 0x1, ), And(ICR3, 0x1, ), And(ICR0, 0x1, ), SDT0, And(ICR1, 0x1, )), DMA0) If(LEqual(DMA0, 0xffffffff)) { Store(PIO0, DMA0) } If(And(PRIT, 0x4000, )) { If(LEqual(And(PRIT, 0x90, ), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(PSIT), PIO1) } } Else { Store(0xffffffff, PIO1) } Store(GDMA(And(SYNC, 0x2, ), And(ICR3, 0x2, ), And(ICR0, 0x2, ), SDT1, And(ICR1, 0x2, )), DMA1) If(LEqual(DMA1, 0xffffffff)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, 0x1, ), And(SYNC, 0x2, ), PRIT), FLAG) Return(PBUF) } Method(_STM, 3) { CreateDWordField(Arg0, 0x0, PIO0) CreateDWordField(Arg0, 0x4, DMA0) CreateDWordField(Arg0, 0x8, PIO1) CreateDWordField(Arg0, 0xc, DMA1) CreateDWordField(Arg0, 0x10, FLAG) Store(0x4, ICR2) If(LEqual(SizeOf(Arg1), 0x0200)) { And(PRIT, 0x40f0, PRIT) And(SYNC, 0xe, SYNC) Store(0x0, SDT0) And(ICR0, 0xe, ICR0) And(ICR1, 0xe, ICR1) And(ICR3, 0xe, ICR3) And(ICR5, 0xe, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6a, W530) CreateWordField(Arg1, 0x7e, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xb0, W880) CreateWordField(Arg1, 0xba, W930) Or(PRIT, 0x8004, PRIT) If(LAnd(And(FLAG, 0x2, ), And(W490, 0x0800, ))) { Or(PRIT, 0x2, PRIT) } Or(PRIT, SETP(PIO0, W530, W640), PRIT) If(And(FLAG, 0x1, )) { Or(SYNC, 0x1, SYNC) Store(SDMA(DMA0), SDT0) If(LLess(DMA0, 0x1e)) { Or(ICR3, 0x1, ICR3) } If(LLess(DMA0, 0x3c)) { Or(ICR0, 0x1, ICR0) } If(And(W930, 0x2000, )) { Or(ICR1, 0x1, ICR1) } } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(PRIT, 0x3f0f, PRIT) Store(0x0, PSIT) And(SYNC, 0xd, SYNC) Store(0x0, SDT1) And(ICR0, 0xd, ICR0) And(ICR1, 0xd, ICR1) And(ICR3, 0xd, ICR3) And(ICR5, 0xd, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6a, W531) CreateWordField(Arg2, 0x7e, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xb0, W881) CreateWordField(Arg2, 0xba, W931) Or(PRIT, 0x8040, PRIT) If(LAnd(And(FLAG, 0x8, ), And(W491, 0x0800, ))) { Or(PRIT, 0x20, PRIT) } If(And(FLAG, 0x10, )) { Or(PRIT, 0x4000, PRIT) If(LGreater(PIO1, 0xf0)) { Or(PRIT, 0x80, PRIT) } Else { Or(PRIT, 0x10, PRIT) Store(SETT(PIO1, W531, W641), PSIT) } } If(And(FLAG, 0x4, )) { Or(SYNC, 0x2, SYNC) Store(SDMA(DMA1), SDT1) If(LLess(DMA1, 0x1e)) { Or(ICR3, 0x2, ICR3) } If(LLess(DMA1, 0x3c)) { Or(ICR0, 0x2, ICR0) } If(And(W931, 0x2000, )) { Or(ICR1, 0x2, ICR1) } } } } Device(P_D0) { Name(_ADR, 0x0) Method(_GTF) { Name(PIB0, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }) CreateByteField(PIB0, 0x1, PMD0) CreateByteField(PIB0, 0x8, DMD0) If(And(PRIT, 0x2, )) { If(LEqual(And(PRIT, 0x9, ), 0x8)) { Store(0x8, PMD0) } Else { Store(0xa, PMD0) ShiftRight(And(PRIT, 0x0300, ), 0x8, Local0) ShiftRight(And(PRIT, 0x3000, ), 0xc, Local1) Add(Local0, Local1, Local2) If(LEqual(0x3, Local2)) { Store(0xb, PMD0) } If(LEqual(0x5, Local2)) { Store(0xc, PMD0) } } } Else { Store(0x1, PMD0) } If(And(SYNC, 0x1, )) { Store(Or(SDT0, 0x40, ), DMD0) If(And(ICR1, 0x1, )) { If(And(ICR0, 0x1, )) { Add(DMD0, 0x2, DMD0) } If(And(ICR3, 0x1, )) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x7, ), 0x2, ), 0x20, DMD0) } Return(PIB0) } } Device(P_D1) { Name(_ADR, 0x1) Method(_GTF) { Name(PIB1, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef }) CreateByteField(PIB1, 0x1, PMD1) CreateByteField(PIB1, 0x8, DMD1) If(And(PRIT, 0x20, )) { If(LEqual(And(PRIT, 0x90, ), 0x80)) { Store(0x8, PMD1) } Else { Add(And(PSIT, 0x3, ), ShiftRight(And(PSIT, 0xc, ), 0x2, ), Local0) If(LEqual(0x5, Local0)) { Store(0xc, PMD1) } Else { If(LEqual(0x3, Local0)) { Store(0xb, PMD1) } Else { Store(0xa, PMD1) } } } } Else { Store(0x1, PMD1) } If(And(SYNC, 0x2, )) { Store(Or(SDT1, 0x40, ), DMD1) If(And(ICR1, 0x2, )) { If(And(ICR0, 0x2, )) { Add(DMD1, 0x2, DMD1) } If(And(ICR3, 0x2, )) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x7, ), 0x2, ), 0x20, DMD1) } Return(PIB1) } } Method(_PS0) { } Method(_PS3) { } } Device(SECD) { Name(_ADR, 0x1) Method(_GTM) { Name(SBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }) CreateDWordField(SBUF, 0x0, PIO0) CreateDWordField(SBUF, 0x4, DMA0) CreateDWordField(SBUF, 0x8, PIO1) CreateDWordField(SBUF, 0xc, DMA1) CreateDWordField(SBUF, 0x10, FLAG) Store(GETP(SECT), PIO0) Store(GDMA(And(SYNC, 0x4, ), And(ICR3, 0x4, ), And(ICR0, 0x4, ), SDT2, And(ICR1, 0x4, )), DMA0) If(LEqual(DMA0, 0xffffffff)) { Store(PIO0, DMA0) } If(And(SECT, 0x4000, )) { If(LEqual(And(SECT, 0x90, ), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(SSIT), PIO1) } } Else { Store(0xffffffff, PIO1) } Store(GDMA(And(SYNC, 0x8, ), And(ICR3, 0x8, ), And(ICR0, 0x8, ), SDT3, And(ICR1, 0x8, )), DMA1) If(LEqual(DMA1, 0xffffffff)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, 0x4, ), And(SYNC, 0x8, ), SECT), FLAG) Return(SBUF) } Method(_STM, 3) { CreateDWordField(Arg0, 0x0, PIO0) CreateDWordField(Arg0, 0x4, DMA0) CreateDWordField(Arg0, 0x8, PIO1) CreateDWordField(Arg0, 0xc, DMA1) CreateDWordField(Arg0, 0x10, FLAG) Store(0x4, ICR2) If(LEqual(SizeOf(Arg1), 0x0200)) { And(SECT, 0x40f0, SECT) And(SYNC, 0xb, SYNC) Store(0x0, SDT2) And(ICR0, 0xb, ICR0) And(ICR1, 0xb, ICR1) And(ICR3, 0xb, ICR3) And(ICR5, 0xb, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6a, W530) CreateWordField(Arg1, 0x7e, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xb0, W880) CreateWordField(Arg1, 0xba, W930) Or(SECT, 0x8004, SECT) If(LAnd(And(FLAG, 0x2, ), And(W490, 0x0800, ))) { Or(SECT, 0x2, SECT) } Or(SECT, SETP(PIO0, W530, W640), SECT) If(And(FLAG, 0x1, )) { Or(SYNC, 0x4, SYNC) Store(SDMA(DMA0), SDT2) If(LLess(DMA0, 0x1e)) { Or(ICR3, 0x4, ICR3) } If(LLess(DMA0, 0x3c)) { Or(ICR0, 0x4, ICR0) } If(And(W930, 0x2000, )) { Or(ICR1, 0x4, ICR1) } } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(SECT, 0x3f0f, SECT) Store(0x0, SSIT) And(SYNC, 0x7, SYNC) Store(0x0, SDT3) And(ICR0, 0x7, ICR0) And(ICR1, 0x7, ICR1) And(ICR3, 0x7, ICR3) And(ICR5, 0x7, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6a, W531) CreateWordField(Arg2, 0x7e, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xb0, W881) CreateWordField(Arg2, 0xba, W931) Or(SECT, 0x8040, SECT) If(LAnd(And(FLAG, 0x8, ), And(W491, 0x0800, ))) { Or(SECT, 0x20, SECT) } If(And(FLAG, 0x10, )) { Or(SECT, 0x4000, SECT) If(LGreater(PIO1, 0xf0)) { Or(SECT, 0x80, SECT) } Else { Or(SECT, 0x10, SECT) Store(SETT(PIO1, W531, W641), SSIT) } } If(And(FLAG, 0x4, )) { Or(SYNC, 0x8, SYNC) Store(SDMA(DMA1), SDT3) If(LLess(DMA1, 0x1e)) { Or(ICR3, 0x8, ICR3) } If(LLess(DMA1, 0x3c)) { Or(ICR0, 0x8, ICR0) } If(And(W931, 0x2000, )) { Or(ICR1, 0x8, ICR1) } } } } Device(S_D0) { Name(_ADR, 0x0) Method(_GTF) { Name(SIB0, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }) CreateByteField(SIB0, 0x1, PMD0) CreateByteField(SIB0, 0x8, DMD0) If(And(SECT, 0x2, )) { If(LEqual(And(SECT, 0x9, ), 0x8)) { Store(0x8, PMD0) } Else { Store(0xa, PMD0) ShiftRight(And(SECT, 0x0300, ), 0x8, Local0) ShiftRight(And(SECT, 0x3000, ), 0xc, Local1) Add(Local0, Local1, Local2) If(LEqual(0x3, Local2)) { Store(0xb, PMD0) } If(LEqual(0x5, Local2)) { Store(0xc, PMD0) } } } Else { Store(0x1, PMD0) } If(And(SYNC, 0x4, )) { Store(Or(SDT2, 0x40, ), DMD0) If(And(ICR1, 0x4, )) { If(And(ICR0, 0x4, )) { Add(DMD0, 0x2, DMD0) } If(And(ICR3, 0x4, )) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x7, ), 0x2, ), 0x20, DMD0) } Return(SIB0) } } Device(S_D1) { Name(_ADR, 0x1) Method(_GTF) { Name(SIB1, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef }) CreateByteField(SIB1, 0x1, PMD1) CreateByteField(SIB1, 0x8, DMD1) If(And(SECT, 0x20, )) { If(LEqual(And(SECT, 0x90, ), 0x80)) { Store(0x8, PMD1) } Else { Add(And(SSIT, 0x3, ), ShiftRight(And(SSIT, 0xc, ), 0x2, ), Local0) If(LEqual(0x5, Local0)) { Store(0xc, PMD1) } Else { If(LEqual(0x3, Local0)) { Store(0xb, PMD1) } Else { Store(0xa, PMD1) } } } } Else { Store(0x1, PMD1) } If(And(SYNC, 0x8, )) { Store(Or(SDT3, 0x40, ), DMD1) If(And(ICR1, 0x8, )) { If(And(ICR0, 0x8, )) { Add(DMD1, 0x2, DMD1) } If(And(ICR3, 0x8, )) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x7, ), 0x2, ), 0x20, DMD1) } Return(SIB1) } } Method(_PS0) { } Method(_PS3) { } } Method(GETP, 1, Serialized) { If(LEqual(And(Arg0, 0x9, ), 0x0)) { Return(0xffffffff) } If(LEqual(And(Arg0, 0x9, ), 0x8)) { Return(0x0384) } ShiftRight(And(Arg0, 0x0300, ), 0x8, Local0) ShiftRight(And(Arg0, 0x3000, ), 0xc, Local1) Return(Multiply(0x1e, Subtract(0x9, Add(Local0, Local1, ), ), )) } Method(GDMA, 5, Serialized) { If(Arg0) { If(LAnd(Arg1, Arg4)) { Return(0x14) } If(LAnd(Arg2, Arg4)) { Return(Multiply(Subtract(0x4, Arg3, ), 0xf, )) } Return(Multiply(Subtract(0x4, Arg3, ), 0x1e, )) } Return(0xffffffff) } Method(GETT, 1, Serialized) { Return(Multiply(0x1e, Subtract(0x9, Add(And(ShiftRight(Arg0, 0x2, ), 0x3, ), And(Arg0, 0x3, ), ), ), )) } Method(GETF, 3, Serialized) { Name(TMPF, 0x0) If(Arg0) { Or(TMPF, 0x1, TMPF) } If(And(Arg2, 0x2, )) { Or(TMPF, 0x2, TMPF) } If(Arg1) { Or(TMPF, 0x4, TMPF) } If(And(Arg2, 0x20, )) { Or(TMPF, 0x8, TMPF) } If(And(Arg2, 0x4000, )) { Or(TMPF, 0x10, TMPF) } Return(TMPF) } Method(SETP, 3, Serialized) { If(LGreater(Arg0, 0xf0)) { Return(0x8) } Else { If(And(Arg1, 0x2, )) { If(LAnd(LNot(LGreater(Arg0, 0x78)), And(Arg2, 0x2, ))) { Return(0x2301) } If(LAnd(LNot(LGreater(Arg0, 0xb4)), And(Arg2, 0x1, ))) { Return(0x2101) } } Return(0x1001) } } Method(SDMA, 1, Serialized) { If(LNot(LGreater(Arg0, 0x14))) { Return(0x1) } If(LNot(LGreater(Arg0, 0x1e))) { Return(0x2) } If(LNot(LGreater(Arg0, 0x2d))) { Return(0x1) } If(LNot(LGreater(Arg0, 0x3c))) { Return(0x2) } If(LNot(LGreater(Arg0, 0x5a))) { Return(0x1) } Return(0x0) } Method(SETT, 3, Serialized) { If(And(Arg1, 0x2, )) { If(LAnd(LNot(LGreater(Arg0, 0x78)), And(Arg2, 0x2, ))) { Return(0xb) } If(LAnd(LNot(LGreater(Arg0, 0xb4)), And(Arg2, 0x1, ))) { Return(0x9) } } Return(0x4) } } Device(SBUS) { Name(_ADR, 0x001f0003) } Device(AUD0) { Name(_ADR, 0x001f0005) } Device(MODM) { Name(_ADR, 0x001f0006) Name(_PRW, Package(0x2) { 0x5, 0x3, }) } } } } /* BOOT: Length=40, Revision=1, Checksum=165, OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */ /* SSDT: Length=364, Revision=1, Checksum=84, OEMID=INTEL, OEM Table ID=CPU0CST, OEM Revision=0x1, Creator ID=INTL, Creator Revision=0x20020725 */ /* SSDT: Length=668, Revision=1, Checksum=24, OEMID=INTEL, OEM Table ID=EISTRef, OEM Revision=0x2000, Creator ID=INTL, Creator Revision=0x20020725 */