/* RSD PTR: Checksum=176, OEMID=INTEL, RsdtAddress=0xbf459f10 */ /* RSDT: Length=52, Revision=1, Checksum=210, OEMID=INTEL, OEM Table ID=DG31PR, OEM Revision=0x6222004, Creator ID=MSFT, Creator Revision=0x10013 */ /* Entries={ 0xbf457d10, 0xbf456f10, 0xbf45ed10, 0xbf45ec10 } */ /* DSDT=0xbf451010 INT_MODEL=APIC SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0 PM1a_EVT_BLK=0x400-0x403 PM1a_CNT_BLK=0x404-0x405 PM2_TMR_BLK=0x408-0x40b PM2_GPE0_BLK=0x428-0x42f P_LVL2_LAT=101ms, P_LVL3_LAT=1001ms FLUSH_SIZE=1024, FLUSH_STRIDE=16 DUTY_OFFSET=0, DUTY_WIDTH=0 DAY_ALRM=125, MON_ALRM=126, CENTURY=50 Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4} */ /* DSDT: Length=18893, Revision=1, Checksum=126, OEMID=INTEL, OEM Table ID=DG31PR, OEM Revision=0x0, Creator ID=INTL, Creator Revision=0x20051117 */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x1, //DSDT Revision "INTEL", //OEMID "DG31PR", //TABLE ID 0x0 //OEM Revision ) { Name(SP1O, 0x2e) Name(IO3B, 0x0290) Name(IO3L, 0x10) Name(IOCE, 0x87) Name(IOCL, 0xaa) Name(WKTP, Zero) Name(PEBS, 0xe0000000) Name(PEBL, 0x04000000) Name(TOBS, 0x0460) Name(SUCC, One) Name(NVLD, 0x2) Name(CRIT, 0x4) Name(NCRT, 0x6) Name(LDST, One) Name(VRBS, 0xbf3c5010) Name(SMBS, 0x1180) Name(SMBL, 0x20) Name(PMBS, 0x0400) Name(PMLN, 0x80) Name(SMIP, 0xb2) Name(GPBS, 0x0500) Name(GPLN, 0x40) Name(APCB, 0xfec00000) Name(APCL, 0x00100000) Name(PM30, 0x0430) Name(SRCB, 0xfed1c000) Name(I7FD, 0xfed1f418) Name(SRCL, 0x4000) Name(SUSW, 0xff) Name(HPTB, 0xfed00000) Name(HPTC, 0xfed1f404) Name(ACPH, 0xde) Name(ASSB, Zero) Name(AOTB, Zero) Name(AAXB, Zero) Name(PEHP, One) Name(SHPC, Zero) Name(PEPM, One) Name(PEER, One) Name(PECS, One) Name(ITKE, One) Name(WOL5, One) Method(RRIO, 4) { Store("RRIO", Debug) } Method(RDMA, 3) { Store("rDMA", Debug) } Name(PICM, Zero) Method(_PIC, 1) { If(Arg0) { Store(0xaa, DBG8) } Else { Store(0xac, DBG8) } Store(Arg0, PICM) } Name(OSVR, Ones) Method(OSFL) { If(LNot(LEqual(OSVR, Ones))) { Return(OSVR) } If(LEqual(PICM, Zero)) { Store(0xac, DBG8) } Store(One, OSVR) If(CondRefOf(_OSI, Local0)) { If(_OSI) { "Linux" Store(0x3, OSVR) } Else { If(_OSI) { "Windows 2001" Store(0x4, OSVR) } Else { If(_OSI) { "Windows 2001.1" Store(0x5, OSVR) } Else { If(_OSI) { "FreeBSD" Store(0x6, OSVR) } Else { If(_OSI) { "HP-UX" Store(0x7, OSVR) } Else { If(_OSI) { "OpenVMS" Store(0x8, OSVR) } } } } } } } Else { If(MCTH(_OS_, "Microsoft Windows NT")) { Store(Zero, OSVR) } Else { If(MCTH(_OS_, "Microsoft Windows")) { Store(One, OSVR) } Else { If(MCTH(_OS_, "Microsoft WindowsME: Millennium Edition")) { Store(0x2, OSVR) } Else { If(MCTH(_OS_, "Linux")) { Store(0x3, OSVR) } Else { If(MCTH(_OS_, "FreeBSD")) { Store(0x6, OSVR) } Else { If(MCTH(_OS_, "HP-UX")) { Store(0x7, OSVR) } Else { If(MCTH(_OS_, "OpenVMS")) { Store(0x8, OSVR) } } } } } } } } Return(OSVR) } Method(MCTH, 2) { 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(LNot(LEqual(DerefOf(Index(BUF0, Local0)), DerefOf(Index(BUF1, Local0))))) { Return(Zero) } } Return(One) } Name(PRWP, Package(0x2) { Zero, Zero, }) Method(GPRW, 2) { Store(Arg0, Index(PRWP, Zero)) Store(ShiftLeft(SS1_, One), Local0) Or(Local0, ShiftLeft(SS2_, 0x2), Local0) Or(Local0, ShiftLeft(SS3_, 0x3), Local0) Or(Local0, ShiftLeft(SS4_, 0x4), Local0) If(And(ShiftLeft(One, Arg1), Local0)) { Store(Arg1, Index(PRWP, One)) } Else { ShiftRight(Local0, One, Local0) If(LOr(LEqual(OSFL(), One), LEqual(OSFL(), 0x2))) { FindSetLeftBit(Local0, Index(PRWP, One)) } Else { FindSetRightBit(Local0, Index(PRWP, One)) } } Return(PRWP) } Name(WAKP, Package(0x2) { Zero, Zero, }) OperationRegion(DEB0, SystemIO, 0x80, One) Field(DEB0, ByteAcc, NoLock, Preserve) { DBG8, 8 } OperationRegion(DEB1, SystemIO, 0x90, 0x2) Field(DEB1, WordAcc, NoLock, Preserve) { DBG9, 16 } Name(SS1_, One) Name(SS2_, Zero) Name(SS3_, One) Name(SS4_, One) Name(IOST, 0x0001) Name(TOPM, 0xbfffffff) Name(ROMS, 0xffe00000) Name(MG1B, 0x00000000) Name(MG1L, 0x00000000) Name(MG2B, 0xc0000000) Name(MG2L, 0x3f1ba000) Scope(_SB_) { Name(PR00, Package(0x12) { Package(0x4) { 0x0001ffff, Zero, LNKA, Zero, }, Package(0x4) { 0x0001ffff, One, LNKB, Zero, }, Package(0x4) { 0x0001ffff, 0x2, LNKC, Zero, }, Package(0x4) { 0x0001ffff, 0x3, LNKD, Zero, }, Package(0x4) { 0x0002ffff, Zero, LNKA, Zero, }, Package(0x4) { 0x001fffff, Zero, LNKA, Zero, }, Package(0x4) { 0x001fffff, One, LNKB, Zero, }, Package(0x4) { 0x001dffff, Zero, LNKH, Zero, }, Package(0x4) { 0x001dffff, One, LNKD, Zero, }, Package(0x4) { 0x001dffff, 0x2, LNKC, Zero, }, Package(0x4) { 0x001dffff, 0x3, LNKA, Zero, }, Package(0x4) { 0x001effff, Zero, LNKB, Zero, }, Package(0x4) { 0x001effff, One, LNKE, Zero, }, Package(0x4) { 0x001bffff, Zero, LNKA, Zero, }, Package(0x4) { 0x001cffff, Zero, LNKA, Zero, }, Package(0x4) { 0x001cffff, One, LNKB, Zero, }, Package(0x4) { 0x001cffff, 0x2, LNKC, Zero, }, Package(0x4) { 0x001cffff, 0x3, LNKD, Zero, }, }) Name(AR00, Package(0x12) { Package(0x4) { 0x0001ffff, Zero, Zero, 0x10, }, Package(0x4) { 0x0001ffff, One, Zero, 0x11, }, Package(0x4) { 0x0001ffff, 0x2, Zero, 0x12, }, Package(0x4) { 0x0001ffff, 0x3, Zero, 0x13, }, Package(0x4) { 0x0002ffff, Zero, Zero, 0x10, }, Package(0x4) { 0x001fffff, Zero, Zero, 0x10, }, Package(0x4) { 0x001fffff, One, Zero, 0x11, }, Package(0x4) { 0x001dffff, Zero, Zero, 0x17, }, Package(0x4) { 0x001dffff, One, Zero, 0x13, }, Package(0x4) { 0x001dffff, 0x2, Zero, 0x12, }, Package(0x4) { 0x001dffff, 0x3, Zero, 0x10, }, Package(0x4) { 0x001effff, Zero, Zero, 0x11, }, Package(0x4) { 0x001effff, One, Zero, 0x14, }, Package(0x4) { 0x001bffff, Zero, Zero, 0x10, }, Package(0x4) { 0x001cffff, Zero, Zero, 0x10, }, Package(0x4) { 0x001cffff, One, Zero, 0x11, }, Package(0x4) { 0x001cffff, 0x2, Zero, 0x12, }, Package(0x4) { 0x001cffff, 0x3, Zero, 0x13, }, }) Name(PR02, Package(0x8) { Package(0x4) { 0x0005ffff, Zero, LNKE, Zero, }, Package(0x4) { 0x0005ffff, One, LNKF, Zero, }, Package(0x4) { 0x0005ffff, 0x2, LNKG, Zero, }, Package(0x4) { 0x0005ffff, 0x3, LNKH, Zero, }, Package(0x4) { 0x0006ffff, Zero, LNKF, Zero, }, Package(0x4) { 0x0006ffff, One, LNKG, Zero, }, Package(0x4) { 0x0006ffff, 0x2, LNKH, Zero, }, Package(0x4) { 0x0006ffff, 0x3, LNKE, Zero, }, }) Name(AR02, Package(0x8) { Package(0x4) { 0x0005ffff, Zero, Zero, 0x14, }, Package(0x4) { 0x0005ffff, One, Zero, 0x15, }, Package(0x4) { 0x0005ffff, 0x2, Zero, 0x16, }, Package(0x4) { 0x0005ffff, 0x3, Zero, 0x17, }, Package(0x4) { 0x0006ffff, Zero, Zero, 0x15, }, Package(0x4) { 0x0006ffff, One, Zero, 0x16, }, Package(0x4) { 0x0006ffff, 0x2, Zero, 0x17, }, Package(0x4) { 0x0006ffff, 0x3, Zero, 0x14, }, }) Name(PR04, Package(0x4) { Package(0x4) { 0xffff, Zero, LNKA, Zero, }, Package(0x4) { 0xffff, One, LNKB, Zero, }, Package(0x4) { 0xffff, 0x2, LNKC, Zero, }, Package(0x4) { 0xffff, 0x3, LNKD, Zero, }, }) Name(AR04, Package(0x4) { Package(0x4) { 0xffff, Zero, Zero, 0x10, }, Package(0x4) { 0xffff, One, Zero, 0x11, }, Package(0x4) { 0xffff, 0x2, Zero, 0x12, }, Package(0x4) { 0xffff, 0x3, Zero, 0x13, }, }) Name(PR07, Package(0x4) { Package(0x4) { 0xffff, Zero, LNKB, Zero, }, Package(0x4) { 0xffff, One, LNKC, Zero, }, Package(0x4) { 0xffff, 0x2, LNKD, Zero, }, Package(0x4) { 0xffff, 0x3, LNKA, Zero, }, }) Name(AR07, Package(0x4) { Package(0x4) { 0xffff, Zero, Zero, 0x11, }, Package(0x4) { 0xffff, One, Zero, 0x12, }, Package(0x4) { 0xffff, 0x2, Zero, 0x13, }, Package(0x4) { 0xffff, 0x3, Zero, 0x10, }, }) Name(PR08, Package(0x4) { Package(0x4) { 0xffff, Zero, LNKC, Zero, }, Package(0x4) { 0xffff, One, LNKD, Zero, }, Package(0x4) { 0xffff, 0x2, LNKA, Zero, }, Package(0x4) { 0xffff, 0x3, LNKB, Zero, }, }) Name(AR08, Package(0x4) { Package(0x4) { 0xffff, Zero, Zero, 0x12, }, Package(0x4) { 0xffff, One, Zero, 0x13, }, Package(0x4) { 0xffff, 0x2, Zero, 0x10, }, Package(0x4) { 0xffff, 0x3, Zero, 0x11, }, }) Name(PR09, Package(0x4) { Package(0x4) { 0xffff, Zero, LNKD, Zero, }, Package(0x4) { 0xffff, One, LNKC, Zero, }, Package(0x4) { 0xffff, 0x2, LNKB, Zero, }, Package(0x4) { 0xffff, 0x3, LNKA, Zero, }, }) Name(AR09, Package(0x4) { Package(0x4) { 0xffff, Zero, Zero, 0x13, }, Package(0x4) { 0xffff, One, Zero, 0x10, }, Package(0x4) { 0xffff, 0x2, Zero, 0x11, }, Package(0x4) { 0xffff, 0x3, Zero, 0x12, }, }) Name(PRSA, Buffer(0x6) {0x23, 0xf8, 0xdc, 0x18, 0x79, 0x0 }) Alias(PRSA, PRSB) Alias(PRSA, PRSC) Alias(PRSA, PRSD) Alias(PRSA, PRSE) Alias(PRSA, PRSF) Alias(PRSA, PRSG) Alias(PRSA, PRSH) Device(PCI0) { Name(_HID, 0x080ad041) Name(_CID, 0x030ad041) Name(_ADR, Zero) Method(^BN00) { Return(Zero) } Method(_BBN) { Return(BN00()) } Name(_UID, Zero) Method(_PRT) { If(PICM) { Return(AR00) } Return(PR00) } Method(_S3D) { If(LOr(LEqual(OSFL(), One), LEqual(OSFL(), 0x2))) { Return(0x2) } Else { Return(0x3) } } Device(MCH_) { Name(_HID, 0x010cd041) Name(_UID, 0xa) Name(MCHR, Buffer(0x1a) {0x86, 0x9, 0x0, 0x1, 0x0, 0x40, 0xd1, 0xfe, 0x0, 0x60, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1f, 0x79, 0x0 }) Method(_CRS) { CreateDWordField(MCHR, 0x10, PCIB) CreateDWordField(MCHR, 0x14, PCIL) Store(PEBS, PCIB) Store(PEBL, PCIL) Return(MCHR) } } Method(NPTS, 1) { } Method(NWAK, 1) { } Device(P0P1) { Name(_ADR, 0x00010000) Method(_PRW) { Return(GPRW(0x9, 0x3)) } } Device(SBRG) { Name(_ADR, 0x001f0000) Method(SPTS, 1) { Store(One, PS1S) Store(Zero, PS1E) Store(0x20, ^^SMB_.HSTS) Store(One, SLPS) } Method(SWAK, 1) { Store(Zero, SLPS) Store(Zero, PS1E) Store(One, PS1S) Store(0x20, ^^SMB_.HSTS) If(LAnd(LEqual(Arg0, One), RTCS)) { } Else { If(LAnd(LEqual(Arg0, 0x3), RTCS)) { } Else { Notify(PWRB, 0x2) } } Notify(USB0, Zero) Notify(USB1, Zero) Notify(USB2, Zero) Notify(USB3, Zero) Notify(EUSB, Zero) } OperationRegion(APMP, SystemIO, SMIP, 0x2) Field(APMP, ByteAcc, NoLock, Preserve) { APMC, 8, APMS, 8 } Field(APMP, ByteAcc, NoLock, Preserve) { Offset(0x1), , 1, BRTC, 1 } OperationRegion(SMIE, SystemIO, PM30, 0x8) Field(SMIE, ByteAcc, NoLock, Preserve) { PSGE, 1, , 3, PS1E, 1, Offset(0x4), , 4, PS1S, 1, Offset(0x8) } Scope(\_SB_) { Name(SLPS, Zero) OperationRegion(PMS0, SystemIO, PMBS, 0x4) Field(PMS0, ByteAcc, NoLock, Preserve) { , 10, RTCS, 1, , 3, PEXS, 1, WAKS, 1, Offset(0x3), PWBT, 1, Offset(0x4) } Device(SLPB) { Name(_HID, 0x0e0cd041) Method(_STA) { Return(0xf) } Method(_PRW) { Return(Package(0x2) { 0x1d, 0x4, }) } } } Scope(\_SB_) { Scope(PCI0) { Scope(SBRG) { Device(ICH7) { Name(_HID, 0x010cd041) Name(_UID, 0x01c7) Name(_STA, 0xf) Name(ICHR, Buffer(0x6e) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xe0, 0xfe, 0x0, 0x0, 0x1, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xb0, 0xff, 0x0, 0x0, 0x20, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x80, 0xfc, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd2, 0xfe, 0x0, 0x0, 0x6, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xff, 0x0, 0x0, 0x20, 0x0, 0x79, 0x0 }) Method(_CRS) { CreateWordField(ICHR, 0x2, PBB_) CreateWordField(ICHR, 0x4, PBH_) CreateByteField(ICHR, 0x7, PML_) Store(PMBS, PBB_) Store(PMBS, PBH_) Store(PMLN, PML_) If(SMBS) { CreateWordField(ICHR, 0xa, SMB_) CreateWordField(ICHR, 0xc, SMH_) CreateByteField(ICHR, 0xf, 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, 0x1c, APB_) CreateDWordField(ICHR, 0x20, APL_) Store(APCB, APB_) Store(APCL, APL_) } CreateDWordField(ICHR, 0x34, RCB_) CreateDWordField(ICHR, 0x38, RCL_) Store(SRCB, RCB_) Store(SRCL, RCL_) Return(ICHR) } } } } } Device(SIO1) { Name(_HID, 0x020cd041) Method(_UID) { Return(SP1O) } Name(CRS_, Buffer(0x12) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS) { If(LAnd(LLess(SP1O, 0x03f0), LGreater(SP1O, 0xf0))) { CreateWordField(CRS_, 0x2, GPI0) CreateWordField(CRS_, 0x4, GPI1) CreateByteField(CRS_, 0x7, GPIL) Store(SP1O, GPI0) Store(SP1O, GPI1) Store(0x2, GPIL) } CreateWordField(CRS_, 0xa, GP40) CreateWordField(CRS_, 0xc, GP41) CreateByteField(CRS_, 0xf, GPL4) ENFG(One) If(ACTR) { ShiftLeft(IOAH, 0x8, Local0) Or(IOAL, Local0, Local0) Subtract(FindSetRightBit(Local0, Zero), One, Local1) ShiftLeft(One, Local1, Local1) If(And(OPT0, 0x2)) { } Else { Or(Local0, 0x0400, GP40) Or(Local0, 0x0400, GP41) Store(Local1, GPL4) } } EXFG() Return(CRS_) } Name(DCAT, Package(0x15) { 0x2, 0x3, One, Zero, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, }) Mutex(MUT0, 0) Method(ENFG, 1) { Acquire(MUT0, 0xfff) Store(IOCE, INDX) Store(IOCE, INDX) Store(Arg0, LDN_) } Method(EXFG) { Store(IOCL, INDX) Release(MUT0) } Method(LPTM, 1) { ENFG(CGLD(Arg0)) And(OPT0, 0x2, Local0) EXFG() Return(Local0) } Method(UHID, 1) { If(LEqual(Arg0, One)) { ENFG(CGLD(Arg0)) And(OPT1, 0x38, Local0) EXFG() If(Local0) { Return(0x1005d041) } } Return(0x0105d041) } OperationRegion(IOID, SystemIO, SP1O, 0x2) Field(IOID, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) { Offset(0x7), LDN_, 8, Offset(0x2c), OP2C, 8, Offset(0x30), ACTR, 8, Offset(0x60), IOAH, 8, IOAL, 8, IOH2, 8, IOL2, 8, Offset(0x70), INTR, 8, Offset(0x74), DMCH, 8, Offset(0xe0), RGE0, 8, RGE1, 8, RGE2, 8, RGE3, 8, RGE4, 8, RGE5, 8, RGE6, 8, RGE7, 8, Offset(0xf0), OPT0, 8, OPT1, 8, OPT2, 8, OPT3, 8, OPT4, 8, OPT5, 8, OPT6, 8, OPT7, 8, OPT8, 8, OPT9, 8 } Method(CGLD, 1) { Return(DerefOf(Index(DCAT, Arg0))) } Method(DSTA, 1) { ENFG(CGLD(Arg0)) Store(ACTR, Local0) EXFG() If(LEqual(Local0, 0xff)) { Return(Zero) } And(Local0, One, Local0) Or(IOST, ShiftLeft(Local0, Arg0), IOST) If(Local0) { Return(0xf) } Else { If(And(ShiftLeft(One, Arg0), IOST)) { Return(0xd) } Else { Return(Zero) } } } Method(DCNT, 2) { ENFG(CGLD(Arg0)) If(LAnd(LLess(DMCH, 0x4), LNot(LEqual(And(DMCH, 0x3, Local1), Zero)))) { RDMA(Arg0, Arg1, Increment(Local1)) } Store(Arg1, ACTR) ShiftLeft(IOAH, 0x8, Local1) Or(IOAL, Local1, Local1) RRIO(Arg0, Arg1, Local1, 0x8) EXFG() } Name(CRS1, Buffer(0x10) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 }) CreateWordField(CRS1, 0x9, IRQM) CreateByteField(CRS1, 0xc, DMAM) CreateWordField(CRS1, 0x2, IO11) CreateWordField(CRS1, 0x4, IO12) CreateByteField(CRS1, 0x7, LEN1) Name(CRS2, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 }) CreateWordField(CRS2, 0x11, IRQE) CreateByteField(CRS2, 0x14, DMAE) CreateWordField(CRS2, 0x2, IO21) CreateWordField(CRS2, 0x4, IO22) CreateByteField(CRS2, 0x7, LEN2) CreateWordField(CRS2, 0xa, IO31) CreateWordField(CRS2, 0xc, IO32) CreateByteField(CRS2, 0xf, LEN3) Method(DCRS, 2) { ENFG(CGLD(Arg0)) ShiftLeft(IOAH, 0x8, IO11) Or(IOAL, IO11, IO11) Store(IO11, IO12) Subtract(FindSetRightBit(IO11, Zero), One, Local0) ShiftLeft(One, Local0, LEN1) If(INTR) { ShiftLeft(One, INTR, IRQM) } Else { Store(Zero, IRQM) } If(LOr(LGreater(DMCH, 0x3), LEqual(Arg1, Zero))) { Store(Zero, DMAM) } Else { And(DMCH, 0x3, Local1) ShiftLeft(One, Local1, DMAM) } EXFG() Return(CRS1) } Method(DSRS, 2) { CreateWordField(Arg0, 0x9, IRQM) CreateByteField(Arg0, 0xc, DMAM) CreateWordField(Arg0, 0x2, IO11) ENFG(CGLD(Arg1)) ShiftLeft(IOAH, 0x8, Local1) Or(IOAL, Local1, Local1) RRIO(Arg1, Zero, Local1, 0x8) RRIO(Arg1, One, IO11, 0x8) And(IO11, 0xff, IOAL) ShiftRight(IO11, 0x8, IOAH) If(IRQM) { FindSetRightBit(IRQM, Local0) Subtract(Local0, One, INTR) } Else { Store(Zero, INTR) } If(DMAM) { FindSetRightBit(DMAM, Local0) Subtract(Local0, One, DMCH) } Else { Store(0x4, DMCH) } EXFG() DCNT(Arg1, One) Store(Arg1, Local2) If(LGreater(Local2, Zero)) { Subtract(Local2, One, Local2) } } } Method(SIOK, 1) { ^SIO1.ENFG(0xa) And(0xff, ^SIO1.OPT3, ^SIO1.OPT3) And(Arg0, One, Local0) Or(^SIO1.OPT2, Local0, ^SIO1.OPT2) Store(And(Arg0, One), ^SIO1.ACTR) ^SIO1.EXFG() } Name(PMFG, Zero) Name(KBFG, One) Name(MSFG, One) Name(UR1F, One) Name(SIWS, Zero) Method(SIOS, 1) { Store("SIOS", Debug) And(^SIO1.RGE0, 0x1f, ^SIO1.RGE0) ^SIO1.ENFG(0x8) And(^SIO1.OPT5, 0x3f, ^SIO1.OPT5) Store(0x9, ^SIO1.LDN_) Store(0x40, ^SIO1.OPT3) Store(0xa, ^SIO1.LDN_) If(LEqual(Arg0, One)) { Or(^SIO1.OPT2, One, ^SIO1.OPT2) } If(LOr(LEqual(Arg0, 0x3), LEqual(Arg0, One))) { If(KBFG) { Or(^SIO1.OPT6, 0x10, ^SIO1.OPT6) Or(^SIO1.RGE0, 0x41, ^SIO1.RGE0) } If(MSFG) { Or(^SIO1.OPT6, 0x20, ^SIO1.OPT6) Or(^SIO1.RGE0, 0x22, ^SIO1.RGE0) Or(^SIO1.RGE6, 0x80, ^SIO1.RGE6) } If(UR1F) { Or(^SIO1.OPT6, 0x2, ^SIO1.OPT6) } While(^SIO1.OPT3) { Stall(0x50) Store(0xff, ^SIO1.OPT3) } } ^SIO1.EXFG() } Method(SIOW, 1) { Store("SIOW", Debug) ^SIO1.ENFG(0xa) And(^SIO1.OPT6, 0xcf, ^SIO1.OPT6) And(^SIO1.OPT2, 0xfe, ^SIO1.OPT2) And(^SIO1.RGE0, 0x1d, ^SIO1.RGE0) And(^SIO1.RGE6, 0x7f, ^SIO1.RGE6) Store(^SIO1.RGE3, SIWS) Store(SIWS, ^SIO1.RGE3) If(LEqual(Arg0, One)) { Store(0x8, ^SIO1.LDN_) Or(^SIO1.OPT5, 0x40, ^SIO1.OPT5) Store(0x9, ^SIO1.LDN_) Store(Zero, ^SIO1.OPT3) } ^SIO1.EXFG() } Method(SIOH) { Store("SIOH", Debug) ^SIO1.ENFG(0xa) If(And(SIWS, 0x10)) { Notify(PS2K, 0x2) } If(And(SIWS, 0x20)) { Notify(PS2M, 0x2) } If(And(SIWS, 0x2)) { Notify(UAR1, 0x2) } ^SIO1.EXFG() Store(Zero, SIWS) } Device(PS2K) { Name(_HID, 0x0303d041) Name(_CID, 0x0b03d041) Method(_STA) { ShiftLeft(One, 0xa, Local0) If(And(IOST, Local0)) { Return(0xf) } Return(Zero) } Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x0, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x0, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 }) Name(_PRS, Buffer(0x10) {0x31, 0x0, 0x4b, 0x60, 0x0, 0x1, 0x4b, 0x64, 0x0, 0x1, 0x22, 0x2, 0x0, 0x38, 0x79, 0x0 }) } Method(PS2K._PRW) { Return(GPRW(0x10, 0x3)) } Device(PS2M) { Name(_HID, 0x030fd041) Name(_CID, 0x130fd041) Method(_STA) { ShiftLeft(One, 0xe, Local0) If(And(IOST, Local0)) { Return(0xf) } Return(Zero) } Name(CRS1, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 }) Name(CRS2, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x0, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x0, 0x1, 0x22, 0x0, 0x10, 0x79, 0x0 }) Method(_CRS) { ShiftLeft(One, 0xa, Local0) If(And(IOST, Local0)) { Return(CRS1) } Else { Return(CRS2) } } Name(_PRS, Buffer(0x8) {0x31, 0x0, 0x22, 0x0, 0x10, 0x38, 0x79, 0x0 }) } Method(PS2M._PRW) { Return(GPRW(0x10, 0x3)) } Device(FDC_) { Name(_HID, 0x0007d041) Name(_FDE, Package(0x5) { One, Zero, 0x2, 0x2, 0x2, }) Method(_STA) { Return(^^SIO1.DSTA(0x3)) } Method(_DIS) { ^^SIO1.DCNT(0x3, Zero) } Method(_CRS) { ^^SIO1.DCRS(0x3, One) Store(^^SIO1.IRQM, ^^SIO1.IRQE) Store(^^SIO1.DMAM, ^^SIO1.DMAE) Store(^^SIO1.IO11, ^^SIO1.IO21) Store(^^SIO1.IO12, ^^SIO1.IO22) Store(0x6, ^^SIO1.LEN2) Add(^^SIO1.IO21, 0x7, ^^SIO1.IO31) Store(^^SIO1.IO31, ^^SIO1.IO32) Store(One, ^^SIO1.LEN3) Return(^^SIO1.CRS2) } Name(_PRS, Buffer(0x49) {0x31, 0x0, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x30, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0xf8, 0x1c, 0x2a, 0xc, 0x0, 0x30, 0x47, 0x1, 0x70, 0x3, 0x70, 0x3, 0x1, 0x6, 0x47, 0x1, 0x77, 0x3, 0x77, 0x3, 0x1, 0x1, 0x22, 0xf8, 0x1c, 0x2a, 0xc, 0x0, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { ^^SIO1.DSRS(Arg0, 0x3) CreateWordField(Arg0, 0x11, IRQE) CreateByteField(Arg0, 0x14, DMAE) ^^SIO1.ENFG(^^SIO1.CGLD(0x3)) If(IRQE) { FindSetRightBit(IRQE, Local0) Subtract(Local0, One, ^^SIO1.INTR) } Else { Store(Zero, ^^SIO1.INTR) } If(DMAE) { FindSetRightBit(DMAE, Local0) Subtract(Local0, One, ^^SIO1.DMCH) } Else { Store(0x4, ^^SIO1.DMCH) } ^^SIO1.EXFG() } } Device(UAR1) { Name(_UID, One) Method(_HID) { Return(^^SIO1.UHID(Zero)) } Method(_STA) { Return(^^SIO1.DSTA(Zero)) } Method(_DIS) { ^^SIO1.DCNT(Zero, Zero) } Method(_CRS) { Return(^^SIO1.DCRS(Zero, Zero)) } Method(_SRS, 1) { ^^SIO1.DSRS(Arg0, Zero) } Name(_PRS, Buffer(0x4f) {0x31, 0x0, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0xf8, 0x1c, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0xf8, 0x1c, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0xf8, 0x1c, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0xf8, 0x1c, 0x2a, 0x0, 0x0, 0x38, 0x79, 0x0 }) } Method(UAR1._PRW) { Return(GPRW(0x10, 0x3)) } Device(PIC_) { Name(_HID, 0xd041) Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x0, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x0, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 }) } Device(DMAD) { Name(_HID, 0x0002d041) Name(_CRS, Buffer(0x35) {0x2a, 0x10, 0x4, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x0, 0x3, 0x47, 0x1, 0x87, 0x0, 0x87, 0x0, 0x0, 0x1, 0x47, 0x1, 0x89, 0x0, 0x89, 0x0, 0x0, 0x3, 0x47, 0x1, 0x8f, 0x0, 0x8f, 0x0, 0x0, 0x1, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x0, 0x20, 0x79, 0x0 }) } Device(TMR_) { Name(_HID, 0x0001d041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x0, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 }) } Device(RTC0) { Name(_HID, 0x000bd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x0, 0x2, 0x22, 0x0, 0x1, 0x79, 0x0 }) } Device(SPKR) { Name(_HID, 0x0008d041) Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x0, 0x1, 0x79, 0x0 }) } Device(RMSC) { Name(_HID, 0x020cd041) Name(_UID, 0x10) Name(CRS_, Buffer(0x72) {0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0x0, 0x10, 0x47, 0x1, 0x22, 0x0, 0x22, 0x0, 0x0, 0x1e, 0x47, 0x1, 0x44, 0x0, 0x44, 0x0, 0x0, 0x1c, 0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x0, 0x2, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x0, 0xb, 0x47, 0x1, 0x72, 0x0, 0x72, 0x0, 0x0, 0xe, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x0, 0x1, 0x47, 0x1, 0x84, 0x0, 0x84, 0x0, 0x0, 0x3, 0x47, 0x1, 0x88, 0x0, 0x88, 0x0, 0x0, 0x1, 0x47, 0x1, 0x8c, 0x0, 0x8c, 0x0, 0x0, 0x3, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x0, 0x10, 0x47, 0x1, 0xa2, 0x0, 0xa2, 0x0, 0x0, 0x1e, 0x47, 0x1, 0xe0, 0x0, 0xe0, 0x0, 0x0, 0x10, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x0, 0x2, 0x79, 0x0 }) Method(_CRS) { Return(CRS_) } } Device(COPR) { Name(_HID, 0x040cd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x0, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 }) } } Device(P0P2) { Name(_ADR, 0x001e0000) Method(_PRW) { Return(GPRW(0xb, 0x4)) } Method(_PRT) { If(PICM) { Return(AR02) } Return(PR02) } } Device(IDE0) { Name(_ADR, 0x001f0001) Name(^NATA, Package(0x1) { 0x001f0001, }) Name(REGF, One) Method(_REG, 2) { If(LEqual(Arg0, 0x2)) { Store(Arg1, REGF) } } Name(TIM0, Package(0x8) { Package(0x4) { 0x78, 0xb4, 0xf0, 0x0384, }, Package(0x4) { 0x23, 0x21, 0x10, Zero, }, Package(0x4) { 0xb, 0x9, 0x4, Zero, }, Package(0x6) { 0x70, 0x49, 0x36, 0x27, 0x19, 0xf, }, Package(0x6) { Zero, One, 0x2, One, 0x2, One, }, Package(0x6) { Zero, Zero, Zero, One, One, One, }, Package(0x4) { 0x4, 0x3, 0x2, Zero, }, Package(0x4) { 0x2, One, Zero, Zero, }, }) Name(TMD0, Buffer(0x14) { }) CreateDWordField(TMD0, Zero, PIO0) CreateDWordField(TMD0, 0x4, DMA0) CreateDWordField(TMD0, 0x8, PIO1) CreateDWordField(TMD0, 0xc, DMA1) CreateDWordField(TMD0, 0x10, CHNF) OperationRegion(CFG2, PCI_Config, 0x40, 0x20) Field(CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset(0x2), SMPT, 4, SSPT, 4, SMRI, 6, Offset(0x4), PSRI, 4, SSRI, 4, Offset(0x8), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset(0xa), PMUT, 2, , 2, PSUT, 2, Offset(0xb), SMUT, 2, , 2, SSUT, 2, Offset(0xc), 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) { ShiftLeft(PSCR, One, Local1) Or(PMCR, Local1, Local0) ShiftLeft(PMAE, 0x2, Local3) ShiftLeft(PM6E, One, Local4) Or(Local3, Local4, Local3) Or(PM3E, Local3, Local1) ShiftLeft(PMPT, 0x4, Local3) Or(Local1, Local3, Local1) ShiftLeft(PSAE, 0x2, Local3) ShiftLeft(PS6E, One, Local4) Or(Local3, Local4, Local3) Or(PS3E, Local3, Local2) ShiftLeft(PSPT, 0x4, Local3) Or(Local2, Local3, Local2) Return(GTM_(PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method(_STM, 3) { Store(Arg0, Debug) Store(Arg0, TMD0) ShiftLeft(PMAE, 0x2, Local3) ShiftLeft(PM6E, One, Local4) Or(Local3, Local4, Local3) Or(PM3E, Local3, Local0) ShiftLeft(PMPT, 0x4, Local3) Or(Local0, Local3, Local0) ShiftLeft(PSAE, 0x2, Local3) ShiftLeft(PS6E, One, Local4) Or(Local3, Local4, Local3) Or(PS3E, Local3, Local1) ShiftLeft(PSPT, 0x4, 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, 0x2)) { Store(One, PM6E) } Else { Store(Zero, PM6E) } If(And(Local0, 0x4)) { Store(One, PMAE) } Else { Store(Zero, PMAE) } If(And(Local1, One)) { Store(One, PS3E) } Else { Store(Zero, PS3E) } If(And(Local1, 0x2)) { Store(One, PS6E) } Else { Store(Zero, PS6E) } If(And(Local1, 0x4)) { Store(One, PSAE) } Else { Store(Zero, PSAE) } Store(GTF_(Zero, Arg1), ATA0) Store(GTF_(One, Arg2), ATA1) } Device(DRV0) { Name(_ADR, Zero) Method(_GTF) { Return(RATA(ATA0)) } } Device(DRV1) { Name(_ADR, One) Method(_GTF) { Return(RATA(ATA1)) } } } Device(CHN1) { Name(_ADR, One) Method(_GTM) { ShiftLeft(SSCR, One, Local1) Or(SMCR, Local1, Local0) ShiftLeft(SMAE, 0x2, Local3) ShiftLeft(SM6E, One, Local4) Or(Local3, Local4, Local3) Or(SM3E, Local3, Local1) ShiftLeft(SMPT, 0x4, Local3) Or(Local1, Local3, Local1) ShiftLeft(SSAE, 0x2, Local3) ShiftLeft(SS6E, One, Local4) Or(Local3, Local4, Local3) Or(SS3E, Local3, Local2) ShiftLeft(SSPT, 0x4, Local3) Or(Local2, Local3, Local2) Return(GTM_(SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method(_STM, 3) { Store(Arg0, Debug) Store(Arg0, TMD0) ShiftLeft(SMAE, 0x2, Local3) ShiftLeft(SM6E, One, Local4) Or(Local3, Local4, Local3) Or(SM3E, Local3, Local0) ShiftLeft(SMPT, 0x4, Local3) Or(Local0, Local3, Local0) ShiftLeft(SSAE, 0x2, Local3) ShiftLeft(SS6E, One, Local4) Or(Local3, Local4, Local3) Or(SS3E, Local3, Local1) ShiftLeft(SSPT, 0x4, 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, 0x2)) { Store(One, SM6E) } Else { Store(Zero, SM6E) } If(And(Local0, 0x4)) { Store(One, SMAE) } Else { Store(Zero, SMAE) } If(And(Local1, One)) { Store(One, SS3E) } Else { Store(Zero, SS3E) } If(And(Local1, 0x2)) { Store(One, SS6E) } Else { Store(Zero, SS6E) } If(And(Local1, 0x4)) { Store(One, SSAE) } Else { Store(Zero, SSAE) } Store(GTF_(Zero, Arg1), ATA2) Store(GTF_(One, Arg2), ATA3) } Device(DRV0) { Name(_ADR, Zero) Method(_GTF) { Return(RATA(ATA2)) } } Device(DRV1) { Name(_ADR, One) Method(_GTF) { 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, 0x2, 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, 0x8, CHNF) } Store(Match(DerefOf(Index(TIM0, 0x2)), MEQ, Arg3, MTR, Zero, Zero), Local6) Store(DerefOf(Index(DerefOf(Index(TIM0, Zero)), Local6)), Local7) Store(Local7, DMA1) Store(Local7, PIO1) If(And(Arg1, 0x7)) { Store(Arg2, Local5) If(And(Arg1, 0x2)) { Add(Local5, 0x2, Local5) } If(And(Arg1, 0x4)) { Add(Local5, 0x4, Local5) } Store(DerefOf(Index(DerefOf(Index(TIM0, 0x3)), Local5)), DMA0) Or(CHNF, One, CHNF) } If(And(Arg4, 0x7)) { Store(Arg5, Local5) If(And(Arg4, 0x2)) { Add(Local5, 0x2, Local5) } If(And(Arg4, 0x4)) { Add(Local5, 0x4, Local5) } Store(DerefOf(Index(DerefOf(Index(TIM0, 0x3)), Local5)), DMA1) Or(CHNF, 0x4, CHNF) } Store(TMD0, Debug) Return(TMD0) } Method(STM_, 0, Serialized) { If(REGF) { } Else { Store(Zero, GMUE) Store(Zero, GMUT) Store(Zero, GSUE) Store(Zero, GSUT) If(And(CHNF, One)) { Store(Match(DerefOf(Index(TIM0, 0x3)), MLE, DMA0, MTR, Zero, Zero), Local0) If(LGreater(Local0, 0x5)) { Store(0x5, Local0) } Store(DerefOf(Index(DerefOf(Index(TIM0, 0x4)), Local0)), GMUT) Or(GMUE, One, GMUE) If(LGreater(Local0, 0x2)) { Or(GMUE, 0x2, GMUE) } If(LGreater(Local0, 0x4)) { And(GMUE, 0xfd, GMUE) Or(GMUE, 0x4, 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, 0x4)) { Store(Match(DerefOf(Index(TIM0, 0x3)), MLE, DMA1, MTR, Zero, Zero), Local0) If(LGreater(Local0, 0x5)) { Store(0x5, Local0) } Store(DerefOf(Index(DerefOf(Index(TIM0, 0x4)), Local0)), GSUT) Or(GSUE, One, GSUE) If(LGreater(Local0, 0x2)) { Or(GSUE, 0x2, GSUE) } If(LGreater(Local0, 0x4)) { And(GSUE, 0xfd, GSUE) Or(GSUE, 0x4, 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, 0x2)) { Or(GMUE, 0x20, GMUE) } If(And(CHNF, 0x8)) { Or(GSUE, 0x20, GSUE) } And(Match(DerefOf(Index(TIM0, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x7, Local0) Store(DerefOf(Index(DerefOf(Index(TIM0, One)), Local0)), Local1) Store(Local1, GMPT) If(LLess(Local0, 0x3)) { Or(GMUE, 0x50, GMUE) } And(Match(DerefOf(Index(TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 0x7, Local0) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x2)), Local0)), Local1) Store(Local1, GSPT) If(LLess(Local0, 0x3)) { Or(GSUE, 0x50, GSUE) } } } Name(AT01, Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef }) Name(AT02, Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x90 }) Name(AT03, Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc6 }) Name(AT04, Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x8, Local1) CreateField(ATAB, Local1, 0x38, CMDX) Multiply(CMDC, 0x7, Local0) CreateByteField(ATAB, Add(Local0, 0x2), A001) CreateByteField(ATAB, Add(Local0, 0x6), 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, 0x4) 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, 0x8, IRDY) If(And(CHNF, 0x10)) { Store(PIO1, PIOT) } Else { Store(PIO0, PIOT) } If(And(CHNF, 0x4)) { If(And(CHNF, 0x10)) { Store(DMA1, DMAT) } Else { Store(DMA0, DMAT) } } } Else { And(CHNF, 0x2, IRDY) Store(PIO0, PIOT) If(And(CHNF, One)) { Store(DMA0, DMAT) } } If(LAnd(LAnd(And(ID53, 0x4), And(ID88, 0xff00)), DMAT)) { Store(Match(DerefOf(Index(TIM0, 0x3)), MLE, DMAT, MTR, Zero, Zero), Local1) If(LGreater(Local1, 0x5)) { Store(0x5, 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), 0x3, Local0) Or(0x20, DerefOf(Index(DerefOf(Index(TIM0, 0x7)), Local0)), Local1) GTFB(AT01, Local1, Local7) } } If(IRDY) { And(Match(DerefOf(Index(TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x7, Local0) Or(0x8, DerefOf(Index(DerefOf(Index(TIM0, 0x6)), 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) { CreateByteField(Arg0, Zero, CMDN) Multiply(CMDN, 0x38, Local0) CreateField(Arg0, 0x8, Local0, RETB) Store(RETB, Debug) Return(RETB) } } Device(IDE1) { Name(_ADR, 0x001f0002) } Device(USB0) { Name(_ADR, 0x001d0000) OperationRegion(BAR0, PCI_Config, 0xc4, One) Field(BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset(0x1) } Name(_S4D, 0x2) Name(_S3D, 0x2) Name(_S2D, 0x2) Name(_S1D, 0x2) Method(_PSW, 1) { If(Arg0) { Store(0x3, USBW) } Else { Store(Zero, USBW) } } Method(_PRW) { Return(GPRW(0x3, 0x3)) } } Device(USB1) { Name(_ADR, 0x001d0001) OperationRegion(BAR0, PCI_Config, 0xc4, One) Field(BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset(0x1) } Name(_S4D, 0x2) Name(_S3D, 0x2) Name(_S2D, 0x2) Name(_S1D, 0x2) Method(_PSW, 1) { If(Arg0) { Store(0x3, USBW) } Else { Store(Zero, USBW) } } Method(_PRW) { Return(GPRW(0x4, 0x3)) } } Device(USB2) { Name(_ADR, 0x001d0002) OperationRegion(BAR0, PCI_Config, 0xc4, One) Field(BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset(0x1) } Name(_S4D, 0x2) Name(_S3D, 0x2) Name(_S2D, 0x2) Name(_S1D, 0x2) Method(_PSW, 1) { If(Arg0) { Store(0x3, USBW) } Else { Store(Zero, USBW) } } Method(_PRW) { Return(GPRW(0xc, 0x3)) } } Device(USB3) { Name(_ADR, 0x001d0003) OperationRegion(BAR0, PCI_Config, 0xc4, One) Field(BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset(0x1) } Name(_S4D, 0x2) Name(_S3D, 0x2) Name(_S2D, 0x2) Name(_S1D, 0x2) Method(_PSW, 1) { If(Arg0) { Store(0x3, USBW) } Else { Store(Zero, USBW) } } Method(_PRW) { Return(GPRW(0xe, 0x3)) } } Device(EUSB) { Name(_ADR, 0x001d0007) Name(_S4D, 0x2) Name(_S3D, 0x2) Name(_S2D, 0x2) Name(_S1D, 0x2) Method(_PRW) { Return(GPRW(0xd, 0x3)) } } Device(SMB_) { Name(_ADR, 0x001f0003) OperationRegion(SMIO, SystemIO, SMBS, SMBL) Field(SMIO, ByteAcc, NoLock, Preserve) { HSTS, 8, HCNT, 8, HCMD, 8, TSAD, 8, HDT0, 8, HDT1, 8, HBDT, 8, RSAD, 8, RSDA, 16, AUST, 8, AUCT, 8, SMLP, 8, SMBP, 8, SSTS, 8, SCMD, 8, NDAD, 8, NDLB, 8, NDHB, 8 } Method(SMCS) { Store(0x20, HSTS) } Scope(\_GPE) { Method(_L07) { Store(0x20, \_SB_.PCI0.SMB_.HSTS) } Method(_L1B) { Store(0x20, \_SB_.PCI0.SMB_.HSTS) } } } Device(MC97) { Name(_ADR, 0x001e0003) Method(_PRW) { Return(GPRW(0x5, 0x4)) } } 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_) { Store(One, PMS_) Store(One, PCS_) Store(One, PMS_) } Method(SPRT, 1) { CSS_() Store(One, PCE_) CSS_() } Method(WPRT, 1) { Store(Zero, PCE_) CSS_() } Method(_PRW) { Return(GPRW(0x9, 0x4)) } Method(_PRT) { If(PICM) { Return(AR04) } Return(PR04) } } 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_) { Store(One, PMS_) Store(One, PCS_) Store(One, PMS_) } Method(SPRT, 1) { CSS_() Store(One, PCE_) CSS_() } Method(WPRT, 1) { Store(Zero, PCE_) CSS_() } Method(_PRW) { Return(GPRW(0x9, 0x4)) } Method(_PRT) { If(PICM) { Return(AR07) } Return(PR07) } } 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_) { Store(One, PMS_) Store(One, PCS_) Store(One, PMS_) } Method(SPRT, 1) { CSS_() Store(One, PCE_) CSS_() } Method(WPRT, 1) { Store(Zero, PCE_) CSS_() } Method(_PRW) { Return(GPRW(0x9, 0x4)) } Method(_PRT) { If(PICM) { Return(AR08) } Return(PR08) } } 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_) { Store(One, PMS_) Store(One, PCS_) Store(One, PMS_) } Method(SPRT, 1) { CSS_() Store(One, PCE_) CSS_() } Method(WPRT, 1) { Store(Zero, PCE_) CSS_() } Method(_PRW) { Return(GPRW(0x9, 0x4)) } Method(_PRT) { If(PICM) { Return(AR09) } Return(PR09) } } } Scope(\_GPE) { Method(_L09) { Notify(\_SB_.PCI0.P0P1, 0x2) Notify(\_SB_.PCI0.PEX0, 0x2) Notify(\_SB_.PCI0.PEX1, 0x2) Notify(\_SB_.PCI0.PEX2, 0x2) Notify(\_SB_.PCI0.PEX3, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L10) { \_SB_.PCI0.SBRG.SIOH() Notify(\_SB_.PWRB, 0x2) } Method(_L0B) { Notify(\_SB_.PCI0.P0P2, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L03) { Notify(\_SB_.PCI0.USB0, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L04) { Notify(\_SB_.PCI0.USB1, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L0C) { Notify(\_SB_.PCI0.USB2, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L0E) { Notify(\_SB_.PCI0.USB3, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L0D) { Notify(\_SB_.PCI0.EUSB, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L05) { Notify(\_SB_.PCI0.MC97, 0x2) Notify(\_SB_.PWRB, 0x2) } } Device(PWRB) { Name(_HID, 0x0c0cd041) Name(_UID, 0xaa) Name(_STA, 0xb) Method(_PRW) { Return(GPRW(0x10, 0x3)) } } } OperationRegion(_SB_.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0xc) Field(\_SB_.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset(0x8), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } Scope(_SB_) { Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x80, 0x18, 0x79, 0x0 }) CreateWordField(BUFA, One, IRA0) Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, One) Method(_STA) { And(PIRA, 0x80, Local0) If(Local0) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Return(PRSA) } Method(_DIS) { Or(PIRA, 0x80, PIRA) } Method(_CRS) { And(PIRA, 0xf, Local0) ShiftLeft(One, Local0, IRA0) Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, One, IRA_) FindSetRightBit(IRA_, Local0) Decrement(Local0) Store(Local0, PIRA) } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x2) Method(_STA) { And(PIRB, 0x80, Local0) If(Local0) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Return(PRSB) } Method(_DIS) { Or(PIRB, 0x80, PIRB) } Method(_CRS) { And(PIRB, 0xf, Local0) ShiftLeft(One, Local0, IRA0) Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, One, IRA_) FindSetRightBit(IRA_, Local0) Decrement(Local0) Store(Local0, PIRB) } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x3) Method(_STA) { And(PIRC, 0x80, Local0) If(Local0) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Return(PRSC) } Method(_DIS) { Or(PIRC, 0x80, PIRC) } Method(_CRS) { And(PIRC, 0xf, Local0) ShiftLeft(One, Local0, IRA0) Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, One, IRA_) FindSetRightBit(IRA_, Local0) Decrement(Local0) Store(Local0, PIRC) } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x4) Method(_STA) { And(PIRD, 0x80, Local0) If(Local0) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Return(PRSD) } Method(_DIS) { Or(PIRD, 0x80, PIRD) } Method(_CRS) { And(PIRD, 0xf, Local0) ShiftLeft(One, Local0, IRA0) Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, One, IRA_) FindSetRightBit(IRA_, Local0) Decrement(Local0) Store(Local0, PIRD) } } Device(LNKE) { Name(_HID, 0x0f0cd041) Name(_UID, 0x5) Method(_STA) { And(PIRE, 0x80, Local0) If(Local0) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Return(PRSE) } Method(_DIS) { Or(PIRE, 0x80, PIRE) } Method(_CRS) { And(PIRE, 0xf, Local0) ShiftLeft(One, Local0, IRA0) Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, One, IRA_) FindSetRightBit(IRA_, Local0) Decrement(Local0) Store(Local0, PIRE) } } Device(LNKF) { Name(_HID, 0x0f0cd041) Name(_UID, 0x6) Method(_STA) { And(PIRF, 0x80, Local0) If(Local0) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Return(PRSF) } Method(_DIS) { Or(PIRF, 0x80, PIRF) } Method(_CRS) { And(PIRF, 0xf, Local0) ShiftLeft(One, Local0, IRA0) Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, One, IRA_) FindSetRightBit(IRA_, Local0) Decrement(Local0) Store(Local0, PIRF) } } Device(LNKG) { Name(_HID, 0x0f0cd041) Name(_UID, 0x7) Method(_STA) { And(PIRG, 0x80, Local0) If(Local0) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Return(PRSG) } Method(_DIS) { Or(PIRG, 0x80, PIRG) } Method(_CRS) { And(PIRG, 0xf, Local0) ShiftLeft(One, Local0, IRA0) Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, One, IRA_) FindSetRightBit(IRA_, Local0) Decrement(Local0) Store(Local0, PIRG) } } Device(LNKH) { Name(_HID, 0x0f0cd041) Name(_UID, 0x8) Method(_STA) { And(PIRH, 0x80, Local0) If(Local0) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Return(PRSH) } Method(_DIS) { Or(PIRH, 0x80, PIRH) } Method(_CRS) { And(PIRH, 0xf, Local0) ShiftLeft(One, Local0, IRA0) Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, One, IRA_) FindSetRightBit(IRA_, Local0) Decrement(Local0) Store(Local0, PIRH) } } } Scope(_PR_) { OperationRegion(SSDT, SystemMemory, 0xffff0000, 0xffff) Name(DCOR, 0x2) Name(TBLD, Zero) Name(NPSS, 0x2) Name(HNDL, 0x80000000) Name(APSS, Package(0xa) { Package(0x6) { 0xffff, 0x0fffffff, 0xffff, 0xffff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0x0fffffff, 0xffff, 0xffff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0x0fffffff, 0xffff, 0xffff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0x0fffffff, 0xffff, 0xffff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0x0fffffff, 0xffff, 0xffff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0x0fffffff, 0xffff, 0xffff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0x0fffffff, 0xffff, 0xffff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0x0fffffff, 0xffff, 0xffff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0x0fffffff, 0xffff, 0xffff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0x0fffffff, 0xffff, 0xffff, 0xffff, 0xffff, }, }) Processor(CPU1, 1, 0x410, 0x6) { Name(TYPE, 0x80000000) Method(_PDC, 1) { CreateDWordField(Arg0, 0x8, DAT0) Store(DAT0, TYPE) If(LAnd(LEqual(TBLD, Zero), LNot(LEqual(NPSS, Zero)))) { If(LOr(LEqual(And(TYPE, 0x1b), 0x1b), LEqual(DCOR, Zero))) { Store(One, TBLD) Load(SSDT, HNDL) } } } } Processor(CPU2, 2, 0x410, 0x6) { Name(TYPE, 0x80000000) Method(_PDC, 1) { CreateDWordField(Arg0, 0x8, DAT0) Store(DAT0, TYPE) If(LAnd(LEqual(TBLD, Zero), LNot(LEqual(NPSS, Zero)))) { If(LOr(LEqual(And(TYPE, 0x1b), 0x1b), LEqual(DCOR, Zero))) { Store(One, TBLD) Load(SSDT, HNDL) } } } } Processor(CPU3, 3, 0x410, 0x6) { Name(TYPE, 0x80000000) Method(_PDC, 1) { CreateDWordField(Arg0, 0x8, DAT0) Store(DAT0, TYPE) If(LAnd(LEqual(TBLD, Zero), LNot(LEqual(NPSS, Zero)))) { If(LOr(LEqual(And(TYPE, 0x1b), 0x1b), LEqual(DCOR, Zero))) { Store(One, TBLD) Load(SSDT, HNDL) } } } } Processor(CPU4, 4, 0x410, 0x6) { Name(TYPE, 0x80000000) Method(_PDC, 1) { CreateDWordField(Arg0, 0x8, DAT0) Store(DAT0, TYPE) If(LAnd(LEqual(TBLD, Zero), LNot(LEqual(NPSS, Zero)))) { If(LOr(LEqual(And(TYPE, 0x1b), 0x1b), LEqual(DCOR, Zero))) { Store(One, TBLD) Load(SSDT, HNDL) } } } } Processor(CPU5, 5, 0x410, 0x6) { Name(TYPE, 0x80000000) Method(_PDC, 1) { CreateDWordField(Arg0, 0x8, DAT0) Store(DAT0, TYPE) If(LAnd(LEqual(TBLD, Zero), LNot(LEqual(NPSS, Zero)))) { If(LOr(LEqual(And(TYPE, 0x1b), 0x1b), LEqual(DCOR, Zero))) { Store(One, TBLD) Load(SSDT, HNDL) } } } } Processor(CPU6, 6, 0x410, 0x6) { Name(TYPE, 0x80000000) Method(_PDC, 1) { CreateDWordField(Arg0, 0x8, DAT0) Store(DAT0, TYPE) If(LAnd(LEqual(TBLD, Zero), LNot(LEqual(NPSS, Zero)))) { If(LOr(LEqual(And(TYPE, 0x1b), 0x1b), LEqual(DCOR, Zero))) { Store(One, TBLD) Load(SSDT, HNDL) } } } } Processor(CPU7, 7, 0x410, 0x6) { Name(TYPE, 0x80000000) Method(_PDC, 1) { CreateDWordField(Arg0, 0x8, DAT0) Store(DAT0, TYPE) If(LAnd(LEqual(TBLD, Zero), LNot(LEqual(NPSS, Zero)))) { If(LOr(LEqual(And(TYPE, 0x1b), 0x1b), LEqual(DCOR, Zero))) { Store(One, TBLD) Load(SSDT, HNDL) } } } } Processor(CPU8, 8, 0x410, 0x6) { Name(TYPE, 0x80000000) Method(_PDC, 1) { CreateDWordField(Arg0, 0x8, DAT0) Store(DAT0, TYPE) If(LAnd(LEqual(TBLD, Zero), LNot(LEqual(NPSS, Zero)))) { If(LOr(LEqual(And(TYPE, 0x1b), 0x1b), LEqual(DCOR, Zero))) { Store(One, TBLD) Load(SSDT, HNDL) } } } } } Scope(_SB_.PCI0) { Device(GFX0) { Name(_ADR, 0x00020000) Name(OPBS, 0xffffff00) OperationRegion(VNVS, SystemMemory, VRBS, 0x00010000) Field(VNVS, ByteAcc, NoLock, Preserve) { VBRG, 524288 } Method(_ROM, 2) { Multiply(Arg0, 0x8, Local0) Multiply(Arg1, 0x8, Local1) CreateField(VBRG, Local0, Local1, TBF_) Return(TBF_) } Scope(^^PCI0) { OperationRegion(MCHP, PCI_Config, 0x40, 0xc0) Field(MCHP, AnyAcc, NoLock, Preserve) { Offset(0x60), TASM, 10, Offset(0x62) } } 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(0x8c), CDCT, 10, Offset(0x8e), Offset(0xa8), GSSE, 1, GSSB, 14, GSES, 1, Offset(0xbc), ASLS, 32 } Name(M512, 0x8) Name(M1GB, 0x10) Scope(\) { Name(ASLA, 0xbf3d2010) } OperationRegion(IGDM, SystemMemory, ASLA, 0x2000) Field(IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, Offset(0xf0), IBTT, 8, IPSC, 8, IPAT, 8, IBIA, 8, IBLC, 8, ITVF, 4, ITVM, 4, IDVM, 8, IDVS, 8, ISSC, 8, 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, Offset(0x400), GVD1, 57344 } OperationRegion(TCOI, SystemIO, TOBS, 0x8) Field(TCOI, WordAcc, NoLock, Preserve) { Offset(0x4), , 9, SCIS, 1, Offset(0x6) } Name(DBTB, Package(0x15) { Zero, 0x7, 0x38, 0x01c0, 0x0e00, 0x3f, 0x01c7, 0x0e07, 0x01f8, 0x0e38, 0x0fc0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71c0, 0x7e00, }) Method(GSCI) { If(LEqual(GEFC, 0x4)) { Store(GBDA(), GXFC) } If(LEqual(GEFC, 0x6)) { Store(SBCB(), GXFC) } Store(One, SCIS) Store(Zero, GEFC) Store(Zero, GSSE) Store(Zero, SCIE) Return(Zero) } Method(GBDA) { If(LEqual(GESF, Zero)) { Store(0x0279, PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, One)) { Store(0x0240, PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, 0x4)) { 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, 0x5)) { Store(IPSC, PARM) Or(PARM, ShiftLeft(IPAT, 0x8), PARM) Add(PARM, 0x0100, PARM) Or(PARM, ShiftLeft(LDST, 0x10), PARM) XOr(PARM, 0x00010000, PARM) Or(PARM, ShiftLeft(IBIA, 0x14), PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, 0x6)) { Store(ITVF, PARM) Or(PARM, ShiftLeft(ITVM, 0x4), PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, 0x7)) { Name(MEMS, 0xd) Store(Zero, PARM) Or(PARM, GIVD, PARM) XOr(PARM, One, PARM) Or(PARM, ShiftLeft(GMFN, One), PARM) Or(PARM, 0x0800, PARM) Or(ShiftLeft(CDCT, 0x15), PARM, PARM) Store(Zero, Local0) If(LEqual(IDVM, Zero)) { Store(ShiftLeft(IDVS, 0x11), Local0) Or(PARM, Local0, PARM) } Else { If(LEqual(IDVM, One)) { Store(ShiftLeft(IDVS, 0xd), Local0) Or(PARM, Local0, PARM) } Else { If(LEqual(IDVM, 0x2)) { Store(ShiftLeft(IDVS, 0xd), Local0) Or(PARM, Local0, PARM) } Else { If(LEqual(IDVM, One)) { Store(0x11, MEMS) } If(LLess(TASM, M512)) { Or(PARM, ShiftLeft(One, MEMS), PARM) } Else { If(LLess(TASM, M1GB)) { If(LLess(IDVS, 0x3)) { Or(PARM, ShiftLeft(IDVS, MEMS), PARM) } Else { Or(PARM, ShiftLeft(0x2, MEMS), PARM) } } Else { Or(PARM, ShiftLeft(IDVS, MEMS), PARM) } } } } } Store(One, GESF) Return(SUCC) } If(LEqual(GESF, 0xa)) { Store(Zero, PARM) If(ISSC) { Or(PARM, 0x3, PARM) } Store(Zero, GESF) Return(SUCC) } Store(Zero, GESF) Return(CRIT) } Method(SBCB) { If(LEqual(GESF, Zero)) { Store(0x20, PARM) Store(Zero, GESF) Return(SUCC) } If(LEqual(GESF, One)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x3)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x4)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x5)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x6)) { ShiftRight(PARM, 0x1c, Local0) If(LEqual(Local0, Zero)) { And(PARM, 0xf, ITVF) And(PARM, 0xf0, ITVM) } Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x7)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x8)) { Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0x9)) { And(PARM, 0xff, IBTT) Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0xa)) { ShiftRight(PARM, 0x1c, Local0) If(LEqual(Local0, Zero)) { And(PARM, 0xff, IPSC) Subtract(And(ShiftRight(PARM, 0x8), 0xff), One, IPAT) And(ShiftRight(PARM, 0x12), 0x3, IBLC) And(ShiftRight(PARM, 0x14), 0x7, IBIA) } Store(Zero, GESF) Store(Zero, PARM) Return(SUCC) } If(LEqual(GESF, 0xb)) { If(LEqual(And(ShiftRight(PARM, 0xb), 0x3), 0x2)) { And(ShiftRight(PARM, 0xd), 0xf, Local0) And(ShiftRight(PARM, 0x11), 0xf, Local1) If(Local0) { Store(Zero, IDVM) Store(Local0, IDVS) } If(Local1) { Store(One, IDVM) Store(Local1, IDVS) } } 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(LDST, 0x8), PARM) Add(PARM, 0x0100, PARM) NAnd(PARM, 0x0200, 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) } Store(Zero, GESF) Return(SUCC) } Method(OPTS, 1) { If(LEqual(Arg0, 0x3)) { Store(ASLS, OPBS) } } Method(OWAK, 1) { If(LEqual(Arg0, 0x3)) { Store(OPBS, ASLS) Store(One, GSES) } } } } Scope(_GPE) { Method(_L06) { \_SB_.PCI0.GFX0.GSCI() } } Scope(_SB_) { Scope(PCI0) { Device(HPET) { Name(_HID, 0x0301d041) Name(CRS_, Buffer(0xe) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 }) OperationRegion(HCNT, SystemMemory, HPTC, 0x4) Field(HCNT, DWordAcc, NoLock, Preserve) { HPTS, 2, , 5, HPTE, 1 } Method(_STA) { If(HPTE) { Return(0xf) } Else { Return(Zero) } } Method(_CRS) { CreateDWordField(CRS_, 0x4, HTBS) Multiply(HPTS, 0x1000, Local0) Add(Local0, 0xfed00000, HTBS) Return(CRS_) } } } } Scope(_SB_) { Scope(PCI0) { Method(_INI) { } Name(CRS_, Buffer(0x88) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) 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) { 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) { Store(Arg0, DBG8) If(LAnd(LEqual(Arg0, 0x4), LEqual(OSFL(), 0x2))) { 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) { ShiftLeft(Arg0, 0x4, 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) } Method(_SB_.PCI0.SBRG.PS2K._PSW, 1) { Store(Arg0, KBFG) } Method(_SB_.PCI0.SBRG.PS2M._PSW, 1) { Store(Arg0, MSFG) } Method(_SB_.PCI0.SBRG.UAR1._PSW, 1) { Store(Arg0, UR1F) } Scope(_SB_) { Scope(PCI0) { Method(_OSC, 4) { Name(SUPP, Zero) Name(CTRL, Zero) CreateDWordField(Arg3, Zero, CDW1) CreateDWordField(Arg3, 0x4, CDW2) CreateDWordField(Arg3, 0x8, CDW3) If(LEqual(Arg0, Buffer(0x10) {0x5b, 0x4d, 0xdb, 0x33, 0xf7, 0x1f, 0x1c, 0x40, 0x96, 0x57, 0x74, 0x41, 0xc0, 0x3d, 0xd7, 0x66 })) { Store(CDW2, SUPP) Store(CDW3, CTRL) If(LNot(LEqual(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, 0xf, CTRL) } If(LNot(LEqual(Arg1, One))) { Or(CDW1, 0x8, CDW1) } If(LNot(LEqual(CDW3, CTRL))) { Or(CDW1, 0x10, CDW1) } Store(CTRL, CDW3) Return(Arg3) } Else { Or(CDW1, 0x4, CDW1) Return(Arg3) } } } } Device(OMSC) { Name(_HID, 0x020cd041) Name(_UID, 0x0e11) } Device(_SB_.RMEM) { Name(_HID, 0x010cd041) Name(_UID, One) } Scope(_SB_) { OperationRegion(SMIR, SystemIO, PM30, 0x8) Field(SMIR, ByteAcc, NoLock, Preserve) { , 1, , 3, SE__, 1, Offset(0x4), , 4, SS__, 1 } Method(ITKS, 1) { Store(One, SS__) If(LEqual(Arg0, 0x5)) { Store(One, SE__) } Else { Store(Zero, SE__) } } Method(ITKW, 1) { Store(Zero, SE__) Store(One, SS__) } } Name(_S0_, Package(0x4) { Zero, Zero, Zero, Zero, }) If(SS1_) { Name(_S1_, Package(0x4) { One, Zero, Zero, Zero, }) } If(SS3_) { Name(_S3_, Package(0x4) { 0x5, Zero, Zero, Zero, }) } If(SS4_) { Name(_S4_, Package(0x4) { 0x6, Zero, Zero, Zero, }) } Name(_S5_, Package(0x4) { 0x7, Zero, Zero, Zero, }) Method(PTS_, 1) { If(Arg0) { \_SB_.PCI0.SBRG.SPTS(Arg0) \_SB_.PCI0.GFX0.OPTS(Arg0) \_SB_.PCI0.PEX0.SPRT(Arg0) \_SB_.PCI0.PEX1.SPRT(Arg0) \_SB_.PCI0.PEX2.SPRT(Arg0) \_SB_.PCI0.PEX3.SPRT(Arg0) \_SB_.ITKS(Arg0) \_SB_.PCI0.SBRG.SIOS(Arg0) } } Method(WAK_, 1) { \_SB_.PCI0.SBRG.SWAK(Arg0) \_SB_.PCI0.GFX0.OWAK(Arg0) If(\_SB_.PCI0.PEX0.PMS_) { \_SB_.PCI0.PEX0.WPRT(Arg0) Notify(\_SB_.PCI0.PEX0, 0x2) } Else { \_SB_.PCI0.PEX0.WPRT(Arg0) } If(\_SB_.PCI0.PEX1.PMS_) { \_SB_.PCI0.PEX1.WPRT(Arg0) Notify(\_SB_.PCI0.PEX1, 0x2) } Else { \_SB_.PCI0.PEX1.WPRT(Arg0) } If(\_SB_.PCI0.PEX2.PMS_) { \_SB_.PCI0.PEX2.WPRT(Arg0) Notify(\_SB_.PCI0.PEX2, 0x2) } Else { \_SB_.PCI0.PEX2.WPRT(Arg0) } If(\_SB_.PCI0.PEX3.PMS_) { \_SB_.PCI0.PEX3.WPRT(Arg0) Notify(\_SB_.PCI0.PEX3, 0x2) } Else { \_SB_.PCI0.PEX3.WPRT(Arg0) } \_SB_.ITKW(Arg0) \_SB_.PCI0.SBRG.SIOW(Arg0) } } /* APIC: Length=108, Revision=2, Checksum=185, OEMID=INTEL, OEM Table ID=DG31PR, OEM Revision=0x6222004, Creator ID=MSFT, Creator Revision=0x10013 */ /* HPET: Length=56, Revision=1, Checksum=20, OEMID=INTEL, OEM Table ID=ICH7HPET, OEM Revision=0x6222004, Creator ID=AMI., Creator Revision=0x1 */ /* MCFG: Length=60, Revision=1, Checksum=252, OEMID=INTEL, OEM Table ID=DG31PR, OEM Revision=0x6222004, Creator ID=MSFT, Creator Revision=0x97 */