/* * Intel ACPI Component Architecture * AML Disassembler version 20100528 * * Disassembly of DSDT.dat, Sun Apr 10 14:10:15 2011 * * * Original Table Header: * Signature "DSDT" * Length 0x00009CE8 (40168) * Revision 0x02 * Checksum 0xBF * OEM ID "DELL " * OEM Table ID "WN09 " * OEM Revision 0x00000040 (64) * Compiler ID "INTL" * Compiler Version 0x20051117 (537202967) */ DefinitionBlock ("DSDT.aml", "DSDT", 2, "DELL ", "WN09 ", 0x00000040) { External (NNAB, IntObj) External (IDAB, MethodObj) // 0 Arguments External (HNOT, MethodObj) // 1 Arguments External (\_PR_.P003) External (\_PR_.P002) External (\_PR_.P001) External (\_PR_.P000) External (\_SB_.PCI0.WMI1) External (\_SB_.PCI0.GFX0.DACE) External (\_SB_.PCI0.GFX0.HGNC) External (\_SB_.PCI0.P0P2.PEGP) External (\_SB_.PCI0.P0P1.PEGP.DD02) External (\_SB_.PCI0.P0P2.PEGP.LCD_) External (\_SB_.PCI0.P0P1.PEGP.LCD_) External (\_SB_.PCI0.P0P1.PEGP.PO52, IntObj) Name (PEBS, 0xE0000000) Name (PEBL, 0x10000000) Name (VTDS, 0xFED90000) Name (VTDL, 0x4000) Name (TCBR, 0xFED08000) Name (TCLT, 0x1000) Name (SRCB, 0xFED1C000) Name (SRCL, 0x4000) Name (SUSW, 0xFF) Name (PMBS, 0x0400) Name (PMLN, 0x80) Name (SMIP, 0xB2) Name (APCB, 0xFEC00000) Name (APCL, 0x00100000) Name (PM30, 0x0430) Name (SMBS, 0x1180) Name (SMBL, 0x20) Name (HPTB, 0xFED00000) Name (HPTC, 0xFED1F404) Name (GPBS, 0x0500) Name (GPLN, 0x80) Name (ACPH, 0xDE) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (PEHP, One) Name (SHPC, One) Name (PEER, One) Name (PECS, One) Name (ITKE, Zero) Name (FMBL, One) Name (BRF, One) Name (BPH, 0x02) Name (BLC, 0x03) Name (BRFS, 0x04) Name (BPHS, 0x05) Name (BLCT, 0x06) Name (BRF4, 0x07) Name (BEP, 0x08) Name (BBF, 0x09) Name (BOF, 0x0A) Name (BPT, 0x0B) Name (SRAF, 0x0C) Name (WWP, 0x0D) Name (DSSP, Zero) Name (FHPP, Zero) Name (TOBS, 0x0460) Name (TPMF, Zero) Name (P0HP, Zero) Name (P1HP, Zero) Name (P2HP, Zero) Name (P3HP, Zero) Name (P4HP, One) Name (P5HP, Zero) Name (P6HP, Zero) Name (P7HP, Zero) Name (PMBA, 0x0400) Name (GPBA, 0x0500) Name (WSMI, 0x0D) Name (BCLS, Package (0x12) { 0x64, 0x1E, 0x06, 0x0C, 0x12, 0x18, 0x1E, 0x24, 0x2A, 0x30, 0x36, 0x3C, 0x42, 0x48, 0x4E, 0x54, 0x5A, 0x64 }) Name (PEPM, Zero) Method (RRIO, 4, NotSerialized) { Store ("RRIO", Debug) } Method (RDMA, 3, NotSerialized) { Store ("rDMA", Debug) } Name (PICM, Zero) Method (_PIC, 1, NotSerialized) { If (Arg0) { Store (0xAA, DBG8) } Else { Store (0xAC, DBG8) } Store (Arg0, PICM) } Name (OSVR, Ones) Method (OSFL, 0, NotSerialized) { If (LNotEqual (OSVR, Ones)) { Return (OSVR) } If (LEqual (PICM, Zero)) { Store (0xAC, DBG8) } Store (One, OSVR) If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) { Store (0x03, OSVR) } If (_OSI ("Windows 2001")) { Store (0x04, OSVR) } If (_OSI ("Windows 2001.1")) { Store (0x05, OSVR) } If (_OSI ("FreeBSD")) { Store (0x06, OSVR) } If (_OSI ("HP-UX")) { Store (0x07, OSVR) } If (_OSI ("OpenVMS")) { Store (0x08, OSVR) } If (_OSI ("Windows 2001 SP1")) { Store (0x09, OSVR) } If (_OSI ("Windows 2001 SP2")) { Store (0x0A, OSVR) } If (_OSI ("Windows 2001 SP3")) { Store (0x0B, OSVR) } If (_OSI ("Windows 2006")) { Store (0x0C, OSVR) } If (_OSI ("Windows 2006 SP1")) { Store (0x0D, OSVR) } If (_OSI ("Windows 2009")) { Store (0x0E, OSVR) } } Else { If (MCTH (_OS, "Microsoft Windows NT")) { Store (Zero, OSVR) } If (MCTH (_OS, "Microsoft Windows")) { Store (One, OSVR) } If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x02, OSVR) } If (MCTH (_OS, "Linux")) { Store (0x03, OSVR) } If (MCTH (_OS, "FreeBSD")) { Store (0x06, OSVR) } If (MCTH (_OS, "HP-UX")) { Store (0x07, OSVR) } If (MCTH (_OS, "OpenVMS")) { Store (0x08, OSVR) } } Return (OSVR) } Method (MCTH, 2, NotSerialized) { If (LLess (SizeOf (Arg0), SizeOf (Arg1))) { Return (Zero) } Add (SizeOf (Arg0), One, Local0) Name (BUF0, Buffer (Local0) {}) Name (BUF1, Buffer (Local0) {}) Store (Arg0, BUF0) Store (Arg1, BUF1) While (Local0) { Decrement (Local0) If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index ( BUF1, Local0)))) { Return (Zero) } } Return (One) } Name (PRWP, Package (0x02) { Zero, Zero }) Method (GPRW, 2, NotSerialized) { Store (Arg0, Index (PRWP, Zero)) Store (ShiftLeft (SS1, One), Local0) Or (Local0, ShiftLeft (SS2, 0x02), Local0) Or (Local0, ShiftLeft (SS3, 0x03), Local0) Or (Local0, ShiftLeft (SS4, 0x04), Local0) If (And (ShiftLeft (One, Arg1), Local0)) { Store (Arg1, Index (PRWP, One)) } Else { ShiftRight (Local0, One, Local0) If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { FindSetLeftBit (Local0, Index (PRWP, One)) } Else { FindSetRightBit (Local0, Index (PRWP, One)) } } Return (PRWP) } Name (WAKP, Package (0x02) { Zero, Zero }) OperationRegion (DEB0, SystemIO, 0x80, One) Field (DEB0, ByteAcc, NoLock, Preserve) { DBG8, 8 } OperationRegion (DEB1, SystemIO, 0x90, 0x02) Field (DEB1, WordAcc, NoLock, Preserve) { DBG9, 16 } Name (SS1, One) Name (SS2, Zero) Name (SS3, One) Name (SS4, One) Name (IOST, 0x0000) Name (TOPM, 0xAFFFFFFF) Name (ROMS, 0xFFE00000) Name (MG1B, 0x00000000) Name (MG1L, 0x00000000) Name (MG2B, 0xB0000000) Name (MG2L, 0x50000000) OperationRegion (GNVS, SystemMemory, 0xAB623E18, 0x0173) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, THOF, 8, ACT1, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, DTSF, 8, Offset (0x25), REVN, 8, Offset (0x28), APIC, 8, TCNT, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, Offset (0x32), NATP, 8, CMAP, 8, CMBP, 8, LPTP, 8, FDCP, 8, CMCP, 8, CIRP, 8, SMSC, 8, W381, 8, SMC1, 8, IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, SSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, KSV0, 32, KSV1, 8, Offset (0x67), BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, Offset (0x6E), EMAE, 8, EMAP, 16, EMAL, 16, Offset (0x74), MEFE, 8, DSTS, 8, Offset (0x78), TPMP, 8, TPME, 8, PPRP, 32, PPRQ, 8, LPPR, 8, Offset (0x82), GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, BID, 8, Offset (0xAA), ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IPCF, 8, IDMS, 8, IF1E, 8, HVCO, 8, NXD1, 32, NXD2, 32, NXD3, 32, NXD4, 32, NXD5, 32, NXD6, 32, NXD7, 32, NXD8, 32, GSMI, 8, PAVP, 8, Offset (0xE1), OSCC, 8, NEXP, 8, SDGV, 8, SDDV, 8, Offset (0xEB), DSEN, 8, ECON, 8, GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, Offset (0x100), NVGA, 32, NVHA, 32, AMDA, 32, DID6, 32, DID7, 32, DID8, 32, EBAS, 32, CPSP, 32, EECP, 32, EVCP, 32, XBAS, 32, OBS1, 32, OBS2, 32, OBS3, 32, OBS4, 32, OBS5, 32, OBS6, 32, OBS7, 32, OBS8, 32, Offset (0x157), ATMC, 8, PTMC, 8, ATRA, 8, PTRA, 8, PNHM, 32, TBAB, 32, TBAH, 32, RTIP, 8, TSOD, 8, ATPC, 8, PTPC, 8, PFLV, 8, BREV, 8, DPBM, 8, DPCM, 8, DPDM, 8, ALFP, 8, IMON, 8, FFSN, 8 } OperationRegion (EXBU, SystemMemory, 0xAB630018, 0x1014) Field (EXBU, AnyAcc, Lock, Preserve) { ECMD, 8, WCMD, 32, WDID, 32, WBUF, 32768, GPUF, 8, SMIB, 8, SGTF, 8, SGT2, 8, SGT3, 8, SGTL, 32, THML, 8, FSDA, 8 } Scope (_SB) { Name (PR00, Package (0x29) { 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) { 0x0003FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, One, LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, One, LNKB, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0004FFFF, 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) { 0x0006FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0006FFFF, One, LNKB, Zero }, Package (0x04) { 0x0006FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0006FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKC, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0016FFFF, One, LNKB, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0019FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001AFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero } }) Name (AR00, Package (0x29) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0006FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0016FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0016FFFF, One, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0019FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x15 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001AFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 } }) Name (PR20, Package (0x10) { Package (0x04) { 0x0003FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0003FFFF, One, LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKF, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKG, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0002FFFF, One, LNKD, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKB, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKA, Zero }, Package (0x04) { 0xFFFF, Zero, LNKF, Zero }, Package (0x04) { 0xFFFF, One, LNKG, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKH, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKE, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0001FFFF, One, LNKF, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKE, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKH, Zero } }) Name (AR20, Package (0x10) { Package (0x04) { 0x0003FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x15 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x16 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0xFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0xFFFF, One, Zero, 0x16 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x17 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x15 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x17 } }) Name (PR11, 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 (AR11, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR12, 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 (AR12, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR13, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR13, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR14, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR14, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PR15, 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 (AR15, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR16, 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 (AR16, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR17, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR17, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR18, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR18, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,10,11,12,14,15} }) Alias (PRSA, PRSB) Name (PRSC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,10,11,12,14,15} }) Alias (PRSC, PRSD) Alias (PRSA, PRSE) Alias (PRSA, PRSF) Alias (PRSA, PRSG) Alias (PRSA, PRSH) Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Name (_ADR, Zero) Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) { Return (BN00 ()) } Name (_UID, Zero) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR00) } Return (PR00) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Device (MCH) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, 0x0A) Name (MCHR, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED14000, // Address Base 0x00006000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x1FE00000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEE00000, // Address Base 0x00010000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (MCHR, 0x10, PCIB) CreateDWordField (MCHR, 0x14, PCIL) Store (PEBS, PCIB) Store (PEBL, PCIL) CreateDWordField (MCHR, 0x1C, VTCB) CreateDWordField (MCHR, 0x20, VTCL) Store (VTDS, VTCB) Store (VTDL, VTCL) Return (MCHR) } } Method (NPTS, 1, NotSerialized) { } Method (NWAK, 1, NotSerialized) { } Device (P0P1) { Name (_ADR, 0x00010000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } Device (PEGP) { Name (_ADR, Zero) } } Device (P0P2) { Name (_ADR, 0x00030000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } } Device (P0P3) { Name (_ADR, 0x00040000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } } Device (P0P4) { Name (_ADR, 0x00050000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } } Device (P0P5) { Name (_ADR, 0x00060000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } } Device (SBRG) { Name (_ADR, 0x001F0000) Method (SPTS, 1, NotSerialized) { Store (One, PS1S) Store (One, PS1E) Store (One, SLPS) } Method (SWAK, 1, NotSerialized) { Store (Zero, SLPS) Store (Zero, PS1E) If (RTCS) {} Else { Notify (PWRB, 0x02) } } OperationRegion (APMP, SystemIO, SMIP, 0x02) Field (APMP, ByteAcc, NoLock, Preserve) { APMC, 8, APMS, 8 } Field (APMP, ByteAcc, NoLock, Preserve) { Offset (0x01), , 1, BRTC, 1 } OperationRegion (SMIE, SystemIO, PM30, 0x08) Field (SMIE, ByteAcc, NoLock, Preserve) { , 4, PS1E, 1, , 31, PS1S, 1, Offset (0x08) } Scope (\_SB) { Name (SLPS, Zero) OperationRegion (PMS0, SystemIO, PMBS, 0x04) Field (PMS0, ByteAcc, NoLock, Preserve) { , 10, RTCS, 1, , 3, PEXS, 1, WAKS, 1, Offset (0x03), PWBT, 1, Offset (0x04) } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) Method (_STA, 0, NotSerialized) { If (LNotEqual (SUSW, 0xFF)) { Return (0x0F) } Else { Return (Zero) } } Method (_PRW, 0, NotSerialized) { If (LNotEqual (SUSW, 0xFF)) { Return (Package (0x02) { SUSW, 0x04 }) } Else { Return (Package (0x02) { Zero, Zero }) } } } } Scope (\_SB) { Scope (PCI0) { Device (PCH) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, 0x01C7) Name (_STA, 0x0F) Name (ICHR, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length ) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length ) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateWordField (ICHR, 0x02, PBB) CreateWordField (ICHR, 0x04, PBH) CreateByteField (ICHR, 0x07, PML) Store (PMBS, PBB) Store (PMBS, PBH) Store (PMLN, PML) If (SMBS) { CreateWordField (ICHR, 0x0A, SMB) CreateWordField (ICHR, 0x0C, SMH) CreateByteField (ICHR, 0x0F, SML) Store (SMBS, SMB) Store (SMBS, SMH) Store (SMBL, SML) } If (GPBS) { CreateWordField (ICHR, 0x12, IGB) CreateWordField (ICHR, 0x14, IGH) CreateByteField (ICHR, 0x17, IGL) Store (GPBS, IGB) Store (GPBS, IGH) Store (GPLN, IGL) } If (APCB) { CreateDWordField (ICHR, 0x28, APB) CreateDWordField (ICHR, 0x2C, APL) Store (APCB, APB) Store (APCL, APL) } CreateDWordField (ICHR, 0x1C, RCB) CreateDWordField (ICHR, 0x20, RCL) Store (SRCB, RCB) Store (SRCL, RCL) If (TCBR) { CreateDWordField (ICHR, 0x34, TCB) CreateDWordField (ICHR, 0x38, TCL) Store (TCBR, TCB) Store (TCLT, TCL) } Return (ICHR) } } } } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x00, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (DMAD) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8, ) {4} IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0087, // Range Minimum 0x0087, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0089, // Range Minimum 0x0089, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x008F, // Range Minimum 0x008F, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x00, // Alignment 0x20, // Length ) }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x00, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (RTC0) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x00, // Alignment 0x02, // Length ) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) } Device (COPR) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x00, // Alignment 0x10, // Length ) IRQNoFlags () {13} }) } Device (RMSC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x10) Name (CRS, ResourceTemplate () { IO (Decode16, 0x0010, // Range Minimum 0x0010, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0022, // Range Minimum 0x0022, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x0044, // Range Minimum 0x0044, // Range Maximum 0x00, // Alignment 0x1C, // Length ) IO (Decode16, 0x0068, // Range Minimum 0x0068, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x00, // Alignment 0x0E, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0084, // Range Minimum 0x0084, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0088, // Range Minimum 0x0088, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x008C, // Range Minimum 0x008C, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0090, // Range Minimum 0x0090, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x00A2, // Range Minimum 0x00A2, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x00E0, // Range Minimum 0x00E0, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x00, // Alignment 0x02, // Length ) Memory32Fixed (ReadWrite, 0xFE800000, // Address Base 0x00000200, // Address Length ) }) OperationRegion (MBOX, SystemMemory, 0xFE800000, 0x0200) Field (MBOX, ByteAcc, Lock, Preserve) { Offset (0x01), ENTF, 8 } Method (_CRS, 0, NotSerialized) { Return (CRS) } } } Device (BR20) { Name (_ADR, 0x001E0000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0B, 0x03)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR20) } Return (PR20) } } Device (SAT0) { Name (_ADR, 0x001F0002) Name (^NATA, Package (0x01) { 0x001F0002 }) Name (\FZTF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5 }) Name (REGF, One) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } Name (TIM0, Package (0x08) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, Zero }, Package (0x04) { 0x0B, 0x09, 0x04, Zero }, Package (0x06) { 0x78, 0x5A, 0x3C, 0x28, 0x1E, 0x14 }, Package (0x06) { Zero, One, 0x02, One, 0x02, One }, Package (0x06) { Zero, Zero, Zero, One, One, One }, Package (0x04) { 0x04, 0x03, 0x02, Zero }, Package (0x04) { 0x02, One, Zero, Zero } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, Zero, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0xC0) Field (CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset (0x02), SMPT, 4, SSPT, 4, SMRI, 6, Offset (0x04), PSRI, 4, SSRI, 4, Offset (0x08), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset (0x0A), PMUT, 2, , 2, PSUT, 2, Offset (0x0B), SMUT, 2, , 2, SSUT, 2, Offset (0x0C), Offset (0x14), PM6E, 1, PS6E, 1, SM6E, 1, SS6E, 1, PMCR, 1, PSCR, 1, SMCR, 1, SSCR, 1, , 4, PMAE, 1, PSAE, 1, SMAE, 1, SSAE, 1, Offset (0x50), MAPV, 2, , 4, SAMS, 2 } Name (GMPT, Zero) Name (GMUE, Zero) Name (GMUT, Zero) Name (GMCR, Zero) Name (GSPT, Zero) Name (GSUE, Zero) Name (GSUT, Zero) Name (GSCR, Zero) Device (PRT0) { Name (_ADR, 0xFFFF) Name (GTF0, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00 }) Method (_STA, 0, NotSerialized) { If (LNotEqual (SAMS, Zero)) { Return (0x0F) } Else { Return (Zero) } } Method (_SDD, 1, NotSerialized) { Name (FFS0, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00 }) CreateByteField (FFS0, Zero, FF00) CreateByteField (FFS0, 0x06, FF06) If (LEqual (SizeOf (Arg0), 0x0200)) { If (One) { CreateWordField (Arg0, 0x64, W119) CreateWordField (Arg0, 0x0134, W154) CreateWordField (Arg0, 0x0138, W156) If (And (LEqual (W154, 0x1028), LEqual (And (W156, 0x4000), 0x4000))) { If (LEqual (And (W156, 0x8000), Zero)) { Store (0x5A, FF00) Store (0xEF, FF06) } } Else { If (LEqual (And (W119, 0x20), 0x20)) { If (LEqual (FSDA, 0x83)) { Store (0x41, FF00) } Else { If (LEqual (FSDA, 0x84)) { Store (0xC1, FF00) } } Store (0xEF, FF06) } } } } Store (FFS0, GTF0) } Method (_GTF, 0, NotSerialized) { Return (GTF0) } } Device (CHN0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { ShiftLeft (PSCR, One, Local1) Or (PMCR, Local1, Local0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local1) ShiftLeft (PMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local2) ShiftLeft (PSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local0) ShiftLeft (PMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local1) ShiftLeft (PSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (PMRI, GMPT) Store (Local0, GMUE) Store (PMUT, GMUT) Store (PMCR, GMCR) Store (PSRI, GSPT) Store (Local1, GSUE) Store (PSUT, GSUT) Store (PSCR, GSCR) STM () Store (GMPT, PMRI) Store (GMUE, Local0) Store (GMUT, PMUT) Store (GMCR, PMCR) Store (GSUE, Local1) Store (GSUT, PSUT) Store (GSCR, PSCR) If (And (Local0, One)) { Store (One, PM3E) } Else { Store (Zero, PM3E) } If (And (Local0, 0x02)) { Store (One, PM6E) } Else { Store (Zero, PM6E) } If (And (Local0, 0x04)) { Store (One, PMAE) } Else { Store (Zero, PMAE) } If (And (Local1, One)) { Store (One, PS3E) } Else { Store (Zero, PS3E) } If (And (Local1, 0x02)) { Store (One, PS6E) } Else { Store (Zero, PS6E) } If (And (Local1, 0x04)) { Store (One, PSAE) } Else { Store (Zero, PSAE) } Store (GTF (Zero, Arg1), ATA0) Store (GTF (One, Arg2), ATA1) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { ShiftLeft (SSCR, One, Local1) Or (SMCR, Local1, Local0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local1) ShiftLeft (SMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local2) ShiftLeft (SSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local0) ShiftLeft (SMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local1) ShiftLeft (SSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (SMRI, GMPT) Store (Local0, GMUE) Store (SMUT, GMUT) Store (SMCR, GMCR) Store (SSRI, GSPT) Store (Local1, GSUE) Store (SSUT, GSUT) Store (SSCR, GSCR) STM () Store (GMPT, SMRI) Store (GMUE, Local0) Store (GMUT, SMUT) Store (GMCR, SMCR) Store (GSUE, Local1) Store (GSUT, SSUT) Store (GSCR, SSCR) If (And (Local0, One)) { Store (One, SM3E) } Else { Store (Zero, SM3E) } If (And (Local0, 0x02)) { Store (One, SM6E) } Else { Store (Zero, SM6E) } If (And (Local0, 0x04)) { Store (One, SMAE) } Else { Store (Zero, SMAE) } If (And (Local1, One)) { Store (One, SS3E) } Else { Store (Zero, SS3E) } If (And (Local1, 0x02)) { Store (One, SS6E) } Else { Store (Zero, SS6E) } If (And (Local1, 0x04)) { Store (One, SSAE) } Else { Store (Zero, SSAE) } Store (GTF (Zero, Arg1), ATA2) Store (GTF (One, Arg2), ATA3) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA3)) } } } Method (GTM, 7, Serialized) { Store (Ones, PIO0) Store (Ones, PIO1) Store (Ones, DMA0) Store (Ones, DMA1) Store (0x10, CHNF) If (REGF) {} Else { Return (TMD0) } If (And (Arg1, 0x20)) { Or (CHNF, 0x02, CHNF) } Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) If (And (Arg4, 0x20)) { Or (CHNF, 0x08, CHNF) } Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (And (Arg1, 0x07)) { Store (Arg2, Local5) If (And (Arg1, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg1, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0) Or (CHNF, One, CHNF) } If (And (Arg4, 0x07)) { Store (Arg5, Local5) If (And (Arg4, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg4, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1) Or (CHNF, 0x04, CHNF) } Store (TMD0, Debug) Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) { Store (Zero, GMUE) Store (Zero, GMUT) Store (Zero, GSUE) Store (Zero, GSUT) If (And (CHNF, One)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT) Or (GMUE, One, GMUE) If (LGreater (Local0, 0x02)) { Or (GMUE, 0x02, GMUE) } If (LGreater (Local0, 0x04)) { And (GMUE, 0xFD, GMUE) Or (GMUE, 0x04, GMUE) } } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero))) { Store (DMA0, PIO0) Or (GMUE, 0x80, GMUE) } } } If (And (CHNF, 0x04)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT) Or (GSUE, One, GSUE) If (LGreater (Local0, 0x02)) { Or (GSUE, 0x02, GSUE) } If (LGreater (Local0, 0x04)) { And (GSUE, 0xFD, GSUE) Or (GSUE, 0x04, GSUE) } } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero))) { Store (DMA1, PIO1) Or (GSUE, 0x80, GSUE) } } } If (And (CHNF, 0x02)) { Or (GMUE, 0x20, GMUE) } If (And (CHNF, 0x08)) { Or (GSUE, 0x20, GSUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1) Store (Local1, GMPT) If (LLess (Local0, 0x03)) { Or (GMUE, 0x50, GMUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1) Store (Local1, GSPT) If (LLess (Local0, 0x03)) { Or (GSUE, 0x50, GSUE) } } } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, Zero, CMDC) Method (GTFB, 3, Serialized) { Multiply (CMDC, 0x38, Local0) Add (Local0, 0x08, Local1) CreateField (ATAB, Local1, 0x38, CMDX) Multiply (CMDC, 0x07, Local0) CreateByteField (ATAB, Add (Local0, 0x02), A001) CreateByteField (ATAB, Add (Local0, 0x06), A005) Store (Arg0, CMDX) Store (Arg1, A001) Store (Arg2, A005) Increment (CMDC) } Method (GTF, 2, Serialized) { Store (Arg1, Debug) Store (Zero, CMDC) Name (ID49, 0x0C00) Name (ID59, Zero) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, One) Name (PIOT, Zero) Name (DMAT, Zero) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateWordField (Arg1, 0x62, IW49) Store (IW49, ID49) CreateWordField (Arg1, 0x6A, IW53) Store (IW53, ID53) CreateWordField (Arg1, 0x7E, IW63) Store (IW63, ID63) CreateWordField (Arg1, 0x76, IW59) Store (IW59, ID59) CreateWordField (Arg1, 0xB0, IW88) Store (IW88, ID88) } Store (0xA0, Local7) If (Arg0) { Store (0xB0, Local7) And (CHNF, 0x08, IRDY) If (And (CHNF, 0x10)) { Store (PIO1, PIOT) } Else { Store (PIO0, PIOT) } If (And (CHNF, 0x04)) { If (And (CHNF, 0x10)) { Store (DMA1, DMAT) } Else { Store (DMA0, DMAT) } } } Else { And (CHNF, 0x02, IRDY) Store (PIO0, PIOT) If (And (CHNF, One)) { Store (DMA0, DMAT) } } If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00 )), DMAT)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), Local1) If (LGreater (Local1, 0x05)) { Store (0x05, Local1) } GTFB (AT01, Or (0x40, Local1), Local7) } Else { If (LAnd (And (ID63, 0xFF00), PIOT)) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0 )), Local1) GTFB (AT01, Local1, Local7) } } If (IRDY) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0 )), Local1) GTFB (AT01, Local1, Local7) } Else { If (And (ID49, 0x0400)) { GTFB (AT01, One, Local7) } } If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF))) { GTFB (AT03, And (ID59, 0xFF), Local7) } Store (ATAB, Debug) Return (ATAB) } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, Zero, CMDN) Multiply (CMDN, 0x38, Local0) CreateField (Arg0, 0x08, Local0, RETB) Store (RETB, Debug) Return (Concatenate (RETB, FZTF)) } } Device (SAT1) { Name (_ADR, 0x001F0005) Name (REGF, One) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } Name (TIM0, Package (0x08) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, Zero }, Package (0x04) { 0x0B, 0x09, 0x04, Zero }, Package (0x06) { 0x78, 0x5A, 0x3C, 0x28, 0x1E, 0x14 }, Package (0x06) { Zero, One, 0x02, One, 0x02, One }, Package (0x06) { Zero, Zero, Zero, One, One, One }, Package (0x04) { 0x04, 0x03, 0x02, Zero }, Package (0x04) { 0x02, One, Zero, Zero } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, Zero, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0x20) Field (CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset (0x02), SMPT, 4, SSPT, 4, SMRI, 6, Offset (0x04), PSRI, 4, SSRI, 4, Offset (0x08), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset (0x0A), PMUT, 2, , 2, PSUT, 2, Offset (0x0B), SMUT, 2, , 2, SSUT, 2, Offset (0x0C), Offset (0x14), PM6E, 1, PS6E, 1, SM6E, 1, SS6E, 1, PMCR, 1, PSCR, 1, SMCR, 1, SSCR, 1, , 4, PMAE, 1, PSAE, 1, SMAE, 1, SSAE, 1 } Name (GMPT, Zero) Name (GMUE, Zero) Name (GMUT, Zero) Name (GMCR, Zero) Name (GSPT, Zero) Name (GSUE, Zero) Name (GSUT, Zero) Name (GSCR, Zero) Device (CHN0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { ShiftLeft (PSCR, One, Local1) Or (PMCR, Local1, Local0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local1) ShiftLeft (PMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local2) ShiftLeft (PSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local0) ShiftLeft (PMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local1) ShiftLeft (PSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (PMRI, GMPT) Store (Local0, GMUE) Store (PMUT, GMUT) Store (PMCR, GMCR) Store (PSRI, GSPT) Store (Local1, GSUE) Store (PSUT, GSUT) Store (PSCR, GSCR) STM () Store (GMPT, PMRI) Store (GMUE, Local0) Store (GMUT, PMUT) Store (GMCR, PMCR) Store (GSUE, Local1) Store (GSUT, PSUT) Store (GSCR, PSCR) If (And (Local0, One)) { Store (One, PM3E) } Else { Store (Zero, PM3E) } If (And (Local0, 0x02)) { Store (One, PM6E) } Else { Store (Zero, PM6E) } If (And (Local0, 0x04)) { Store (One, PMAE) } Else { Store (Zero, PMAE) } If (And (Local1, One)) { Store (One, PS3E) } Else { Store (Zero, PS3E) } If (And (Local1, 0x02)) { Store (One, PS6E) } Else { Store (Zero, PS6E) } If (And (Local1, 0x04)) { Store (One, PSAE) } Else { Store (Zero, PSAE) } Store (GTF (Zero, Arg1), ATA0) Store (GTF (One, Arg2), ATA1) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { ShiftLeft (SSCR, One, Local1) Or (SMCR, Local1, Local0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local1) ShiftLeft (SMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local2) ShiftLeft (SSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local0) ShiftLeft (SMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local1) ShiftLeft (SSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (SMRI, GMPT) Store (Local0, GMUE) Store (SMUT, GMUT) Store (SMCR, GMCR) Store (SSRI, GSPT) Store (Local1, GSUE) Store (SSUT, GSUT) Store (SSCR, GSCR) STM () Store (GMPT, SMRI) Store (GMUE, Local0) Store (GMUT, SMUT) Store (GMCR, SMCR) Store (GSUE, Local1) Store (GSUT, SSUT) Store (GSCR, SSCR) If (And (Local0, One)) { Store (One, SM3E) } Else { Store (Zero, SM3E) } If (And (Local0, 0x02)) { Store (One, SM6E) } Else { Store (Zero, SM6E) } If (And (Local0, 0x04)) { Store (One, SMAE) } Else { Store (Zero, SMAE) } If (And (Local1, One)) { Store (One, SS3E) } Else { Store (Zero, SS3E) } If (And (Local1, 0x02)) { Store (One, SS6E) } Else { Store (Zero, SS6E) } If (And (Local1, 0x04)) { Store (One, SSAE) } Else { Store (Zero, SSAE) } Store (GTF (Zero, Arg1), ATA2) Store (GTF (One, Arg2), ATA3) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA3)) } } } Method (GTM, 7, Serialized) { Store (Ones, PIO0) Store (Ones, PIO1) Store (Ones, DMA0) Store (Ones, DMA1) Store (0x10, CHNF) If (REGF) {} Else { Return (TMD0) } If (And (Arg1, 0x20)) { Or (CHNF, 0x02, CHNF) } Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) If (And (Arg4, 0x20)) { Or (CHNF, 0x08, CHNF) } Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (And (Arg1, 0x07)) { Store (Arg2, Local5) If (And (Arg1, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg1, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0) Or (CHNF, One, CHNF) } If (And (Arg4, 0x07)) { Store (Arg5, Local5) If (And (Arg4, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg4, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1) Or (CHNF, 0x04, CHNF) } Store (TMD0, Debug) Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) { Store (Zero, GMUE) Store (Zero, GMUT) Store (Zero, GSUE) Store (Zero, GSUT) If (And (CHNF, One)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT) Or (GMUE, One, GMUE) If (LGreater (Local0, 0x02)) { Or (GMUE, 0x02, GMUE) } If (LGreater (Local0, 0x04)) { And (GMUE, 0xFD, GMUE) Or (GMUE, 0x04, GMUE) } } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero))) { Store (DMA0, PIO0) Or (GMUE, 0x80, GMUE) } } } If (And (CHNF, 0x04)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT) Or (GSUE, One, GSUE) If (LGreater (Local0, 0x02)) { Or (GSUE, 0x02, GSUE) } If (LGreater (Local0, 0x04)) { And (GSUE, 0xFD, GSUE) Or (GSUE, 0x04, GSUE) } } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero))) { Store (DMA1, PIO1) Or (GSUE, 0x80, GSUE) } } } If (And (CHNF, 0x02)) { Or (GMUE, 0x20, GMUE) } If (And (CHNF, 0x08)) { Or (GSUE, 0x20, GSUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1) Store (Local1, GMPT) If (LLess (Local0, 0x03)) { Or (GMUE, 0x50, GMUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1) Store (Local1, GSPT) If (LLess (Local0, 0x03)) { Or (GSUE, 0x50, GSUE) } } } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, Zero, CMDC) Method (GTFB, 3, Serialized) { Multiply (CMDC, 0x38, Local0) Add (Local0, 0x08, Local1) CreateField (ATAB, Local1, 0x38, CMDX) Multiply (CMDC, 0x07, Local0) CreateByteField (ATAB, Add (Local0, 0x02), A001) CreateByteField (ATAB, Add (Local0, 0x06), A005) Store (Arg0, CMDX) Store (Arg1, A001) Store (Arg2, A005) Increment (CMDC) } Method (GTF, 2, Serialized) { Store (Arg1, Debug) Store (Zero, CMDC) Name (ID49, 0x0C00) Name (ID59, Zero) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, One) Name (PIOT, Zero) Name (DMAT, Zero) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateWordField (Arg1, 0x62, IW49) Store (IW49, ID49) CreateWordField (Arg1, 0x6A, IW53) Store (IW53, ID53) CreateWordField (Arg1, 0x7E, IW63) Store (IW63, ID63) CreateWordField (Arg1, 0x76, IW59) Store (IW59, ID59) CreateWordField (Arg1, 0xB0, IW88) Store (IW88, ID88) } Store (0xA0, Local7) If (Arg0) { Store (0xB0, Local7) And (CHNF, 0x08, IRDY) If (And (CHNF, 0x10)) { Store (PIO1, PIOT) } Else { Store (PIO0, PIOT) } If (And (CHNF, 0x04)) { If (And (CHNF, 0x10)) { Store (DMA1, DMAT) } Else { Store (DMA0, DMAT) } } } Else { And (CHNF, 0x02, IRDY) Store (PIO0, PIOT) If (And (CHNF, One)) { Store (DMA0, DMAT) } } If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00 )), DMAT)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), Local1) If (LGreater (Local1, 0x05)) { Store (0x05, Local1) } GTFB (AT01, Or (0x40, Local1), Local7) } Else { If (LAnd (And (ID63, 0xFF00), PIOT)) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0 )), Local1) GTFB (AT01, Local1, Local7) } } If (IRDY) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0 )), Local1) GTFB (AT01, Local1, Local7) } Else { If (And (ID49, 0x0400)) { GTFB (AT01, One, Local7) } } If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF))) { GTFB (AT03, And (ID59, 0xFF), Local7) } Store (ATAB, Debug) Return (ATAB) } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, Zero, CMDN) Multiply (CMDN, 0x38, Local0) CreateField (Arg0, 0x08, Local0, RETB) Store (RETB, Debug) Return (Concatenate (RETB, FZTF)) } } Device (SMB) { Name (_ADR, 0x001F0003) OperationRegion (SMBP, PCI_Config, 0x40, 0xC0) Field (SMBP, DWordAcc, NoLock, Preserve) { , 2, I2CE, 1 } OperationRegion (SMPB, PCI_Config, 0x20, 0x04) Field (SMPB, DWordAcc, NoLock, Preserve) { , 5, SBAR, 11 } OperationRegion (SMBI, SystemIO, ShiftLeft (SBAR, 0x05), 0x10) Field (SMBI, ByteAcc, NoLock, Preserve) { HSTS, 8, Offset (0x02), HCON, 8, HCOM, 8, TXSA, 8, DAT0, 8, DAT1, 8, HBDR, 8, PECR, 8, RXSA, 8, SDAT, 16 } Method (SSXB, 2, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRXB, 1, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (0x44, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (Arg2, DAT0) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDB, 2, Serialized) { Store (0xF3, DBG8) Sleep (0x03E8) Store (0xF4, DBG8) Sleep (0x03E8) If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRW, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) And (Arg2, 0xFF, DAT1) And (ShiftRight (Arg2, 0x08), 0xFF, DAT0) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDW, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (Or (ShiftLeft (DAT0, 0x08), DAT1)) } Return (0xFFFFFFFF) } Method (SBLW, 4, Serialized) { If (STRT ()) { Return (Zero) } Store (Arg3, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (SizeOf (Arg2), DAT0) Store (Zero, Local1) Store (DerefOf (Index (Arg2, Zero)), HBDR) Store (0x54, HCON) While (LGreater (SizeOf (Arg2), Local1)) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (0x80, HSTS) Increment (Local1) If (LGreater (SizeOf (Arg2), Local1)) { Store (DerefOf (Index (Arg2, Local1)), HBDR) } } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SBLR, 3, Serialized) { Name (TBUF, Buffer (0x0100) {}) If (STRT ()) { Return (Zero) } Store (Arg2, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x54, HCON) Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (DAT0, Index (TBUF, Zero)) Store (0x80, HSTS) Store (One, Local1) While (LLess (Local1, DerefOf (Index (TBUF, Zero)))) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (HBDR, Index (TBUF, Local1)) Store (0x80, HSTS) Increment (Local1) } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (TBUF) } Return (Zero) } Method (STRT, 0, Serialized) { Store (0xC8, Local0) While (Local0) { If (And (HSTS, 0x40)) { Decrement (Local0) Sleep (One) If (LEqual (Local0, Zero)) { Return (One) } } Else { Store (Zero, Local0) } } Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, One)) { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } Else { Return (Zero) } } Return (One) } Method (COMP, 0, Serialized) { Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, 0x02)) { Return (One) } Else { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } } Return (Zero) } Method (KILL, 0, Serialized) { Or (HCON, 0x02, HCON) Or (HSTS, 0xFF, HSTS) } Scope (\_GPE) { Method (_L07, 0, NotSerialized) { Store (0x20, \_SB.PCI0.SMB.HSTS) } Method (_L1B, 0, NotSerialized) { Store (0x20, \_SB.PCI0.SMB.HSTS) } } } Device (PEX0) { Name (_ADR, 0x001C0000) OperationRegion (PXRC, PCI_Config, Zero, 0x0100) Field (PXRC, AnyAcc, NoLock, Preserve) { Offset (0x60), Offset (0x62), PMS, 1, PMP, 1, Offset (0xD8), , 30, HPE, 1, PCE, 1, , 30, HPS, 1, PCS, 1 } Method (CSS, 0, NotSerialized) { Store (One, PMS) Store (One, PCS) Store (One, PMS) } Method (SPRT, 1, NotSerialized) { CSS () Store (One, PCE) CSS () } Method (WPRT, 1, NotSerialized) { Store (Zero, PCE) CSS () } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR11) } Return (PR11) } } Device (PEX1) { Name (_ADR, 0x001C0001) OperationRegion (PXRC, PCI_Config, Zero, 0x0100) Field (PXRC, AnyAcc, NoLock, Preserve) { Offset (0x60), Offset (0x62), PMS, 1, PMP, 1, Offset (0xD8), , 30, HPE, 1, PCE, 1, , 30, HPS, 1, PCS, 1 } Method (CSS, 0, NotSerialized) { Store (One, PMS) Store (One, PCS) Store (One, PMS) } Method (SPRT, 1, NotSerialized) { CSS () Store (One, PCE) CSS () } Method (WPRT, 1, NotSerialized) { Store (Zero, PCE) CSS () } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR12) } Return (PR12) } } Device (PEX2) { Name (_ADR, 0x001C0002) OperationRegion (PXRC, PCI_Config, Zero, 0x0100) Field (PXRC, AnyAcc, NoLock, Preserve) { Offset (0x60), Offset (0x62), PMS, 1, PMP, 1, Offset (0xD8), , 30, HPE, 1, PCE, 1, , 30, HPS, 1, PCS, 1 } Method (CSS, 0, NotSerialized) { Store (One, PMS) Store (One, PCS) Store (One, PMS) } Method (SPRT, 1, NotSerialized) { CSS () Store (One, PCE) CSS () } Method (WPRT, 1, NotSerialized) { Store (Zero, PCE) CSS () } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR13) } Return (PR13) } } Device (PEX3) { Name (_ADR, 0x001C0003) OperationRegion (PXRC, PCI_Config, Zero, 0x0100) Field (PXRC, AnyAcc, NoLock, Preserve) { Offset (0x60), Offset (0x62), PMS, 1, PMP, 1, Offset (0xD8), , 30, HPE, 1, PCE, 1, , 30, HPS, 1, PCS, 1 } Method (CSS, 0, NotSerialized) { Store (One, PMS) Store (One, PCS) Store (One, PMS) } Method (SPRT, 1, NotSerialized) { CSS () Store (One, PCE) CSS () } Method (WPRT, 1, NotSerialized) { Store (Zero, PCE) CSS () } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR14) } Return (PR14) } } Device (PEX4) { Name (_ADR, 0x001C0004) OperationRegion (PXRC, PCI_Config, Zero, 0x0100) Field (PXRC, AnyAcc, NoLock, Preserve) { Offset (0x60), Offset (0x62), PMS, 1, PMP, 1, Offset (0xD8), , 30, HPE, 1, PCE, 1, , 30, HPS, 1, PCS, 1 } Method (CSS, 0, NotSerialized) { Store (One, PMS) Store (One, PCS) Store (One, PMS) } Method (SPRT, 1, NotSerialized) { CSS () Store (One, PCE) CSS () } Method (WPRT, 1, NotSerialized) { Store (Zero, PCE) CSS () } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR15) } Return (PR15) } } Device (PEX5) { Name (_ADR, 0x001C0005) OperationRegion (PXRC, PCI_Config, Zero, 0x0100) Field (PXRC, AnyAcc, NoLock, Preserve) { Offset (0x60), Offset (0x62), PMS, 1, PMP, 1, Offset (0xD8), , 30, HPE, 1, PCE, 1, , 30, HPS, 1, PCS, 1 } Method (CSS, 0, NotSerialized) { Store (One, PMS) Store (One, PCS) Store (One, PMS) } Method (SPRT, 1, NotSerialized) { CSS () Store (One, PCE) CSS () } Method (WPRT, 1, NotSerialized) { Store (Zero, PCE) CSS () } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR16) } Return (PR16) } } Device (PEX6) { Name (_ADR, 0x001C0006) OperationRegion (PXRC, PCI_Config, Zero, 0x0100) Field (PXRC, AnyAcc, NoLock, Preserve) { Offset (0x60), Offset (0x62), PMS, 1, PMP, 1, Offset (0xD8), , 30, HPE, 1, PCE, 1, , 30, HPS, 1, PCS, 1 } Method (CSS, 0, NotSerialized) { Store (One, PMS) Store (One, PCS) Store (One, PMS) } Method (SPRT, 1, NotSerialized) { CSS () Store (One, PCE) CSS () } Method (WPRT, 1, NotSerialized) { Store (Zero, PCE) CSS () } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR17) } Return (PR17) } } Device (PEX7) { Name (_ADR, 0x001C0007) OperationRegion (PXRC, PCI_Config, Zero, 0x0100) Field (PXRC, AnyAcc, NoLock, Preserve) { Offset (0x60), Offset (0x62), PMS, 1, PMP, 1, Offset (0xD8), , 30, HPE, 1, PCE, 1, , 30, HPS, 1, PCS, 1 } Method (CSS, 0, NotSerialized) { Store (One, PMS) Store (One, PCS) Store (One, PMS) } Method (SPRT, 1, NotSerialized) { CSS () Store (One, PCE) CSS () } Method (WPRT, 1, NotSerialized) { Store (Zero, PCE) CSS () } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x03)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR18) } Return (PR18) } } Device (GBE) { Name (_ADR, 0x00190000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } } Scope (\_GPE) { Method (_L09, 0, NotSerialized) { Notify (\_SB.PCI0.P0P1, 0x02) Notify (\_SB.PCI0.P0P2, 0x02) Notify (\_SB.PCI0.P0P3, 0x02) Notify (\_SB.PCI0.P0P4, 0x02) Notify (\_SB.PCI0.P0P5, 0x02) Notify (\_SB.PCI0.PEX0, 0x02) Notify (\_SB.PCI0.PEX1, 0x02) Notify (\_SB.PCI0.PEX2, 0x02) Notify (\_SB.PCI0.PEX3, 0x02) Notify (\_SB.PCI0.PEX4, 0x02) Notify (\_SB.PCI0.PEX5, 0x02) Notify (\_SB.PCI0.PEX6, 0x02) Notify (\_SB.PCI0.PEX7, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.BR20, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.GBE, 0x02) Notify (\_SB.PWRB, 0x02) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_UID, 0xAA) Name (_STA, 0x0B) } } OperationRegion (_SB.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0x0C) Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x08), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } Scope (_SB) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {15} }) CreateWordField (BUFA, One, IRA0) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { And (PIRA, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSA) } Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { And (PIRA, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { And (PIRB, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSB) } Method (_DIS, 0, NotSerialized) { Or (PIRB, 0x80, PIRB) } Method (_CRS, 0, NotSerialized) { And (PIRB, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { And (PIRC, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSC) } Method (_DIS, 0, NotSerialized) { Or (PIRC, 0x80, PIRC) } Method (_CRS, 0, NotSerialized) { And (PIRC, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { And (PIRD, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSD) } Method (_DIS, 0, NotSerialized) { Or (PIRD, 0x80, PIRD) } Method (_CRS, 0, NotSerialized) { And (PIRD, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { And (PIRE, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSE) } Method (_DIS, 0, NotSerialized) { Or (PIRE, 0x80, PIRE) } Method (_CRS, 0, NotSerialized) { And (PIRE, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { And (PIRF, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSF) } Method (_DIS, 0, NotSerialized) { Or (PIRF, 0x80, PIRF) } Method (_CRS, 0, NotSerialized) { And (PIRF, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { And (PIRG, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSG) } Method (_DIS, 0, NotSerialized) { Or (PIRG, 0x80, PIRG) } Method (_CRS, 0, NotSerialized) { And (PIRG, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { And (PIRH, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSH) } Method (_DIS, 0, NotSerialized) { Or (PIRH, 0x80, PIRH) } Method (_CRS, 0, NotSerialized) { And (PIRH, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRH) } } } Name (MISC, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateByteField (MISC, Zero, MIS0) CreateByteField (MISC, One, MIS1) CreateByteField (MISC, 0x02, MIS2) CreateByteField (MISC, 0x03, MIS3) CreateByteField (MISC, 0x04, MIS4) CreateByteField (MISC, 0x06, MIS6) Scope (_PR) { OperationRegion (SSDT, SystemMemory, 0xAB622C18, 0x03A4) Name (NCST, 0x02) Name (NPSS, 0x0A) Name (HNDL, 0x80000000) Name (TNLP, 0x0004) Name (CINT, Zero) Name (PDCV, 0xFFFFFFFF) Name (APSS, Package (0x0A) { Package (0x06) { 0x0AEA, 0x00000DAC, 0x000A, 0x000A, 0x0016, 0x0016 }, Package (0x06) { 0x0AE9, 0x00000C35, 0x000A, 0x000A, 0x0015, 0x0015 }, Package (0x06) { 0x0A64, 0x00000A41, 0x000A, 0x000A, 0x0014, 0x0014 }, Package (0x06) { 0x09DF, 0x000008CA, 0x000A, 0x000A, 0x0013, 0x0013 }, Package (0x06) { 0x095A, 0x00000753, 0x000A, 0x000A, 0x0012, 0x0012 }, Package (0x06) { 0x08D5, 0x00000659, 0x000A, 0x000A, 0x0011, 0x0011 }, Package (0x06) { 0x0850, 0x0000055F, 0x000A, 0x000A, 0x0010, 0x0010 }, Package (0x06) { 0x07CB, 0x00000465, 0x000A, 0x000A, 0x000F, 0x000F }, Package (0x06) { 0x0746, 0x0000036B, 0x000A, 0x000A, 0x000E, 0x000E }, Package (0x06) { 0x04AD, 0x0000007D, 0x000A, 0x000A, 0x0009, 0x0009 } }) Name (PTCI, Package (0x02) { ResourceTemplate () { Register (SystemIO, 0x04, // Bit Width 0x01, // Bit Offset 0x0000000000000410, // Address ,) }, ResourceTemplate () { Register (SystemIO, 0x04, // Bit Width 0x01, // Bit Offset 0x0000000000000410, // Address ,) } }) Name (\PSTE, Zero) Name (\TSTE, Zero) Name (TSSI, Package (0x01) { Package (0x05) { 0x64, 0x03E8, Zero, Zero, Zero } }) Name (TSSM, Package (0x08) { Package (0x05) { 0x64, 0x03E8, Zero, Zero, Zero }, Package (0x05) { 0x58, 0x036B, Zero, 0x1E, Zero }, Package (0x05) { 0x4B, 0x02EE, Zero, 0x1C, Zero }, Package (0x05) { 0x3F, 0x0271, Zero, 0x1A, Zero }, Package (0x05) { 0x32, 0x01F4, Zero, 0x18, Zero }, Package (0x05) { 0x26, 0x0177, Zero, 0x16, Zero }, Package (0x05) { 0x19, 0xFA, Zero, 0x14, Zero }, Package (0x05) { 0x0D, 0x7D, Zero, 0x12, Zero } }) Name (C1ST, Package (0x02) { One, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x03, 0x03E8 } }) Name (CMST, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x03, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000010, // Address 0x03, // Access Size ) }, 0x02, 0xCD, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000020, // Address 0x03, // Access Size ) }, 0x03, 0xF5, 0x015E } }) Name (CIST, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x03, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000414, // Address ,) }, 0x02, 0xCD, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000415, // Address ,) }, 0x03, 0xF5, 0x015E } }) Method (CST, 0, NotSerialized) { If (LNotEqual (And (PDCV, 0x0200), 0x0200)) { If (LEqual (NCST, 0x02)) { Store (One, NCST) } } If (LEqual (NCST, Zero)) { Return (C1ST) } If (LEqual (NCST, One)) { Return (CIST) } If (LEqual (NCST, 0x02)) { Return (CMST) } Return (C1ST) } Method (PDC, 1, NotSerialized) { CreateDWordField (Arg0, Zero, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS0, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS0, TEMP, Local2) OSC (Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (OSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, STS) CreateDWordField (Arg3, 0x04, CAP) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID0, Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID0, Zero, EID0) CreateDWordField (UID0, 0x04, EID1) CreateDWordField (UID0, 0x08, EID2) CreateDWordField (UID0, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, Index (STS, Zero)) Return (Arg3) } And (PDCV, CAP, PDCV) If (LEqual (CINT, Zero)) { Store (One, CINT) If (LEqual (And (PDCV, 0x09), 0x09)) { If (LNotEqual (NPSS, Zero)) { Load (SSDT, HNDL) } } } Return (Arg3) } } Scope (_SB) { Scope (PCI0) { Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) OperationRegion (HCNT, SystemMemory, HPTC, 0x04) Field (HCNT, DWordAcc, NoLock, Preserve) { HPTS, 2, , 5, HPTE, 1 } Method (_STA, 0, NotSerialized) { If (HPTE) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, 0x04, HTBS) Multiply (HPTS, 0x1000, Local0) Add (Local0, 0xFED00000, HTBS) Return (CRS) } } } } Scope (_SB) { Scope (PCI0) { Method (_INI, 0, NotSerialized) { } Name (CRS, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, , AddressRangeMemory, TypeStatic) }) CreateDWordField (CRS, 0x5C, MIN5) CreateDWordField (CRS, 0x60, MAX5) CreateDWordField (CRS, 0x68, LEN5) CreateDWordField (CRS, 0x76, MIN6) CreateDWordField (CRS, 0x7A, MAX6) CreateDWordField (CRS, 0x82, LEN6) Method (_CRS, 0, NotSerialized) { Store (MG1L, Local0) If (Local0) { Store (MG1B, MIN5) Store (MG1L, LEN5) Add (MIN5, Decrement (Local0), MAX5) } Store (MG2B, MIN6) Store (MG2L, LEN6) Store (MG2L, Local0) Add (MIN6, Decrement (Local0), MAX6) Return (CRS) } } } Name (WOTB, Zero) Name (WSSB, Zero) Name (WAXB, Zero) Method (_PTS, 1, NotSerialized) { Store (Arg0, DBG8) If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02))) { Sleep (0x0BB8) } PTS (Arg0) Store (Zero, Index (WAKP, Zero)) Store (Zero, Index (WAKP, One)) Store (ASSB, WSSB) Store (AOTB, WOTB) Store (AAXB, WAXB) Store (Arg0, ASSB) Store (OSFL (), AOTB) Store (Zero, AAXB) Store (One, \_SB.SLPS) } Method (_WAK, 1, NotSerialized) { ShiftLeft (Arg0, 0x04, DBG8) WAK (Arg0) If (ASSB) { Store (WSSB, ASSB) Store (WOTB, AOTB) Store (WAXB, AAXB) } If (DerefOf (Index (WAKP, Zero))) { Store (Zero, Index (WAKP, One)) } Else { Store (Arg0, Index (WAKP, One)) } Return (WAKP) } Scope (_SB) { Scope (PCI0) { Method (_OSC, 4, NotSerialized) { Name (SUPP, Zero) Name (CTRL, Zero) CreateDWordField (Arg3, Zero, CDW1) CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40, /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66 })) { Store (CDW2, SUPP) Store (CDW3, CTRL) If (LNotEqual (And (SUPP, 0x16), 0x16)) { And (CTRL, 0x1E, CTRL) } If (LNot (PEHP)) { And (CTRL, 0x1E, CTRL) } If (LNot (SHPC)) { And (CTRL, 0x1D, CTRL) } If (LNot (PEPM)) { And (CTRL, 0x1B, CTRL) } If (LNot (PEER)) { And (CTRL, 0x15, CTRL) } If (LNot (PECS)) { And (CTRL, 0x0F, CTRL) } If (LNotEqual (Arg1, One)) { Or (CDW1, 0x08, CDW1) } If (LNotEqual (CDW3, CTRL)) { Or (CDW1, 0x10, CDW1) } Store (CTRL, CDW3) Return (Arg3) } Else { Or (CDW1, 0x04, CDW1) Return (Arg3) } } } } Device (OMSC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x0E11) } Device (_SB.RMEM) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, One) } OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method (P8XH, 2, Serialized) { If (LEqual (Arg0, Zero)) { Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D) } If (LEqual (Arg0, One)) { Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08) ), P80D) } If (LEqual (Arg0, 0x02)) { Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10) ), P80D) } If (LEqual (Arg0, 0x03)) { Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18) ), P80D) } Store (P80D, P80H) } OperationRegion (SPRT, SystemIO, 0xB2, 0x02) Field (SPRT, ByteAcc, Lock, Preserve) { SSMP, 8 } Method (GETB, 3, Serialized) { Multiply (Arg0, 0x08, Local0) Multiply (Arg1, 0x08, Local1) CreateField (Arg2, Local0, Local1, TBF3) Return (TBF3) } Method (PNOT, 0, Serialized) { } Method (BRTN, 1, Serialized) { If (LEqual (And (DID1, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD01, Arg0) } If (LEqual (And (DID2, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD02, Arg0) } If (LEqual (And (DID3, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD03, Arg0) } If (LEqual (And (DID4, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD04, Arg0) } If (LEqual (And (DID5, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD05, Arg0) } If (LEqual (And (DID6, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD06, Arg0) } If (LEqual (And (DID7, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD07, Arg0) } If (LEqual (And (DID8, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD08, Arg0) } } Scope (_SB.PCI0) { Device (GFX0) { Scope (^^PCI0) { OperationRegion (MCHP, PCI_Config, 0x40, 0xC0) Field (MCHP, AnyAcc, NoLock, Preserve) { Offset (0x60), TASM, 10, Offset (0x62) } } Scope (\_SB.PCI0.GFX0) { OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x12), , 1, GIVD, 1, , 2, GUMA, 3, Offset (0x14), , 4, GMFN, 1, Offset (0x18), Offset (0xA4), ASLE, 8, Offset (0xA8), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xB0), , 12, CDVL, 1, Offset (0xB2), Offset (0xB5), LBPC, 8, Offset (0xBC), ASLS, 32 } } Name (M512, 0x04) Name (M1GB, 0x08) OperationRegion (IGDM, SystemMemory, ASLB, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, DMOD, 32, Offset (0xE0), KSV0, 32, KSV1, 8, CSTE, 16, NSTE, 16, Offset (0xF0), Offset (0x100), DRDY, 32, CSTS, 32, CEVT, 32, Offset (0x120), DIDL, 32, DDL2, 32, DDL3, 32, DDL4, 32, DDL5, 32, DDL6, 32, DDL7, 32, DDL8, 32, CPDL, 32, CPL2, 32, CPL3, 32, CPL4, 32, CPL5, 32, CPL6, 32, CPL7, 32, CPL8, 32, CADL, 32, CAL2, 32, CAL3, 32, CAL4, 32, CAL5, 32, CAL6, 32, CAL7, 32, CAL8, 32, NADL, 32, NDL2, 32, NDL3, 32, NDL4, 32, NDL5, 32, NDL6, 32, NDL7, 32, NDL8, 32, ASLP, 32, TIDX, 32, CHPD, 32, CLID, 32, CDCK, 32, SXSW, 32, EVTS, 32, CNOT, 32, NRDY, 32, Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32, DSLP, 32, Offset (0x300), ARDY, 32, ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32, BCLM, 320, CPFM, 32, EPFM, 32, PLUT, 592, PFMB, 32, CCDV, 32, PCFT, 32, Offset (0x400), GVD1, 49152, PHED, 32, BDDC, 2048 } OperationRegion (TCOI, SystemIO, TOBS, 0x08) Field (TCOI, WordAcc, NoLock, Preserve) { Offset (0x04), , 9, SCIS, 1, Offset (0x06) } Name (DBTB, Package (0x15) { Zero, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Name (CDCT, Package (0x05) { Package (0x02) { 0xE4, 0x0140 }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { Zero, Zero }, Package (0x02) { 0xDE, 0x014D } }) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Method (GSCI, 0, NotSerialized) { If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (Zero, GEFC) Store (One, SCIS) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (GBDA, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (0x0679, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (0x0240, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x04)) { And (PARM, 0xEFFF0000, PARM) And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), PARM) Or (IBTT, PARM, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (IPSC, PARM) Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Add (PARM, 0x0100, PARM) Or (PARM, ShiftLeft (LIDS, 0x10), PARM) Add (PARM, 0x00010000, PARM) Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (ITVF, PARM) Or (PARM, ShiftLeft (ITVM, 0x04), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x07)) { Store (GIVD, PARM) XOr (PARM, One, PARM) Or (PARM, ShiftLeft (GMFN, One), PARM) Or (PARM, 0x1800, PARM) Or (PARM, ShiftLeft (IDMS, 0x11), PARM) Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL )), 0x15), PARM, PARM) Store (One, GESF) Return (SUCC) } If (LEqual (GESF, 0x0A)) { Store (Zero, PARM) If (ISSC) { Or (PARM, 0x03, PARM) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x0B)) { Store (KSV0, PARM) Store (KSV1, GESF) Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (Zero, PARM) Store (0x000F87FD, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x03)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x04)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (And (PARM, 0x0F), ITVF) Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x07)) { If (LEqual (PARM, Zero)) { Store (CLID, Local0) If (And (0x80000000, Local0)) { And (CLID, 0x0F, CLID) GLID (CLID) } } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x08)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x09)) { And (PARM, 0xFF, IBTT) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0A)) { And (PARM, 0xFF, IPSC) If (And (ShiftRight (PARM, 0x08), 0xFF)) { And (ShiftRight (PARM, 0x08), 0xFF, IPAT) Decrement (IPAT) } And (ShiftRight (PARM, 0x14), 0x07, IBIA) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0B)) { And (ShiftRight (PARM, One), One, IF1E) If (And (PARM, 0x0001E000)) { And (ShiftRight (PARM, 0x0D), 0x0F, IDMS) } Else { And (ShiftRight (PARM, 0x11), 0x0F, IDMS) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x10)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x11)) { Store (ShiftLeft (LIDS, 0x08), PARM) Add (PARM, 0x0100, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x12)) { If (And (PARM, One)) { If (LEqual (ShiftRight (PARM, One), One)) { Store (One, ISSC) } Else { Store (Zero, GESF) Return (CRIT) } } Else { Store (Zero, ISSC) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x13)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x14)) { And (PARM, 0x0F, PAVP) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } Store (Zero, GESF) Return (SUCC) } Method (PDRD, 0, NotSerialized) { If (LNot (DRDY)) { Sleep (ASLP) } Return (LNot (DRDY)) } Method (PSTS, 0, NotSerialized) { If (LGreater (CSTS, 0x02)) { Sleep (ASLP) } Return (LEqual (CSTS, 0x03)) } Method (OSYS, 0, NotSerialized) { Store (0x07D0, Local1) If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) { Store (0x03E8, Local1) } If (_OSI ("Windows 2001")) { Store (0x07D1, Local1) } If (_OSI ("Windows 2001 SP1")) { Store (0x07D1, Local1) } If (_OSI ("Windows 2001 SP2")) { Store (0x07D2, Local1) } If (_OSI ("Windows 2006")) { Store (0x07D6, Local1) } If (_OSI ("Windows 2009")) { Store (0x07D9, Local1) } } Return (Local1) } Method (GNOT, 2, NotSerialized) { If (PDRD ()) { Return (One) } Store (Arg0, CEVT) Store (0x03, CSTS) If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero))) { If (LOr (LGreater (OSYS (), 0x07D0), LLess (OSYS (), 0x07D6))) { Notify (PCI0, Arg1) } Else { Notify (GFX0, Arg1) } } If (CondRefOf (HNOT)) { HNOT (Arg0) } Else { Notify (GFX0, 0x80) } Return (Zero) } Method (GHDS, 1, NotSerialized) { Store (Arg0, TIDX) Return (GNOT (One, Zero)) } Method (GLID, 1, NotSerialized) { Store (Arg0, CLID) Return (GNOT (0x02, Zero)) } Method (GDCK, 1, NotSerialized) { Store (Arg0, CDCK) Return (GNOT (0x04, Zero)) } Method (PARD, 0, NotSerialized) { If (LNot (ARDY)) { Sleep (ASLP) } Return (LNot (ARDY)) } Method (AINT, 2, NotSerialized) { If (LNot (And (TCHE, ShiftLeft (One, Arg0)))) { Return (One) } If (PARD ()) { Return (One) } If (LEqual (Arg0, 0x02)) { If (CPFM) { And (CPFM, 0x0F, Local0) And (EPFM, 0x0F, Local1) If (LEqual (Local0, One)) { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { Store (One, PFIT) } } } If (LEqual (Local0, 0x06)) { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { If (And (Local1, One)) { Store (One, PFIT) } Else { Store (0x06, PFIT) } } } If (LEqual (Local0, 0x08)) { If (And (Local1, One)) { Store (One, PFIT) } Else { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { Store (0x08, PFIT) } } } } Else { XOr (PFIT, 0x07, PFIT) } Or (PFIT, 0x80000000, PFIT) Store (0x04, ASLC) } Else { If (LEqual (Arg0, One)) { Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP) Or (BCLP, 0x80000000, BCLP) Store (0x02, ASLC) } Else { If (LEqual (Arg0, Zero)) { Store (Arg1, ALSI) Store (One, ASLC) } Else { Return (One) } } } Store (One, ASLE) Return (Zero) } Method (SCIP, 0, NotSerialized) { If (LNotEqual (OVER, Zero)) { Return (LNot (GSMI)) } Return (Zero) } Method (OPTS, 1, NotSerialized) { } Method (OWAK, 1, NotSerialized) { Store (One, GSES) } } } Scope (_GPE) { Method (_L06, 0, NotSerialized) { \_SB.PCI0.GFX0.GSCI () } } Scope (_SB.PCI0.GFX0) { Name (_ADR, 0x00020000) Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x07), DSEN) } Method (_DOD, 0, NotSerialized) { If (CondRefOf (IDAB)) { IDAB () } Else { Store (Zero, NDID) If (LNotEqual (DIDL, Zero)) { Store (SDDL (DID1), DID1) } If (LNotEqual (DDL2, Zero)) { Store (SDDL (DID2), DID2) } If (LNotEqual (DDL3, Zero)) { Store (SDDL (DID3), DID3) } If (LNotEqual (DDL4, Zero)) { Store (SDDL (DID4), DID4) } If (LNotEqual (DDL5, Zero)) { Store (SDDL (DID5), DID5) } } If (LEqual (NDID, One)) { Name (TMP1, Package (0x01) { 0xFFFFFFFF }) Store (DID1, Index (TMP1, Zero)) Return (TMP1) } If (LEqual (NDID, 0x02)) { Name (TMP2, Package (0x02) { 0xFFFFFFFF, 0xFFFFFFFF }) Store (DID1, Index (TMP2, Zero)) Store (DID2, Index (TMP2, One)) Return (TMP2) } If (LEqual (NDID, 0x03)) { Name (TMP3, Package (0x03) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (DID1, Index (TMP3, Zero)) Store (DID2, Index (TMP3, One)) Store (DID3, Index (TMP3, 0x02)) Return (TMP3) } If (LEqual (NDID, 0x04)) { Name (TMP4, Package (0x04) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP4, Zero)) Store (Or (0x00010000, DID2), Index (TMP4, One)) Store (Or (0x00010000, DID3), Index (TMP4, 0x02)) Store (Or (0x00010000, DID4), Index (TMP4, 0x03)) Return (TMP4) } If (CondRefOf (NNAB)) { Return (NNAB) } Else { If (LGreater (NDID, 0x04)) { Name (TMP5, Package (0x05) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP5, Zero)) Store (Or (0x00010000, DID2), Index (TMP5, One)) Store (Or (0x00010000, DID3), Index (TMP5, 0x02)) Store (Or (0x00010000, DID4), Index (TMP5, 0x03)) Store (Or (0x00010000, DID5), Index (TMP5, 0x04)) Return (TMP5) } } Return (Package (0x01) { 0x0400 }) } Device (DD01) { Method (_ADR, 0, Serialized) { If (LEqual (DID1, Zero)) { Return (One) } Else { Return (And (0xFFFF, DID1)) } } Method (_DCS, 0, NotSerialized) { Return (CDDS (DID1)) } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID1)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD02) { Method (_ADR, 0, Serialized) { If (LEqual (DID2, Zero)) { Return (0x02) } Else { Return (And (0xFFFF, DID2)) } } Method (_DCS, 0, NotSerialized) { Return (CDDS (DID2)) } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID2)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Method (_BCL, 0, NotSerialized) { Return (BCLS) } Method (_BCM, 1, NotSerialized) { If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64))) { AINT (One, Arg0) Store (Arg0, BRTL) } } Method (_BQC, 0, NotSerialized) { Return (BRTL) } } Device (DD03) { Method (_ADR, 0, Serialized) { If (LEqual (DID3, Zero)) { Return (0x03) } Else { Return (And (0xFFFF, DID3)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID3, Zero)) { Return (0x0B) } Else { Return (CDDS (DID3)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID3)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD04) { Method (_ADR, 0, Serialized) { If (LEqual (DID4, Zero)) { Return (0x04) } Else { Return (And (0xFFFF, DID4)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID4, Zero)) { Return (0x0B) } Else { Return (CDDS (DID4)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID4)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD05) { Method (_ADR, 0, Serialized) { If (LEqual (DID5, Zero)) { Return (0x05) } Else { Return (And (0xFFFF, DID5)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID5, Zero)) { Return (0x0B) } Else { Return (CDDS (DID5)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID5)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD06) { Method (_ADR, 0, Serialized) { If (LEqual (DID6, Zero)) { Return (0x06) } Else { Return (And (0xFFFF, DID6)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID6, Zero)) { Return (0x0B) } Else { Return (CDDS (DID6)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID6)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD07) { Method (_ADR, 0, Serialized) { If (LEqual (DID7, Zero)) { Return (0x07) } Else { Return (And (0xFFFF, DID7)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID7, Zero)) { Return (0x0B) } Else { Return (CDDS (DID7)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID7)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD08) { Method (_ADR, 0, Serialized) { If (LEqual (DID8, Zero)) { Return (0x08) } Else { Return (And (0xFFFF, DID8)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID8, Zero)) { Return (0x0B) } Else { Return (CDDS (DID8)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID8)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Method (SDDL, 1, NotSerialized) { Increment (NDID) Store (And (Arg0, 0x0F0F), Local0) Or (0x80000000, Local0, Local1) If (LEqual (DIDL, Local0)) { Return (Local1) } If (LEqual (DDL2, Local0)) { Return (Local1) } If (LEqual (DDL3, Local0)) { Return (Local1) } If (LEqual (DDL4, Local0)) { Return (Local1) } If (LEqual (DDL5, Local0)) { Return (Local1) } If (LEqual (DDL6, Local0)) { Return (Local1) } If (LEqual (DDL7, Local0)) { Return (Local1) } If (LEqual (DDL8, Local0)) { Return (Local1) } Return (Zero) } Method (CDDS, 1, NotSerialized) { Store (And (Arg0, 0x0F0F), Local0) If (LEqual (Zero, Local0)) { Return (0x1D) } If (LEqual (CADL, Local0)) { Return (0x1F) } If (LEqual (CAL2, Local0)) { Return (0x1F) } If (LEqual (CAL3, Local0)) { Return (0x1F) } If (LEqual (CAL4, Local0)) { Return (0x1F) } If (LEqual (CAL5, Local0)) { Return (0x1F) } If (LEqual (CAL6, Local0)) { Return (0x1F) } If (LEqual (CAL7, Local0)) { Return (0x1F) } If (LEqual (CAL8, Local0)) { Return (0x1F) } Return (0x1D) } Method (NDDS, 1, NotSerialized) { Store (And (Arg0, 0x0F0F), Local0) If (LEqual (Zero, Local0)) { Return (Zero) } If (LEqual (NADL, Local0)) { Return (One) } If (LEqual (NDL2, Local0)) { Return (One) } If (LEqual (NDL3, Local0)) { Return (One) } If (LEqual (NDL4, Local0)) { Return (One) } If (LEqual (NDL5, Local0)) { Return (One) } If (LEqual (NDL6, Local0)) { Return (One) } If (LEqual (NDL7, Local0)) { Return (One) } If (LEqual (NDL8, Local0)) { Return (One) } Return (Zero) } } Device (_SB.PCI0.SBRG.TPM) { Name (_HID, EisaId ("PNP0C31")) Name (_STR, Unicode ("TPM 1.2 Device")) Name (_UID, One) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED40000, // Address Base 0x00005000, // Address Length ) }) OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000) Field (TMMB, ByteAcc, Lock, Preserve) { ACCS, 8, Offset (0x18), TSTA, 8, TBCA, 8, Offset (0xF00), TVID, 16, TDID, 16 } Method (_STA, 0, NotSerialized) { If (LEqual (VIDT, 0x8086)) { Return (Zero) } Else { If (TPMF) { Return (0x0F) } Return (Zero) } } } Scope (_SB.PCI0.SBRG.TPM) { OperationRegion (CMSR, SystemIO, 0x72, 0x02) Field (CMSR, ByteAcc, NoLock, Preserve) { INQ, 8, DAQ, 8 } IndexField (INQ, DAQ, ByteAcc, NoLock, Preserve) { Offset (0x50), RQST, 4, RCNT, 4, ERRS, 16, MOR, 1 } Method (_DSM, 4, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E, /* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Return (Buffer (One) { 0x7F }) } Else { If (LEqual (_T_0, One)) { Return ("1.0") } Else { If (LEqual (_T_0, 0x02)) { Store (ToInteger (DerefOf (Index (Arg3, Zero))), RQST) Return (Zero) } Else { If (LEqual (_T_0, 0x03)) { Name (PPI1, Package (0x02) { Zero, Zero }) Store (RQST, Index (PPI1, One)) Return (PPI1) } Else { If (LEqual (_T_0, 0x04)) { Return (One) } Else { If (LEqual (_T_0, 0x05)) { Name (PPI2, Package (0x03) { Zero, Zero, Zero }) Store (RCNT, Index (PPI2, One)) If (LEqual (ERRS, 0xFFF0)) { Store (0xFFFFFFF0, Index (PPI2, 0x02)) } Else { If (LEqual (ERRS, 0xFFF1)) { Store (0xFFFFFFF1, Index (PPI2, 0x02)) } Else { Store (ERRS, Index (PPI2, 0x02)) } } Return (PPI2) } Else { If (LEqual (_T_0, 0x06)) { Return (Zero) } Else { } } } } } } } } Else { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46, /* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D })) { Name (_T_1, Zero) Store (ToInteger (Arg2), _T_1) If (LEqual (_T_1, Zero)) { Return (Buffer (One) { 0x03 }) } Else { If (LEqual (_T_1, One)) { Store (ToInteger (DerefOf (Index (Arg3, Zero))), MOR) Return (Zero) } Else { } } } } Return (Buffer (One) { 0x00 }) } } Scope (_SB.PCI0) { OperationRegion (ITPD, PCI_Config, 0xE8, 0x04) Field (ITPD, DWordAcc, NoLock, Preserve) { , 15, TPDI, 1 } OperationRegion (TVID, SystemMemory, 0xFED40F00, 0x02) Field (TVID, WordAcc, NoLock, Preserve) { VIDT, 16 } } Device (_SB.PCI0.ITPM) { Name (_HID, "INTC0102") Name (_CID, EisaId ("PNP0C31")) Name (_STR, Unicode ("TPM 1.2 Device")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED40000, // Address Base 0x00005000, // Address Length ) }) OperationRegion (CMSR, SystemIO, 0x72, 0x02) Field (CMSR, ByteAcc, NoLock, Preserve) { INQ, 8, DAQ, 8 } IndexField (INQ, DAQ, ByteAcc, NoLock, Preserve) { Offset (0x50), RQST, 4, RCNT, 4, ERRS, 16, MOR, 1 } OperationRegion (TPMR, SystemMemory, 0xFED40000, 0x5000) Field (TPMR, AnyAcc, NoLock, Preserve) { ACC0, 8 } Method (_STA, 0, NotSerialized) { If (LNotEqual (ACC0, 0xFF)) { If (LEqual (VIDT, 0x8086)) { If (TPMF) { Return (0x0F) } Return (Zero) } } Return (Zero) } Method (_DSM, 4, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E, /* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Return (Buffer (One) { 0x7F }) } Else { If (LEqual (_T_0, One)) { Return ("1.0") } Else { If (LEqual (_T_0, 0x02)) { Store (ToInteger (DerefOf (Index (Arg3, Zero))), RQST) Return (Zero) } Else { If (LEqual (_T_0, 0x03)) { Name (PPI1, Package (0x02) { Zero, Zero }) Store (RQST, Index (PPI1, One)) Return (PPI1) } Else { If (LEqual (_T_0, 0x04)) { Return (One) } Else { If (LEqual (_T_0, 0x05)) { Name (PPI2, Package (0x03) { Zero, Zero, Zero }) Store (RCNT, Index (PPI2, One)) If (LEqual (ERRS, 0xFFF0)) { Store (0xFFFFFFF0, Index (PPI2, 0x02)) } Else { If (LEqual (ERRS, 0xFFF1)) { Store (0xFFFFFFF1, Index (PPI2, 0x02)) } Else { Store (ERRS, Index (PPI2, 0x02)) } } Return (PPI2) } Else { If (LEqual (_T_0, 0x06)) { Return (Zero) } Else { } } } } } } } } Else { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46, /* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D })) { Name (_T_1, Zero) Store (ToInteger (Arg2), _T_1) If (LEqual (_T_1, Zero)) { Return (Buffer (One) { 0x03 }) } Else { If (LEqual (_T_1, One)) { Store (ToInteger (DerefOf (Index (Arg3, Zero))), MOR) Return (Zero) } Else { } } } } Return (Buffer (One) { 0x00 }) } } OperationRegion (RCRB, SystemMemory, SRCB, SRCL) Field (RCRB, ByteAcc, NoLock, Preserve) { Offset (0x3418), Offset (0x341A), PE0E, 1, PE1E, 1, PE2E, 1, PE3E, 1, PE4E, 1, PE5E, 1, PE6E, 1, PE7E, 1 } Scope (_GPE) { Method (_L01, 0, NotSerialized) { Add (DBG8, One, DBG8) If (LAnd (LEqual (PE0E, Zero), \_SB.PCI0.PEX0.HPST)) { Sleep (0x64) If (\_SB.PCI0.PEX0.PDCX) { Store (One, \_SB.PCI0.PEX0.PDCX) Store (One, \_SB.PCI0.PEX0.HPST) Notify (\_SB.PCI0.PEX0, Zero) } Else { Store (One, \_SB.PCI0.PEX0.HPST) } } If (LAnd (LEqual (PE1E, Zero), \_SB.PCI0.PEX1.HPST)) { Sleep (0x64) If (\_SB.PCI0.PEX1.PDCX) { Store (One, \_SB.PCI0.PEX1.PDCX) Store (One, \_SB.PCI0.PEX1.HPST) Notify (\_SB.PCI0.PEX1, Zero) } Else { Store (One, \_SB.PCI0.PEX1.HPST) } } If (LAnd (LEqual (PE2E, Zero), \_SB.PCI0.PEX2.HPST)) { Sleep (0x64) If (\_SB.PCI0.PEX2.PDCX) { Store (One, \_SB.PCI0.PEX2.PDCX) Store (One, \_SB.PCI0.PEX2.HPST) Notify (\_SB.PCI0.PEX2, Zero) } Else { Store (One, \_SB.PCI0.PEX2.HPST) } } If (LAnd (LEqual (PE3E, Zero), \_SB.PCI0.PEX3.HPST)) { Sleep (0x64) If (\_SB.PCI0.PEX3.PDCX) { Store (One, \_SB.PCI0.PEX3.PDCX) Store (One, \_SB.PCI0.PEX3.HPST) Notify (\_SB.PCI0.PEX3, Zero) } Else { Store (One, \_SB.PCI0.PEX3.HPST) } } If (LAnd (LEqual (PE4E, Zero), \_SB.PCI0.PEX4.HPST)) { Sleep (0x64) If (\_SB.PCI0.PEX4.PDCX) { Store (One, \_SB.PCI0.PEX4.PDCX) Store (One, \_SB.PCI0.PEX4.HPST) Notify (\_SB.PCI0.PEX4, Zero) } Else { Store (One, \_SB.PCI0.PEX4.HPST) } } If (LAnd (LEqual (PE5E, Zero), \_SB.PCI0.PEX5.HPST)) { Sleep (0x64) If (\_SB.PCI0.PEX5.PDCX) { Store (One, \_SB.PCI0.PEX5.PDCX) Store (One, \_SB.PCI0.PEX5.HPST) Notify (\_SB.PCI0.PEX5, Zero) } Else { Store (One, \_SB.PCI0.PEX5.HPST) } } If (LAnd (LEqual (PE6E, Zero), \_SB.PCI0.PEX6.HPST)) { Sleep (0x64) If (\_SB.PCI0.PEX6.PDCX) { Store (One, \_SB.PCI0.PEX6.PDCX) Store (One, \_SB.PCI0.PEX6.HPST) Notify (\_SB.PCI0.PEX6, Zero) } Else { Store (One, \_SB.PCI0.PEX6.HPST) } } If (LAnd (LEqual (PE7E, Zero), \_SB.PCI0.PEX7.HPST)) { Sleep (0x64) If (\_SB.PCI0.PEX7.PDCX) { Store (One, \_SB.PCI0.PEX7.PDCX) Store (One, \_SB.PCI0.PEX7.HPST) Notify (\_SB.PCI0.PEX7, Zero) } Else { Store (One, \_SB.PCI0.PEX7.HPST) } } } } Scope (_SB.PCI0.PEX0) { Name (_HPP, Package (0x04) { 0x08, 0x40, One, Zero }) OperationRegion (PXRG, PCI_Config, Zero, 0x0100) Field (PXRG, AnyAcc, NoLock, WriteAsZeros) { Offset (0x5A), , 3, PDCX, 1, Offset (0xD8), , 30, HPEN, 1, PCEN, 1, , 30, HPST, 1, PCST, 1 } Device (PXSX) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Store (Zero, Local0) If (LEqual (P0HP, One)) { Store (One, Local0) } Return (Local0) } } } Scope (_SB.PCI0.PEX1) { Name (_HPP, Package (0x04) { 0x08, 0x40, One, Zero }) OperationRegion (PXRG, PCI_Config, Zero, 0x0100) Field (PXRG, AnyAcc, NoLock, Preserve) { Offset (0x5A), , 3, PDCX, 1, Offset (0xD8), , 30, HPEN, 1, PCEN, 1, , 30, HPST, 1, PCST, 1 } Device (PXSX) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Store (Zero, Local0) If (LEqual (P1HP, One)) { Store (One, Local0) } Return (Local0) } } } Scope (_SB.PCI0.PEX2) { Name (_HPP, Package (0x04) { 0x08, 0x40, One, Zero }) OperationRegion (PXRG, PCI_Config, Zero, 0x0100) Field (PXRG, AnyAcc, NoLock, Preserve) { Offset (0x5A), , 3, PDCX, 1, Offset (0xD8), , 30, HPEN, 1, PCEN, 1, , 30, HPST, 1, PCST, 1 } Device (PXSX) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Store (Zero, Local0) If (LEqual (P2HP, One)) { Store (One, Local0) } Return (Local0) } } } Scope (_SB.PCI0.PEX3) { Name (_HPP, Package (0x04) { 0x08, 0x40, One, Zero }) OperationRegion (PXRG, PCI_Config, Zero, 0x0100) Field (PXRG, AnyAcc, NoLock, Preserve) { Offset (0x5A), , 3, PDCX, 1, Offset (0xD8), , 30, HPEN, 1, PCEN, 1, , 30, HPST, 1, PCST, 1 } Device (PXSX) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Store (Zero, Local0) If (LEqual (P3HP, One)) { Store (One, Local0) } Return (Local0) } } } Scope (_SB.PCI0.PEX4) { Name (_HPP, Package (0x04) { 0x08, 0x40, One, Zero }) OperationRegion (PXRG, PCI_Config, Zero, 0x0100) Field (PXRG, AnyAcc, NoLock, Preserve) { Offset (0x5A), , 3, PDCX, 1, Offset (0xD8), , 30, HPEN, 1, PCEN, 1, , 30, HPST, 1, PCST, 1 } Device (PXSX) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Store (Zero, Local0) If (LEqual (P4HP, One)) { Store (One, Local0) } Return (Local0) } } } Scope (_SB.PCI0.PEX5) { Name (_HPP, Package (0x04) { 0x08, 0x40, One, Zero }) OperationRegion (PXRG, PCI_Config, Zero, 0x0100) Field (PXRG, AnyAcc, NoLock, Preserve) { Offset (0x5A), , 3, PDCX, 1, Offset (0xD8), , 30, HPEN, 1, PCEN, 1, , 30, HPST, 1, PCST, 1 } Device (PXSX) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Store (Zero, Local0) If (LEqual (P5HP, One)) { Store (One, Local0) } Return (Local0) } } } Scope (_SB.PCI0.PEX6) { Name (_HPP, Package (0x04) { 0x08, 0x40, One, Zero }) OperationRegion (PXRG, PCI_Config, Zero, 0x0100) Field (PXRG, AnyAcc, NoLock, Preserve) { Offset (0x5A), , 3, PDCX, 1, Offset (0xD8), , 30, HPEN, 1, PCEN, 1, , 30, HPST, 1, PCST, 1 } Device (PXSX) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Store (Zero, Local0) If (LEqual (P6HP, One)) { Store (One, Local0) } Return (Local0) } } } Scope (_SB.PCI0.PEX7) { Name (_HPP, Package (0x04) { 0x08, 0x40, One, Zero }) OperationRegion (PXRG, PCI_Config, Zero, 0x0100) Field (PXRG, AnyAcc, NoLock, Preserve) { Offset (0x5A), , 3, PDCX, 1, Offset (0xD8), , 30, HPEN, 1, PCEN, 1, , 30, HPST, 1, PCST, 1 } Device (PXSX) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Store (Zero, Local0) If (LEqual (P7HP, One)) { Store (One, Local0) } Return (Local0) } } } Scope (_SB.PCI0) { Method (PEWK, 0, NotSerialized) { If (LEqual (PE4E, Zero)) { If (^PEX4.PDCX) { Store (One, ^PEX4.PDCX) Store (One, ^PEX4.HPST) } Else { Store (One, ^PEX4.HPST) } Notify (PEX4, Zero) } } } Method (NEVT, 0, NotSerialized) { Store (ECG1 (), Local0) If (LEqual (GPUF, 0x03)) { If (And (Local0, 0x0800)) { If (\_SB.PCI0.P0P1.PEGP.PO52) { Store (0x10, SGTF) WMIA (0x0800) } Else { SX10 () SX30 (0x20) SX11 () Store (SX41 (), Local1) SX12 () If (LAnd (LNotEqual (Local1, 0xE01B), LNotEqual (Local1, 0xE09B))) { WMIA (0x0800) } Else { If (LEqual (Local1, 0xE01B)) { If (LNotEqual (SGTF, 0x04)) { Store (One, SGTF) Notify (\_SB.PCI0.P0P1.PEGP, 0x80) } Else { WMIA (0x0800) Notify (\_SB.PCI0.P0P1.PEGP, 0x80) } } Else { If (LEqual (Local1, 0xE09B)) { WMIA (0x0800) } } } } } } If (And (Local0, One)) { Notify (\_SB.PWRB, 0x80) } If (And (Local0, 0x04)) { LIDE () } If (And (Local0, 0x08)) { PWRE () } If (And (Local0, 0x80)) { SMIE () } If (LNotEqual (GPUF, 0x03)) { If (And (Local0, 0x0800)) { WMIA (0x0800) } } } Name (WAKE, Zero) Method (NWAK, 0, NotSerialized) { Store (One, WAKE) Store (ECG7 (), Local0) Store (Zero, Local1) If (LEqual (Local0, Zero)) { Store (One, Local1) } If (And (Local0, One)) { Store (One, Local1) } If (And (Local0, 0x02)) { LIDE () } If (And (Local0, 0x20)) {} If (Local1) { Notify (\_SB.PWRB, 0x02) } Store (Zero, WAKE) } Mutex (GFXM, 0x01) Method (ILID, 0, NotSerialized) { Acquire (GFXM, 0xFFFF) Store (SMI (0x46, Zero), Local0) \_SB.PCI0.GFX0.GLID (Local0) Notify (\_SB.LID0, 0x80) Release (GFXM) } Method (LIDE, 0, NotSerialized) { Store (GPUF, Local1) If (LEqual (Local1, 0x04)) { ILID () } Else { Notify (\_SB.LID0, 0x80) } } Method (PWRE, 0, NotSerialized) { If (LEqual (OSYS, 0x10)) { Notify (\_SB.PWRB, 0x02) } Store (ECG5 (), Local0) XOr (Local0, MIS0, Local1) And (Local0, 0x13, MIS0) If (And (Local1, One)) { Notify (\_SB.AC, 0x80) } And (MIS0, 0x02, Local2) If (And (Local1, 0x02)) { If (Local2) { Notify (\_SB.BAT0, 0x81) } Else { Notify (\_SB.BAT0, 0x81) } } If (And (Local1, 0x04)) { If (Local2) { Notify (\_SB.BAT0, 0x80) } } If (And (Local1, 0x08)) { If (Local2) { Notify (\_SB.BAT0, 0x80) } } } Method (SMIE, 0, NotSerialized) { Store (SMI (0x96, Zero), Local0) If (And (Local0, One)) { Notify (\_TZ.THM, 0x80) } If (And (Local0, 0x02)) { Store (GPUF, Local1) Name (_T_0, Zero) Store (Local1, _T_0) If (LEqual (_T_0, One)) { Notify (\_SB.PCI0.P0P1.PEGP, 0x80) } Else { If (LEqual (_T_0, 0x02)) { Notify (\_SB.PCI0.P0P2.PEGP, 0x80) } Else { If (LEqual (_T_0, 0x03)) { SGTG () } Else { If (LEqual (_T_0, 0x04)) { \_SB.PCI0.GFX0.GHDS (Zero) } Else { } } } } } If (And (Local0, 0x04)) { CESM (Local0) } If (And (Local0, 0x08)) { Notify (\_PR.P000, 0x80) Notify (\_PR.P001, 0x80) Notify (\_PR.P002, 0x80) Notify (\_PR.P003, 0x80) } } Method (CESM, 1, NotSerialized) { Store (Arg0, Local0) SX10 () SX30 (0x18) SX11 () Store (SX42 (), Local0) SX12 () If (LEqual (GPUF, 0x03)) { If (And (Local0, 0x02)) { If (LEqual (SGTF, 0x02)) { Store (0x03, SGTF) WMIA (0x0800) } } } If (LEqual (OSYS, 0x10)) { If (LEqual (GPUF, 0x04)) { If (And (Local0, 0x0600)) { Store (0x02, \_SB.PCI0.GFX0.ASLC) Store (One, \_SB.PCI0.GFX0.ASLE) Return (Zero) } } } If (LGreaterEqual (OSYS, 0x20)) { If (And (Local0, 0x0400)) { Store (GPUF, Local1) Name (_T_0, Zero) Store (Local1, _T_0) If (LEqual (_T_0, One)) { Notify (\_SB.PCI0.P0P1.PEGP.LCD, 0x86) } Else { If (LEqual (_T_0, 0x02)) { Notify (\_SB.PCI0.P0P2.PEGP.LCD, 0x86) } Else { If (LEqual (_T_0, 0x03)) { SGBU () } Else { If (LEqual (_T_0, 0x04)) { Notify (\_SB.PCI0.GFX0.DD02, 0x86) } Else { } } } } } } If (LGreaterEqual (OSYS, 0x20)) { If (And (Local0, 0x0200)) { Store (GPUF, Local1) Name (_T_1, Zero) Store (Local1, _T_1) If (LEqual (_T_1, One)) { Notify (\_SB.PCI0.P0P1.PEGP.LCD, 0x87) } Else { If (LEqual (_T_1, 0x02)) { Notify (\_SB.PCI0.P0P2.PEGP.LCD, 0x87) } Else { If (LEqual (_T_1, 0x03)) { SGBD () } Else { If (LEqual (_T_1, 0x04)) { Notify (\_SB.PCI0.GFX0.DD02, 0x87) } Else { } } } } } } } Method (SGTG, 0, NotSerialized) { If (\_SB.PCI0.P0P1.PEGP.PO52) { Store (0x03, \_SB.PCI0.GFX0.HGNC) Store (One, \_SB.PCI0.GFX0.DACE) Notify (\_SB.PCI0.GFX0, 0x80) Notify (\_SB.PCI0.WMI1, 0x80) } Else { Notify (\_SB.PCI0.P0P1.PEGP, 0x80) } } Method (SGBD, 0, NotSerialized) { If (\_SB.PCI0.P0P1.PEGP.PO52) { Notify (\_SB.PCI0.GFX0.DD02, 0x87) } Else { Notify (\_SB.PCI0.P0P1.PEGP.DD02, 0x87) } } Method (SGBU, 0, NotSerialized) { If (\_SB.PCI0.P0P1.PEGP.PO52) { Notify (\_SB.PCI0.GFX0.DD02, 0x86) } Else { Notify (\_SB.PCI0.P0P1.PEGP.DD02, 0x86) } } Scope (_GPE) { Method (_L11, 0, NotSerialized) { NEVT () } Method (_L17, 0, NotSerialized) { NWAK () } } Method (OPTS, 1, NotSerialized) { SMI (0x8A, Arg0) Store (SMI (0x46, Zero), MIS1) } Method (OWAK, 1, NotSerialized) { SOST () Store (ECG5 (), MIS0) Notify (\_SB.AC, 0x80) SMI (0x9A, Arg0) Store (GPUF, Local1) If (LEqual (Local1, 0x04)) { Store (SMI (0x46, Zero), Local0) Store (Local0, \_SB.PCI0.GFX0.CLID) If (LEqual (Arg0, 0x03)) { If (Or (LNotEqual (MIS1, Local0), LEqual (Local0, Zero))) { If (LGreaterEqual (OSYS, 0x20)) { \_SB.PCI0.GFX0.GLID (Local0) } Else { LIDE () } } } } } Method (PSW, 2, NotSerialized) { SX10 () SX30 (0x06) SX30 (Arg0) SX30 (Arg1) SX11 () SX12 () } Method (DSS, 2, NotSerialized) { SX10 () SX30 (0x08) SX30 (Arg0) SX32 (Arg1) SX11 () SX12 () } Scope (_SB) { OperationRegion (SMIR, SystemIO, 0xB2, 0x02) Field (SMIR, ByteAcc, NoLock, Preserve) { SMII, 8, SMID, 8 } OperationRegion (SMR2, SystemIO, 0x86, One) Field (SMR2, ByteAcc, NoLock, Preserve) { SMIA, 8 } } Mutex (SMIX, 0x01) Method (SMI, 2, NotSerialized) { Acquire (SMIX, 0xFFFF) Store (Arg1, SMIB) Store (Arg0, \_SB.SMII) Store (SMIB, Local1) Release (SMIX) Return (Local1) } Name (SXX0, Buffer (0x0100) {}) Name (SXX1, Buffer (0x08) {}) Name (NSMI, Zero) CreateWordField (SXX1, Zero, SXX2) CreateWordField (SXX1, 0x04, SXX3) Method (SX10, 0, NotSerialized) { Acquire (SMIX, 0xFFFF) Store (Zero, SXX2) If (LEqual (\_SB.PCI0.SBRG.RMSC.ENTF, Zero)) { Store (Zero, NSMI) } Else { Store (One, NSMI) } } Method (SX30, 1, NotSerialized) { If (LEqual (NSMI, Zero)) { Store (SXX2, Local0) Increment (Local0) If (LLessEqual (Local0, SizeOf (SXX0))) { CreateByteField (SXX0, SXX2, SX20) Store (Arg0, SX20) Store (Local0, SXX2) } } } Method (SX31, 1, NotSerialized) { If (LEqual (NSMI, Zero)) { Store (SXX2, Local0) Add (Local0, 0x02, Local0) If (LLessEqual (Local0, SizeOf (SXX0))) { CreateWordField (SXX0, SXX2, SX21) Store (Arg0, SX21) Store (Local0, SXX2) } } } Method (SX32, 1, NotSerialized) { If (LEqual (NSMI, Zero)) { Store (SXX2, Local0) Add (Local0, 0x04, Local0) If (LLessEqual (Local0, SizeOf (SXX0))) { CreateDWordField (SXX0, SXX2, SX22) Store (Arg0, SX22) Store (Local0, SXX2) } } } Method (SX33, 2, NotSerialized) { If (LEqual (NSMI, Zero)) { If (LLess (Arg1, SizeOf (Arg0))) { CreateByteField (Arg0, Arg1, SX20) SX30 (SX20) } } } Method (SX34, 2, NotSerialized) { If (LEqual (NSMI, Zero)) { Store (Zero, Local0) While (LLess (Local0, Arg1)) { SX33 (Arg0, Local0) Increment (Local0) } } } Method (SXX6, 2, NotSerialized) { Store (Arg1, SMIB) Store (Arg0, \_SB.SMII) Return (SMIB) } Method (SXX5, 2, NotSerialized) { If (LLess (Arg1, SizeOf (Arg0))) { CreateByteField (Arg0, Arg1, SX20) SXX6 (0x7C, SX20) } } Method (SXX4, 0, NotSerialized) { SXX6 (0x7B, Zero) Store (Zero, Local0) While (LLess (Local0, SXX2)) { SXX5 (SXX0, Local0) Increment (Local0) } } Method (SXX8, 2, NotSerialized) { If (LLess (Arg1, SizeOf (Arg0))) { CreateByteField (Arg0, Arg1, SX20) Store (SXX6 (0x7D, Zero), SX20) } } Method (SXX7, 0, NotSerialized) { Store (Zero, Local0) While (LLess (Local0, SXX3)) { Add (SXX2, Local0, Local1) SXX8 (SXX0, Local1) Increment (Local0) } } Method (SX11, 0, NotSerialized) { If (LEqual (NSMI, Zero)) { SXX4 () Store (SXX6 (0x79, Zero), SXX3) Add (SXX2, SXX3, Local0) If (LLess (SizeOf (SXX0), Local0)) { Store (SizeOf (SXX0), Local0) Subtract (Local0, SXX2, Local0) Store (Local0, SXX3) } SXX7 () } } Method (SX40, 0, NotSerialized) { If (LEqual (NSMI, Zero)) { Store (SXX2, Local0) Increment (Local0) If (LLessEqual (Local0, SizeOf (SXX0))) { CreateByteField (SXX0, SXX2, SX20) Store (Local0, SXX2) Return (SX20) } } Return (Zero) } Method (SX41, 0, NotSerialized) { If (LEqual (NSMI, Zero)) { Store (SXX2, Local0) Add (Local0, 0x02, Local0) If (LLessEqual (Local0, SizeOf (SXX0))) { CreateWordField (SXX0, SXX2, SX21) Store (Local0, SXX2) Return (SX21) } } Return (Zero) } Method (SX42, 0, NotSerialized) { If (LEqual (NSMI, Zero)) { Store (SXX2, Local0) Add (Local0, 0x04, Local0) If (LLessEqual (Local0, SizeOf (SXX0))) { CreateDWordField (SXX0, SXX2, SX22) Store (Local0, SXX2) Return (SX22) } } Return (Zero) } Method (SX43, 2, NotSerialized) { If (LEqual (NSMI, Zero)) { If (LLess (Arg1, SizeOf (Arg0))) { CreateByteField (Arg0, Arg1, SX20) Store (SX40 (), SX20) } } } Method (SX44, 2, NotSerialized) { If (LEqual (NSMI, Zero)) { Store (Zero, Local0) While (LLess (Local0, Arg1)) { SX43 (Arg0, Local0) Increment (Local0) } } } Method (SX45, 0, NotSerialized) { If (LEqual (NSMI, Zero)) { Store (SX40 (), Local0) Name (SX23, Buffer (Local0) {}) SX44 (SX23, Local0) Return (SX23) } } Method (SX12, 0, NotSerialized) { Release (SMIX) } Scope (_SB.PCI0) { Method (UCMD, 3, NotSerialized) { SX10 () SX30 (0x0F) SX30 (Arg0) SX30 (Arg1) SX30 (Arg2) SX11 () Store (SX40 (), Local0) SX12 () Return (Local0) } Method (UPSW, 2, NotSerialized) { Return (UCMD (0x02, Arg0, Arg1)) } Method (UPRW, 2, NotSerialized) { Return (UCMD (One, Arg0, Arg1)) } Device (EHC2) { Name (_ADR, 0x001A0000) Name (_S1D, 0x02) Name (_S3D, 0x02) Device (HUB7) { Name (_ADR, Zero) Device (RMCH) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00 }) Device (CH00) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00 }) } Device (CH01) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00 }) } Device (CH10) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00 }) } Device (CH11) { Name (_ADR, 0x04) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00 }) } Device (CH20) { Name (_ADR, 0x05) } Device (CH21) { Name (_ADR, 0x06) } } } } Device (EHCI) { Name (_ADR, 0x001D0000) Name (_S1D, 0x02) Name (_S3D, 0x02) Method (_PRW, 0, NotSerialized) { Store (UPRW (Zero, 0x02), Local0) If (LEqual (Local0, 0x03)) { Return (Package (0x02) { 0x0D, 0x03 }) } If (LEqual (Local0, One)) { Return (Package (0x02) { 0x0D, One }) } Return (Package (0x02) { 0x0D, Zero }) } Method (_PSW, 1, NotSerialized) { UPSW (Arg0, 0x02) } Device (HUB7) { Name (_ADR, Zero) Device (RMCH) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00 }) Device (CH00) { Name (_ADR, One) } Device (CH01) { Name (_ADR, 0x02) } Device (CH10) { Name (_ADR, 0x03) } Device (CH11) { Name (_ADR, 0x04) } Device (CH20) { Name (_ADR, 0x05) } Device (CH21) { Name (_ADR, 0x06) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00 }) } Device (CH30) { Name (_ADR, 0x07) } Device (CH31) { Name (_ADR, 0x08) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00 }) } } } } } Scope (_SB.PCI0) { Device (A_CC) { Name (_HID, "SMO8800") Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_UID, One) Name (BUF2, ResourceTemplate () { Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, ) { 0x00000014, } }) Method (_CRS, 0, Serialized) { Return (BUF2) } Method (_SRS, 1, Serialized) { Return (BUF2) } } } Scope (_SB.PCI0.SBRG) { Device (PS2) { Name (_HID, EisaId ("SYN0604")) Name (_CID, Package (0x03) { EisaId ("SYN0600"), EisaId ("SYN0002"), EisaId ("PNP0F13") }) Name (CRS, ResourceTemplate () { IRQNoFlags () {12} }) Method (_CRS, 0, NotSerialized) { Return (CRS) } } Device (KBC) { Name (_HID, EisaId ("PNP0303")) Name (ECNT, Zero) Name (DAHA, Buffer (0x03) { 0x00, 0x00, 0x55 }) CreateByteField (DAHA, Zero, DCK0) CreateByteField (DAHA, One, DCK1) CreateByteField (DAHA, 0x02, DCK2) Name (CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x10, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x04, // Alignment 0x01, // Length ) IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x02, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x06, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) Method (_CRS, 0, NotSerialized) { Return (CRS) } OperationRegion (MMBX, SystemMemory, 0xFE800000, 0x0200) Field (MMBX, AnyAcc, Lock, Preserve) { Offset (0x100), MZ00, 8, MZ01, 8, MZ02, 8, MZ03, 32, MZ04, 32, MZ05, 32, MZ06, 32, MZ07, 32, MZ08, 32, Offset (0x14B), MZ09, 32, MZ10, 32 } Method (ECRB, 1, NotSerialized) { Store (Zero, Local0) If (LEqual (Arg0, Zero)) { Store (MZ00, Local0) } Else { If (LEqual (Arg0, One)) { Store (MZ01, Local0) } Else { If (LEqual (Arg0, 0x02)) { Store (MZ02, Local0) } Else { If (LEqual (Arg0, 0x03)) { Store (MZ03, Local0) } Else { If (LEqual (Arg0, 0x04)) { Store (MZ04, Local0) } Else { If (LEqual (Arg0, 0x05)) { Store (MZ05, Local0) } Else { If (LEqual (Arg0, 0x06)) { Store (MZ06, Local0) } Else { If (LEqual (Arg0, 0x07)) { Store (MZ07, Local0) } Else { If (LEqual (Arg0, 0x08)) { Store (MZ08, Local0) } Else { If (LEqual (Arg0, 0x09)) { Store (MZ09, Local0) } Else { If (LEqual (Arg0, 0x0A)) { Store (MZ10, Local0) } } } } } } } } } } } Return (Local0) } Method (ECWB, 2, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Arg1, MZ00) } Else { If (LEqual (Arg0, One)) { Store (Arg1, MZ01) } Else { If (LEqual (Arg0, 0x02)) { Store (Arg1, MZ02) } Else { If (LEqual (Arg0, 0x03)) { Store (Arg1, MZ03) } Else { If (LEqual (Arg0, 0x04)) { Store (Arg1, MZ10) } } } } } } Method (WATK, 2, NotSerialized) { Store (0x01F4, ECNT) While (ECNT) { If (LEqual (ECRB (Arg0), Arg1)) { Break } Sleep (One) Decrement (ECNT) } } Method (PCA1, 2, NotSerialized) { If (LEqual (NSMI, Zero)) { ECWB (0x03, Arg1) ECWB (One, Arg0) WATK (0x0A, DCK2) WATK (One, DCK0) ECWB (0x04, Zero) WATK (0x0A, DCK1) } } } OperationRegion (GPI1, SystemIO, 0x0500, 0x4A) Field (GPI1, ByteAcc, Lock, Preserve) { Offset (0x38), , 4, GO36, 1, GI37, 1 } } Scope (_SB) { Device (AMW0) { Mutex (WMIX, 0x01) Name (_HID, "pnp0c14") Name (_UID, Zero) Method (STBY, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TMP) Store (Arg2, TMP) } Method (STWD, 3, NotSerialized) { CreateWordField (Arg0, Arg1, TMP) Store (Arg2, TMP) } Method (STDW, 3, NotSerialized) { CreateDWordField (Arg0, Arg1, TMP) Store (Arg2, TMP) } Method (CLBY, 1, NotSerialized) { Store (Zero, Local0) While (LLess (Local0, SizeOf (Arg0))) { STBY (Arg0, Local0, Zero) Increment (Local0) } } Name (_WDG, Buffer (0x78) { /* 0000 */ 0xBC, 0xDC, 0x9D, 0x8D, 0x97, 0xA9, 0xDA, 0x11, /* 0008 */ 0xB0, 0x12, 0xB6, 0x22, 0xA1, 0xEF, 0x54, 0x92, /* 0010 */ 0x41, 0x41, 0x01, 0x00, 0xCE, 0x93, 0x05, 0xA8, /* 0018 */ 0x97, 0xA9, 0xDA, 0x11, 0xB0, 0x12, 0xB6, 0x22, /* 0020 */ 0xA1, 0xEF, 0x54, 0x92, 0x42, 0x41, 0x01, 0x02, /* 0028 */ 0x94, 0x59, 0xBB, 0x9D, 0x97, 0xA9, 0xDA, 0x11, /* 0030 */ 0xB0, 0x12, 0xB6, 0x22, 0xA1, 0xEF, 0x54, 0x92, /* 0038 */ 0xD0, 0x00, 0x01, 0x08, 0xE0, 0x6C, 0x77, 0xA3, /* 0040 */ 0x88, 0x1E, 0xDB, 0x11, 0xA9, 0x8B, 0x08, 0x00, /* 0048 */ 0x20, 0x0C, 0x9A, 0x66, 0x42, 0x43, 0x01, 0x00, /* 0050 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, /* 0058 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, /* 0060 */ 0x4D, 0x4F, 0x01, 0x00, 0x28, 0x07, 0xBD, 0x77, /* 0068 */ 0x34, 0x2E, 0x8C, 0x47, 0xB6, 0x25, 0x67, 0xF0, /* 0070 */ 0x2A, 0x7E, 0x48, 0x97, 0x42, 0x44, 0x01, 0x02 }) Name (INFO, Buffer (0x80) {}) Name (ECD0, Zero) Method (WED0, 1, NotSerialized) { Store (Arg0, ECD0) Return (Arg0) } Method (WCAA, 1, NotSerialized) { Return (Zero) } Method (WQAA, 1, NotSerialized) { Acquire (WMIX, 0xFFFF) CLBY (INFO) If (LNotEqual (Arg0, Zero)) { Store (INFO, Local1) } Else { STDW (INFO, Zero, 0x4C4C4544) STDW (INFO, 0x04, 0x494D5720) STDW (INFO, 0x08, One) STDW (INFO, 0x0C, 0x1000) Store (INFO, Local1) } Release (WMIX) Return (Local1) } Method (WSAA, 2, NotSerialized) { Return (Arg1) } Method (WMI, 2, NotSerialized) { Return (PHWM (Arg0, Arg1)) } Method (WMBA, 3, NotSerialized) { CreateDWordField (Arg2, 0x28, WBUF) Add (WBUF, 0x2C, Local1) If (LLessEqual (Local1, 0x1000)) { Store (WMI (Arg2, Local1), Local0) } Return (Local0) } Name (WMI1, Zero) Name (WMI2, Buffer (0x80) {}) Name (WMI3, Zero) Method (WMI4, 1, NotSerialized) { Or (WMI1, Arg0, WMI1) } Method (WMI5, 1, NotSerialized) { And (WMI1, Not (Arg0), WMI1) } Method (WMI6, 0, NotSerialized) { Acquire (WMIX, 0xFFFF) Store (Zero, WMI3) CLBY (WMI2) } Method (WMI7, 0, NotSerialized) { Acquire (WMIX, 0xFFFF) Store (Zero, WMI3) } Method (WMI8, 1, NotSerialized) { Store (WMI3, Local0) Add (Local0, 0x02, Local0) If (LLessEqual (Local0, SizeOf (WMI2))) { CreateWordField (WMI2, WMI3, WMI9) Store (Arg0, WMI9) Store (Local0, WMI3) } } Method (_WED, 1, NotSerialized) { WMI6 () If (LNotEqual (Arg0, 0xD0)) { WMI7 () Return (WMI2) } If (LEqual (ECD0, Zero)) { WMI7 () Return (WMI2) } SX10 () SX30 (0x16) SX11 () Store (SX41 (), Local0) While (LGreater (Local0, Zero)) { WMI8 (Local0) While (LGreater (Local0, Zero)) { WMI8 (SX41 ()) Subtract (Local0, One, Local0) } } WMI8 (Zero) SX12 () WMI7 () Return (WMI2) } Name (WQMO, Buffer (0x079B) { /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, /* 0008 */ 0x8B, 0x07, 0x00, 0x00, 0x60, 0x2C, 0x00, 0x00, /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, /* 0018 */ 0x28, 0xD1, 0x95, 0x00, 0x01, 0x06, 0x18, 0x42, /* 0020 */ 0x10, 0x13, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01, /* 0028 */ 0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E, /* 0030 */ 0x84, 0x1C, 0x40, 0x48, 0x1C, 0x14, 0x4A, 0x08, /* 0038 */ 0x84, 0xFA, 0x13, 0xC8, 0xAF, 0x00, 0x84, 0x0E, /* 0040 */ 0x05, 0xC8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04, /* 0048 */ 0x11, 0xF4, 0x2A, 0xC0, 0xA6, 0x00, 0x93, 0x02, /* 0050 */ 0x2C, 0x0A, 0xD0, 0x2E, 0xC0, 0xB2, 0x00, 0xDD, /* 0058 */ 0x02, 0xA4, 0xC3, 0x12, 0x91, 0xE0, 0x28, 0x31, /* 0060 */ 0xE0, 0x28, 0x9D, 0xD8, 0xC2, 0x0D, 0x1B, 0xBC, /* 0068 */ 0x50, 0x14, 0xCD, 0x20, 0x4A, 0x82, 0x72, 0x11, /* 0070 */ 0xA4, 0x0B, 0x42, 0xCA, 0x05, 0xF8, 0x46, 0xD0, /* 0078 */ 0x00, 0xA2, 0xF4, 0x2E, 0xC0, 0xB6, 0x00, 0xD3, /* 0080 */ 0xF0, 0x44, 0xEA, 0x10, 0x50, 0x72, 0x86, 0x80, /* 0088 */ 0x1A, 0x40, 0xAB, 0x13, 0x10, 0x7E, 0xA5, 0x53, /* 0090 */ 0x42, 0x12, 0x84, 0x33, 0x56, 0xF1, 0x33, 0xD0, /* 0098 */ 0x1C, 0x4E, 0xE0, 0x9C, 0x3A, 0xC7, 0x90, 0xE3, /* 00A0 */ 0x71, 0xA1, 0x07, 0xC1, 0x03, 0x29, 0x00, 0x61, /* 00A8 */ 0xE1, 0x21, 0x14, 0x01, 0x06, 0x25, 0x61, 0x2C, /* 00B0 */ 0xD4, 0xC5, 0xA8, 0x51, 0x23, 0x65, 0x03, 0x32, /* 00B8 */ 0x44, 0x69, 0xA3, 0x46, 0x0F, 0xE8, 0xEC, 0x8E, /* 00C0 */ 0xA4, 0x61, 0x01, 0xB2, 0x47, 0x22, 0x02, 0xA3, /* 00C8 */ 0x1E, 0xD3, 0x11, 0x16, 0x36, 0x23, 0xA1, 0xC6, /* 00D0 */ 0x68, 0x0E, 0x8A, 0x40, 0xE3, 0x06, 0x6D, 0x89, /* 00D8 */ 0xB0, 0x1A, 0x57, 0xEC, 0x33, 0xB3, 0xF0, 0x61, /* 00E0 */ 0x09, 0xE3, 0x08, 0x0E, 0x2C, 0x41, 0xA3, 0x68, /* 00E8 */ 0x9A, 0xE3, 0xD9, 0x86, 0x48, 0x70, 0x10, 0xA1, /* 00F0 */ 0x31, 0x32, 0x20, 0xE4, 0x59, 0x80, 0x75, 0x50, /* 00F8 */ 0x49, 0x06, 0x22, 0xEE, 0x11, 0xA5, 0x10, 0x41, /* 0100 */ 0xF3, 0x3D, 0x91, 0x1A, 0x05, 0x68, 0xC3, 0x90, /* 0108 */ 0xAD, 0xB3, 0x81, 0x86, 0x1A, 0xAB, 0x31, 0x14, /* 0110 */ 0x41, 0x44, 0x08, 0x1A, 0xC5, 0x60, 0x11, 0x42, /* 0118 */ 0x85, 0xF8, 0xFF, 0x47, 0x89, 0x7A, 0x4A, 0x41, /* 0120 */ 0xA2, 0x56, 0x06, 0x22, 0xB4, 0x60, 0x46, 0x60, /* 0128 */ 0xF6, 0x07, 0x41, 0x62, 0x9C, 0x19, 0x74, 0x58, /* 0130 */ 0xB0, 0x0C, 0x10, 0x19, 0x11, 0x34, 0x1A, 0x76, /* 0138 */ 0x16, 0xF0, 0x70, 0x3C, 0x93, 0xE6, 0x27, 0xA6, /* 0140 */ 0xC1, 0x99, 0x60, 0x6C, 0x08, 0x69, 0x80, 0x90, /* 0148 */ 0xA8, 0x83, 0x03, 0x25, 0xB0, 0x94, 0x81, 0x93, /* 0150 */ 0xCB, 0x81, 0xC7, 0x77, 0xC6, 0x51, 0x43, 0x9C, /* 0158 */ 0xFA, 0x99, 0xF9, 0x1F, 0xE1, 0x2D, 0xF8, 0x08, /* 0160 */ 0xC0, 0xC7, 0xE0, 0xC1, 0x1E, 0x42, 0xC0, 0x23, /* 0168 */ 0x64, 0x67, 0x00, 0x03, 0xE2, 0xAF, 0x0B, 0x27, /* 0170 */ 0xED, 0xB9, 0xF8, 0x2C, 0x00, 0x63, 0xF8, 0x70, /* 0178 */ 0x8D, 0x8F, 0x42, 0xE3, 0x61, 0xE7, 0x03, 0x36, /* 0180 */ 0x2E, 0x0E, 0xEF, 0x43, 0xC1, 0x09, 0x17, 0x0B, /* 0188 */ 0xA2, 0x00, 0x10, 0x92, 0x75, 0x3E, 0x40, 0xCF, /* 0190 */ 0xFA, 0xD8, 0x02, 0x3E, 0x0C, 0x34, 0x7B, 0x87, /* 0198 */ 0x20, 0x04, 0x2F, 0x02, 0x3E, 0x3A, 0xF8, 0xB8, /* 01A0 */ 0xE1, 0x71, 0x3F, 0x6F, 0x80, 0xE1, 0x70, 0xE0, /* 01A8 */ 0xE1, 0xF8, 0xB4, 0x01, 0x5C, 0x46, 0xC0, 0xA5, /* 01B0 */ 0x3D, 0x29, 0x4C, 0x20, 0xC9, 0x4F, 0x00, 0x89, /* 01B8 */ 0x81, 0x41, 0x1D, 0x08, 0x7C, 0xB0, 0x80, 0x2B, /* 01C0 */ 0x09, 0x0E, 0x35, 0x3C, 0x4F, 0xEC, 0x01, 0xE1, /* 01C8 */ 0xFF, 0x7F, 0x94, 0x67, 0x76, 0x20, 0x9E, 0xFE, /* 01D0 */ 0x63, 0x00, 0x8C, 0x03, 0x82, 0xA7, 0x75, 0x4A, /* 01D8 */ 0xBE, 0x79, 0x3C, 0x48, 0xF8, 0x22, 0x10, 0x26, /* 01E0 */ 0x81, 0x4F, 0x09, 0x0C, 0x8D, 0x1F, 0x37, 0xC0, /* 01E8 */ 0x3A, 0x6A, 0xFC, 0x01, 0x01, 0xDE, 0x49, 0xE2, /* 01F0 */ 0xFC, 0xFA, 0x1C, 0x80, 0x0E, 0x0D, 0xA7, 0xC8, /* 01F8 */ 0x40, 0x5E, 0x03, 0x9E, 0x09, 0x4E, 0xC9, 0xE3, /* 0200 */ 0x4B, 0xE0, 0x33, 0x07, 0xEC, 0xBB, 0xC1, 0x61, /* 0208 */ 0x1C, 0x4C, 0x88, 0x08, 0xEF, 0x01, 0x4F, 0x1D, /* 0210 */ 0xBE, 0x6B, 0x3C, 0x0A, 0x04, 0x8A, 0xD0, 0xDB, /* 0218 */ 0x99, 0x83, 0x9E, 0x42, 0x8C, 0x12, 0xED, 0xAC, /* 0220 */ 0xC2, 0x3C, 0x70, 0x44, 0xF1, 0x91, 0xC3, 0x08, /* 0228 */ 0xEF, 0x1E, 0xBE, 0x13, 0x3C, 0x80, 0xB4, 0x36, /* 0230 */ 0x39, 0xE1, 0x06, 0x7A, 0xE6, 0x60, 0xD1, 0xCE, /* 0238 */ 0x2C, 0xB2, 0x00, 0xA2, 0x48, 0xA3, 0x41, 0x9D, /* 0240 */ 0x11, 0x7C, 0x1A, 0xF0, 0xB4, 0x9E, 0x62, 0x7C, /* 0248 */ 0x94, 0x30, 0xC8, 0x19, 0x1E, 0xD8, 0x73, 0xC2, /* 0250 */ 0x63, 0x80, 0x07, 0xCC, 0x6E, 0x0C, 0x3E, 0x4E, /* 0258 */ 0xF8, 0x5C, 0x80, 0x77, 0x0D, 0xA8, 0x19, 0xFA, /* 0260 */ 0xB0, 0x01, 0xE7, 0xD0, 0x81, 0x3F, 0x4D, 0xE0, /* 0268 */ 0x0F, 0x16, 0xF8, 0xF1, 0xF8, 0x9A, 0xC3, 0x26, /* 0270 */ 0x9C, 0xC0, 0xF2, 0x07, 0x81, 0x1A, 0x99, 0xA1, /* 0278 */ 0x3D, 0xCB, 0xD3, 0x7A, 0x0D, 0xF0, 0x69, 0xC7, /* 0280 */ 0x04, 0x3E, 0x6F, 0xF8, 0xFF, 0xFF, 0xCF, 0xF1, /* 0288 */ 0x78, 0xC0, 0xAF, 0xF8, 0x6C, 0x41, 0xEE, 0x0A, /* 0290 */ 0x9E, 0xAF, 0xCF, 0x2E, 0xCC, 0xC6, 0x78, 0x50, /* 0298 */ 0xA3, 0xF0, 0x01, 0x07, 0x77, 0x76, 0xF1, 0x11, /* 02A0 */ 0xC0, 0x67, 0x17, 0xE0, 0x39, 0x89, 0x67, 0x09, /* 02A8 */ 0xF0, 0x1E, 0x02, 0xAC, 0x19, 0x4F, 0x87, 0x2D, /* 02B0 */ 0x18, 0x23, 0xC6, 0x43, 0x9E, 0x71, 0xD5, 0xC3, /* 02B8 */ 0xD0, 0x45, 0xC0, 0xEA, 0xEE, 0x2B, 0xA8, 0xA3, /* 02C0 */ 0x17, 0x98, 0xA0, 0x5E, 0x33, 0x70, 0xA7, 0x17, /* 02C8 */ 0xE0, 0x73, 0xCA, 0x82, 0xF7, 0xFF, 0x3F, 0x65, /* 02D0 */ 0x01, 0xF7, 0xAB, 0x02, 0x3F, 0xA2, 0x80, 0x01, /* 02D8 */ 0xB2, 0xB3, 0xD3, 0x89, 0x10, 0xDE, 0x4B, 0x9E, /* 02E0 */ 0x43, 0x7C, 0xBB, 0xF2, 0xC1, 0x24, 0xC8, 0x73, /* 02E8 */ 0x40, 0x84, 0xA7, 0x2C, 0x7E, 0x1F, 0x88, 0x12, /* 02F0 */ 0xF3, 0x80, 0x22, 0x45, 0x31, 0x62, 0x90, 0x27, /* 02F8 */ 0x2C, 0x5F, 0x4F, 0x62, 0x18, 0x3A, 0x58, 0xB8, /* 0300 */ 0xF0, 0x11, 0x9E, 0xB2, 0x00, 0x8B, 0x97, 0x2C, /* 0308 */ 0xCC, 0x29, 0x0B, 0xE6, 0xDB, 0xC0, 0xA7, 0x2C, /* 0310 */ 0x70, 0xFC, 0xFF, 0x4F, 0x59, 0xE0, 0x1A, 0xF7, /* 0318 */ 0x53, 0x16, 0x30, 0x93, 0xFE, 0x14, 0xF0, 0xA9, /* 0320 */ 0xC6, 0x4F, 0x00, 0x45, 0x3F, 0x58, 0x50, 0x18, /* 0328 */ 0x9F, 0xB2, 0x00, 0x57, 0xF2, 0x0E, 0x08, 0xA0, /* 0330 */ 0x39, 0x3B, 0xF9, 0xB6, 0x60, 0xB0, 0xE7, 0x98, /* 0338 */ 0x93, 0x78, 0xC9, 0xF0, 0x29, 0x11, 0x0C, 0x87, /* 0340 */ 0x0C, 0xDF, 0xA9, 0x0E, 0xE5, 0x91, 0xE3, 0x29, /* 0348 */ 0xC0, 0x47, 0x2C, 0xB0, 0xC7, 0x39, 0x06, 0xE8, /* 0350 */ 0xB8, 0xE2, 0x23, 0x96, 0xFF, 0xFF, 0x47, 0x2C, /* 0358 */ 0x80, 0x1B, 0x07, 0x10, 0xFC, 0xA9, 0x03, 0xD6, /* 0360 */ 0x3D, 0x20, 0xAC, 0x0F, 0x1D, 0xC0, 0x43, 0xF6, /* 0368 */ 0x43, 0x40, 0x67, 0x18, 0x4B, 0x06, 0x91, 0x8D, /* 0370 */ 0x73, 0x0D, 0x1D, 0xA3, 0xC5, 0x2F, 0x54, 0x37, /* 0378 */ 0x85, 0xB8, 0x07, 0xC3, 0x65, 0x03, 0x09, 0xD4, /* 0380 */ 0xC3, 0xB5, 0x60, 0x0A, 0x89, 0xA2, 0xD1, 0x68, /* 0388 */ 0x0C, 0x4C, 0x60, 0x04, 0x67, 0x10, 0x03, 0x3A, /* 0390 */ 0x23, 0x84, 0x0E, 0x65, 0x38, 0x15, 0xE7, 0x21, /* 0398 */ 0xD4, 0xFF, 0x9F, 0x60, 0xA8, 0x1B, 0x13, 0x9D, /* 03A0 */ 0x9D, 0xE7, 0xCF, 0x6F, 0x23, 0x3E, 0x11, 0x18, /* 03A8 */ 0xD8, 0x57, 0x88, 0xB7, 0x0C, 0xB0, 0x0C, 0xCB, /* 03B0 */ 0x8B, 0x7B, 0x02, 0x78, 0xBC, 0x78, 0xCB, 0x48, /* 03B8 */ 0x50, 0xCD, 0xB1, 0x06, 0x35, 0x07, 0x5F, 0x05, /* 03C0 */ 0xDE, 0xC8, 0x4C, 0xE0, 0x2B, 0x18, 0xD8, 0x4E, /* 03C8 */ 0x33, 0x18, 0x7D, 0x77, 0x02, 0x50, 0x00, 0xF9, /* 03D0 */ 0x28, 0xE0, 0xFB, 0xF2, 0xDB, 0x00, 0x9B, 0xC5, /* 03D8 */ 0x2B, 0xB3, 0xD1, 0x7C, 0xFE, 0x44, 0x0C, 0x1D, /* 03E0 */ 0x25, 0x66, 0xE8, 0x14, 0xC4, 0x43, 0x77, 0xD0, /* 03E8 */ 0xA1, 0xA3, 0x8F, 0x03, 0x3E, 0x59, 0xE1, 0x82, /* 03F0 */ 0x1D, 0xBE, 0xA0, 0x4D, 0xEE, 0x68, 0x4F, 0xCC, /* 03F8 */ 0xB3, 0xF0, 0x3C, 0x71, 0x73, 0x07, 0xD3, 0x11, /* 0400 */ 0x09, 0xC6, 0xE0, 0x31, 0x93, 0x07, 0xB3, 0xC0, /* 0408 */ 0xC9, 0x83, 0xE2, 0xFF, 0x3F, 0x79, 0x98, 0xF0, /* 0410 */ 0x98, 0xB0, 0x87, 0x43, 0x7A, 0xE8, 0xF0, 0xC8, /* 0418 */ 0xF8, 0x38, 0x7D, 0xFA, 0x61, 0xD8, 0xA7, 0x73, /* 0420 */ 0x2E, 0x45, 0xCF, 0x48, 0x57, 0x91, 0x67, 0x2E, /* 0428 */ 0x0C, 0xAC, 0x47, 0xCE, 0x61, 0x8D, 0x16, 0xF6, /* 0430 */ 0x80, 0x9F, 0x43, 0x7C, 0x87, 0xF1, 0x81, 0x87, /* 0438 */ 0xC1, 0xFA, 0xF4, 0x02, 0x8E, 0xE3, 0x17, 0xFC, /* 0440 */ 0xD3, 0x00, 0x78, 0x0E, 0x20, 0x1E, 0xC3, 0x0B, /* 0448 */ 0x08, 0x3F, 0xBE, 0xE8, 0xFC, 0x4B, 0x85, 0x2E, /* 0450 */ 0x4E, 0xF2, 0x60, 0x50, 0xA7, 0x29, 0xC0, 0xD5, /* 0458 */ 0xE9, 0x0D, 0x3C, 0x57, 0x7D, 0xDC, 0x59, 0x0A, /* 0460 */ 0xF7, 0xFF, 0x3F, 0x4B, 0xC1, 0x38, 0xFC, 0xFA, /* 0468 */ 0x02, 0xEF, 0xBB, 0x94, 0x11, 0x0E, 0xE4, 0x59, /* 0470 */ 0x0A, 0xEC, 0xB1, 0x9F, 0x21, 0x3A, 0x04, 0xF8, /* 0478 */ 0x2C, 0x05, 0xF0, 0xE3, 0xF5, 0xE1, 0xF3, 0x0C, /* 0480 */ 0xDC, 0xC0, 0xA7, 0x5F, 0xA0, 0xF5, 0xFF, 0x3F, /* 0488 */ 0x85, 0x80, 0xFF, 0x18, 0xE1, 0x23, 0x0E, 0xEE, /* 0490 */ 0xE8, 0x0B, 0xDC, 0x0E, 0xC6, 0xFC, 0x8C, 0x81, /* 0498 */ 0x3B, 0x8E, 0x01, 0x8F, 0x93, 0x33, 0xEE, 0x34, /* 04A0 */ 0xE1, 0x21, 0xF0, 0x01, 0xB4, 0x3A, 0x3D, 0x72, /* 04A8 */ 0xEA, 0x39, 0x25, 0xDC, 0x71, 0x80, 0x4F, 0x09, /* 04B0 */ 0x37, 0x00, 0x4C, 0x80, 0x33, 0x26, 0xA0, 0xEA, /* 04B8 */ 0xFF, 0x7F, 0xC6, 0x04, 0xC6, 0x20, 0x11, 0xDE, /* 04C0 */ 0x15, 0xA2, 0xBE, 0x23, 0x1B, 0xE2, 0x19, 0x99, /* 04C8 */ 0xE1, 0xBC, 0x35, 0x3C, 0xBE, 0x3C, 0x23, 0x83, /* 04D0 */ 0xF3, 0x8C, 0x09, 0xF0, 0xE7, 0xFF, 0x7F, 0xA4, /* 04D8 */ 0xC7, 0xDE, 0x14, 0x82, 0x3F, 0x85, 0x00, 0x13, /* 04E0 */ 0xF1, 0x67, 0x4C, 0x2A, 0xFC, 0x8C, 0x09, 0x6D, /* 04E8 */ 0x2E, 0x9E, 0xB6, 0xCF, 0x98, 0x00, 0xF7, 0xFE, /* 04F0 */ 0xFF, 0x67, 0x4C, 0xC0, 0x77, 0xE4, 0x33, 0x26, /* 04F8 */ 0xA0, 0xE7, 0x48, 0x85, 0x3B, 0x63, 0x82, 0x61, /* 0500 */ 0x9C, 0xEF, 0x4F, 0x06, 0x79, 0x5E, 0xF2, 0x81, /* 0508 */ 0xC0, 0x47, 0x19, 0x16, 0xE3, 0x8C, 0x49, 0xCF, /* 0510 */ 0x3D, 0x16, 0x0E, 0x83, 0x3A, 0x50, 0xC1, 0xF9, /* 0518 */ 0xFF, 0x1F, 0xA8, 0x00, 0x2F, 0x01, 0x86, 0x0C, /* 0520 */ 0x9A, 0x03, 0xC3, 0x19, 0x9C, 0x42, 0xB4, 0x08, /* 0528 */ 0x67, 0x7C, 0xC0, 0x31, 0x5E, 0x09, 0x8C, 0x12, /* 0530 */ 0xF0, 0xBC, 0x0D, 0x11, 0xF5, 0xA8, 0x7C, 0x81, /* 0538 */ 0x30, 0x48, 0xA0, 0x77, 0x03, 0xDF, 0x13, 0x38, /* 0540 */ 0xB0, 0x27, 0x60, 0x8C, 0x78, 0x21, 0x82, 0x3E, /* 0548 */ 0x5F, 0xF9, 0xBC, 0x14, 0xE3, 0x05, 0xE0, 0xA8, /* 0550 */ 0xD8, 0x09, 0x0B, 0xF6, 0x41, 0xE2, 0xC5, 0xD3, /* 0558 */ 0xE3, 0x39, 0xB7, 0xE7, 0x8D, 0xA7, 0x98, 0x20, /* 0560 */ 0x6F, 0x56, 0x8F, 0x19, 0xCF, 0x12, 0x2F, 0x9C, /* 0568 */ 0x3E, 0x61, 0x71, 0x14, 0x1F, 0xAE, 0x0C, 0xF5, /* 0570 */ 0xA2, 0x65, 0xC4, 0xB3, 0x0C, 0xF2, 0xE8, 0x69, /* 0578 */ 0x90, 0x68, 0xC1, 0x8C, 0xC0, 0x4E, 0x58, 0x2C, /* 0580 */ 0xEA, 0xE3, 0x44, 0xA7, 0x0A, 0x9F, 0xB0, 0x80, /* 0588 */ 0xF3, 0xFF, 0xFF, 0x84, 0x05, 0xB8, 0x92, 0x73, /* 0590 */ 0xC2, 0x90, 0x91, 0x23, 0x14, 0x3D, 0xE5, 0x70, /* 0598 */ 0xDC, 0x37, 0x12, 0x1F, 0x10, 0x12, 0x38, 0xFE, /* 05A0 */ 0xC1, 0x88, 0x9E, 0x3C, 0x81, 0xE7, 0xD9, 0x04, /* 05A8 */ 0x3C, 0x23, 0x7B, 0x9A, 0x78, 0xA4, 0xF0, 0x8C, /* 05B0 */ 0x9E, 0x36, 0x3C, 0x8B, 0x77, 0x00, 0x5F, 0x7D, /* 05B8 */ 0xC2, 0x3D, 0xFB, 0xC0, 0x19, 0xF0, 0x3B, 0xC0, /* 05C0 */ 0x03, 0x80, 0x61, 0x7C, 0x3A, 0xC3, 0x0F, 0x1C, /* 05C8 */ 0x7F, 0xA9, 0xF0, 0x7D, 0xC6, 0xA7, 0x20, 0x9F, /* 05D0 */ 0xCE, 0x70, 0x07, 0x35, 0x98, 0x67, 0x15, 0x43, /* 05D8 */ 0x1D, 0x14, 0xEE, 0xFF, 0x3F, 0xA8, 0x27, 0xD2, /* 05E0 */ 0x43, 0x88, 0xE3, 0xCB, 0x83, 0xCF, 0x6B, 0xC0, /* 05E8 */ 0xE4, 0x30, 0x84, 0x78, 0x98, 0xF9, 0x40, 0x43, /* 05F0 */ 0xC5, 0x2E, 0x95, 0x9E, 0x69, 0x00, 0x6E, 0x8D, /* 05F8 */ 0xEB, 0x99, 0x06, 0x6C, 0xFF, 0xFF, 0x33, 0x0D, /* 0600 */ 0x3E, 0xDE, 0x21, 0x14, 0xA0, 0xC9, 0xF1, 0xE1, /* 0608 */ 0x61, 0x04, 0x4C, 0xC7, 0x82, 0xD0, 0x46, 0x7A, /* 0610 */ 0x61, 0xF0, 0xA9, 0xC1, 0x90, 0xEF, 0x0A, 0x1E, /* 0618 */ 0xA3, 0x27, 0xE1, 0xC3, 0x28, 0x50, 0xF1, 0x30, /* 0620 */ 0x56, 0x96, 0xED, 0x30, 0x8A, 0x3A, 0x14, 0x38, /* 0628 */ 0x0F, 0x95, 0x6E, 0xD8, 0x0F, 0x15, 0xC6, 0x3E, /* 0630 */ 0x86, 0xC7, 0x09, 0x8F, 0xE1, 0x24, 0x22, 0x1D, /* 0638 */ 0x96, 0xFF, 0xFF, 0x63, 0x74, 0x82, 0x03, 0x29, /* 0640 */ 0x4A, 0x3B, 0x85, 0x94, 0x1D, 0x23, 0x51, 0x5A, /* 0648 */ 0x8E, 0x91, 0x14, 0xC4, 0xC7, 0x48, 0xAE, 0xE4, /* 0650 */ 0x34, 0x80, 0xD2, 0x71, 0xEC, 0x21, 0xE3, 0xC4, /* 0658 */ 0x10, 0xCC, 0x75, 0x22, 0x85, 0x3E, 0x9B, 0xB7, /* 0660 */ 0x48, 0xF0, 0xCC, 0xCB, 0x87, 0x8B, 0xE3, 0xC0, /* 0668 */ 0x6C, 0xF2, 0x05, 0x13, 0x73, 0x2A, 0x85, 0x39, /* 0670 */ 0xEF, 0xB7, 0x1F, 0xB0, 0x9C, 0x37, 0xDE, 0x59, /* 0678 */ 0x7D, 0x25, 0x05, 0x16, 0x02, 0x27, 0x8F, 0x92, /* 0680 */ 0x34, 0x79, 0x0A, 0xE2, 0xC9, 0x3B, 0xEE, 0xE4, /* 0688 */ 0xD1, 0x33, 0xF1, 0xE4, 0xB1, 0x04, 0xC3, 0xDD, /* 0690 */ 0x49, 0x41, 0x71, 0x73, 0xC0, 0x0F, 0x1F, 0xAC, /* 0698 */ 0x97, 0x29, 0xFC, 0xFF, 0xFF, 0x5E, 0x8A, 0xBD, /* 06A0 */ 0x71, 0xC0, 0x1F, 0x3F, 0xF6, 0x56, 0x0A, 0x4C, /* 06A8 */ 0x24, 0x8C, 0x5D, 0xB7, 0x52, 0xC0, 0x0D, 0xAA, /* 06B0 */ 0xCF, 0x03, 0xE0, 0xB8, 0x87, 0xB0, 0xD3, 0x92, /* 06B8 */ 0x2F, 0x62, 0x06, 0x89, 0xF8, 0xAA, 0xC2, 0x06, /* 06C0 */ 0xC5, 0x8E, 0x4A, 0xEC, 0xBA, 0xF6, 0xA8, 0x04, /* 06C8 */ 0x2B, 0xDD, 0xED, 0x04, 0x35, 0x12, 0xA7, 0x79, /* 06D0 */ 0x3F, 0x68, 0xEA, 0xAF, 0x00, 0x2F, 0x27, 0xC0, /* 06D8 */ 0xEE, 0xFF, 0x7F, 0x39, 0x01, 0xF8, 0xFF, 0xFF, /* 06E0 */ 0xBF, 0x9C, 0x80, 0x57, 0xC6, 0xE5, 0x04, 0x74, /* 06E8 */ 0xC7, 0x00, 0x5F, 0x4E, 0x80, 0xEB, 0xE9, 0x0F, /* 06F0 */ 0x77, 0x1E, 0x80, 0x3B, 0xCC, 0x53, 0xF3, 0xCC, /* 06F8 */ 0x83, 0x3D, 0x10, 0xFA, 0x78, 0x02, 0x4E, 0x82, /* 0700 */ 0x0A, 0x6D, 0xFA, 0xD4, 0x68, 0xD4, 0xAA, 0x41, /* 0708 */ 0x99, 0x1A, 0x65, 0x1A, 0xD4, 0xEA, 0x53, 0xA9, /* 0710 */ 0x31, 0x63, 0x86, 0xC6, 0xE3, 0x55, 0x6B, 0xD8, /* 0718 */ 0x0E, 0xB5, 0x72, 0x81, 0x58, 0xD2, 0x67, 0x43, /* 0720 */ 0x20, 0x16, 0x75, 0x32, 0x13, 0x88, 0xE3, 0x9A, /* 0728 */ 0x00, 0x61, 0xC2, 0xD7, 0x27, 0x10, 0xC7, 0x06, /* 0730 */ 0xA1, 0x62, 0xFF, 0x25, 0x32, 0x32, 0x58, 0x83, /* 0738 */ 0x08, 0xC8, 0x21, 0x7C, 0x00, 0xB1, 0x48, 0x20, /* 0740 */ 0x02, 0x27, 0xCF, 0x0A, 0x81, 0x12, 0x27, 0x20, /* 0748 */ 0x4C, 0xE8, 0x73, 0x53, 0x20, 0x96, 0xE7, 0x05, /* 0750 */ 0x84, 0x85, 0x03, 0xA1, 0x92, 0xCC, 0x80, 0x33, /* 0758 */ 0x7D, 0x20, 0x02, 0xB2, 0xD4, 0xFF, 0x88, 0x80, /* 0760 */ 0x2C, 0x1C, 0x44, 0x87, 0x03, 0xA2, 0x07, 0x84, /* 0768 */ 0xFD, 0xFF, 0xE5, 0x83, 0xD0, 0x38, 0x7E, 0x40, /* 0770 */ 0x58, 0x0C, 0x45, 0x20, 0x4C, 0x84, 0xA3, 0x41, /* 0778 */ 0xD0, 0x27, 0xA9, 0xC0, 0x9D, 0x14, 0x44, 0x40, /* 0780 */ 0x4E, 0x6E, 0x09, 0x88, 0xE9, 0xD0, 0x04, 0xC4, /* 0788 */ 0x54, 0xBF, 0x85, 0x05, 0xE4, 0x08, 0x20, 0x02, /* 0790 */ 0x72, 0x24, 0x53, 0x40, 0x2C, 0x20, 0x88, 0x80, /* 0798 */ 0xFC, 0xFF, 0x07 }) } Mutex (PSMX, 0x00) Method (PHWM, 2, NotSerialized) { Acquire (PSMX, 0xFFFF) Store ("QSET", WCMD) Store (Arg1, WDID) Store (Arg0, WBUF) Store (WSMI, SMII) Name (RETB, Buffer (0x1000) {}) Store (WBUF, RETB) Release (PSMX) Return (RETB) } } Scope (\) { Method (WMIA, 1, NotSerialized) { \_SB.AMW0.WMI4 (Arg0) Notify (\_SB.AMW0, 0xD0) } } Scope (_TZ) { ThermalZone (THM) { Method (_CRT, 0, NotSerialized) { Store (GINF (0x12), Local0) Return (Local0) } Method (_TMP, 0, NotSerialized) { If (LEqual (THML, One)) { Store (GINF (0x12), Local0) Add (Local0, One, Local0) } Else { Store (GINT (0x04), Local0) } Return (Local0) } Method (GINF, 1, NotSerialized) { SX10 () SX30 (Arg0) SX11 () Store (SX41 (), Local0) SX12 () If (LLess (Local0, 0x0DF4)) { Store (0x0DF4, Local0) } Return (Local0) } Method (GINT, 1, NotSerialized) { SX10 () SX30 (Arg0) SX11 () Store (SX41 (), Local0) SX12 () If (LLess (Local0, 0x0BA6)) { Store (0x0BA6, Local0) } Return (Local0) } } } Name (W98S, "Microsoft Windows") Name (NT5S, "Microsoft Windows NT") Name (WINM, "Microsoft WindowsME: Millennium Edition") Name (WXP, "Windows 2001") Name (WLG, "Windows 2006") Name (WIN7, "Windows 2009") Name (LNX, "Linux") Method (GETZ, 2, NotSerialized) { CreateByteField (Arg0, Arg1, TCHR) Return (TCHR) } Method (STRE, 2, NotSerialized) { Name (STR1, Buffer (0x50) {}) Name (STR2, Buffer (0x50) {}) Store (Arg0, STR1) Store (Arg1, STR2) Store (Zero, Local0) Store (One, Local1) While (Local1) { Store (GETZ (STR1, Local0), Local1) Store (GETZ (STR2, Local0), Local2) If (LNotEqual (Local1, Local2)) { Return (Zero) } Increment (Local0) } Return (One) } Method (OSID, 0, NotSerialized) { If (LEqual (MIS3, Zero)) { Store (One, MIS3) If (CondRefOf (_OSI, Local0)) { If (_OSI (WXP)) { Store (0x10, MIS3) } If (_OSI (WLG)) { Store (0x20, MIS3) } If (_OSI (WIN7)) { Store (0x80, MIS3) } If (_OSI (LNX)) { Store (0x40, MIS3) } } Else { If (STRE (_OS, W98S)) { Store (0x02, MIS3) } If (STRE (_OS, NT5S)) { Store (0x08, MIS3) } If (STRE (_OS, WINM)) { Store (0x04, MIS3) } } } Store (MIS3, OSYS) Return (MIS3) } Method (SOST, 0, NotSerialized) { SX10 () SX30 (0x0A) OSID () SX30 (MIS3) SX11 () SX12 () } Scope (_SB) { Method (_INI, 0, NotSerialized) { Store (SMI (0x98, Zero), MIS0) And (MIS0, 0x13, MIS0) SOST () If (LEqual (OSYS, 0x10)) { If (LEqual (GPUF, 0x04)) { Store (0x02, ^PCI0.GFX0.ASLC) Store (One, ^PCI0.GFX0.ASLE) } } } } Scope (_SB) { OperationRegion (SMI1, SystemIO, SMIP, 0x02) Field (SMI1, ByteAcc, NoLock, Preserve) { SSMI, 8 } Mutex (MUTE, 0x00) Method (ESWI, 1, NotSerialized) { Acquire (MUTE, 0xFFFF) Store (Arg0, ECMD) Store (0xEC, SSMI) Release (MUTE) } } Scope (_SB) { Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, One) Name (_PCL, Package (0x01) { _SB }) Method (_STA, 0, NotSerialized) { And (MIS0, 0x02, Local0) If (Local0) { Return (0x1F) } Return (0x0F) } Method (_BIF, 0, NotSerialized) { Name (BIF0, Package (0x0D) {}) ECG9 (One, BIF0) Return (BIF0) } Method (_BST, 0, NotSerialized) { Name (BST0, Package (0x04) {}) ECG6 (One, BST0) Return (BST0) } } } Scope (_SB) { Device (AC) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { BAT0 }) Method (_PSR, 0, NotSerialized) { And (MIS0, One, Local0) Return (Local0) } Method (_STA, 0, NotSerialized) { Return (0x0F) } } } Scope (_SB) { Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Store (ECG3 (), Local0) Return (Local0) } Name (_PRW, Package (0x02) { 0x17, 0x03 }) Method (_PSW, 1, NotSerialized) { PSW (Arg0, 0x02) } } Device (SBTN) { Name (_HID, EisaId ("PNP0C0E")) } } Method (ECG1, 0, NotSerialized) { SX10 () SX30 (0x1C) SX11 () Store (SX41 (), Local0) SX12 () Return (Local0) } Method (ECG7, 0, NotSerialized) { Return (SMI (0x89, Zero)) } Method (ECG3, 0, NotSerialized) { Return (SMI (0x84, Zero)) } Method (ECG4, 0, NotSerialized) { Return (Zero) } Method (ECG5, 0, NotSerialized) { Return (SMI (0x98, Zero)) } Method (EGB0, 3, NotSerialized) { Name (KBMN, Buffer (0x0D) {}) CreateDWordField (KBMN, Zero, KB00) CreateDWordField (KBMN, 0x04, KB04) CreateDWordField (KBMN, 0x08, KB08) CreateByteField (KBMN, 0x0C, KB12) Store (Arg0, KB00) Store (Arg1, KB04) Store (Arg2, KB08) Store (Zero, KB12) Return (KBMN) } Method (EGB1, 1, NotSerialized) { Name (KBSN, Buffer (0x06) { " " }) Name (BBSN, Buffer (0x04) {}) CreateByteField (BBSN, Zero, SN00) CreateWordField (BBSN, One, SN01) CreateByteField (BBSN, 0x03, SN03) Store (Arg0, BBSN) Store (SN01, Local2) Store (0x04, Local3) While (Local2) { Divide (Local2, 0x0A, Local4, Local2) Add (Local4, 0x30, Index (KBSN, Local3)) Decrement (Local3) } Return (KBSN) } Method (EGB2, 1, NotSerialized) { Name (BBTY, Buffer (0x04) {}) CreateByteField (BBTY, Zero, TY00) Name (KBLI, Buffer (0x05) { "LION" }) Name (KBNI, Buffer (0x05) { "NiMH" }) Store (Arg0, BBTY) If (LEqual (TY00, 0x02)) { Store (KBLI, Local0) } Else { If (LEqual (TY00, 0x04)) { Store (KBNI, Local0) } } Return (Local0) } Method (EGB3, 1, NotSerialized) { Name (BBOI, Buffer (0x04) {}) CreateWordField (BBOI, Zero, OI00) CreateByteField (BBOI, 0x02, OI02) CreateByteField (BBOI, 0x03, OI03) Name (KNSO, Buffer (0x05) { "Sony" }) Name (KNSA, Buffer (0x06) { "Sanyo" }) Name (KNPA, Buffer (0x0A) { "Panasonic" }) Name (KNSU, Buffer (0x0C) { "Samsung SDI" }) Name (KNSP, Buffer (0x04) { "SMP" }) Name (KNMO, Buffer (0x09) { "Motorola" }) Name (KNDY, Buffer (0x09) { "Dynapack" }) Name (KNNL, Buffer (0x05) { " " }) Store (Arg0, BBOI) If (LEqual (OI03, 0x02)) { Store (KNSO, Local0) } Else { If (LEqual (OI03, 0x03)) { Store (KNSA, Local0) } Else { If (LEqual (OI03, 0x04)) { Store (KNPA, Local0) } Else { If (LEqual (OI03, 0x06)) { Store (KNSU, Local0) } Else { If (LEqual (OI03, 0x07)) { Store (KNSP, Local0) } Else { If (LEqual (OI03, 0x08)) { Store (KNMO, Local0) } Else { If (LEqual (OI03, 0x09)) { Store (KNDY, Local0) } Else { If (LEqual (OI03, 0x0A)) { Store (KNDY, Local0) } Else { If (LEqual (OI03, 0x0B)) { Store (KNDY, Local0) } Else { If (LEqual (OI03, 0x0C)) { Store (KNDY, Local0) } Else { If (LEqual (OI03, 0x0D)) { Store (KNDY, Local0) } Else { If (LEqual (OI03, 0x0E)) { Store (KNSP, Local0) } Else { Store (KNNL, Local0) } } } } } } } } } } } } Return (Local0) } Method (ECG6, 2, NotSerialized) { Name (BBST, Buffer (0x04) {}) CreateByteField (BBST, Zero, BF00) CreateByteField (BBST, One, BF01) CreateWordField (BBST, 0x02, BF02) Name (BBS1, Buffer (0x04) {}) CreateWordField (BBS1, Zero, BF04) CreateWordField (BBS1, 0x02, BF06) SX10 () If (LEqual (NSMI, Zero)) { \_SB.PCI0.SBRG.KBC.PCA1 (0x9F, One) Store (\_SB.PCI0.SBRG.KBC.ECRB (0x07), BBST) Store (\_SB.PCI0.SBRG.KBC.ECRB (0x08), BBS1) Store (BF00, Index (Arg1, Zero)) Store (BF02, Local0) And (MIS0, One, Local1) If (LEqual (Local0, Zero)) { Increment (Local0) } Else { If (And (LEqual (Local1, One), And (Local0, 0x8000))) { Store (0xFFFF, Local0) } Else { If (And (LEqual (Local1, One), Not (And (Local0, 0x8000) ))) { Store (Local0, Local0) } Else { If (And (Local0, 0x8000)) { XOr (Local0, 0xFFFF, Local0) } Else { Store (0xFFFF, Local0) } } } } Store (Local0, Index (Arg1, One)) Store (BF06, Index (Arg1, 0x02)) Store (BF04, Index (Arg1, 0x03)) } Else { Store (Zero, Index (Arg1, Zero)) Store (Zero, Index (Arg1, One)) Store (Zero, Index (Arg1, 0x02)) Store (Zero, Index (Arg1, 0x03)) } SX12 () } Method (ECG9, 2, NotSerialized) { Name (BBI1, Buffer (0x04) {}) CreateByteField (BBI1, Zero, BI00) CreateByteField (BBI1, One, BI01) CreateByteField (BBI1, 0x02, BI02) CreateByteField (BBI1, 0x03, BI03) Name (BBI2, Buffer (0x04) {}) CreateByteField (BBI2, Zero, BI04) CreateByteField (BBI2, One, BI05) CreateByteField (BBI2, 0x02, BI06) CreateByteField (BBI2, 0x03, BI07) Name (BBI3, Buffer (0x04) {}) Name (BBI4, Buffer (0x04) {}) Name (BC00, Buffer (0x04) {}) Name (BC04, Buffer (0x04) {}) Name (BC08, Buffer (0x04) {}) SX10 () If (LEqual (NSMI, Zero)) { \_SB.PCI0.SBRG.KBC.PCA1 (0xA0, One) Store (\_SB.PCI0.SBRG.KBC.ECRB (0x04), BBI2) Store (\_SB.PCI0.SBRG.KBC.ECRB (0x03), BBI1) Store (\_SB.PCI0.SBRG.KBC.ECRB (0x05), BBI3) Store (\_SB.PCI0.SBRG.KBC.ECRB (0x06), BBI4) \_SB.PCI0.SBRG.KBC.PCA1 (0x9E, One) Store (\_SB.PCI0.SBRG.KBC.ECRB (0x03), BC00) Store (\_SB.PCI0.SBRG.KBC.ECRB (0x04), BC04) Store (\_SB.PCI0.SBRG.KBC.ECRB (0x05), BC08) Store (One, Index (Arg1, Zero)) Or (BI05, ShiftLeft (BI04, 0x08), Local0) Store (Local0, Local1) Store (Local0, Index (Arg1, One)) Or (BI03, ShiftLeft (BI02, 0x08), Local0) Store (Local0, Index (Arg1, 0x02)) Store (One, Index (Arg1, 0x03)) Or (BI07, ShiftLeft (BI06, 0x08), Local0) Store (Local0, Index (Arg1, 0x04)) Store (Divide (Local1, 0x0A, ), Index (Arg1, 0x05)) Store (Divide (Local1, 0x21, ), Index (Arg1, 0x06)) Store (Divide (Local1, 0x64, ), Index (Arg1, 0x07)) Store (Divide (Local1, 0x64, ), Index (Arg1, 0x08)) Store (EGB0 (BC00, BC04, BC08), Index (Arg1, 0x09)) Store (EGB1 (BBI3), Index (Arg1, 0x0A)) Store (EGB2 (BBI4), Index (Arg1, 0x0B)) Store (EGB3 (BBI3), Index (Arg1, 0x0C)) } Else { Store (Zero, Index (Arg1, Zero)) Store (Zero, Index (Arg1, One)) Store (Zero, Index (Arg1, 0x02)) Store (Zero, Index (Arg1, 0x03)) Store (Zero, Index (Arg1, 0x04)) Store (Zero, Index (Arg1, 0x05)) Store (Zero, Index (Arg1, 0x06)) Store (Zero, Index (Arg1, 0x07)) Store (Zero, Index (Arg1, 0x08)) Store (Zero, Index (Arg1, 0x09)) Store (Zero, Index (Arg1, 0x0A)) Store (Zero, Index (Arg1, 0x0B)) Store (Zero, Index (Arg1, 0x0C)) } SX12 () } Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) If (SS3) { Name (_S3, Package (0x04) { 0x05, Zero, Zero, Zero }) } If (SS4) { Name (_S4, Package (0x04) { 0x06, Zero, Zero, Zero }) } Name (_S5, Package (0x04) { 0x07, Zero, Zero, Zero }) Method (PTS, 1, NotSerialized) { If (Arg0) { \_SB.PCI0.SBRG.SPTS (Arg0) \_SB.PCI0.PEX0.SPRT (Arg0) \_SB.PCI0.PEX1.SPRT (Arg0) \_SB.PCI0.PEX2.SPRT (Arg0) \_SB.PCI0.PEX3.SPRT (Arg0) \_SB.PCI0.PEX4.SPRT (Arg0) \_SB.PCI0.PEX5.SPRT (Arg0) \_SB.PCI0.PEX6.SPRT (Arg0) \_SB.PCI0.PEX7.SPRT (Arg0) \_SB.PCI0.GFX0.OPTS (Arg0) OPTS (Arg0) } } Method (WAK, 1, NotSerialized) { If (\_SB.PCI0.PEX0.PMS) { \_SB.PCI0.PEX0.WPRT (Arg0) Notify (\_SB.PCI0.PEX0, 0x02) } Else { \_SB.PCI0.PEX0.WPRT (Arg0) } If (\_SB.PCI0.PEX1.PMS) { \_SB.PCI0.PEX1.WPRT (Arg0) Notify (\_SB.PCI0.PEX1, 0x02) } Else { \_SB.PCI0.PEX1.WPRT (Arg0) } If (\_SB.PCI0.PEX2.PMS) { \_SB.PCI0.PEX2.WPRT (Arg0) Notify (\_SB.PCI0.PEX2, 0x02) } Else { \_SB.PCI0.PEX2.WPRT (Arg0) } If (\_SB.PCI0.PEX3.PMS) { \_SB.PCI0.PEX3.WPRT (Arg0) Notify (\_SB.PCI0.PEX3, 0x02) } Else { \_SB.PCI0.PEX3.WPRT (Arg0) } If (\_SB.PCI0.PEX4.PMS) { \_SB.PCI0.PEX4.WPRT (Arg0) Notify (\_SB.PCI0.PEX4, 0x02) } Else { \_SB.PCI0.PEX4.WPRT (Arg0) } If (\_SB.PCI0.PEX5.PMS) { \_SB.PCI0.PEX5.WPRT (Arg0) Notify (\_SB.PCI0.PEX5, 0x02) } Else { \_SB.PCI0.PEX5.WPRT (Arg0) } If (\_SB.PCI0.PEX6.PMS) { \_SB.PCI0.PEX6.WPRT (Arg0) Notify (\_SB.PCI0.PEX6, 0x02) } Else { \_SB.PCI0.PEX6.WPRT (Arg0) } If (\_SB.PCI0.PEX7.PMS) { \_SB.PCI0.PEX7.WPRT (Arg0) Notify (\_SB.PCI0.PEX7, 0x02) } Else { \_SB.PCI0.PEX7.WPRT (Arg0) } \_SB.PCI0.GFX0.OWAK (Arg0) \_SB.PCI0.PEWK () OWAK (Arg0) } }