/* RSD PTR: Checksum=187, OEMID=DELL, RsdtAddress=0x000fcce8 */ /* RSDT: Length=72, Revision=1, Checksum=249, OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15, Creator ID=ASL, Creator Revision=0x61 */ /* Entries={ 0x000fce14, 0xfff668d3, 0x000fd026, 0x000fd04e, 0x000fd0e4, 0x000fd122, 0x000fd3b0, 0x000fd37e, 0x000fcf7c } */ /* DSDT=0xfff62da0 INT_MODEL=APIC SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0x70, ACPI_DISABLE=0x71, S4BIOS_REQ=0x0 PM1a_EVT_BLK=0x800-0x803 PM1a_CNT_BLK=0x804-0x805 PM2_TMR_BLK=0x808-0x80b PM2_GPE0_BLK=0x828-0x82f P_LVL2_LAT=500ms, P_LVL3_LAT=5000ms FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=0, DUTY_WIDTH=0 DAY_ALRM=0, MON_ALRM=0, CENTURY=0 Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4} */ /* DSDT: Length=14866, Revision=1, Checksum=46, OEMID=DELL, OEM Table ID=dt_ex, OEM Revision=0x1000, Creator ID=INTL, Creator Revision=0x20050624 */ DefinitionBlock ("acpi_dst.aml", "DSDT", 0x1, "DELL", "dt_ex", 0x1000) { Method(DBIN) { Noop } Scope(\) { Device(_SB.VBTN) { Name(_HID, 0x0c0cd041) Name(_PRW, Package(0x02) { One, 0x04, }) } OperationRegion(SSTS, SystemIO, 0x0828, One) Field(SSTS, ByteAcc, NoLock, WriteAsZeros) { TSTS, 1 } OperationRegion(SACT, SystemIO, 0x082a, One) Field(SACT, ByteAcc, NoLock, WriteAsZeros) { , 2, TPOL, 1 } } Scope(_GPE) { Method(_L00) { Store(Zero, TPOL) Store(One, TSTS) Notify(\_SB.VBTN, 0x02) } } Scope(_SB) { Method(_INI) { If(CondRefOf(_OSI, Local0)) { If(_OSI("Windows\x202001")) { Store(0x04, MSOS) } } } } Scope(\) { Name(MSOS, Zero) Mutex(MTX, 1) Method(CMRD, 1) { Acquire(SMIM, 0xffff) Store(Arg0, Local0) And(Local0, 0x7f, Local0) Store(Local0, SMID) Store(0x84, SMIC) Store(0x85, SMIC) Store(SMID, Local0) Release(SMIM) Return(Local0) } Method(CMWR, 2) { Acquire(SMIM, 0xffff) Store(Arg0, Local0) Or(Local0, 0x80, Local0) Store(Local0, SMID) Store(0x84, SMIC) Store(Arg1, SMID) Store(0x85, SMIC) Release(SMIM) } Method(GCKB) { Return(And(0x20, CMRD(0x26), )) } Method(GCMS) { Return(And(0x40, CMRD(0x6f), )) } Method(GCON) { Return(And(0x04, CMRD(0x55), )) } Method(GCUC) { And(One, CMRD(0x22), Local0) Return(XOr(One, Local0, )) } Method(GCS1) { Return(And(0x03, CMRD(0x25), )) } Method(GCS2) { Return(And(0x0c, CMRD(0x25), )) } Method(GCFD) { Return(And(0x18, CMRD(0x55), )) } Method(GCPP) { Return(And(0x70, CMRD(0x23), )) } Method(GCTP) { Return(And(0x40, CMRD(0x22), )) } Method(GCNC) { Return(And(0x03, CMRD(0x59), )) } Method(HACK) { If(LEqual(MSOS, 0x04)) { Store(CMRD(0x6f), Local0) Or(Local0, 0x04, Local0) CMWR(0x6f, Local0) Return(One) } Else { Store(CMRD(0x6f), Local0) And(Local0, 0xfb, Local0) CMWR(0x6f, Local0) } Add(SizeOf(_OS), One, Local0) Store(Local0, Local1) Name(BUF0, Buffer(Local0) { }) Name(BUF1, Buffer(Local0) { }) Name(OSNT, One) Name(OS98, One) Store(_OS, BUF0) Store("Microsoft\x20Windows\x20NT", BUF1) While(Local0) { Decrement(Local0) If(LEqual(DerefOf(Index(BUF0, Local0, )), DerefOf(Index(BUF1, Local0, )))) { } Else { Store(Zero, OSNT) } } If(OSNT) { Store(0x03, MSOS) Return(One) } Else { Store("Microsoft\x20Windows", BUF1) While(Local1) { Decrement(Local1) If(LEqual(DerefOf(Index(BUF0, Local1, )), DerefOf(Index(BUF1, Local1, )))) { } Else { Store(Zero, OS98) } } If(OS98) { Store(One, MSOS) Return(Zero) } Else { Store(0x02, MSOS) Return(Zero) } } } Method(ISLI) { If(CondRefOf(_OSI, Local0)) { If(_OSI("Linux")) { Return(One) } Else { Return(Zero) } } Else { Return(Zero) } } } Scope(_SB) { } OperationRegion(CMS, SystemIO, 0x70, 0x02) Field(CMS, ByteAcc, NoLock, Preserve) { CMSI, 8, CMSD, 8 } OperationRegion(SMIR, SystemIO, 0xb2, 0x02) Field(SMIR, ByteAcc, NoLock, Preserve) { SMIC, 8, SMID, 8 } OperationRegion(STON, SystemIO, 0x84, One) Field(STON, ByteAcc, NoLock, Preserve) { MGIC, 8 } OperationRegion(SIO, SystemIO, 0x2e, 0x02) Field(SIO, ByteAcc, NoLock, Preserve) { SIOI, 8, SIOD, 8 } OperationRegion(PM1R, SystemIO, 0x0800, 0x04) Field(PM1R, ByteAcc, NoLock, Preserve) { PMS1, 8, PMS2, 8, PME1, 8, PME2, 8 } OperationRegion(GPST, SystemIO, 0x0820, One) Field(GPST, ByteAcc, NoLock, Preserve) { GST0, 8 } OperationRegion(GLBC, SystemIO, 0x0828, 0x06) Field(GLBC, ByteAcc, NoLock, Preserve) { THRP, 8, GLBT, 8, EOS, 8, LIDP, 8, THME, 8, RIEN, 8 } OperationRegion(GPEC, SystemIO, 0x0842, One) Field(GPEC, ByteAcc, NoLock, Preserve) { THPL, 1, SWGP, 1, Offset(0x1) } OperationRegion(PMES, SystemIO, 0x0c00, One) Field(PMES, ByteAcc, NoLock, Preserve) { GSTS, 8 } Mutex(SMIM, 1) Method(SMI, 2) { Acquire(SMIM, 0xffff) Store(Arg1, SMID) Store(Arg0, SMIC) Store(MGIC, Local0) Store(SMID, Local1) Release(SMIM) Return(Local1) } Method(SMI1, 1) { Acquire(SMIM, 0xffff) Store(Arg0, SMIC) Store(MGIC, Local0) Store(SMID, Local0) Release(SMIM) Return(Local0) } Method(SMI2, 1) { Acquire(SMIM, 0xffff) Store(Arg0, SMIC) Store(MGIC, Local0) Store(SMIC, Local1) Store(SMID, Local0) ShiftLeft(Local0, 0x08, Local0) Add(Local1, Local0, Local0) Release(SMIM) Return(Local0) } Method(SMI4, 1) { Add(Arg0, One, Local0) Store(SMI2(Arg0), Local2) Store(SMI2(Local0), Local1) ShiftLeft(Local1, 0x10, Local1) Add(Local1, Local2, Local0) Return(Local0) } Method(GTMR) { Return(SMI4(0x78)) } Method(GTML) { Return(SMI4(0x74)) } Method(GTMH) { Return(SMI4(0x76)) } Method(GTOM) { Return(SMI4(0x81)) } Method(GUSB) { If(ISLI()) { Return(Zero) } Else { Return(SMI2(0xba)) } } Method(GTPM) { Return(SMI(0x96, Zero)) } Scope(_PR) { Processor(CPU0, 1, 0x810, 0x6) { } Processor(CPU1, 2, 0x0, 0x0) { } Processor(CPU2, 3, 0x0, 0x0) { } Processor(CPU3, 4, 0x0, 0x0) { } Processor(CPU4, 5, 0x0, 0x0) { } Processor(CPU5, 6, 0x0, 0x0) { } Processor(CPU6, 7, 0x0, 0x0) { } Processor(CPU7, 8, 0x0, 0x0) { } } Scope(\) { Name(SSTX, Zero) Method(_PTS, 1) { PSKM(Arg0) } } Method(_GPE._L08) { GPKM() If(Not(LEqual(SSTX, One), )) { Notify(\_SB.VBTN, 0x02) } Notify(\_SB.PCI0.ISA.KBD, 0x02) } Method(_GPE._L18) { XOr(LIDP, One, LIDP) Or(PME2, One, PME2) If(LEqual(\_SB.PCI0.PCI1.XME1(), One)) { Notify(\_SB.PCI0.PCI1, 0x02) } Else { If(LEqual(\_SB.PCI0.PCI2.XME2(), One)) { Notify(\_SB.PCI0.PCI2, 0x02) } Else { If(LEqual(\_SB.PCI0.PCI3.PCI4.PCI6.XME6(), One)) { Notify(\_SB.PCI0.PCI3.PCI4.PCI6, 0x02) } Else { If(LEqual(\_SB.PCI0.PCI3.PCI7.XME7(), One)) { Notify(\_SB.PCI0.PCI3.PCI7, 0x02) } Else { Notify(\_SB.PCI0.PCI9, 0x02) } } } } } Method(_GPE._L1B) { XOr(LIDP, 0x08, LIDP) Or(PME2, One, PME2) Notify(\_SB.PCI0.PCI8, 0x02) } Method(_GPE._L1D) { XOr(LIDP, 0x20, LIDP) } Method(_WAK, 1) { If(LEqual(Arg0, 0x04)) { GUSB() } Else { If(LEqual(Arg0, 0x03)) { If(And(0x20, CMRD(0x49), )) { GUSB() } } } CMWR(0x49, And(0xdf, CMRD(0x49), )) If(Or(And(PMS2, One, ), Or(And(LNot(HACK()), And(GLBT, 0x11, ), ), And(LNot(HACK()), And(THRP, 0x18, ), ), ), )) { Notify(\_SB.VBTN, 0x02) } Return(Zero) } Scope(_SI) { Method(_SST, 1) { Store(Arg0, SSTX) If(LEqual(Arg0, 0x03)) { And(LED2, 0xfd, LED2) } If(LEqual(Arg0, One)) { Or(LED2, 0x02, LED2) } } } Scope(_SB) { Device(PCI0) { Name(_HID, 0x030ad041) Name(_UID, 0x04) Name(_ADR, Zero) Name(_PRW, Package(0x02) { 0x0d, 0x05, }) Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Name(PIC0, Package(0x1e) { Package(0x04) { 0xffff, Zero, LNKA, Zero, }, Package(0x04) { 0xffff, One, LNKB, Zero, }, Package(0x04) { 0xffff, 0x02, LNKC, Zero, }, Package(0x04) { 0xffff, 0x03, LNKD, Zero, }, Package(0x04) { 0x0001ffff, Zero, LNKA, Zero, }, Package(0x04) { 0x0001ffff, One, LNKB, Zero, }, Package(0x04) { 0x0001ffff, 0x02, LNKC, Zero, }, Package(0x04) { 0x0001ffff, 0x03, LNKD, Zero, }, Package(0x04) { 0x0005ffff, Zero, LNKA, Zero, }, Package(0x04) { 0x0005ffff, One, LNKB, Zero, }, Package(0x04) { 0x0005ffff, 0x02, LNKC, Zero, }, Package(0x04) { 0x0005ffff, 0x03, LNKD, Zero, }, Package(0x04) { 0x0009ffff, Zero, LNKA, Zero, }, Package(0x04) { 0x0009ffff, One, LNKB, Zero, }, Package(0x04) { 0x0009ffff, 0x02, LNKC, Zero, }, Package(0x04) { 0x0009ffff, 0x03, LNKD, Zero, }, Package(0x04) { 0x001bffff, Zero, LNKA, Zero, }, Package(0x04) { 0x001cffff, Zero, LNKA, Zero, }, Package(0x04) { 0x001cffff, One, LNKB, Zero, }, Package(0x04) { 0x001cffff, 0x02, LNKC, Zero, }, Package(0x04) { 0x001cffff, 0x03, LNKD, Zero, }, Package(0x04) { 0x001dffff, Zero, LNKF, Zero, }, Package(0x04) { 0x001dffff, One, LNKG, Zero, }, Package(0x04) { 0x001dffff, 0x02, LNKC, Zero, }, Package(0x04) { 0x001dffff, 0x03, LNKH, Zero, }, Package(0x04) { 0x001effff, Zero, LNKH, Zero, }, Package(0x04) { 0x001effff, One, LNKB, Zero, }, Package(0x04) { 0x001fffff, Zero, LNKA, Zero, }, Package(0x04) { 0x001fffff, One, LNKB, Zero, }, Package(0x04) { 0x001fffff, 0x02, LNKE, Zero, }, }) Name(API0, Package(0x1e) { Package(0x04) { 0xffff, Zero, Zero, 0x10, }, Package(0x04) { 0xffff, One, Zero, 0x11, }, Package(0x04) { 0xffff, 0x02, Zero, 0x12, }, Package(0x04) { 0xffff, 0x03, Zero, 0x13, }, Package(0x04) { 0x0001ffff, Zero, Zero, 0x30, }, Package(0x04) { 0x0001ffff, One, Zero, 0x3a, }, Package(0x04) { 0x0001ffff, 0x02, Zero, 0x42, }, Package(0x04) { 0x0001ffff, 0x03, Zero, 0x3e, }, Package(0x04) { 0x0005ffff, Zero, Zero, 0x34, }, Package(0x04) { 0x0005ffff, One, Zero, 0x3c, }, Package(0x04) { 0x0005ffff, 0x02, Zero, 0x44, }, Package(0x04) { 0x0005ffff, 0x03, Zero, 0x40, }, Package(0x04) { 0x0009ffff, Zero, Zero, 0x38, }, Package(0x04) { 0x0009ffff, One, Zero, 0x46, }, Package(0x04) { 0x0009ffff, 0x02, Zero, 0x47, }, Package(0x04) { 0x0009ffff, 0x03, Zero, 0x46, }, Package(0x04) { 0x001bffff, Zero, Zero, 0x10, }, Package(0x04) { 0x001cffff, Zero, Zero, 0x10, }, Package(0x04) { 0x001cffff, One, Zero, 0x11, }, Package(0x04) { 0x001cffff, 0x02, Zero, 0x12, }, Package(0x04) { 0x001cffff, 0x03, Zero, 0x13, }, Package(0x04) { 0x001dffff, Zero, Zero, 0x15, }, Package(0x04) { 0x001dffff, One, Zero, 0x16, }, Package(0x04) { 0x001dffff, 0x02, Zero, 0x12, }, Package(0x04) { 0x001dffff, 0x03, Zero, 0x17, }, Package(0x04) { 0x001effff, Zero, Zero, 0x17, }, Package(0x04) { 0x001effff, One, Zero, 0x11, }, Package(0x04) { 0x001fffff, Zero, Zero, 0x10, }, Package(0x04) { 0x001fffff, One, Zero, 0x11, }, Package(0x04) { 0x001fffff, 0x02, Zero, 0x14, }, }) Device(PCI1) { Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S4D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S5D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_ADR) { Store(0x00010000, Local0) Return(Local0) } Name(_UID, 0x20) Name(_PRW, Package(0x02) { 0x18, 0x05, }) OperationRegion(PERS, PCI_Config, 0x8c, 0x04) Field(PERS, ByteAcc, NoLock, Preserve) { PER0, 8, PER1, 8, PER2, 8, PER3, 8 } Method(XME1) { Store(PER2, Local0) And(Local0, One, Local0) Store(Local0, PER2) Return(Local0) } Name(PIC1, Package(0x04) { Package(0x04) { 0xffff, Zero, LNKA, Zero, }, Package(0x04) { 0xffff, One, LNKB, Zero, }, Package(0x04) { 0xffff, 0x02, LNKC, Zero, }, Package(0x04) { 0xffff, 0x03, LNKD, Zero, }, }) Name(API1, Package(0x04) { Package(0x04) { 0xffff, Zero, Zero, 0x30, }, Package(0x04) { 0xffff, One, Zero, 0x3a, }, Package(0x04) { 0xffff, 0x02, Zero, 0x42, }, Package(0x04) { 0xffff, 0x03, Zero, 0x3e, }, }) Method(_PRT) { Store(API1, Local0) If(LNot(PICF)) { Store(PIC1, Local0) } Return(Local0) } } Device(PCI2) { Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S4D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S5D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_ADR) { Store(0x00050000, Local0) Return(Local0) } Name(_UID, 0x21) Name(_PRW, Package(0x02) { 0x18, 0x05, }) OperationRegion(PERS, PCI_Config, 0x8c, 0x04) Field(PERS, ByteAcc, NoLock, Preserve) { PER0, 8, PER1, 8, PER2, 8, PER3, 8 } Method(XME2) { Store(PER2, Local0) And(Local0, One, Local0) Store(Local0, PER2) Return(Local0) } Name(PIC2, Package(0x04) { Package(0x04) { 0xffff, Zero, LNKA, Zero, }, Package(0x04) { 0xffff, One, LNKB, Zero, }, Package(0x04) { 0xffff, 0x02, LNKC, Zero, }, Package(0x04) { 0xffff, 0x03, LNKD, Zero, }, }) Name(API2, Package(0x04) { Package(0x04) { 0xffff, Zero, Zero, 0x34, }, Package(0x04) { 0xffff, One, Zero, 0x3c, }, Package(0x04) { 0xffff, 0x02, Zero, 0x44, }, Package(0x04) { 0xffff, 0x03, Zero, 0x40, }, }) Method(_PRT) { Store(API2, Local0) If(LNot(PICF)) { Store(PIC2, Local0) } Return(Local0) } } Device(PCI3) { Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S4D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S5D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_ADR) { Store(0x00090000, Local0) Return(Local0) } Name(_UID, 0x22) Name(_PRW, Package(0x02) { 0x18, 0x05, }) Name(PIC3, Package(0x04) { Package(0x04) { 0xffff, Zero, LNKA, Zero, }, Package(0x04) { 0xffff, One, LNKB, Zero, }, Package(0x04) { 0xffff, 0x02, LNKC, Zero, }, Package(0x04) { 0xffff, 0x03, LNKD, Zero, }, }) Name(API3, Package(0x04) { Package(0x04) { 0xffff, Zero, Zero, 0x38, }, Package(0x04) { 0xffff, One, Zero, 0x46, }, Package(0x04) { 0xffff, 0x02, Zero, 0x47, }, Package(0x04) { 0xffff, 0x03, Zero, 0x46, }, }) Method(_PRT) { Store(API3, Local0) If(LNot(PICF)) { Store(PIC3, Local0) } Return(Local0) } Device(PCI4) { Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S4D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S5D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_ADR) { Store(Zero, Local0) Return(Local0) } Name(_UID, 0x23) Name(_PRW, Package(0x02) { 0x18, 0x05, }) Name(PIC4, Package(0x08) { Package(0x04) { 0xffff, Zero, LNKA, Zero, }, Package(0x04) { 0xffff, One, LNKB, Zero, }, Package(0x04) { 0xffff, 0x02, LNKC, Zero, }, Package(0x04) { 0xffff, 0x03, LNKD, Zero, }, Package(0x04) { 0x0001ffff, Zero, LNKB, Zero, }, Package(0x04) { 0x0001ffff, One, LNKC, Zero, }, Package(0x04) { 0x0001ffff, 0x02, LNKD, Zero, }, Package(0x04) { 0x0001ffff, 0x03, LNKA, Zero, }, }) Name(API4, Package(0x08) { Package(0x04) { 0xffff, Zero, Zero, 0x38, }, Package(0x04) { 0xffff, One, Zero, 0x46, }, Package(0x04) { 0xffff, 0x02, Zero, 0x47, }, Package(0x04) { 0xffff, 0x03, Zero, 0x46, }, Package(0x04) { 0x0001ffff, Zero, Zero, 0x38, }, Package(0x04) { 0x0001ffff, One, Zero, 0x46, }, Package(0x04) { 0x0001ffff, 0x02, Zero, 0x47, }, Package(0x04) { 0x0001ffff, 0x03, Zero, 0x46, }, }) Method(_PRT) { Store(API4, Local0) If(LNot(PICF)) { Store(PIC4, Local0) } Return(Local0) } Device(PCI5) { Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S4D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S5D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_ADR) { Store(Zero, Local0) Return(Local0) } Name(_UID, 0x29) Name(_PRW, Package(0x02) { 0x18, 0x05, }) OperationRegion(PMCS, PCI_Config, 0x74, 0x02) Field(PMCS, ByteAcc, NoLock, Preserve) { PMC1, 8, PMC2, 8 } Method(XME5) { Store(PMC2, Local0) And(Local0, 0x80, Local0) Store(Local0, PMC2) If(Local0) { Return(One) } Else { Return(Zero) } } Name(PIC5, Package(0x02) { Package(0x04) { 0xffff, Zero, LNKA, Zero, }, Package(0x04) { 0xffff, One, LNKB, Zero, }, }) Name(API5, Package(0x02) { Package(0x04) { 0xffff, Zero, Zero, 0x38, }, Package(0x04) { 0xffff, One, Zero, 0x46, }, }) Method(_PRT) { Store(API5, Local0) If(LNot(PICF)) { Store(PIC5, Local0) } Return(Local0) } } Device(PCI6) { Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S4D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S5D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_ADR) { Store(0x00010000, Local0) Return(Local0) } Name(_UID, 0x24) Name(_PRW, Package(0x02) { 0x18, 0x05, }) OperationRegion(PMCS, PCI_Config, 0x74, 0x02) Field(PMCS, ByteAcc, NoLock, Preserve) { PMC1, 8, PMC2, 8 } Method(XME6) { Store(PMC2, Local0) And(Local0, 0x80, Local0) Store(Local0, PMC2) If(Local0) { Return(One) } Else { Return(Zero) } } Name(PIC6, Package(0x04) { Package(0x04) { 0xffff, Zero, LNKB, Zero, }, Package(0x04) { 0xffff, One, LNKC, Zero, }, Package(0x04) { 0xffff, 0x02, LNKD, Zero, }, Package(0x04) { 0xffff, 0x03, LNKA, Zero, }, }) Name(API6, Package(0x04) { Package(0x04) { 0xffff, Zero, Zero, 0x46, }, Package(0x04) { 0xffff, One, Zero, 0x47, }, Package(0x04) { 0xffff, 0x02, Zero, 0x46, }, Package(0x04) { 0xffff, 0x03, Zero, 0x38, }, }) Method(_PRT) { Store(API6, Local0) If(LNot(PICF)) { Store(PIC6, Local0) } Return(Local0) } } } Device(PCI7) { Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S4D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S5D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_ADR) { Store(0x03, Local0) Return(Local0) } Name(_UID, 0x25) Name(_PRW, Package(0x02) { 0x18, 0x05, }) OperationRegion(PMCS, PCI_Config, 0x74, 0x02) Field(PMCS, ByteAcc, NoLock, Preserve) { PMC1, 8, PMC2, 8 } Method(XME7) { Store(PMC2, Local0) And(Local0, 0x80, Local0) Store(Local0, PMC2) If(Local0) { Return(One) } Else { Return(Zero) } } Name(PIC7, Package(0x08) { Package(0x04) { 0x0005ffff, Zero, LNKB, Zero, }, Package(0x04) { 0x0005ffff, One, LNKC, Zero, }, Package(0x04) { 0x0005ffff, 0x02, LNKD, Zero, }, Package(0x04) { 0x0005ffff, 0x03, LNKA, Zero, }, Package(0x04) { 0x0006ffff, Zero, LNKB, Zero, }, Package(0x04) { 0x0006ffff, One, LNKC, Zero, }, Package(0x04) { 0x0006ffff, 0x02, LNKD, Zero, }, Package(0x04) { 0x0006ffff, 0x03, LNKA, Zero, }, }) Name(API7, Package(0x08) { Package(0x04) { 0x0005ffff, Zero, Zero, 0x1a, }, Package(0x04) { 0x0005ffff, One, Zero, 0x1b, }, Package(0x04) { 0x0005ffff, 0x02, Zero, 0x1c, }, Package(0x04) { 0x0005ffff, 0x03, Zero, 0x1d, }, Package(0x04) { 0x0006ffff, Zero, Zero, 0x1e, }, Package(0x04) { 0x0006ffff, One, Zero, 0x1f, }, Package(0x04) { 0x0006ffff, 0x02, Zero, 0x20, }, Package(0x04) { 0x0006ffff, 0x03, Zero, 0x21, }, }) Method(_PRT) { Store(API7, Local0) If(LNot(PICF)) { Store(PIC7, Local0) } Return(Local0) } } } Device(PCI8) { Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S4D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S5D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_ADR) { Store(0x001c0000, Local0) Return(Local0) } Name(_UID, 0x26) Name(_PRW, Package(0x02) { 0x1b, 0x05, }) Name(PIC8, Package(0x01) { Package(0x04) { 0xffff, Zero, LNKA, Zero, }, }) Name(API8, Package(0x01) { Package(0x04) { 0xffff, Zero, Zero, 0x10, }, }) Method(_PRT) { Store(API8, Local0) If(LNot(PICF)) { Store(PIC8, Local0) } Return(Local0) } } Device(PCI9) { Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S4D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_S5D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } Method(_ADR) { Store(0x001e0000, Local0) Return(Local0) } Name(_UID, 0x28) Name(_PRW, Package(0x02) { 0x0b, 0x05, }) Name(PIC9, Package(0x04) { Package(0x04) { 0x0002ffff, Zero, LNKC, Zero, }, Package(0x04) { 0x0002ffff, One, LNKD, Zero, }, Package(0x04) { 0x0002ffff, 0x02, LNKA, Zero, }, Package(0x04) { 0x0002ffff, 0x03, LNKB, Zero, }, }) Name(API9, Package(0x04) { Package(0x04) { 0x0002ffff, Zero, Zero, 0x12, }, Package(0x04) { 0x0002ffff, One, Zero, 0x13, }, Package(0x04) { 0x0002ffff, 0x02, Zero, 0x10, }, Package(0x04) { 0x0002ffff, 0x03, Zero, 0x11, }, }) Method(_PRT) { Store(API9, Local0) If(LNot(PICF)) { Store(PIC9, Local0) } Return(Local0) } } } } Scope(\) { Method(_GPE._L03) { If(Not(LEqual(SSTX, One), )) { Notify(\_SB.VBTN, 0x02) } Sleep(0x14) XOr(THRP, 0x08, THRP) Or(PME2, One, PME2) Notify(\_SB.PCI0.USB0, 0x02) } Method(_GPE._L04) { If(Not(LEqual(SSTX, One), )) { Notify(\_SB.VBTN, 0x02) } Sleep(0x14) XOr(THRP, 0x10, THRP) Or(PME2, One, PME2) Notify(\_SB.PCI0.USB1, 0x02) } Method(_GPE._L0C) { If(Not(LEqual(SSTX, One), )) { Notify(\_SB.VBTN, 0x02) } Sleep(0x14) XOr(GLBT, 0x10, GLBT) Or(PME2, One, PME2) Notify(\_SB.PCI0.USB2, 0x02) } Method(_GPE._L0E) { If(Not(LEqual(SSTX, One), )) { Notify(\_SB.VBTN, 0x02) } Sleep(0x14) XOr(GLBT, 0x40, GLBT) Or(PME2, One, PME2) Notify(\_SB.PCI0.USB3, 0x02) } Method(_GPE._L0D) { Sleep(0x14) XOr(GLBT, 0x20, GLBT) Or(PME2, One, PME2) Notify(\_SB.PCI0, 0x02) } Method(_GPE._L0B) { XOr(GLBT, 0x08, GLBT) Or(PME2, One, PME2) Notify(\_SB.PCI0.PCI9, 0x02) } } Scope(_SB.PCI0) { Device(ISA) { Name(_ADR, 0x001f0000) Name(_UID, 0x0a) OperationRegion(P40C, PCI_Config, 0x60, 0x04) OperationRegion(P41C, PCI_Config, 0x68, 0x04) Device(MBIO) { Name(_HID, 0x010cd041) Name(_UID, 0x0b) Method(_CRS) { Name(MIO1, Buffer(0x32) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x2, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0xb, 0x47, 0x1, 0xe0, 0x0, 0xe0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x1, 0x60, 0x47, 0x1, 0x0, 0xc, 0x0, 0xc, 0x1, 0x80, 0x47, 0x1, 0x60, 0x8, 0x60, 0x8, 0x1, 0xa0, 0x79, 0x0 }) Name(MIO2, Buffer(0x42) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x2, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0xb, 0x47, 0x1, 0xe0, 0x0, 0xe0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x1, 0x60, 0x47, 0x1, 0x0, 0xc, 0x0, 0xc, 0x1, 0x80, 0x47, 0x1, 0x60, 0x8, 0x60, 0x8, 0x1, 0xa0, 0x79, 0x0 }) If(Or(GCKB(), GCMS(), )) { Return(MIO1) } Else { Return(MIO2) } } } } } Scope(_SB.PCI0) { Device(USB0) { Name(_ADR, 0x001d0000) Name(_UID, 0x05) Name(_PRW, Package(0x02) { 0x03, 0x03, }) OperationRegion(UPC1, PCI_Config, 0xc1, One) Field(UPC1, ByteAcc, NoLock, Preserve) { LEGK, 8 } Method(_INI) { If(HACK()) { } Else { Store(LEGK, Local0) And(Local0, 0x60, Local0) Or(Local0, 0x20, Local0) Store(Local0, LEGK) } GUSB() } Method(_STA) { If(GCUC()) { Return(0x0f) } Else { Return(Zero) } } Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } } Device(USB1) { Name(_ADR, 0x001d0001) Name(_UID, 0x06) Name(_PRW, Package(0x02) { 0x04, 0x03, }) OperationRegion(UPC1, PCI_Config, 0xc1, One) Field(UPC1, ByteAcc, NoLock, Preserve) { LEGK, 8 } Method(_INI) { If(HACK()) { } Else { Store(LEGK, Local0) And(Local0, 0x60, Local0) Or(Local0, 0x20, Local0) Store(Local0, LEGK) } } Method(_STA) { If(GCUC()) { Return(0x0f) } Else { Return(Zero) } } Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } } Device(USB2) { Name(_ADR, 0x001d0002) Name(_UID, 0x14) Name(_PRW, Package(0x02) { 0x0c, 0x03, }) OperationRegion(UPC1, PCI_Config, 0xc1, One) Field(UPC1, ByteAcc, NoLock, Preserve) { LEGK, 8 } Method(_INI) { If(HACK()) { } Else { Store(LEGK, Local0) And(Local0, 0x60, Local0) Or(Local0, 0x20, Local0) Store(Local0, LEGK) } } Method(_STA) { If(GCUC()) { Return(0x0f) } Else { Return(Zero) } } Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } } Device(USB3) { Name(_ADR, 0x001d0003) Name(_UID, 0x15) Name(_PRW, Package(0x02) { 0x0e, 0x03, }) OperationRegion(UPC1, PCI_Config, 0xc1, One) Field(UPC1, ByteAcc, NoLock, Preserve) { LEGK, 8 } Method(_INI) { If(HACK()) { } Else { Store(LEGK, Local0) And(Local0, 0x60, Local0) Or(Local0, 0x20, Local0) Store(Local0, LEGK) } } Method(_STA) { If(GCUC()) { Return(0x0f) } Else { Return(Zero) } } Method(_S1D) { Return(One) } Method(_S3D) { If(HACK()) { Return(0x03) } Else { Return(0x02) } } } } Scope(\) { Name(PICF, Zero) Method(_PIC, 1) { Store(Arg0, PICF) } } Scope(_SB.PCI0) { Method(_PRT) { Store(API0, Local0) If(LNot(PICF)) { Store(PIC0, Local0) } Return(Local0) } Method(_CRS) { OperationRegion(ORMF, SystemMemory, 0x000fff6c, 0x04) Field(ORMF, WordAcc, NoLock, Preserve) { ORGP, 16, ORND, 16 } Name(MEMP, Buffer(0x0124) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x1, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x87, 0x17, 0x0, 0x0, 0x8, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0x8, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0xff, 0xff, 0xef, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x98, 0xff, 0xff, 0xb, 0x98, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0x8, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x97, 0xff, 0xff, 0xff, 0x97, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd2, 0xfe, 0xff, 0xff, 0xd9, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x79, 0x0 }) CreateDWordField(MEMP, 0x5c, PMIN) CreateDWordField(MEMP, 0x60, PMAX) CreateDWordField(MEMP, 0x68, PLEN) CreateDWordField(MEMP, 0x76, BMIN) CreateDWordField(MEMP, 0x82, BLEN) ShiftLeft(ORGP, 0x04, BMIN) Subtract(0x00100000, BMIN, BLEN) Store(0x000c0000, PMIN) Subtract(BMIN, One, PMAX) Subtract(BMIN, PMIN, PLEN) CreateDWordField(MEMP, 0xaa, MEMM) CreateDWordField(MEMP, 0xb6, MEML) Store(GTOM(), MEMM) Subtract(0xdfffffff, MEMM, MEML) Increment(MEML) CreateDWordField(MEMP, 0xde, UMIN) CreateDWordField(MEMP, 0xe2, UMAX) CreateDWordField(MEMP, 0xea, ULEN) If(GCUC()) { } Else { Store(Zero, UMIN) Store(Zero, UMAX) Store(Zero, ULEN) } Return(MEMP) } } Scope(_SB.PCI0.ISA) { Device(DMA) { Name(_HID, 0x0002d041) Method(_CRS) { Name(DMAB, Buffer(0x1d) {0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x20, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x20, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x12, 0x79, 0x0 }) Return(DMAB) } } } Scope(_SB.PCI0.ISA) { Device(FPU) { Name(_HID, 0x040cd041) Method(_CRS) { Name(FPUB, Buffer(0x0d) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 }) Return(FPUB) } } } Scope(_SB.PCI0.ISA) { Device(PIC) { Name(_HID, 0xd041) Method(_CRS) { Name(PICB, Buffer(0x1d) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x20, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x20, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 }) Return(PICB) } } } Scope(_SB.PCI0.ISA) { Device(SPK) { Name(_HID, 0x0008d041) Method(_CRS) { Name(SPKB, Buffer(0x0a) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 }) Return(SPKB) } } } Scope(_SB.PCI0.ISA) { Device(RTC) { Name(_HID, 0x000bd041) Method(_CRS) { Name(RTCB, Buffer(0x0d) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x10, 0x22, 0x0, 0x1, 0x79, 0x0 }) Return(RTCB) } } } Scope(_SB.PCI0.ISA) { Device(TMR) { Name(_HID, 0x0001d041) Method(_CRS) { Name(TMRB, Buffer(0x0d) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x20, 0x22, 0x1, 0x0, 0x79, 0x0 }) Return(TMRB) } } } Scope(_SB) { Field(PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) { PRQ0, 8, PRQ1, 8, PRQ2, 8, PRQ3, 8 } Field(PCI0.ISA.P41C, ByteAcc, NoLock, Preserve) { PRQ4, 8, PRQ5, 8, PRQ6, 8, PRQ7, 8 } Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x0c) Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 }) Method(_STA) { Store(0x0b, Local0) If(And(0x80, PRQ0, Local1)) { Store(0x09, Local0) } Return(Local0) } Method(_DIS) { Or(PRQ0, 0x80, PRQ0) } Method(_CRS) { Name(PRR0, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(PRR0, One, IQR) Store(PRQ0, Local0) If(LNot(LLess(Local0, 0x80))) { Store(Zero, IQR) } Else { ShiftLeft(One, Local0, IQR) } Return(PRR0) } Method(_SRS, 1) { CreateWordField(Arg0, One, IQR) FindSetRightBit(IQR, Local0) Decrement(Local0) Store(Local0, PRQ0) } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x0d) Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 }) Method(_STA) { Store(0x0b, Local0) If(And(0x80, PRQ1, Local1)) { Store(0x09, Local0) } Return(Local0) } Method(_DIS) { Or(PRQ1, 0x80, PRQ1) } Method(_CRS) { Name(PRR1, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(PRR1, One, IQR) Store(PRQ1, Local0) If(LNot(LLess(Local0, 0x80))) { Store(Zero, IQR) } Else { ShiftLeft(One, Local0, IQR) } Return(PRR1) } Method(_SRS, 1) { CreateWordField(Arg0, One, IQR) FindSetRightBit(IQR, Local0) Decrement(Local0) Store(Local0, PRQ1) } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x0e) Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 }) Method(_STA) { Store(0x0b, Local0) If(And(0x80, PRQ2, Local1)) { Store(0x09, Local0) } Return(Local0) } Method(_DIS) { Or(PRQ2, 0x80, PRQ2) } Method(_CRS) { Name(PRR2, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(PRR2, One, IQR) Store(PRQ2, Local0) If(LNot(LLess(Local0, 0x80))) { Store(Zero, IQR) } Else { ShiftLeft(One, Local0, IQR) } Return(PRR2) } Method(_SRS, 1) { CreateWordField(Arg0, One, IQR) FindSetRightBit(IQR, Local0) Decrement(Local0) Store(Local0, PRQ2) } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x0f) Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 }) Method(_STA) { Store(0x0b, Local0) If(And(0x80, PRQ3, Local1)) { Store(0x09, Local0) } Return(Local0) } Method(_DIS) { Or(PRQ3, 0x80, PRQ3) } Method(_CRS) { Name(PRR3, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(PRR3, One, IQR) Store(PRQ3, Local0) If(LNot(LLess(Local0, 0x80))) { Store(Zero, IQR) } Else { ShiftLeft(One, Local0, IQR) } Return(PRR3) } Method(_SRS, 1) { CreateWordField(Arg0, One, IQR) FindSetRightBit(IQR, Local0) Decrement(Local0) Store(Local0, PRQ3) } } Device(LNKE) { Name(_HID, 0x0f0cd041) Name(_UID, 0x10) Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 }) Method(_STA) { Store(0x0b, Local0) If(And(0x80, PRQ4, Local1)) { Store(0x09, Local0) } Return(Local0) } Method(_DIS) { Or(PRQ4, 0x80, PRQ4) } Method(_CRS) { Name(PRR4, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(PRR4, One, IQR) Store(PRQ4, Local0) If(LNot(LLess(Local0, 0x80))) { Store(Zero, IQR) } Else { ShiftLeft(One, Local0, IQR) } Return(PRR4) } Method(_SRS, 1) { CreateWordField(Arg0, One, IQR) FindSetRightBit(IQR, Local0) Decrement(Local0) Store(Local0, PRQ4) } } Device(LNKF) { Name(_HID, 0x0f0cd041) Name(_UID, 0x11) Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 }) Method(_STA) { Store(0x0b, Local0) If(And(0x80, PRQ5, Local1)) { Store(0x09, Local0) } Return(Local0) } Method(_DIS) { Or(PRQ5, 0x80, PRQ5) } Method(_CRS) { Name(PRR5, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(PRR5, One, IQR) Store(PRQ5, Local0) If(LNot(LLess(Local0, 0x80))) { Store(Zero, IQR) } Else { ShiftLeft(One, Local0, IQR) } Return(PRR5) } Method(_SRS, 1) { CreateWordField(Arg0, One, IQR) FindSetRightBit(IQR, Local0) Decrement(Local0) Store(Local0, PRQ5) } } Device(LNKG) { Name(_HID, 0x0f0cd041) Name(_UID, 0x12) Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 }) Method(_STA) { Store(0x0b, Local0) If(And(0x80, PRQ6, Local1)) { Store(0x09, Local0) } Return(Local0) } Method(_DIS) { Or(PRQ6, 0x80, PRQ6) } Method(_CRS) { Name(PRR6, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(PRR6, One, IQR) Store(PRQ6, Local0) If(LNot(LLess(Local0, 0x80))) { Store(Zero, IQR) } Else { ShiftLeft(One, Local0, IQR) } Return(PRR6) } Method(_SRS, 1) { CreateWordField(Arg0, One, IQR) FindSetRightBit(IQR, Local0) Decrement(Local0) Store(Local0, PRQ6) } } Device(LNKH) { Name(_HID, 0x0f0cd041) Name(_UID, 0x13) Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 }) Method(_STA) { Store(0x0b, Local0) If(And(0x80, PRQ7, Local1)) { Store(0x09, Local0) } Return(Local0) } Method(_DIS) { Or(PRQ7, 0x80, PRQ7) } Method(_CRS) { Name(PRR7, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(PRR7, One, IQR) Store(PRQ7, Local0) If(LNot(LLess(Local0, 0x80))) { Store(Zero, IQR) } Else { ShiftLeft(One, Local0, IQR) } Return(PRR7) } Method(_SRS, 1) { CreateWordField(Arg0, One, IQR) FindSetRightBit(IQR, Local0) Decrement(Local0) Store(Local0, PRQ7) } } } Scope(_SB) { Device(HPET) { Name(_HID, 0x0301d041) Method(_CRS) { Name(HBAB, Buffer(0x0e) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 }) Return(HBAB) } } } Scope(\) { OperationRegion(WENX, SystemIO, 0x0c0a, 0x06) Field(WENX, ByteAcc, NoLock, Preserve) { WEN1, 8, WEN2, 8, WEN3, 8, WEN4, 8, WEN5, 8, WEN6, 8 } OperationRegion(WSTX, SystemIO, 0x0c00, 0x0a) Field(WSTX, ByteAcc, NoLock, Preserve) { WST0, 8, PMEJ, 8, PENA, 8, PENJ, 8, WST1, 8, WST2, 8, WST3, 8, WST4, 8, WST5, 8, WST6, 8 } OperationRegion(SGPX, SystemIO, 0x0c4b, 0x06) Field(SGPX, ByteAcc, NoLock, Preserve) { SGP1, 8, SGP2, 8, SGP3, 8, SGP4, 8, SGP5, 8, SGP6, 8 } OperationRegion(LEDX, SystemIO, 0x0c5d, 0x02) Field(LEDX, ByteAcc, NoLock, Preserve) { LED1, 8, LED2, 8 } Method(PSKM, 1) { If(Or(LEqual(Arg0, 0x03), LEqual(Arg0, One), )) { Store(0x55, SIOI) Store(0x07, SIOI) Store(0x07, SIOD) Store(0xf0, SIOI) Store(SIOD, Local0) Or(Local0, 0x60, SIOD) Store(0xaa, SIOI) Store(WST1, Local0) And(Local0, 0x18, WST1) Store(GSTS, Local0) And(Local0, One, GSTS) Store(WEN1, Local0) Or(Local0, 0x18, WEN1) } } Method(GPKM) { Store(WEN1, Local0) And(Local0, 0xe7, WEN1) Store(WST1, Local0) And(Local0, 0x18, WST1) Store(GSTS, Local0) And(Local0, One, GSTS) } } Scope(_SB.PCI0.ISA) { OperationRegion(NSIO, SystemIO, 0x2e, 0x02) Field(NSIO, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) { Offset(0x2), CFG, 8, Offset(0x7), LDN, 8, Offset(0x20), SIID, 8, Offset(0x30), ACTR, 8, Offset(0x60), IOAH, 8, IOAL, 8, Offset(0x70), INTR, 8, Offset(0x74), DMCH, 8, Offset(0xf0), OPT1, 8, OPT2, 8, OPT3, 8 } OperationRegion(COM, PCI_Config, 0x80, One) Field(COM, ByteAcc, NoLock, Preserve) { NSCA, 3, , 1, NSCB, 3, Offset(0x1) } OperationRegion(FDPA, PCI_Config, 0x81, One) Field(FDPA, ByteAcc, NoLock, Preserve) { LPTO, 2, , 2, FDDC, 1, Offset(0x1) } Mutex(MTX, 1) Method(SIOD, 1) { CSIO(0x55) Store(Arg0, LDN) CSIO(0xaa) } Method(CSIO, 1) { Store(Arg0, INDX) } Device(FDC) { Name(_HID, 0x0007d041) Method(_STA) { Name(RET, Zero) Acquire(MTX, 0xffff) SIOD(Zero) If(GCFD()) { CSIO(0x55) If(ACTR) { CSIO(0xaa) Store(0x0f, RET) } Else { CSIO(0xaa) Store(0x0d, RET) } } Else { CSIO(0xaa) Store(Zero, RET) } Release(MTX) Return(RET) } Method(_DIS) { Acquire(MTX, 0xffff) SIOD(Zero) CSIO(0x55) Store(Zero, INTR) Store(Zero, ACTR) CSIO(0xaa) Release(MTX) } Method(_CRS) { Name(FDB0, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x8, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x8, 0x79, 0x0 }) CreateByteField(FDB0, 0x02, IOL0) CreateByteField(FDB0, 0x03, IOH0) CreateByteField(FDB0, 0x04, IOL1) CreateByteField(FDB0, 0x05, IOH1) CreateByteField(FDB0, 0x0a, I2L0) CreateByteField(FDB0, 0x0b, I2H0) CreateByteField(FDB0, 0x0c, I2L1) CreateByteField(FDB0, 0x0d, I2H1) CreateWordField(FDB0, 0x11, IQR) CreateByteField(FDB0, 0x14, DAM) Acquire(MTX, 0xffff) SIOD(Zero) CSIO(0x55) Store(IOAH, IOH0) Store(IOAH, IOH1) Store(IOAL, IOL0) Store(IOAL, IOL1) Store(IOAH, I2H0) Store(IOAH, I2H1) Add(IOAL, 0x07, I2L0) Add(IOAL, 0x07, I2L1) ShiftLeft(One, INTR, IQR) ShiftLeft(One, DMCH, DAM) CSIO(0xaa) Release(MTX) Return(FDB0) } Method(_PRS) { Name(FDB1, Buffer(0x48) {0x30, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x8, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x8, 0x30, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x8, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0xf8, 0x10, 0x2a, 0xe, 0x8, 0x30, 0x47, 0x1, 0x70, 0x3, 0x70, 0x3, 0x8, 0x6, 0x47, 0x1, 0x77, 0x3, 0x77, 0x3, 0x1, 0x1, 0x22, 0xf8, 0x10, 0x2a, 0xe, 0x8, 0x38, 0x79, 0x0 }) Return(FDB1) } Method(_SRS, 1) { CreateByteField(Arg0, 0x02, IOLO) CreateByteField(Arg0, 0x03, IOHI) CreateWordField(Arg0, 0x11, IQR) CreateByteField(Arg0, 0x14, DAM) Acquire(MTX, 0xffff) SIOD(Zero) CSIO(0x55) Store(IOLO, IOAL) Store(IOHI, IOAH) CSIO(0xaa) If(LEqual(IOLO, 0x70)) { Store(One, FDDC) } If(LEqual(IOLO, 0xf0)) { Store(Zero, FDDC) } CSIO(0x55) FindSetRightBit(IQR, Local0) Subtract(Local0, One, INTR) FindSetRightBit(DAM, Local0) Subtract(Local0, One, DMCH) Store(One, ACTR) CSIO(0xaa) Release(MTX) } } Device(KBD) { Name(_HID, 0x0303d041) Method(_STA) { Name(RET, Zero) Store(Zero, RET) If(GCKB()) { Store(0x0f, RET) } Return(RET) } Method(_CRS) { Name(KBDB, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 }) Return(KBDB) } } Device(MOU) { Name(_HID, 0x130fd041) Method(_STA) { Name(RET, Zero) Store(Zero, RET) If(GCON()) { If(GCMS()) { Store(0x0f, RET) } } Return(RET) } Method(_CRS) { Name(MOUB, Buffer(0x05) {0x22, 0x0, 0x10, 0x79, 0x0 }) Name(MOKB, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x0, 0x10, 0x79, 0x0 }) If(GCKB()) { Return(MOUB) } Else { Return(MOKB) } } } Device(PRT) { Name(_HID, 0x0104d041) Method(_STA) { Name(RET, Zero) Acquire(MTX, 0xffff) SIOD(0x03) If(GCPP()) { CSIO(0x55) If(ACTR) { CSIO(0xaa) Store(0x0f, RET) } Else { CSIO(0xaa) Store(0x0d, RET) } } Else { CSIO(0xaa) Store(Zero, RET) } Release(MTX) Return(RET) } Method(_DIS) { Acquire(MTX, 0xffff) SIOD(0x03) CSIO(0x55) Store(Zero, INTR) Store(0x04, DMCH) Store(Zero, ACTR) CSIO(0xaa) Release(MTX) } Method(_CRS) { Name(PTB0, Buffer(0x18) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x0, 0x8, 0x79, 0x0 }) CreateByteField(PTB0, 0x02, IOL0) CreateByteField(PTB0, 0x03, IOH0) CreateByteField(PTB0, 0x04, IOL1) CreateByteField(PTB0, 0x05, IOH1) CreateByteField(PTB0, 0x06, LALN) CreateByteField(PTB0, 0x07, LLEN) CreateByteField(PTB0, 0x0a, I2L0) CreateByteField(PTB0, 0x0b, I2H0) CreateByteField(PTB0, 0x0c, I2L1) CreateByteField(PTB0, 0x0d, I2H1) CreateByteField(PTB0, 0x0e, HALN) CreateByteField(PTB0, 0x0f, HLEN) CreateWordField(PTB0, 0x11, IQR) CreateByteField(PTB0, 0x14, DAM) Acquire(MTX, 0xffff) SIOD(0x03) CSIO(0x55) Store(IOAH, IOH0) Store(IOAH, IOH1) Store(IOAL, IOL0) Store(IOAL, IOL1) Add(IOAH, 0x04, I2H0) Add(IOAH, 0x04, I2H1) Store(IOAL, I2L0) Store(IOAL, I2L1) ShiftLeft(One, INTR, IQR) ShiftLeft(One, DMCH, DAM) If(LEqual(IOL0, 0xbc)) { Store(0x04, LALN) Store(0x04, LLEN) Store(0x04, HALN) Store(0x04, HLEN) } If(LEqual(DMCH, 0x04)) { Store(Zero, DAM) } If(LEqual(INTR, Zero)) { Store(Zero, IQR) } CSIO(0xaa) Release(MTX) Return(PTB0) } Method(_PRS) { Name(PTB1, Buffer(0xe9) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x8, 0x8, 0x22, 0x20, 0x0, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x8, 0x22, 0xf8, 0x10, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x8, 0x22, 0xf8, 0x10, 0x2a, 0xe, 0x8, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x8, 0x8, 0x22, 0xf8, 0x10, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x8, 0x8, 0x22, 0xf8, 0x10, 0x2a, 0xe, 0x8, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x8, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x4, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x4, 0x4, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x4, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x4, 0x4, 0x22, 0x80, 0x0, 0x2a, 0x0, 0x8, 0x38, 0x79, 0x0 }) Return(PTB1) } Method(_SRS, 1) { CreateByteField(Arg0, 0x02, IOLO) CreateByteField(Arg0, 0x03, IOHI) CreateWordField(Arg0, 0x11, IQR) CreateByteField(Arg0, 0x14, DAM) Acquire(MTX, 0xffff) SIOD(0x03) CSIO(0x55) Store(IOLO, IOAL) Store(IOHI, IOAH) If(LEqual(IOLO, 0xbc)) { Store(0x02, LPTO) } If(LEqual(IOLO, 0x78)) { If(LEqual(IOHI, 0x02)) { Store(One, LPTO) } If(LEqual(IOHI, 0x03)) { Store(Zero, LPTO) } } If(LEqual(IQR, Zero)) { Store(Zero, INTR) } Else { FindSetRightBit(IQR, Local0) Subtract(Local0, One, INTR) } If(LEqual(DAM, Zero)) { Store(0x04, DMCH) } Else { FindSetRightBit(DAM, Local0) Subtract(Local0, One, DMCH) } Store(One, ACTR) CSIO(0xaa) Release(MTX) } } Device(COMA) { Name(_HID, 0x0105d041) Name(_UID, One) Method(_STA) { Name(RET, Zero) Acquire(MTX, 0xffff) SIOD(0x04) If(GCS1()) { CSIO(0x55) If(ACTR) { CSIO(0xaa) Store(0x0f, RET) } Else { CSIO(0xaa) Store(0x0d, RET) } } Else { CSIO(0xaa) Store(Zero, RET) } Release(MTX) Return(RET) } Method(_DIS) { Acquire(MTX, 0xffff) SIOD(0x04) CSIO(0x55) Store(Zero, INTR) Store(Zero, ACTR) CSIO(0xaa) Release(MTX) } Method(_CRS) { Name(CMA0, Buffer(0x0d) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x79, 0x0 }) CreateByteField(CMA0, 0x02, IOL0) CreateByteField(CMA0, 0x03, IOH0) CreateByteField(CMA0, 0x04, IOL1) CreateByteField(CMA0, 0x05, IOH1) CreateWordField(CMA0, 0x09, IQR) Acquire(MTX, 0xffff) SIOD(0x04) CSIO(0x55) Store(IOAL, IOL0) Store(IOAL, IOL1) Store(IOAH, IOH0) Store(IOAH, IOH1) ShiftLeft(One, INTR, IQR) CSIO(0xaa) Release(MTX) Return(CMA0) } Method(_PRS) { Name(CMA1, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x38, 0x79, 0x0 }) Return(CMA1) } Method(_SRS, 1) { CreateByteField(Arg0, 0x02, IOLO) CreateByteField(Arg0, 0x03, IOHI) CreateWordField(Arg0, 0x09, IQR) Acquire(MTX, 0xffff) SIOD(0x04) CSIO(0x55) Store(IOLO, IOAL) Store(IOHI, IOAH) FindSetRightBit(IQR, Local0) Subtract(Local0, One, INTR) If(LEqual(IOHI, 0x03)) { If(LEqual(IOLO, 0xf8)) { Store(Zero, NSCA) } If(LEqual(IOLO, 0xe8)) { Store(0x07, NSCA) } } If(LEqual(IOHI, 0x02)) { If(LEqual(IOLO, 0xf8)) { Store(One, NSCA) } If(LEqual(IOLO, 0xe8)) { Store(0x05, NSCA) } } Store(One, ACTR) CSIO(0xaa) Release(MTX) } } Device(COMB) { Name(_HID, 0x0105d041) Name(_UID, 0x02) Method(_STA) { Name(RET, Zero) Acquire(MTX, 0xffff) SIOD(0x05) If(GCS2()) { CSIO(0x55) If(ACTR) { CSIO(0xaa) Store(0x0f, RET) } Else { CSIO(0xaa) Store(0x0d, RET) } } Else { CSIO(0xaa) Store(Zero, RET) } Release(MTX) Return(RET) } Method(_DIS) { Acquire(MTX, 0xffff) SIOD(0x05) CSIO(0x55) Store(Zero, INTR) Store(OPT1, Local0) Or(Local0, 0x20, Local0) Store(Local0, OPT1) Store(Zero, ACTR) CSIO(0xaa) Release(MTX) } Method(_CRS) { Name(CMB0, Buffer(0x0d) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x79, 0x0 }) CreateByteField(CMB0, 0x02, IOL0) CreateByteField(CMB0, 0x03, IOH0) CreateByteField(CMB0, 0x04, IOL1) CreateByteField(CMB0, 0x05, IOH1) CreateWordField(CMB0, 0x09, IQR) Acquire(MTX, 0xffff) SIOD(0x05) CSIO(0x55) Store(IOAL, IOL0) Store(IOAL, IOL1) Store(IOAH, IOH0) Store(IOAH, IOH1) ShiftLeft(One, INTR, IQR) CSIO(0xaa) Release(MTX) Return(CMB0) } Method(_PRS) { Name(CMB1, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x38, 0x79, 0x0 }) Return(CMB1) } Method(_SRS, 1) { CreateByteField(Arg0, 0x02, IOLO) CreateByteField(Arg0, 0x03, IOHI) CreateWordField(Arg0, 0x09, IQR) Acquire(MTX, 0xffff) SIOD(0x05) CSIO(0x55) Store(IOLO, IOAL) Store(IOHI, IOAH) FindSetRightBit(IQR, Local0) Subtract(Local0, One, INTR) If(LEqual(IOHI, 0x03)) { If(LEqual(IOLO, 0xf8)) { Store(Zero, NSCB) } If(LEqual(IOLO, 0xe8)) { Store(0x07, NSCB) } } If(LEqual(IOHI, 0x02)) { If(LEqual(IOLO, 0xf8)) { Store(One, NSCB) } If(LEqual(IOLO, 0xe8)) { Store(0x05, NSCB) } } Store(One, ACTR) Store(OPT1, Local0) And(Local0, 0xdf, Local0) Store(Local0, OPT1) CSIO(0xaa) Release(MTX) } } } Scope(_SB.PCI0.ISA) { Device(TPM) { Method(_HID) { If(GTPM()) { Return(0x0435cf4d) } Else { Return(0x0010a35c) } } Name(_CID, 0x310cd041) Method(_STA) { If(GCTP()) { Return(0x0f) } Else { Return(Zero) } } Method(_CRS) { If(GCTP()) { Return(Buffer(0x16) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd4, 0xfe, 0x0, 0x50, 0x0, 0x0, 0x47, 0x1, 0xb0, 0xc, 0xb0, 0xc, 0x8, 0x10, 0x79, 0x0 }) } Else { Return(Zero) } } Method(_DSM, 4) { If(LEqual(ToBuffer(Arg0, ), Buffer(0x10) {0xa6, 0xfa, 0xdd, 0x3d, 0x1b, 0x36, 0xb4, 0x4e, 0xa4, 0x24, 0x8d, 0x10, 0x8, 0x9d, 0x16, 0x53 })) { Name(_T_0, Zero) Store(ToInteger(Arg2, ), _T_0) If(LEqual(_T_0, Zero)) { Return(Buffer(One) {0x3f }) } Else { If(LEqual(_T_0, One)) { Return("1.0") } Else { If(LEqual(_T_0, 0x02)) { Store(ToInteger(Arg3, ), Local0) And(Local0, 0x0f, Local0) CMWR(0x7e, Local0) Return(Zero) } Else { If(LEqual(_T_0, 0x03)) { Store(CMRD(0x7e), Local0) And(Local0, 0x0f, Local0) Return(PPR2(Local0)) } Else { If(LEqual(_T_0, 0x04)) { Return(0x02) } Else { If(LEqual(_T_0, 0x05)) { Store(CMRD(0x7e), Local0) ShiftRight(Local0, 0x04, Local0) Store(CMRD(0x7f), Local1) And(Local1, 0x7f, Local1) Return(PPR3(Local0, Local1)) } Else { If(LEqual(_T_0, 0x06)) { Name(_T_1, "") Store(ToString(Arg3,Ones, ), _T_1) If(LEqual(_T_1, "en")) { Return(Zero) } Else { Return(One) } } Else { Return(Buffer(One) {0x0 }) } } } } } } } } If(LEqual(ToBuffer(Arg0, ), Buffer(0x10) {0xed, 0x54, 0x60, 0x37, 0x13, 0xcc, 0x75, 0x46, 0x90, 0x1c, 0x47, 0x56, 0xd7, 0xf2, 0xd4, 0x5d })) { Name(_T_2, Zero) Store(ToInteger(Arg2, ), _T_2) If(LEqual(_T_2, Zero)) { Return(Buffer(One) {0x1 }) } Else { If(LEqual(_T_2, One)) { Store(SMI(0xbc, And(ToInteger(Arg3, ), One, )), Local1) Return(ToInteger(Local1, )) } } } Return(Buffer(One) {0x0 }) } Method(PPR2, 1) { Name(_T_0, Zero) Store(ToInteger(Arg0, ), _T_0) If(LEqual(_T_0, Zero)) { Return(Package(0x02) { Zero, Zero, }) } Else { If(LEqual(_T_0, One)) { Return(Package(0x02) { Zero, One, }) } Else { If(LEqual(_T_0, 0x02)) { Return(Package(0x02) { Zero, 0x02, }) } Else { If(LEqual(_T_0, 0x03)) { Return(Package(0x02) { Zero, 0x03, }) } Else { If(LEqual(_T_0, 0x04)) { Return(Package(0x02) { Zero, 0x04, }) } Else { If(LEqual(_T_0, 0x05)) { Return(Package(0x02) { Zero, 0x05, }) } Else { If(LEqual(_T_0, 0x06)) { Return(Package(0x02) { Zero, 0x06, }) } Else { If(LEqual(_T_0, 0x07)) { Return(Package(0x02) { Zero, 0x07, }) } Else { If(LEqual(_T_0, 0x08)) { Return(Package(0x02) { Zero, 0x08, }) } Else { If(LEqual(_T_0, 0x09)) { Return(Package(0x02) { Zero, 0x09, }) } Else { If(LEqual(_T_0, 0x0a)) { Return(Package(0x02) { Zero, 0x0a, }) } Else { If(LEqual(_T_0, 0x0b)) { Return(Package(0x02) { Zero, 0x0b, }) } Else { If(LEqual(_T_0, 0x0c)) { Return(Package(0x02) { Zero, 0x0c, }) } Else { If(LEqual(_T_0, 0x0d)) { Return(Package(0x02) { Zero, 0x0d, }) } Else { If(LEqual(_T_0, 0x0e)) { Return(Package(0x02) { Zero, 0x0e, }) } } } } } } } } } } } } } } } Return(Package(0x02) { One, Zero, }) } Method(PPR3, 2) { If(LEqual(Arg1, Zero)) { Name(_T_0, Zero) Store(ToInteger(Arg0, ), _T_0) If(LEqual(_T_0, Zero)) { Return(Package(0x03) { Zero, Zero, Zero, }) } Else { If(LEqual(_T_0, One)) { Return(Package(0x03) { Zero, One, Zero, }) } Else { If(LEqual(_T_0, 0x02)) { Return(Package(0x03) { Zero, 0x02, Zero, }) } Else { If(LEqual(_T_0, 0x03)) { Return(Package(0x03) { Zero, 0x03, Zero, }) } Else { If(LEqual(_T_0, 0x04)) { Return(Package(0x03) { Zero, 0x04, Zero, }) } Else { If(LEqual(_T_0, 0x05)) { Return(Package(0x03) { Zero, 0x05, Zero, }) } Else { If(LEqual(_T_0, 0x06)) { Return(Package(0x03) { Zero, 0x06, Zero, }) } Else { If(LEqual(_T_0, 0x07)) { Return(Package(0x03) { Zero, 0x07, Zero, }) } Else { If(LEqual(_T_0, 0x08)) { Return(Package(0x03) { Zero, 0x08, Zero, }) } Else { If(LEqual(_T_0, 0x09)) { Return(Package(0x03) { Zero, 0x09, Zero, }) } Else { If(LEqual(_T_0, 0x0a)) { Return(Package(0x03) { Zero, 0x0a, Zero, }) } Else { If(LEqual(_T_0, 0x0b)) { Return(Package(0x03) { Zero, 0x0b, Zero, }) } Else { If(LEqual(_T_0, 0x0c)) { Return(Package(0x03) { Zero, 0x0c, Zero, }) } Else { If(LEqual(_T_0, 0x0d)) { Return(Package(0x03) { Zero, 0x0d, Zero, }) } Else { If(LEqual(_T_0, 0x0e)) { Return(Package(0x03) { Zero, 0x0e, Zero, }) } } } } } } } } } } } } } } } Return(Package(0x03) { One, Zero, Zero, }) } Else { Name(_T_1, Zero) Store(ToInteger(Arg0, ), _T_1) If(LEqual(_T_1, Zero)) { Return(Package(0x03) { Zero, Zero, 0xfffffff0, }) } Else { If(LEqual(_T_1, One)) { Return(Package(0x03) { Zero, One, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x02)) { Return(Package(0x03) { Zero, 0x02, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x03)) { Return(Package(0x03) { Zero, 0x03, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x04)) { Return(Package(0x03) { Zero, 0x04, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x05)) { Return(Package(0x03) { Zero, 0x05, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x06)) { Return(Package(0x03) { Zero, 0x06, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x07)) { Return(Package(0x03) { Zero, 0x07, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x08)) { Return(Package(0x03) { Zero, 0x08, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x09)) { Return(Package(0x03) { Zero, 0x09, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x0a)) { Return(Package(0x03) { Zero, 0x0a, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x0b)) { Return(Package(0x03) { Zero, 0x0b, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x0c)) { Return(Package(0x03) { Zero, 0x0c, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x0d)) { Return(Package(0x03) { Zero, 0x0d, 0xfffffff0, }) } Else { If(LEqual(_T_1, 0x0e)) { Return(Package(0x03) { Zero, 0x0e, 0xfffffff0, }) } } } } } } } } } } } } } } } Return(Package(0x03) { One, Zero, Zero, }) } } } } } /* SSDT: Length=172, Revision=1, Checksum=235, OEMID=DELL, OEM Table ID=st_ex, OEM Revision=0x1000, Creator ID=INTL, Creator Revision=0x20050624 */ /* BOOT: Length=40, Revision=1, Checksum=12, OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15, Creator ID=ASL, Creator Revision=0x61 */ /* ASF!: Length=150, Revision=32, Checksum=220, OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15, Creator ID=ASL, Creator Revision=0x61 */ /* MCFG: Length=62, Revision=1, Checksum=168, OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15, Creator ID=ASL, Creator Revision=0x61 */ /* HPET: Length=56, Revision=1, Checksum=23, OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15, Creator ID=ASL, Creator Revision=0x61 */ /* ____: Length=48, Revision=1, Checksum=17, OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15, Creator ID=ASL, Creator Revision=0x61 */ /* APIC: Length=170, Revision=1, Checksum=156, OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15, Creator ID=ASL, Creator Revision=0x61 */