/* RSD PTR: Checksum=238, OEMID=GATEWA, RsdtAddress=0x1f6e8a23 */ /* RSDT: Length=52, Revision=1, Checksum=145, OEMID=GATEWA, OEM Table ID=SOLO5350, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 */ /* Entries={ 0x1f6eedf3, 0x1f6eee67, 0x1f6eee8f, 0x1f6eef4b } */ /* DSDT=0x1f6e8a57 INT_MODEL=PIC SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0xf2 PM1a_EVT_BLK=0x8000-0x8003 PM1a_CNT_BLK=0x8004-0x8005 PM2_CNT_BLK=0x8020-0x8020 PM2_TMR_BLK=0x8008-0x800b PM2_GPE0_BLK=0x8028-0x802b PM2_GPE1_BLK=0x802c-0x802f, GPE1_BASE=16 P_LVL2_LAT=1ms, P_LVL3_LAT=85ms FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=0 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 Flags={WBINVD,PROC_C1,SLP_BUTTON,DCK_CAP} */ /* DSDT: Length=25500, Revision=1, Checksum=22, OEMID=GATEWA, OEM Table ID=SOLO5350, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x100000d */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x1, //DSDT Revision "GATEWA", //OEMID "SOLO5350", //TABLE ID 0x6040000 //OEM Revision ) { OperationRegion(PORT, SystemIO, 0x80, 0x1) Field(PORT, ByteAcc, NoLock, Preserve) { P80H, 8 } OperationRegion(S_IO, SystemIO, 0x0600, 0x10) Field(S_IO, ByteAcc, NoLock, Preserve) { Offset(0x8), , 1, ISPE, 1, FPEN, 1, , 3, CPEN, 1, IPPE, 1 } OperationRegion(A_IO, SystemIO, 0x8000, 0x30) Field(A_IO, ByteAcc, NoLock, Preserve) { PMS0, 8, PMS1, 8, PME0, 8, PME1, 8, PMC0, 8, PMC1, 8, Offset(0x8), TMR0, 8, TMR1, 8, TMR2, 8, TMR3, 8, Offset(0x10), PRC0, 8, PRC1, 8, PRC2, 8, PRC3, 8, Offset(0x28), GPS0, 8, GPS1, 8, GPE0, 8, GPE1, 8, , 2, CDIN, 1, BAYI, 3, Offset(0x2d), GPS3, 8, GPE2, 8, GPE3, 8 } OperationRegion(GPIO, SystemIO, 0x8080, 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, GL04, 8, GL05, 8, GL06, 8, GL07, 8 } OperationRegion(MNVS, SystemMemory, 0x1f6eff9c, 0x10) Field(MNVS, AnyAcc, Lock, Preserve) { OSYS, 16, CMAP, 8, CMBP, 8, FDCP, 8, LPTP, 8, BTEN, 8 } 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, 0x8010, 0x6) { } } Name(\GPIC, 0x0) Name(\CTYP, 0x0) Name(\ECON, 0x0) Name(\ACON, 0x1) Name(\DSEN, 0x1) Name(\ENUM, 0x1) Method(\_PIC, 1) { Store(Arg0, GPIC) } Method(_PTS, 1) { \_SB_.PHS_(0x8e) If(LEqual(Arg0, 0x3)) { If(LNot(LGreater(OSYS, 0x07cf))) { \_SB_.PHS_(0xa7) } } } Method(_WAK, 1) { \_SB_.PHS_(0x8f) \_SB_.PHS_(0xa0) If(LEqual(Arg0, 0x4)) { Notify(\_SB_.PWRB, 0x2) } If(LEqual(Arg0, 0x3)) { If(LNot(LGreater(OSYS, 0x07cf))) { Notify(\_SB_.PWRB, 0x2) } } Store(\_SB_.PCI0.LPCB.H_EC.ACEX, \ACON) If(LNot(LGreater(Arg0, 0x3))) { \_SB_.PHS_(0x9c) } } Scope(\_GPE) { Method(_L05) { Notify(\_SB_.PCI0.MODM, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L08) { Notify(\_SB_.PCI0.LPCB.SIOD.COMA, 0x2) } Method(_L0B) { Notify(\_SB_.PCI0, 0x2) Notify(\_SB_.PCI0.PCIB, 0x2) Notify(\_SB_.PCI0.PCIB.DCK0, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L0D) { Notify(\_SB_.PCI0, 0x2) } Method(_L17) { Store(0xa0, P80H) XOr(GIV0, 0x80, GIV0) Store(0xa1, P80H) Sleep(0xa) Store("Dock Event", Debug) Store(\_SB_.PCI0.PCIB.DCK0.DEVT, Local0) XOr(And(Local0, 0x1, ), 0x1, Local1) XOr(And(Local0, 0x2, ), 0x2, Local2) XOr(And(Local0, 0x8, ), 0x8, Local3) Store(0xa8, P80H) If(Local3) { Store(0xa2, P80H) Store("Undocking Permit", Debug) Sleep(0xa) And(\_SB_.PCI0.PCIB.DCK0.DEVT, 0xf4, \_SB_.PCI0.PCIB.DCK0.DEVT) Sleep(0xa) Signal(\_SB_.PCI0.PCIB.DCK0.EJT0) } Else { If(Local1) { Store(0xa4, P80H) Store("Undock Request", Debug) Sleep(0xa) And(\_SB_.PCI0.PCIB.DCK0.DEVT, 0xf4, \_SB_.PCI0.PCIB.DCK0.DEVT) Sleep(0xa) Notify(\_SB_.PCI0.PCIB.DCK0, 0x1) } Else { If(Local2) { Store(0xa6, P80H) Store("Dock!", Debug) Sleep(0xa) And(\_SB_.PCI0.PCIB.DCK0.DEVT, 0xf4, \_SB_.PCI0.PCIB.DCK0.DEVT) Sleep(0xa) \_SB_.PHS_(0xaa) Notify(\_SB_.PCI0.PCIB.DCK0, 0x0) } } } Store(0xaf, P80H) } Method(_L1C) { Store(\_SB_.PHS1(0x98, 0x0), Local0) If(LEqual(Local0, 0x1)) { Notify(\_SB_.PWRB, 0x2) } If(LEqual(Local0, 0x2)) { Notify(\_SB_.PCI0.PCIB.DCK0, 0x2) } If(LEqual(Local0, 0x3)) { Notify(\_SB_.PCI0.PCIB, 0x2) } If(LEqual(Local0, 0x4)) { Notify(\_SB_.PCI0.PCIB, 0x2) } If(LEqual(Local0, 0x5)) { Notify(\_SB_.PCI0.PCIB, 0x2) } } } 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(_PSV) { Store(0x69, Local0) Multiply(Local0, 0xa, Local0) Add(Local0, 0x0aac, Local0) Return(Local0) } Name(_PSL, 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_) { OperationRegion(PHSD, SystemMemory, 0x1f6efd9d, 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(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, 0x0, 0xffffffff, 0x3, 0xa, 0x1, 0x1, "", "", "LION", "", }) Name(BTYP, Package(0x5) { "4S", "4T", "3S", "3T", "", }) Name(BMAK, Package(0x3) { "SONY", "Toshiba", "", }) Method(_BIF) { If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS2(0x9a, 0xb0, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x1, )) } Else { Store(Local0, Index(BATI, 0x1, )) } Store(\_SB_.PHS2(0x9a, 0xb2, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x2, )) } Else { Store(Local0, Index(BATI, 0x2, )) } Store(\_SB_.PHS2(0x9a, 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(0x9a, 0xb6, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(Zero, Index(BATI, 0x6, )) } Else { Store(0x0, Local0) Store(Local0, Index(BATI, 0x6, )) } Store(\_SB_.PHS2(0x9a, 0xe0, 0x0), Local0) If(LEqual(Local0, 0x5334)) { Store(Zero, Local1) Store(Zero, Local2) } Else { If(LEqual(Local0, 0x5333)) { Store(0x2, Local1) Store(Zero, Local2) } Else { If(LEqual(Local0, 0x5434)) { Store(0x1, Local1) Store(One, Local2) } Else { If(LEqual(Local0, 0x5433)) { Store(0x3, Local1) Store(One, Local2) } Else { Store(0x4, Local1) Store(0x2, Local2) } } } } Store(DerefOf(Index(BTYP, Local1, )), Index(BATI, 0x9, )) Store(DerefOf(Index(BMAK, Local2, )), Index(BATI, 0xc, )) } Else { Store(\_SB_.PCI0.LPCB.H_EC.B1DA, 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(\_SB_.PCI0.LPCB.H_EC.B1DF, 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(\_SB_.PCI0.LPCB.H_EC.B1DV, 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(\_SB_.PCI0.LPCB.H_EC.B1DL, 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(0x0, Local0) Store(Local0, Index(BATI, 0x6, )) } Store(\_SB_.PCI0.LPCB.H_EC.B1NM, Local0) If(LEqual(Local0, 0x5334)) { Store(Zero, Local1) Store(Zero, Local2) } Else { If(LEqual(Local0, 0x5333)) { Store(0x2, Local1) Store(Zero, Local2) } Else { If(LEqual(Local0, 0x5434)) { Store(0x1, Local1) Store(One, Local2) } Else { If(LEqual(Local0, 0x5433)) { Store(0x3, Local1) Store(One, Local2) } Else { Store(0x4, Local1) Store(0x2, Local2) } } } } Store(DerefOf(Index(BTYP, Local1, )), Index(BATI, 0x9, )) Store(DerefOf(Index(BMAK, Local2, )), Index(BATI, 0xc, )) } Return(BATI) } Name(STAT, Package(0x4) { 0x0, 0x0, 0x0, 0x0, }) Method(_BST) { If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS2(0x99, 0x84, 0x0), Local0) If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(LEqual(Local0, 0x5)))) { If(LEqual(\ACON, 0x1)) { Store(0x2, Local0) } Else { Store(0x1, Local0) } } Store(Local0, Index(STAT, 0x0, )) Store(\_SB_.PHS2(0x9a, 0xd4, 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(0x9a, 0xa2, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x2, )) } Else { Store(Local0, Index(STAT, 0x2, )) } Store(\_SB_.PHS2(0x9a, 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.B1ST, Local0) If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(LEqual(Local0, 0x5)))) { If(LEqual(\ACON, 0x1)) { Store(0x2, Local0) } Else { Store(0x1, Local0) } } Store(Local0, Index(STAT, 0x0, )) Store(\_SB_.PCI0.LPCB.H_EC.B1CR, 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(\_SB_.PCI0.LPCB.H_EC.B1RA, 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(\_SB_.PCI0.LPCB.H_EC.B1VO, 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(0x96, 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_) } } Device(BAT2) { Name(_HID, 0x0a0cd041) Name(_UID, 0x2) Name(BATI, Package(0xd) { 0x1, 0xffffffff, 0xffffffff, 0x1, 0xffffffff, 0x3, 0xa, 0x1, 0x1, "bq2040", "", "LION", "", }) Method(_BIF) { If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS2(0x9a, 0xb8, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x1, )) } Else { Store(Local0, Index(BATI, 0x1, )) } Store(\_SB_.PHS2(0x9a, 0xba, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x2, )) } Else { Store(Local0, Index(BATI, 0x2, )) } Store(\_SB_.PHS2(0x9a, 0xbc, 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(0x9a, 0xbe, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(Zero, Index(BATI, 0x6, )) } Else { Store(0x0, Local0) Store(Local0, Index(BATI, 0x6, )) } } Else { Store(\_SB_.PCI0.LPCB.H_EC.B2DA, 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(\_SB_.PCI0.LPCB.H_EC.B2DF, 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(\_SB_.PCI0.LPCB.H_EC.B2DV, 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(\_SB_.PCI0.LPCB.H_EC.B2DL, 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(0x0, Local0) Store(Local0, Index(BATI, 0x6, )) } } Return(BATI) } Name(STAT, Package(0x4) { 0x0, 0x0, 0x0, 0x0, }) Method(_BST) { If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS2(0x99, 0x85, 0x0), Local0) If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(LEqual(Local0, 0x5)))) { If(LEqual(\ACON, 0x1)) { Store(0x2, Local0) } Else { Store(0x1, Local0) } } Store(Local0, Index(STAT, 0x0, )) Store(\_SB_.PHS2(0x9a, 0xdc, 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(0x9a, 0xaa, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x2, )) } Else { Store(Local0, Index(STAT, 0x2, )) } Store(\_SB_.PHS2(0x9a, 0xae, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x3, )) } Else { Store(Local0, Index(STAT, 0x3, )) } } Else { Store(\_SB_.PCI0.LPCB.H_EC.B2ST, Local0) If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(LEqual(Local0, 0x5)))) { If(LEqual(\ACON, 0x1)) { Store(0x2, Local0) } Else { Store(0x1, Local0) } } Store(Local0, Index(STAT, 0x0, )) Store(\_SB_.PCI0.LPCB.H_EC.B2CR, 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(\_SB_.PCI0.LPCB.H_EC.B2RA, 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(\_SB_.PCI0.LPCB.H_EC.B2VO, 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(0x96, 0x1), 0x1)) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } } Else { If(LEqual(\_SB_.PCI0.LPCB.H_EC.B2EX, 0x1)) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } } Return(Local0) } Method(_PCL) { Return(\_SB_) } } Device(PWRB) { Name(_HID, 0x0c0cd041) Name(_PRW, Package(0x2) { 0x1c, 0x4, }) } Device(LID0) { Name(_HID, 0x0d0cd041) Name(_PRW, Package(0x2) { 0x1c, 0x3, }) 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(PCI0) { Method(_INI) { If(CondRefOf(_OSI, Local0)) { Store(0x07d1, OSYS) \_SB_.PHS_(0xa5) } Else { If(LEqual(SizeOf(_OS_), 0x14)) { Store(0x07d0, OSYS) \_SB_.PHS_(0xa6) } Else { If(LEqual(SizeOf(_OS_), 0x27)) { Store(0x07cf, OSYS) \_SB_.PHS_(0xa8) } Else { Store(0x07ce, OSYS) \_SB_.PHS_(0xa9) } } } If(LEqual(OSYS, 0x07ce)) { Store(0x1, ECON) } } Name(_HID, 0x030ad041) Name(_ADR, 0x0) Name(_BBN, 0x0) OperationRegion(HBUS, PCI_Config, 0x40, 0xc0) Field(HBUS, DWordAcc, NoLock, Preserve) { Offset(0x12), , 3, IGDE, 1, 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), DRB0, 8, DRB1, 8, DRB2, 8, DRB3, 8, DRB4, 8, DRB5, 8, DRB6, 8, DRB7, 8, Offset(0x30), DRA0, 3, , 1, DRA1, 3, Offset(0x31), DRA2, 3, , 1, DRA3, 3, Offset(0x32), DRA4, 3, , 1, DRA5, 3, Offset(0x33), DRA6, 3, , 1, DRA7, 3, Offset(0x34) } 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, DRB5, M1MN) Add(Subtract(M1MX, M1MN, ), 0x1, M1LN) ShiftRight(And(\_SB_.PCI0.LPCB.MTSE, 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(0x6) { 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) { 0x001fffff, 0x0, 0x0, 0x12, }, Package(0x4) { 0x001fffff, 0x1, 0x0, 0x11, }, }) } Else { Return(Package(0x6) { 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) { 0x001fffff, 0x0, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x001fffff, 0x1, \_SB_.PCI0.LPCB.LNKB, 0x0, }, }) } } Device(FIGD) { Name(_HID, 0x020cd041) Name(_UID, 0x1) Method(_STA) { If(LNot(LLess(OSYS, 0x07d0))) { If(LEqual(IGDE, 0x0)) { Return(0xb) } } Return(0x0) } Name(_CRS, Buffer(0x03f2) {0x47, 0x1, 0xb0, 0x7, 0xb0, 0x7, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x7, 0xc0, 0x7, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xb, 0xb0, 0xb, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xb, 0xc0, 0xb, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xf, 0xb0, 0xf, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xf, 0xc0, 0xf, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x13, 0xb0, 0x13, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x13, 0xc0, 0x13, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x17, 0xb0, 0x17, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x17, 0xc0, 0x17, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x1b, 0xb0, 0x1b, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x1b, 0xc0, 0x1b, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x1f, 0xb0, 0x1f, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x1f, 0xc0, 0x1f, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x23, 0xb0, 0x23, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x23, 0xc0, 0x23, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x27, 0xb0, 0x27, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x27, 0xc0, 0x27, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x2b, 0xb0, 0x2b, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x2b, 0xc0, 0x2b, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x2f, 0xb0, 0x2f, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x2f, 0xc0, 0x2f, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x33, 0xb0, 0x33, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x33, 0xc0, 0x33, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x37, 0xb0, 0x37, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x37, 0xc0, 0x37, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x3b, 0xb0, 0x3b, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x3b, 0xc0, 0x3b, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x3f, 0xb0, 0x3f, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x3f, 0xc0, 0x3f, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x43, 0xb0, 0x43, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x43, 0xc0, 0x43, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x47, 0xb0, 0x47, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x47, 0xc0, 0x47, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x4b, 0xb0, 0x4b, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x4b, 0xc0, 0x4b, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x4f, 0xb0, 0x4f, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x4f, 0xc0, 0x4f, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x53, 0xb0, 0x53, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x53, 0xc0, 0x53, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x57, 0xb0, 0x57, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x57, 0xc0, 0x57, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x5b, 0xb0, 0x5b, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x5b, 0xc0, 0x5b, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x5f, 0xb0, 0x5f, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x5f, 0xc0, 0x5f, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x63, 0xb0, 0x63, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x63, 0xc0, 0x63, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x67, 0xb0, 0x67, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x67, 0xc0, 0x67, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x6b, 0xb0, 0x6b, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x6b, 0xc0, 0x6b, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x6f, 0xb0, 0x6f, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x6f, 0xc0, 0x6f, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x73, 0xb0, 0x73, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x73, 0xc0, 0x73, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x77, 0xb0, 0x77, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x77, 0xc0, 0x77, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x7b, 0xb0, 0x7b, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x7b, 0xc0, 0x7b, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x7f, 0xb0, 0x7f, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x7f, 0xc0, 0x7f, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x83, 0xb0, 0x83, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x83, 0xc0, 0x83, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x87, 0xb0, 0x87, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x87, 0xc0, 0x87, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x8b, 0xb0, 0x8b, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x8b, 0xc0, 0x8b, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x8f, 0xb0, 0x8f, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x8f, 0xc0, 0x8f, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x93, 0xb0, 0x93, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x93, 0xc0, 0x93, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x97, 0xb0, 0x97, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x97, 0xc0, 0x97, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x9b, 0xb0, 0x9b, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x9b, 0xc0, 0x9b, 0x1, 0x20, 0x47, 0x1, 0xb0, 0x9f, 0xb0, 0x9f, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x9f, 0xc0, 0x9f, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xa3, 0xb0, 0xa3, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xa3, 0xc0, 0xa3, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xa7, 0xb0, 0xa7, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xa7, 0xc0, 0xa7, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xab, 0xb0, 0xab, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xab, 0xc0, 0xab, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xaf, 0xb0, 0xaf, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xaf, 0xc0, 0xaf, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xb3, 0xb0, 0xb3, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xb3, 0xc0, 0xb3, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xb7, 0xb0, 0xb7, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xb7, 0xc0, 0xb7, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xbb, 0xb0, 0xbb, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xbb, 0xc0, 0xbb, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xbf, 0xb0, 0xbf, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xbf, 0xc0, 0xbf, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xc3, 0xb0, 0xc3, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xc3, 0xc0, 0xc3, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xc7, 0xb0, 0xc7, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xc7, 0xc0, 0xc7, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xcb, 0xb0, 0xcb, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xcb, 0xc0, 0xcb, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xcf, 0xb0, 0xcf, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xcf, 0xc0, 0xcf, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xd3, 0xb0, 0xd3, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xd3, 0xc0, 0xd3, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xd7, 0xb0, 0xd7, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xd7, 0xc0, 0xd7, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xdb, 0xb0, 0xdb, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xdb, 0xc0, 0xdb, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xdf, 0xb0, 0xdf, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xdf, 0xc0, 0xdf, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xe3, 0xb0, 0xe3, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xe3, 0xc0, 0xe3, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xe7, 0xb0, 0xe7, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xe7, 0xc0, 0xe7, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xeb, 0xb0, 0xeb, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xeb, 0xc0, 0xeb, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xef, 0xb0, 0xef, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xef, 0xc0, 0xef, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xf3, 0xb0, 0xf3, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xf3, 0xc0, 0xf3, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xf7, 0xb0, 0xf7, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xf7, 0xc0, 0xf7, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xfb, 0xb0, 0xfb, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xfb, 0xc0, 0xfb, 0x1, 0x20, 0x47, 0x1, 0xb0, 0xff, 0xb0, 0xff, 0x1, 0xc, 0x47, 0x1, 0xc0, 0xff, 0xc0, 0xff, 0x1, 0x20, 0x79, 0x0 }) } Device(AGPB) { Name(_ADR, 0x00010000) Method(_PRT) { If(GPIC) { Return(Package(0x2) { Package(0x4) { 0xffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0xffff, 0x1, 0x0, 0x11, }, }) } Else { Return(Package(0x2) { Package(0x4) { 0xffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0xffff, 0x1, \_SB_.PCI0.LPCB.LNKB, 0x0, }, }) } } } Device(GRFX) { Name(_ADR, 0x00020000) Name(_PSC, 0x0) Method(_PS0) { Store(0x0, _PSC) \_SB_.PHS_(0xa4) } Method(_PS3) { Store(0x3, _PSC) \_SB_.PHS_(0xa3) } OperationRegion(IO_T, SystemIO, 0x0800, 0x4) Field(IO_T, ByteAcc, NoLock, Preserve) { TRP0, 8 } OperationRegion(VGAB, SystemMemory, 0x1f6effac, 0x00010010) Field(VGAB, AnyAcc, Lock, Preserve) { RSIZ, 32, VFUN, 16, CSTE, 16, NSTE, 16, SSTE, 16, CADL, 16, PADL, 16, RBUF, 524288 } Method(_DOS, 1) { Store(And(Arg0, 0x3, ), DSEN) } Method(_DOD) { Store(0x71, P80H) Name(PSIZ, 0x0) Name(PPTR, 0x0) Store(0x2, VFUN) Store(0x0, TRP0) Or(CADL, 0x4, CADL) Store(CADL, Local0) Store(CADL, Local1) Store(CADL, PADL) While(Local1) { If(And(Local1, 0x1, )) { Increment(PSIZ) } ShiftRight(Local1, 0x1, Local1) } If(LOr(LEqual(PSIZ, 0x0), LGreater(PSIZ, 0x6))) { Store(0x0, ENUM) Return(Package(0x1) { 0x00010100, }) } Else { Store(0x1, ENUM) 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, 0x4, )) { Store(0x00010300, Index(VID2, PPTR, )) Increment(PPTR) } If(And(Local0, 0x8, )) { Store(0x00010400, Index(VID2, PPTR, )) Increment(PPTR) } If(And(Local0, 0x10, )) { Store(0x00010500, Index(VID2, PPTR, )) Increment(PPTR) } If(And(Local0, 0x20, )) { Store(0x00010600, Index(VID2, 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, 0x4, )) { Store(0x00010300, Index(VID3, PPTR, )) Increment(PPTR) } If(And(Local0, 0x8, )) { Store(0x00010400, Index(VID3, PPTR, )) Increment(PPTR) } If(And(Local0, 0x10, )) { Store(0x00010500, Index(VID3, PPTR, )) Increment(PPTR) } If(And(Local0, 0x20, )) { Store(0x00010600, Index(VID3, PPTR, )) } Return(VID3) } If(LEqual(PSIZ, 0x4)) { Name(VID4, Package(0x4) { 0x00010100, 0x00010200, 0x00010300, 0x00010400, }) If(And(Local0, 0x1, )) { Store(0x00010100, Index(VID4, PPTR, )) Increment(PPTR) } If(And(Local0, 0x2, )) { Store(0x00010200, Index(VID4, PPTR, )) Increment(PPTR) } If(And(Local0, 0x4, )) { Store(0x00010300, Index(VID4, PPTR, )) Increment(PPTR) } If(And(Local0, 0x8, )) { Store(0x00010400, Index(VID4, PPTR, )) Increment(PPTR) } If(And(Local0, 0x10, )) { Store(0x00010500, Index(VID4, PPTR, )) Increment(PPTR) } If(And(Local0, 0x20, )) { Store(0x00010600, Index(VID4, PPTR, )) } Return(VID4) } If(LEqual(PSIZ, 0x5)) { Name(VID5, Package(0x5) { 0x00010100, 0x00010200, 0x00010300, 0x00010400, 0x00010500, }) If(And(Local0, 0x1, )) { Store(0x00010100, Index(VID5, PPTR, )) Increment(PPTR) } If(And(Local0, 0x2, )) { Store(0x00010200, Index(VID5, PPTR, )) Increment(PPTR) } If(And(Local0, 0x4, )) { Store(0x00010300, Index(VID5, PPTR, )) Increment(PPTR) } If(And(Local0, 0x8, )) { Store(0x00010400, Index(VID5, PPTR, )) Increment(PPTR) } If(And(Local0, 0x10, )) { Store(0x00010500, Index(VID5, PPTR, )) Increment(PPTR) } If(And(Local0, 0x20, )) { Store(0x00010600, Index(VID5, PPTR, )) } Return(VID5) } If(LEqual(PSIZ, 0x6)) { Name(VID6, Package(0x6) { 0x00010100, 0x00010200, 0x00010300, 0x00010400, 0x00010500, 0x00010600, }) If(And(Local0, 0x1, )) { Store(0x00010100, Index(VID6, PPTR, )) Increment(PPTR) } If(And(Local0, 0x2, )) { Store(0x00010200, Index(VID6, PPTR, )) Increment(PPTR) } If(And(Local0, 0x4, )) { Store(0x00010300, Index(VID6, PPTR, )) Increment(PPTR) } If(And(Local0, 0x8, )) { Store(0x00010400, Index(VID6, PPTR, )) Increment(PPTR) } If(And(Local0, 0x10, )) { Store(0x00010500, Index(VID6, PPTR, )) Increment(PPTR) } If(And(Local0, 0x20, )) { Store(0x00010600, Index(VID6, PPTR, )) } Return(VID6) } 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, 0x4, )) { Store(0x00010300, Index(VID1, 0x0, )) } If(And(Local0, 0x8, )) { Store(0x00010400, Index(VID1, 0x0, )) } If(And(Local0, 0x10, )) { Store(0x00010500, Index(VID1, 0x0, )) } If(And(Local0, 0x8, )) { Store(0x00010600, 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(0x77, P80H) Store(0x1, VFUN) Store(0x0, TRP0) Store(CSTE, Local0) If(Local0) { If(And(Local0, 0x1, )) { Return(0x1f) } } Return(0x1d) } Method(_DGS) { Store(NSTE, Local0) If(Local0) { If(And(Local0, 0x1, )) { Return(0x1) } } Return(0x0) } Method(_DSS, 1) { Store(0x40, P80H) } } Device(DTV1) { Name(_ADR, 0x0200) Method(_DCS) { Store(0x72, P80H) Store(0x1, VFUN) Store(0x0, TRP0) Store(CSTE, Local0) If(Local0) { If(And(Local0, 0x0202, )) { Return(0x1f) } } Return(0x1d) } Method(_DGS) { Store(NSTE, Local0) If(Local0) { If(And(Local0, 0x0202, )) { Return(0x1) } } Return(0x0) } Method(_DSS, 1) { Store(0x40, P80H) } } Device(DFP1) { Name(_ADR, 0x0300) Method(_DCS) { Store(0x73, P80H) Store(0x1, VFUN) Store(0x0, TRP0) Store(CSTE, Local0) Or(Local0, 0x4, Local0) If(Local0) { If(And(Local0, 0x0404, )) { Return(0x1f) } } Return(0x1d) } Method(_DGS) { Store(NSTE, Local0) If(Local0) { If(And(Local0, 0x0404, )) { Return(0x1) } } Return(0x0) } Method(_DSS, 1) { Store(0x40, P80H) } } Device(LFP1) { Name(_ADR, 0x0400) Method(_DCS) { Store(0x74, P80H) Store(0x1, VFUN) Store(0x0, TRP0) Store(CSTE, Local0) If(Local0) { If(And(Local0, 0x0808, )) { Return(0x1f) } } Return(0x1d) } Method(_DGS) { Store(NSTE, Local0) If(Local0) { If(And(Local0, 0x0808, )) { Return(0x1) } } Return(0x0) } Method(_DSS, 1) { Store(0x40, P80H) } } Device(DTV2) { Name(_ADR, 0x0500) Method(_DCS) { Store(0x75, P80H) Store(0x1, VFUN) Store(0x0, TRP0) Store(CSTE, Local0) If(Local0) { If(And(Local0, 0x1010, )) { Return(0x1f) } } Return(0x1d) } Method(_DGS) { Store(NSTE, Local0) If(Local0) { If(And(Local0, 0x1010, )) { Return(0x1) } } Return(0x0) } Method(_DSS, 1) { Store(0x40, P80H) } } Device(DFP2) { Name(_ADR, 0x0600) Method(_DCS) { Store(0x76, P80H) Store(0x1, VFUN) Store(0x0, TRP0) Store(CSTE, Local0) If(Local0) { If(And(Local0, 0x2020, )) { Return(0x1f) } } Return(0x1d) } Method(_DGS) { Store(NSTE, Local0) If(Local0) { If(And(Local0, 0x2020, )) { Return(0x1) } } Return(0x0) } Method(_DSS, 1) { Store(0x40, P80H) } } } Device(PCIB) { Name(_ADR, 0x001e0000) Device(LANC) { Name(_ADR, 0x00080000) Name(_PRW, Package(0x2) { 0xb, 0x3, }) } Device(CDB0) { Name(_ADR, 0x00030000) OperationRegion(CBD0, PCI_Config, 0x0, 0xc0) Field(CBD0, AnyAcc, NoLock, Preserve) { Offset(0x3c), CD3C, 8, Offset(0x44), CD44, 32, Offset(0xa5), CDA5, 8 } Method(_INI) { Or(CD3C, 0xff, CD3C) Store(0x0, CD44) } Method(_STA) { Return(0xf) } } Device(CDB1) { Name(_ADR, 0x00030001) OperationRegion(CBD1, PCI_Config, 0x0, 0xc0) Field(CBD1, AnyAcc, NoLock, Preserve) { Offset(0x3c), CD3C, 8, Offset(0x44), CD44, 32, Offset(0xa5), CDA5, 8 } Method(_INI) { Or(CD3C, 0xff, CD3C) Store(0x0, CD44) } Method(_STA) { Return(0xf) } } Device(DCK0) { Name(_ADR, 0x000c0000) Method(_BDN) { If(LNot(LGreater(OSYS, 0x07cf))) { If(LEqual(VID_, 0x124b8086)) { Return(PHS4(0x9d, 0x0, 0x0, 0x0, 0x0)) } Return(0x0) } Else { If(LEqual(VID_, 0x124b8086)) { Return(0x1) } Return(0x0) } } Method(_UID) { If(LNot(LGreater(OSYS, 0x07cf))) { If(LEqual(VID_, 0x124b8086)) { Return(0x1) } Return(0x0) } Else { If(LEqual(VID_, 0x124b8086)) { Return(PHS4(0x9d, 0x0, 0x0, 0x0, 0x0)) } Return(0x0) } } OperationRegion(PCI_, PCI_Config, 0x0, 0x10) Field(PCI_, DWordAcc, NoLock, Preserve) { VID_, 32, IOMM, 2, Offset(0x5), SERR, 1 } OperationRegion(CTRL, PCI_Config, 0x40, 0x1) Field(CTRL, ByteAcc, NoLock, Preserve) { , 2, QBEN, 2 } OperationRegion(STAT, PCI_Config, 0x41, 0x1) Field(STAT, ByteAcc, NoLock, Preserve) { DEVT, 8 } Method(_INI) { If(LEqual(_STA(), 0xf)) { And(DEVT, 0xf4, DEVT) } } Name(ADRQ, 0x0) Name(AURQ, 0x0) Method(_DCK, 1) { Store(0xb0, P80H) If(Arg0) { Store(Zero, SERR) Store(Ones, IOMM) Store(Ones, QBEN) } Else { Store(Zero, IOMM) Store(Zero, QBEN) Reset(EJT0) Or(DEVT, 0x8, DEVT) Wait(EJT0, 0xffff) } Return(0x1) } Method(_STA) { If(LEqual(VID_, 0x124b8086)) { \_SB_.PHS_(0x83) Return(0xf) } Else { Return(0x0) } } Event(EJT0) Method(_EJ0, 1) { Store(0xc0, P80H) \_SB_.PHS_(0x86) If(Arg0) { Store(0xc2, P80H) \_SB_.PHS_(0x87) Store(0xc4, P80H) Not(DEVT, Local0) Or(Local0, 0x8, DEVT) Store(0xc6, P80H) \_SB_.PHS_(0x8d) Store(0xc8, P80H) Return(0x0) } } Name(DCBF, 0x0) Name(_PRT, Package(0x9) { Package(0x4) { 0x0004ffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x0004ffff, 0x1, \_SB_.PCI0.LPCB.LNKB, 0x0, }, Package(0x4) { 0x0009ffff, 0x0, \_SB_.PCI0.LPCB.LNKB, 0x0, }, Package(0x4) { 0x0009ffff, 0x1, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x0009ffff, 0x2, \_SB_.PCI0.LPCB.LNKD, 0x0, }, Package(0x4) { 0x0009ffff, 0x3, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x000affff, 0x0, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x000dffff, 0x0, \_SB_.PCI0.LPCB.LNKB, 0x0, }, Package(0x4) { 0x000dffff, 0x1, \_SB_.PCI0.LPCB.LNKC, 0x0, }, }) Device(CDB2) { Name(_ADR, 0x00040000) OperationRegion(CCRD, PCI_Config, 0x0, 0xa6) Field(CCRD, DWordAcc, NoLock, Preserve) { Offset(0x3c), CD3C, 32, Offset(0x44), CD44, 32, Offset(0xa5), CDA5, 8 } Method(_INI) { Or(CD3C, 0xff, CD3C) And(CD44, 0xffff0000, CD44) } Name(_PRW, Package(0x2) { 0xb, 0x3, }) } Device(CDB3) { Name(_ADR, 0x00040001) OperationRegion(CCRD, PCI_Config, 0x0, 0xa6) Field(CCRD, DWordAcc, NoLock, Preserve) { Offset(0x3c), CD3C, 32, Offset(0x44), CD44, 32, Offset(0xa5), CDA5, 8 } Method(_INI) { Or(CD3C, 0xff, CD3C) And(CD44, 0xffff0000, CD44) } Name(_PRW, Package(0x2) { 0xb, 0x3, }) } Device(USB3) { Name(_ADR, 0x000a0000) Name(_PRW, Package(0x2) { 0xb, 0x3, }) } Device(SLT2) { Name(_ADR, 0x000d0000) } Device(SLT3) { Name(_ADR, 0x00090000) } } Method(_PRT) { If(GPIC) { Return(Package(0x3) { Package(0x4) { 0x0003ffff, 0x0, 0x0, 0x12, }, Package(0x4) { 0x0003ffff, 0x1, 0x0, 0x13, }, Package(0x4) { 0x0008ffff, 0x0, 0x0, 0x14, }, }) } Else { Return(Package(0xa) { Package(0x4) { 0x0003ffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x0003ffff, 0x1, \_SB_.PCI0.LPCB.LNKB, 0x0, }, Package(0x4) { 0x0006ffff, 0x0, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x0008ffff, 0x0, \_SB_.PCI0.LPCB.LNKE, 0x0, }, Package(0x4) { 0x0007ffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x0007ffff, 0x1, \_SB_.PCI0.LPCB.LNKB, 0x0, }, Package(0x4) { 0x000cffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x000cffff, 0x1, \_SB_.PCI0.LPCB.LNKB, 0x0, }, Package(0x4) { 0x000cffff, 0x2, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x000cffff, 0x3, \_SB_.PCI0.LPCB.LNKD, 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), MTSE, 32, Offset(0xa0), CMAD, 3, Offset(0xa1), LPAD, 2 } Method(IRQA, 0, Serialized) { Name(BUF1, Buffer(0x6) {0x23, 0x0, 0x4, 0x18, 0x79, 0x0 }) Return(BUF1) } Method(IRQB, 0, Serialized) { Name(BUF2, Buffer(0x6) {0x23, 0x0, 0x8, 0x18, 0x79, 0x0 }) Return(BUF2) } Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x1) Method(_DIS, 0, Serialized) { Or(PIRA, 0x80, PIRA) } Method(_PRS, 0, Serialized) { Return(IRQA()) } Method(_CRS, 0, Serialized) { Name(RTLA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLA, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRA, 0x80, ))) { And(PIRA, 0xf, Local0) ShiftLeft(0x1, Local0, 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) { Or(PIRB, 0x80, PIRB) } Method(_PRS, 0, Serialized) { Return(IRQA()) } Method(_CRS, 0, Serialized) { Name(RTLB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLB, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRB, 0x80, ))) { And(PIRB, 0xf, Local0) ShiftLeft(0x1, Local0, 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) { Or(PIRC, 0x80, PIRC) } Method(_PRS, 0, Serialized) { Return(IRQB()) } Method(_CRS, 0, Serialized) { Name(RTLC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLC, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRC, 0x80, ))) { And(PIRC, 0xf, Local0) ShiftLeft(0x1, Local0, 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) { Or(PIRD, 0x80, PIRD) } Method(_PRS, 0, Serialized) { Return(IRQB()) } Method(_CRS, 0, Serialized) { Name(RTLD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLD, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRD, 0x80, ))) { And(PIRD, 0xf, Local0) ShiftLeft(0x1, Local0, 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) { Or(PIRE, 0x80, PIRE) } Method(_PRS, 0, Serialized) { Return(IRQA()) } Method(_CRS, 0, Serialized) { Name(RTLE, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLE, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRE, 0x80, ))) { And(PIRE, 0xf, Local0) ShiftLeft(0x1, Local0, 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) { Or(PIRF, 0x80, PIRF) } Method(_PRS, 0, Serialized) { Return(IRQA()) } Method(_CRS, 0, Serialized) { Name(RTLF, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLF, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRF, 0x80, ))) { And(PIRF, 0xf, Local0) ShiftLeft(0x1, Local0, 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) { Or(PIRG, 0x80, PIRG) } Method(_PRS, 0, Serialized) { Return(IRQB()) } Method(_CRS, 0, Serialized) { Name(RTLG, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLG, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRG, 0x80, ))) { And(PIRG, 0xf, Local0) ShiftLeft(0x1, Local0, IRQ0) } Return(RTLG) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRF) } Method(_STA, 0, Serialized) { If(And(PIRG, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKH) { Name(_HID, 0x0f0cd041) Name(_UID, 0x8) Method(_DIS) { Or(PIRH, 0x80, PIRH) } Method(_PRS, 0, Serialized) { Return(IRQB()) } Method(_CRS, 0, Serialized) { Name(RTLH, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLH, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(PIRH, 0x80, ))) { And(PIRH, 0xf, Local0) ShiftLeft(0x1, Local0, 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(MTSE, 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(MTSE, 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, 0x0, 0x6, 0x0, 0x6, 0x1, 0x10, 0x47, 0x1, 0x0, 0x7, 0x0, 0x7, 0x1, 0x10, 0x47, 0x1, 0x0, 0x80, 0x0, 0x80, 0x1, 0x80, 0x47, 0x1, 0x80, 0x80, 0x80, 0x80, 0x1, 0x40, 0x47, 0x1, 0x0, 0xfe, 0x0, 0xfe, 0x1, 0x1, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x1, 0x10, 0x86, 0x9, 0x0, 0x1, 0x0, 0xfc, 0xbf, 0xfe, 0x0, 0x4, 0x0, 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(H_EC) { Name(_HID, 0x090cd041) 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) } Method(_REG, 2) { If(LEqual(Arg0, 0x3)) { If(LEqual(Arg1, 0x1)) { Store(0x1, \ECON) Store(\_SB_.PHS1(0x96, 0x2), Local0) If(LEqual(Local0, 0x1)) { Store(0x1, \ACON) } Else { Store(0x0, \ACON) } } Else { Store(0x0, \ECON) } } } Name(_GPE, 0x18) Event(EJT0) Event(EJT1) OperationRegion(ECR_, EmbeddedControl, 0x0, 0xff) Field(ECR_, AnyAcc, 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), B1RP, 16, B1RA, 16, B1PR, 16, B1VO, 16, B2RP, 16, B2RA, 16, B2PR, 16, B2VO, 16, B1DA, 16, B1DF, 16, B1DV, 16, B1DL, 16, B2DA, 16, B2DF, 16, B2DV, 16, B2DL, 16, CTMP, 8, Offset(0xd0), B1TI, 16, B1SE, 16, B1CR, 16, B1TM, 16, B2TI, 16, B2SE, 16, B2CR, 16, B2TM, 16, B1NM, 16, Offset(0xf0), B2NM, 16 } Method(_Q50) { Notify(\_SB_.PWRB, 0x80) } Method(_Q51) { \_SB_.PHS_(0xa1) \_SB_.PHS_(0x9c) Notify(\_SB_.ADP1, 0x80) Store(0x1, \ACON) } Method(_Q52) { \_SB_.PHS_(0xa2) \_SB_.PHS_(0x9c) Notify(\_SB_.ADP1, 0x80) Store(0x0, \ACON) } Method(_Q53) { Notify(\_SB_.BAT1, 0x80) } Method(_Q54) { Notify(\_SB_.BAT1, 0x80) } Method(_Q55) { Notify(\_SB_.BAT2, 0x80) } Method(_Q56) { Notify(\_SB_.BAT2, 0x80) } Method(_Q59) { \_SB_.PHS_(0x89) } Method(_Q5A) { \_SB_.PHS_(0x8a) } Method(_Q5B) { Notify(\_SB_.SLPB, 0x80) } Method(_Q5C) { \_SB_.PHS_(0x94) } Method(_Q5D) { Store(SizeOf(\_OS_), Local0) Store(0x78, P80H) If(LOr(LEqual(Local0, 0x11), LEqual(Local0, 0x27))) { Store(0x79, P80H) Store(0x6, \_SB_.PCI0.GRFX.VFUN) Store(0x0, \_SB_.PCI0.GRFX.TRP0) Notify(\_SB_.PCI0.GRFX, 0x81) } Else { Store(0x7a, P80H) Store(0x2, \_SB_.PCI0.GRFX.VFUN) Store(0x0, \_SB_.PCI0.GRFX.TRP0) If(LNot(LEqual(\_SB_.PCI0.GRFX.CADL, \_SB_.PCI0.GRFX.PADL))) { Notify(\_SB_.PCI0, 0x0) Sleep(0x03e8) } If(LEqual(0x0, DSEN)) { If(ENUM) { Store(0x7b, P80H) Store(0x7, \_SB_.PCI0.GRFX.VFUN) Store(0x0, \_SB_.PCI0.GRFX.TRP0) Notify(\_SB_.PCI0.GRFX, 0x80) } } If(LEqual(0x1, DSEN)) { Store(0x7c, P80H) Store(0x6, \_SB_.PCI0.GRFX.VFUN) Store(0x0, \_SB_.PCI0.GRFX.TRP0) Notify(\_SB_.PCI0.GRFX, 0x81) } If(LNot(LLess(DSEN, 0x2))) { } } } Method(_Q5E) { Notify(\_SB_.LID0, 0x80) } Method(_Q5F) { Notify(\_SB_.LID0, 0x80) } Method(_Q60) { If(LEqual(B1EX, 0x1)) { \_SB_.PHS_(0x89) Notify(\_SB_.BAT1, 0x1) } If(LEqual(B2EX, 0x1)) { \_SB_.PHS_(0x8a) Notify(\_SB_.BAT2, 0x1) } } Method(_Q61) { If(LEqual(B1EX, 0x1)) { \_SB_.PHS_(0x8b) Notify(\_SB_.BAT1, 0x1) } If(LEqual(B2EX, 0x1)) { \_SB_.PHS_(0x8c) Notify(\_SB_.BAT2, 0x1) } } Method(_Q63) { \_SB_.PHS_(0x9e) } Method(_Q64) { \_SB_.PHS_(0x9f) } Method(_Q65) { Notify(\_TZ_.THRM, 0x80) } Method(_Q66) { Notify(\_SB_.BAT1, 0x80) } Method(_Q67) { Notify(\_SB_.BAT2, 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, 0x02002e4f) Name(_CID, 0x130fd041) Name(_CRS, Buffer(0x6) {0x23, 0x0, 0x10, 0x1, 0x79, 0x0 }) } Device(SIOD) { Name(_HID, 0x050ad041) OperationRegion(N393, SystemIO, 0x2e, 0x2) Field(N393, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } Method(SETD, 1) { Store(0x7, INDX) Store(Arg0, DATA) } Method(READ, 1) { Store(Arg0, INDX) Store(DATA, Local0) Return(Local0) } Method(WRIT, 2) { Store(Arg0, INDX) Store(Arg1, DATA) } Device(COMA) { Name(_HID, 0x0105d041) Name(_UID, 0x1) Method(_STA) { If(CMAP) { SETD(0x3) If(READ(0x30)) { Return(0xf) } Return(0xd) } Return(0x0) } Method(_DIS) { SETD(0x3) WRIT(0x30, 0x0) } Method(_CRS) { Name(BUF0, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x79, 0x0 }) SETD(0x3) If(CMAP) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateWordField(BUF0, 0x9, IRQW) Store(READ(0x60), IOH0) Store(READ(0x61), IOL0) Store(READ(0x60), IOH1) Store(READ(0x61), IOL1) Store(0x8, LEN0) And(READ(0x70), 0xf, Local0) If(Local0) { ShiftLeft(One, Local0, IRQW) } Else { Store(Zero, IRQW) } } Return(BUF0) } Method(_PRS) { Name(BUF0, Buffer(0x6b) {0x31, 0x8, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x38, 0x79, 0x0 }) Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) If(CMAP) { Return(BUF0) } Else { Return(BUF1) } } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateWordField(Arg0, 0x9, IRQW) CreateWordField(Arg0, 0x2, IO2B) SETD(0x3) WRIT(0x30, 0x0) WRIT(0x61, IOLO) WRIT(0x60, IOHI) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) If(LEqual(IO2B, 0x03f8)) { Store(0x0, CMAD) } Else { If(LEqual(IO2B, 0x02f8)) { Store(0x1, CMAD) } Else { If(LEqual(IO2B, 0x03e8)) { Store(0x7, CMAD) } Else { If(LEqual(IO2B, 0x02e8)) { Store(0x5, CMAD) } } } } WRIT(0x30, 0x1) } Method(_PS0) { SETD(0x3) WRIT(0x30, 0x1) } Method(_PS3) { SETD(0x3) WRIT(0x30, 0x0) } } Device(FDSK) { Name(_HID, 0x0007d041) Method(_STA) { Store(0x0, Local0) If(FDCP) { SETD(0x0) If(READ(0x30)) { Store(0xf, Local0) } Else { Store(0xd, Local0) } If(LNot(LLess(OSYS, 0x07d0))) { If(CDIN) { Store(0x0, Local0) } Else { If(LNot(LEqual(BAYI, 0x1))) { Store(0x0, Local0) } } } } Return(Local0) } Method(_DIS) { SETD(0x0) WRIT(0x30, 0x0) } Method(_CRS) { Name(BUF0, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x1, 0x79, 0x0 }) SETD(0x0) If(FDCP) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateByteField(BUF0, 0xa, IOL2) CreateByteField(BUF0, 0xb, IOH2) CreateByteField(BUF0, 0xc, IOL3) CreateByteField(BUF0, 0xd, IOH3) CreateByteField(BUF0, 0xf, LEN1) CreateWordField(BUF0, 0x11, IRQW) CreateByteField(BUF0, 0x14, DMA0) Store(And(READ(0x61), 0xf0, ), IOL0) Store(READ(0x60), IOH0) If(LAnd(IOL0, IOH0)) { Store(IOL0, IOL1) Store(IOH0, IOH1) Store(Or(IOL0, 0x7, ), IOL2) Store(IOH0, IOH2) Store(IOL2, IOL3) Store(IOH2, IOH3) Store(0x6, LEN0) Store(0x1, LEN1) } And(READ(0x70), 0xf, Local0) If(Local0) { ShiftLeft(One, Local0, IRQW) } Else { Store(Zero, IRQW) } Store(READ(0x74), Local0) If(LEqual(Local0, 0x4)) { Store(Zero, DMA0) } Else { ShiftLeft(One, Local0, DMA0) } } Return(BUF0) } Method(_PRS) { Name(BUF0, Buffer(0x1b) {0x31, 0x8, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x1, 0x38, 0x79, 0x0 }) Name(BUF1, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x1, 0x79, 0x0 }) If(FDCP) { Return(BUF0) } Else { Return(BUF1) } } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateWordField(Arg0, 0x11, IRQW) CreateWordField(Arg0, 0x14, DMAC) SETD(0x0) WRIT(0x30, 0x0) WRIT(0x61, IOLO) WRIT(0x60, IOHI) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) FindSetRightBit(DMAC, Local0) If(LNot(LEqual(DMAC, Zero))) { Decrement(Local0) } WRIT(0x74, Local0) WRIT(0x30, 0x1) } Method(_PS0) { SETD(0x0) WRIT(0x30, 0x1) } Method(_PS3) { SETD(0x0) WRIT(0x30, 0x0) } } Device(POUT) { Name(_HID, 0x0004d041) Name(_UID, 0x1) Method(_STA) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x0)) { If(LPTP) { SETD(0x1) If(READ(0x30)) { Return(0xf) } Return(0xd) } } Return(0x0) } Method(_DIS) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x0)) { WRIT(0x30, 0x0) } } Method(_CRS) { Name(BUF0, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(LAnd(LPTP, LEqual(And(READ(0xf0), 0xe0, ), 0x0))) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateWordField(BUF0, 0x9, IRQW) SETD(0x1) Store(READ(0x61), IOL0) Store(READ(0x60), IOH0) Store(IOL0, IOL1) Store(IOH0, IOH1) Store(0x8, LEN0) If(And(READ(0x70), 0xf, )) { ShiftLeft(One, And(READ(0x70), 0xf, ), IRQW) } Else { Store(Zero, IRQW) } } Return(BUF0) } Method(_PRS) { Name(BUF0, Buffer(0x51) {0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x4, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x4, 0x22, 0x20, 0x0, 0x31, 0x8, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x38, 0x79, 0x0 }) Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) If(LAnd(LPTP, LEqual(And(READ(0xf0), 0xe0, ), 0x0))) { Return(BUF0) } Else { Return(BUF1) } } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOL0) CreateByteField(Arg0, 0x3, IOH0) CreateWordField(Arg0, 0x9, IRQW) CreateWordField(Arg0, 0x2, IO2B) SETD(0x1) WRIT(0x30, 0x0) WRIT(0xf0, And(READ(0xf0), 0xf, )) WRIT(0x74, 0x4) WRIT(0x61, IOL0) WRIT(0x60, IOH0) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) If(LEqual(IO2B, 0x0378)) { Store(0x0, LPAD) } Else { If(LEqual(IO2B, 0x0278)) { Store(0x1, LPAD) } Else { If(LEqual(IO2B, 0x03bc)) { Store(0x2, LPAD) } } } WRIT(0x30, 0x1) } Method(_PS0) { SETD(0x1) WRIT(0x30, 0x1) } Method(_PS3) { SETD(0x1) WRIT(0x30, 0x0) } } Device(PBID) { Name(_HID, 0x0004d041) Name(_UID, 0x2) Method(_STA) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x20)) { If(LPTP) { If(READ(0x30)) { Return(0xf) } Return(0xd) } } Return(0x0) } Method(_DIS) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x20)) { WRIT(0x30, 0x0) } } Method(_CRS) { Name(BUF0, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(LAnd(LPTP, LEqual(And(READ(0xf0), 0xe0, ), 0x20))) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateWordField(BUF0, 0x9, IRQW) SETD(0x1) Store(READ(0x61), IOL0) Store(READ(0x60), IOH0) Store(IOL0, IOL1) Store(IOH0, IOH1) If(LEqual(IOL0, 0x78)) { Store(0x8, LEN0) } Else { Store(0x4, LEN0) } If(And(READ(0x70), 0xf, )) { ShiftLeft(One, And(READ(0x70), 0xf, ), IRQW) } Else { Store(Zero, IRQW) } } Return(BUF0) } Method(_PRS) { Name(BUF0, Buffer(0x51) {0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x20, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x20, 0x0, 0x31, 0x8, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x38, 0x79, 0x0 }) Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) If(LAnd(LPTP, LEqual(And(READ(0xf0), 0xe0, ), 0x20))) { Return(BUF0) } Else { Return(BUF1) } } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOL0) CreateByteField(Arg0, 0x3, IOH0) CreateWordField(Arg0, 0x9, IRQW) CreateWordField(Arg0, 0x2, IO2B) SETD(0x1) WRIT(0x30, 0x0) WRIT(0xf0, Or(0x20, And(READ(0xf0), 0xf, ), )) WRIT(0x74, 0x4) WRIT(0x61, IOL0) WRIT(0x60, IOH0) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) If(LEqual(IO2B, 0x0378)) { Store(0x0, LPAD) } Else { If(LEqual(IO2B, 0x0278)) { Store(0x1, LPAD) } Else { If(LEqual(IO2B, 0x03bc)) { Store(0x2, LPAD) } } } WRIT(0x30, 0x1) } Method(_PS0) { SETD(0x1) WRIT(0x30, 0x1) } Method(_PS3) { SETD(0x1) WRIT(0x30, 0x0) } } Device(PEPP) { Name(_HID, 0x0004d041) Name(_UID, 0x3) Method(_STA) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x60)) { If(LPTP) { If(READ(0x30)) { Return(0xf) } Else { Return(0xd) } } } Return(0x0) } Method(_DIS) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x60)) { WRIT(0x30, 0x0) } } Method(_CRS) { Name(BUF0, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(LAnd(LPTP, LEqual(And(READ(0xf0), 0xe0, ), 0x60))) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateWordField(BUF0, 0x9, IRQW) SETD(0x1) Store(READ(0x61), IOL0) Store(READ(0x60), IOH0) Store(IOL0, IOL1) Store(IOH0, IOH1) Store(0x8, LEN0) If(And(READ(0x70), 0xf, )) { ShiftLeft(One, And(READ(0x70), 0xf, ), IRQW) } Else { Store(Zero, IRQW) } } Return(BUF0) } Method(_PRS) { Name(BUF0, Buffer(0x37) {0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x20, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x20, 0x0, 0x38, 0x79, 0x0 }) Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) If(LAnd(LPTP, LEqual(And(READ(0xf0), 0xe0, ), 0x60))) { Return(BUF0) } Else { Return(BUF1) } } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOL0) CreateByteField(Arg0, 0x3, IOH0) CreateWordField(Arg0, 0x9, IRQW) CreateWordField(Arg0, 0x2, IO2B) SETD(0x1) WRIT(0x30, 0x0) WRIT(0xf0, Or(0x60, And(READ(0xf0), 0xf, ), )) WRIT(0x74, 0x4) WRIT(0x61, IOL0) WRIT(0x60, IOH0) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) If(LEqual(IO2B, 0x0378)) { Store(0x0, LPAD) } Else { If(LEqual(IO2B, 0x0278)) { Store(0x1, LPAD) } Else { If(LEqual(IO2B, 0x03bc)) { Store(0x2, LPAD) } } } WRIT(0x30, 0x1) } Method(_PS0) { SETD(0x1) WRIT(0x30, 0x1) } Method(_PS3) { SETD(0x1) WRIT(0x30, 0x0) } } Device(PECP) { Name(_HID, 0x0104d041) Name(_UID, 0x4) Method(_STA) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0xe0)) { If(LPTP) { If(READ(0x30)) { Return(0xf) } Else { Return(0xd) } } } Return(0x0) } Method(_DIS) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0xe0)) { WRIT(0x30, 0x0) } } Method(_CRS) { Name(BUF0, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x1, 0x79, 0x0 }) If(LAnd(LPTP, LEqual(And(READ(0xf0), 0xe0, ), 0xe0))) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateByteField(BUF0, 0xa, IOL2) CreateByteField(BUF0, 0xb, IOH2) CreateByteField(BUF0, 0xc, IOL3) CreateByteField(BUF0, 0xd, IOH3) CreateByteField(BUF0, 0xf, LEN1) CreateWordField(BUF0, 0x11, IRQW) CreateByteField(BUF0, 0x14, DMA0) SETD(0x1) Store(READ(0x61), IOL0) Store(READ(0x60), IOH0) Store(IOL0, IOL1) Store(IOH0, IOH1) Store(IOL0, IOL2) Store(Add(0x4, IOH0, ), IOH2) Store(IOL0, IOL3) Store(Add(0x4, IOH0, ), IOH3) Store(0x8, LEN0) Store(0x8, LEN1) And(READ(0x70), 0xf, Local0) If(Local0) { ShiftLeft(One, Local0, IRQW) } Else { Store(Zero, IRQW) } Store(READ(0x74), Local0) If(LEqual(Local0, 0x4)) { Store(Zero, DMA0) } Else { ShiftLeft(One, Local0, DMA0) } } Return(BUF0) } Method(_PRS) { Name(BUF0, Buffer(0xc3) {0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x8, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x8, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0x8, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0x8, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x2, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x2, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0x2, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0x2, 0x1, 0x38, 0x79, 0x0 }) Name(BUF1, Buffer(0x1b) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x1, 0x38, 0x79, 0x0 }) If(LAnd(LPTP, LEqual(And(READ(0xf0), 0xe0, ), 0xe0))) { Return(BUF0) } Else { Return(BUF1) } } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOL0) CreateByteField(Arg0, 0x3, IOH0) CreateWordField(Arg0, 0x11, IRQW) CreateByteField(Arg0, 0x14, DMA0) CreateWordField(Arg0, 0x2, IO2B) SETD(0x1) WRIT(0x30, 0x0) WRIT(0xf0, Or(0xf0, READ(0xf0), )) WRIT(0x61, IOL0) WRIT(0x60, IOH0) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) FindSetRightBit(DMA0, Local0) If(LNot(LEqual(DMA0, Zero))) { Decrement(Local0) } WRIT(0x74, Local0) If(LEqual(IO2B, 0x0378)) { Store(0x0, LPAD) } Else { If(LEqual(IO2B, 0x0278)) { Store(0x1, LPAD) } Else { If(LEqual(IO2B, 0x03bc)) { Store(0x2, LPAD) } } } WRIT(0x30, 0x1) } Method(_PS0) { SETD(0x1) WRIT(0x30, 0x1) } Method(_PS3) { SETD(0x1) WRIT(0x30, 0x0) } } Device(GAME) { Name(_HID, 0x2fb0d041) Name(_UID, 0x1) Method(_STA) { Return(0xf) } Method(_DIS) { SETD(0xb) WRIT(0x30, 0x0) } Method(_CRS) { Name(BUF0, Buffer(0xa) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x79, 0x0 }) SETD(0xb) CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) Store(READ(0x60), IOH0) Store(READ(0x61), IOL0) Store(READ(0x60), IOH1) Store(READ(0x61), IOL1) Store(0x1, LEN0) Return(BUF0) } Method(_PRS) { Name(BUF0, Buffer(0x2b) {0x31, 0x8, 0x47, 0x1, 0x0, 0x2, 0x0, 0x2, 0x1, 0x1, 0x31, 0x8, 0x47, 0x1, 0x1, 0x2, 0x1, 0x2, 0x1, 0x1, 0x31, 0x8, 0x47, 0x1, 0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x31, 0x8, 0x47, 0x1, 0x3, 0x2, 0x3, 0x2, 0x1, 0x1, 0x38, 0x79, 0x0 }) Name(BUF1, Buffer(0xd) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x38, 0x79, 0x0 }) Return(BUF0) } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) SETD(0xb) WRIT(0x30, 0x0) WRIT(0x61, IOLO) WRIT(0x60, IOHI) WRIT(0x30, 0x1) } Method(_PS0) { SETD(0xb) WRIT(0x30, 0x1) } Method(_PS3) { SETD(0xb) WRIT(0x30, 0x0) } } } } Device(USB0) { Name(_ADR, 0x001d0000) } Device(USB1) { Name(_ADR, 0x001d0001) } Device(USB2) { Name(_ADR, 0x001d0002) } Name(PAUL, 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), SDMA, 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(GETD(And(SDMA, 0x1, ), And(ICR3, 0x1, ), And(ICR0, 0x1, ), SDT0), 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(GETD(And(SDMA, 0x2, ), And(ICR3, 0x2, ), And(ICR0, 0x2, ), SDT1), DMA1) If(LEqual(DMA1, 0xffffffff)) { Store(PIO1, DMA1) } Store(GETF(And(SDMA, 0x1, ), And(SDMA, 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(SDMA, 0xe, SDMA) 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) 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(SDMA, 0x1, SDMA) Store(SETD(DMA0), SDT0) If(And(W880, 0x20, )) { Or(ICR5, 0x1, ICR5) } If(And(W880, 0x10, )) { Or(ICR1, 0x1, ICR1) } If(LLess(DMA0, 0x1e)) { Or(ICR3, 0x1, ICR3) } If(LLess(DMA0, 0x3c)) { Or(ICR0, 0x1, ICR0) } } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(PRIT, 0x3f0f, PRIT) Store(0x0, PSIT) And(SDMA, 0xd, SDMA) 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) 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(SDMA, 0x2, SDMA) Store(SETD(DMA1), SDT1) If(And(W881, 0x20, )) { Or(ICR5, 0x2, ICR5) } If(And(W881, 0x10, )) { Or(ICR1, 0x2, ICR1) } If(LLess(DMA0, 0x1e)) { Or(ICR3, 0x2, ICR3) } If(LLess(DMA0, 0x3c)) { Or(ICR0, 0x2, ICR0) } } } } 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(SDMA, 0x1, )) { Store(Or(SDT0, 0x40, ), DMD0) 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(SDMA, 0x2, )) { Store(Or(SDT1, 0x40, ), DMD1) 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(GETD(And(SDMA, 0x4, ), And(ICR3, 0x4, ), And(ICR0, 0x4, ), SDT2), 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(GETD(And(SDMA, 0x8, ), And(ICR3, 0x8, ), And(ICR0, 0x8, ), SDT3), DMA1) If(LEqual(DMA1, 0xffffffff)) { Store(PIO1, DMA1) } Store(GETF(And(SDMA, 0x4, ), And(SDMA, 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(SDMA, 0xb, SDMA) 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) 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(SDMA, 0x4, SDMA) Store(SETD(DMA0), SDT2) If(And(W880, 0x20, )) { Or(ICR5, 0x4, ICR5) } If(And(W880, 0x10, )) { Or(ICR1, 0x4, ICR1) } If(LLess(DMA0, 0x1e)) { Or(ICR3, 0x4, ICR3) } If(LLess(DMA0, 0x3c)) { Or(ICR0, 0x4, ICR0) } } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(SECT, 0x3f0f, SECT) Store(0x0, SSIT) And(SDMA, 0x7, SDMA) 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) 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(SDMA, 0x8, SDMA) Store(SETD(DMA1), SDT3) If(And(W881, 0x20, )) { Or(ICR5, 0x8, ICR5) } If(And(W881, 0x10, )) { Or(ICR1, 0x8, ICR1) } If(LLess(DMA0, 0x1e)) { Or(ICR3, 0x8, ICR3) } If(LLess(DMA0, 0x3c)) { Or(ICR0, 0x8, ICR0) } } } } 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(SDMA, 0x4, )) { Store(Or(SDT2, 0x40, ), DMD0) 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(SDMA, 0x8, )) { Store(Or(SDT3, 0x40, ), DMD1) 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) { 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(GETD, 4) { If(Arg0) { If(Arg1) { Return(0x14) } If(Arg2) { Return(Multiply(Subtract(0x4, Arg3, ), 0xf, )) } Return(Multiply(Subtract(0x4, Arg3, ), 0x1e, )) } Return(0xffffffff) } Method(GETT, 1) { Return(Multiply(0x1e, Subtract(0x9, Add(And(ShiftRight(Arg0, 0x2, ), 0x3, ), And(Arg0, 0x3, ), ), ), )) } Method(GETF, 3) { 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) { If(LNot(LLess(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(SETD, 1) { 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) { 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(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=188, Revision=1, Checksum=138, OEMID=GATEWA, OEM Table ID=SOLO5350, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */ /* SSDT: Length=181, Revision=1, Checksum=119, OEMID=GATEWA, OEM Table ID=SOLO5350, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */