/* RSD PTR: Checksum=231, OEMID=COMPAL, RsdtAddress=0x0fffb17f */ /* RSDT: Length=44, Revision=1, Checksum=8, OEMID=COMPAL, OEM Table ID=N30W, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 */ /* Entries={ 0x0ffffb65, 0x0ffffbd9 } */ /* DSDT=0xfffb1ab INT_MODEL=PIC SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 PM1a_EVT_BLK=0x1000-0x1003 PM1a_CNT_BLK=0x1004-0x1005 PM2_TMR_BLK=0x1008-0x100b PM2_GPE0_BLK=0x100c-0x100f P_LVL2_LAT=10ms, P_LVL3_LAT=20ms FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 Flags={WBINVD,PWR_BUTTON,SLP_BUTTON,DCK_CAP} */ /* DSDT: Length=18874, Revision=1, Checksum=248, OEMID=COMPAL, OEM Table ID=N30W, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x100000b */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x1, //DSDT Revision "COMPAL", //OEMID "N30W", //TABLE ID 0x6040000 //OEM Revision ) { Scope(\_PR_) { Processor(CPU0, 0, 0x1010, 0x6) { } } Name(SLST, 0x0) Method(_PTS, 1) { Store(Arg0, SLST) Store(0x1, PWRS) If(LEqual(Arg0, 0x1)) { Store(0x1, \_SB_.PCI0.PX40.EC0_.S1EN) } If(LNot(LLess(Arg0, 0x2))) { Store(0x1, \_SB_.PCI0.CRST) } Else { Store(0x0, \_SB_.PCI0.CRST) } If(LEqual(Arg0, 0x3)) { Store(0x1, \_SB_.PCI0.PX40.EC0_.LWAK) Store(0x1, \_SB_.PCI0.PX40.EC0_.DCWT) Store(0x88, \_SB_.BCMD) Store(0x0, \_SB_.SMIC) } Return(0x0) } Method(_WAK, 1) { Store(0x1, PWRS) If(LEqual(Arg0, 0x1)) { Store(0x0, \_SB_.PCI0.PX40.EC0_.S1EN) } If(LLess(Arg0, 0x3)) { Store(0x86, \_SB_.BCMD) Store(0x0, \_SB_.SMIC) } If(LEqual(Arg0, 0x4)) { Notify(\_SB_.LID_, 0x80) } If(LNot(LLess(Arg0, 0x3))) { Notify(\_SB_.PCI0, 0x0) Store(\_SB_.PCI0.PX40.EC0_.DCID, Local0) If(Local0) { Store(0x1, \_SB_.PCI0.PX40.EC0_.LDDS) Store(0x0, \_SB_.PCI0.PX40.EC0_.DCWT) } If(LNot(LEqual(Local0, \_SB_.DKTP))) { If(Local0) { \_SB_.PCI0.PX40.EC0_._Q04() } Else { \_SB_.PCI0.PX40.EC0_._Q05() } } Else { If(LEqual(Local0, 0x3)) { \_SB_.PCI0.FDS_.ENQB() } } } Return(0x0) } Name(\_S0_, Package(0x3) { 0x5, 0x5, 0x0, }) Name(\_S1_, Package(0x3) { 0x4, 0x4, 0x0, }) Name(\_S3_, Package(0x3) { 0x1, 0x1, 0x0, }) Name(\_S4_, Package(0x3) { 0x0, 0x0, 0x0, }) Name(\_S5_, Package(0x3) { 0x0, 0x0, 0x0, }) OperationRegion(LDS_, SystemIO, 0x102b, 0x1) Field(LDS_, ByteAcc, NoLock, Preserve) { SMFZ, 1, LPOL, 1 } OperationRegion(PMS_, SystemIO, 0x1001, 0x1) Field(PMS_, ByteAcc, NoLock, Preserve) { PWRS, 1 } Scope(_GPE) { Method(_L0A) { If(\_SB_.PCI0.PX40.EC0_.PWRW) { Store(0x0, \_SB_.PCI0.PX40.EC0_.PWRW) Notify(\_SB_.PWRB, 0x2) } If(\_SB_.PCI0.PX40.EC0_.RNGW) { Store(0x0, \_SB_.PCI0.PX40.EC0_.RNGW) Notify(\_SB_.PCI0.MDM1, 0x2) } If(\_SB_.PCI0.PX40.EC0_.LANW) { Store(0x0, \_SB_.PCI0.PX40.EC0_.LANW) Notify(\_SB_.PCI0.FDS_, 0x2) Notify(\_SB_.PCI0.MDM1, 0x2) } If(\_SB_.PCI0.PX40.EC0_.COMW) { Store(0x0, \_SB_.PCI0.PX40.EC0_.COMW) Notify(\_SB_.PCI0.PX40.SIO_.COM1, 0x2) } } Method(_L0B) { Not(LPOL, LPOL) If(\_SB_.PCI0.PX40.ECOK()) { If(LEqual(\_SB_.PCI0.PX40.EC0_.LIDC, 0x0)) { Notify(\_SB_.LID_, 0x80) } } Else { Notify(\_SB_.LID_, 0x80) } } } Scope(\_SI_) { Method(_MSG, 1) { If(\_SB_.PCI0.PX40.ECOK()) { If(LEqual(Arg0, 0x0)) { Store(0x0, \_SB_.PCI0.PX40.EC0_.S1LD) } If(LEqual(Arg0, 0x1)) { Store(0x1, \_SB_.PCI0.PX40.EC0_.S1LD) } If(LEqual(Arg0, 0x2)) { Store(0x1, \_SB_.PCI0.PX40.EC0_.S1LD) } } Store("SI_MSG", Debug) } Method(_SST, 1) { If(\_SB_.PCI0.PX40.ECOK()) { If(LEqual(Arg0, 0x0)) { If(LNot(LEqual(SLST, 0x5))) { Store(0x0, \_SB_.PCI0.PX40.EC0_.S1LD) Store(0x0, \_SB_.PCI0.PX40.EC0_.S2LD) } Store(0x0, SLST) } If(LEqual(Arg0, 0x1)) { Store(0x1, \_SB_.PCI0.PX40.EC0_.S1LD) Store(0x0, \_SB_.PCI0.PX40.EC0_.S2LD) } If(LEqual(Arg0, 0x2)) { Store(0x1, \_SB_.PCI0.PX40.EC0_.S1LD) Store(0x1, \_SB_.PCI0.PX40.EC0_.S2LD) } If(LEqual(Arg0, 0x3)) { Store(0x1, \_SB_.PCI0.PX40.EC0_.S2LD) } If(LEqual(Arg0, 0x4)) { Store(0x1, \_SB_.PCI0.PX40.EC0_.S1LD) Store(0x0, \_SB_.PCI0.PX40.EC0_.S2LD) } } } } Scope(\_TZ_) { Method(KELV, 1) { If(And(Arg0, 0x80, )) { Store(0xffffff00, Local1) } Else { Store(Zero, Local1) } Or(Local1, Arg0, Local1) Add(Local1, 0x0111, Local1) Add(ShiftLeft(Local1, 0x1, ), ShiftLeft(Local1, 0x3, ), Local0) Return(Local0) } PowerResource(PFN0, 0, 0) { Method(_STA) { If(\_SB_.PCI0.PX40.ECOK()) { Return(\_SB_.PCI0.PX40.EC0_.FAN0) } Else { Return(0x0) } } Method(_ON_) { If(\_SB_.PCI0.PX40.ECOK()) { Store(One, \_SB_.PCI0.PX40.EC0_.FAN0) } } Method(_OFF) { If(\_SB_.PCI0.PX40.ECOK()) { Store(Zero, \_SB_.PCI0.PX40.EC0_.FAN0) } } } PowerResource(PFN1, 0, 0) { Method(_STA) { If(\_SB_.PCI0.PX40.ECOK()) { Return(\_SB_.PCI0.PX40.EC0_.FAN1) } Else { Return(0x0) } } Method(_ON_) { If(\_SB_.PCI0.PX40.ECOK()) { Store(One, \_SB_.PCI0.PX40.EC0_.FAN1) } } Method(_OFF) { If(\_SB_.PCI0.PX40.ECOK()) { Store(Zero, \_SB_.PCI0.PX40.EC0_.FAN1) } } } Device(FAN0) { Name(_HID, 0x0b0cd041) Name(_PR0, Package(0x1) { PFN0, }) Name(_UID, 0x1) Name(_PSC, 0x0) Method(_PS0) { Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } } Device(FAN1) { Name(_HID, 0x0b0cd041) Name(_PR0, Package(0x2) { PFN0, PFN1, }) Name(_UID, 0x2) Name(_PSC, 0x0) Method(_PS0) { Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } } ThermalZone(THRM) { Name(_AL0, Package(0x1) { FAN1, }) Name(_AL1, Package(0x1) { FAN0, }) Method(_TMP) { If(\_SB_.PCI0.PX40.ECOK()) { Store(\_SB_.PCI0.PX40.EC0_.TMP_, Local0) Return(KELV(Local0)) } Else { Return(KELV(0x44)) } } Method(_AC0) { Return(KELV(0x50)) } Method(_AC1) { Return(KELV(0x4a)) } Method(_PSV) { Return(KELV(0x56)) } Method(_CRT) { Return(KELV(0x73)) } Method(_SCP, 1) { If(\_SB_.PCI0.PX40.ECOK()) { Store(Arg0, \_SB_.PCI0.PX40.EC0_.MODE) } } Name(_TC1, 0x4) Name(_TC2, 0x3) Name(_TSP, 0x012c) } } Method(CMPS, 2) { Name(STG1, Buffer(0x50) { }) Name(STG2, Buffer(0x50) { }) Store(Arg0, STG1) Store(Arg1, STG2) Store(SizeOf(Arg0), Local0) Store(SizeOf(Arg1), Local1) If(LNot(LEqual(Local0, Local1))) { Return(Zero) } Store(Zero, Local4) While(LLess(Local4, Local0)) { Store(DerefOf(Index(STG1, Local4, )), Local2) Store(DerefOf(Index(STG2, Local4, )), Local3) If(LNot(LEqual(Local2, Local3))) { Return(Zero) } Increment(Local4) } Return(One) } Name(WNOS, 0x0) Method(CKOS) { If(LEqual(WNOS, 0x0)) { If(CMPS(\_OS_, "Microsoft Windows NT")) { Store(0x2, WNOS) } If(CMPS(\_OS_, "Microsoft Windows")) { Store(0x1, WNOS) } } Return(WNOS) } Scope(\_SB_) { Name(DCKF, 0x0) Device(MEM_) { Name(_HID, 0x010cd041) Method(_CRS) { Name(MCRS, Buffer(0x26) {0x86, 0x9, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0x0, 0x0, 0x2, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xfa, 0xff, 0x0, 0x0, 0x6, 0x0, 0x79, 0x0 }) Return(MCRS) } Method(_STA) { Return(0xf) } } OperationRegion(ACB_, SystemMemory, 0x0fffff2c, 0x00000090) Field(ACB_, AnyAcc, NoLock, Preserve) { BCMD, 8, DID_, 32, INFO, 1104 } Field(ACB_, AnyAcc, NoLock, Preserve) { Offset(0x5), INF_, 8 } Field(ACB_, AnyAcc, NoLock, Preserve) { Offset(0x89), MFLG, 8 } Field(ACB_, AnyAcc, NoLock, Preserve) { Offset(0x8b), DKSN, 32 } Field(ACB_, AnyAcc, NoLock, Preserve) { Offset(0x8f), DKTP, 8 } OperationRegion(SMIB, SystemIO, 0x0000fe00, 0x00000002) Field(SMIB, AnyAcc, NoLock, Preserve) { SMIC, 8 } Device(LID_) { Name(_HID, 0x0d0cd041) Method(_LID) { Store("LID STATE", Debug) Return(LPOL) } Name(_PRW, Package(0x2) { 0xb, 0x4, }) } Device(BAT0) { Name(_UID, 0x1) Name(_HID, 0x0a0cd041) Name(_PCL, Package(0x1) { \_SB_, }) Method(_STA) { If(\_SB_.PCI0.PX40.ECOK()) { If(\_SB_.PCI0.PX40.EC0_.BAT0) { Return(0x1f) } Else { Return(0xf) } } Else { Return(0x1f) } } Method(_BIF) { Return(Package(0xd) { 0x1, 0x1194, 0x1194, 0x1, 0x3840, 0x01a4, 0x9c, 0x0108, 0x0ec4, "N30W ", "3658Q", "Li-Ion", "COMP", }) } Method(_BST) { Store(0x1, Local0) Store(0x01ff, Local1) Store(0x0900, Local2) Store(0x1fff, Local3) Name(STAT, Package(0x4) { }) If(\_SB_.PCI0.PX40.ECOK()) { Store(\_SB_.PCI0.PX40.EC0_.BST0, Local0) Store(\_SB_.PCI0.PX40.EC0_.BPR0, Local1) Store(\_SB_.PCI0.PX40.EC0_.BRC0, Local2) Store(\_SB_.PCI0.PX40.EC0_.BPV0, Local3) } Store(Local0, Index(STAT, 0x0, )) Store(Local1, Index(STAT, 0x1, )) Store(Local2, Index(STAT, 0x2, )) Store(Local3, Index(STAT, 0x3, )) Return(STAT) } } Device(BAT1) { Name(_UID, 0x2) Name(_HID, 0x0a0cd041) Name(_PCL, Package(0x1) { \_SB_, }) Method(_STA) { If(\_SB_.PCI0.PX40.ECOK()) { If(\_SB_.PCI0.PX40.EC0_.BAT1) { Return(0x1f) } Else { Return(0xf) } } Else { Return(0x1f) } } Method(_BIF) { Return(Package(0xd) { 0x1, 0x1194, 0x1194, 0x1, 0x3840, 0x01a4, 0x9c, 0x0108, 0x0ec4, "N30W ", "3659Q", "Li-Ion", "COMP", }) } Method(_BST) { Store(Zero, Local0) Store(Zero, Local1) Store(Zero, Local2) Store(Zero, Local3) Name(STAT, Package(0x4) { }) If(\_SB_.PCI0.PX40.ECOK()) { Store(\_SB_.PCI0.PX40.EC0_.BST1, Local0) Store(\_SB_.PCI0.PX40.EC0_.BPR1, Local1) Store(\_SB_.PCI0.PX40.EC0_.BRC1, Local2) Store(\_SB_.PCI0.PX40.EC0_.BPV1, Local3) } Store(Local0, Index(STAT, 0x0, )) Store(Local1, Index(STAT, 0x1, )) Store(Local2, Index(STAT, 0x2, )) Store(Local3, Index(STAT, 0x3, )) Return(STAT) } } Device(AC__) { Name(_HID, "ACPI0003") Name(_PCL, Package(0x1) { \_SB_, }) Method(_PSR) { If(\_SB_.PCI0.PX43.ACPW) { Return(0x0) } Else { Return(0x1) } } Method(_STA) { If(\_SB_.PCI0.PX43.ACPW) { Return(0xf) } Else { Return(0xf) } } } Device(PCI0) { Name(_HID, 0x030ad041) Name(_ADR, 0x0) Name(_PRT, Package(0x6) { Package(0x4) { 0x0007ffff, 0x3, \_SB_.PCI0.PX40.LNKD, 0x0, }, Package(0x4) { 0x0004ffff, 0x0, \_SB_.PCI0.PX40.LNKA, 0x0, }, Package(0x4) { 0x0004ffff, 0x1, \_SB_.PCI0.PX40.LNKB, 0x0, }, Package(0x4) { 0x0008ffff, 0x0, \_SB_.PCI0.PX40.LNKD, 0x0, }, Package(0x4) { 0x0010ffff, 0x0, \_SB_.PCI0.PX40.LNKD, 0x0, }, Package(0x4) { 0x000dffff, 0x0, \_SB_.PCI0.PX40.LNKB, 0x0, }, }) Name(_BBN, 0x0) OperationRegion(REGS, PCI_Config, 0x40, 0xc0) Field(REGS, DWordAcc, NoLock, Preserve) { Offset(0x19), PAM0, 8, PAM1, 8, PAM2, 8, PAM3, 8, PAM4, 8, PAM5, 8, PAM6, 8, DRB0, 8, DRB1, 8, DRB2, 8, DRB3, 8, DRB4, 8, DRB5, 8, DRB6, 8, DRB7, 8, , 6, HEN_, 2, Offset(0x33), T_EN, 1, T_SZ, 2, Offset(0x3a), CRST, 1 } Method(MDET) { ShiftLeft(DRB7, 0x17, Local0) Return(Local0) } Name(RSRC, Buffer(0x01da) {0x88, 0xe, 0x0, 0x2, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xe, 0x0, 0x1, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x88, 0xe, 0x0, 0x1, 0xe, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x47, 0x1, 0x0, 0x10, 0x0, 0x10, 0x1, 0x16, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Store(Zero, Local1) If(T_EN) { ShiftLeft(0x1, Add(T_SZ, 0x11, ), Local1) } CreateDWordField(RSRC, 0x017a, BTMN) CreateDWordField(RSRC, 0x017e, BTMX) CreateDWordField(RSRC, 0x0186, BTLN) Multiply(DRB7, 0x00800000, Local0) If(T_EN) { Subtract(Local0, Local1, Local2) Store(Local2, BTMN) Subtract(Add(Local0, 0x10000000, ), BTMN, BTLN) } Else { Store(Local0, BTMN) Subtract(0xffe00000, Local0, BTLN) Subtract(Add(BTMN, BTLN, ), 0x1, BTMX) } CreateDWordField(RSRC, 0x0195, ATMN) CreateDWordField(RSRC, 0x0199, ATMX) CreateDWordField(RSRC, 0x01a1, ATLN) If(T_EN) { Add(Add(BTMN, BTLN, ), Local1, ATMN) Subtract(0xffe00000, ATMN, ATLN) Subtract(Add(ATMN, ATLN, ), 0x1, ATMX) } Else { Store(Zero, ATLN) } CreateBitField(RSRC, 0x0188, C0RW) CreateDWordField(RSRC, 0x36, C0MN) CreateDWordField(RSRC, 0x3a, C0MX) CreateDWordField(RSRC, 0x42, C0LN) Store(One, C0RW) If(LEqual(And(PAM1, 0x3, ), 0x1)) { Store(Zero, C0RW) } Store(Zero, C0LN) If(LNot(And(PAM1, 0x3, ))) { Store(0x4000, C0LN) } CreateBitField(RSRC, 0x0260, C4RW) CreateDWordField(RSRC, 0x51, C4MN) CreateDWordField(RSRC, 0x55, C4MX) CreateDWordField(RSRC, 0x5d, C4LN) Store(One, C4RW) If(LEqual(And(PAM1, 0x30, ), 0x10)) { Store(Zero, C4RW) } Store(Zero, C4LN) If(LNot(And(PAM1, 0x30, ))) { Store(0x4000, C4LN) } CreateBitField(RSRC, 0x0338, C8RW) CreateDWordField(RSRC, 0x6c, C8MN) CreateDWordField(RSRC, 0x70, C8MX) CreateDWordField(RSRC, 0x78, C8LN) Store(One, C8RW) If(LEqual(And(PAM2, 0x3, ), 0x1)) { Store(Zero, C8RW) } Store(Zero, C8LN) If(LNot(And(PAM2, 0x3, ))) { Store(0x4000, C8LN) } CreateBitField(RSRC, 0x0410, CCRW) CreateDWordField(RSRC, 0x87, CCMN) CreateDWordField(RSRC, 0x8b, CCMX) CreateDWordField(RSRC, 0x93, CCLN) Store(One, CCRW) If(LEqual(And(PAM2, 0x30, ), 0x10)) { Store(Zero, CCRW) } Store(Zero, CCLN) If(LNot(And(PAM2, 0x30, ))) { Store(0x4000, CCLN) } CreateBitField(RSRC, 0x04e8, D0RW) CreateDWordField(RSRC, 0xa2, D0MN) CreateDWordField(RSRC, 0xa6, D0MX) CreateDWordField(RSRC, 0xae, D0LN) Store(One, D0RW) If(LEqual(And(PAM3, 0x3, ), 0x1)) { Store(Zero, D0RW) } Store(Zero, D0LN) If(LNot(And(PAM3, 0x3, ))) { Store(0x4000, D0LN) } CreateBitField(RSRC, 0x05c0, D4RW) CreateDWordField(RSRC, 0xbd, D4MN) CreateDWordField(RSRC, 0xc1, D4MX) CreateDWordField(RSRC, 0xc9, D4LN) Store(One, D4RW) If(LEqual(And(PAM3, 0x30, ), 0x10)) { Store(Zero, D4RW) } Store(Zero, D4LN) If(LNot(And(PAM3, 0x30, ))) { Store(0x4000, D4LN) } CreateBitField(RSRC, 0x0698, D8RW) CreateDWordField(RSRC, 0xd8, D8MN) CreateDWordField(RSRC, 0xdc, D8MX) CreateDWordField(RSRC, 0xe4, D8LN) Store(One, D8RW) If(LEqual(And(PAM4, 0x3, ), 0x1)) { Store(Zero, D8RW) } Store(Zero, D8LN) If(LNot(And(PAM4, 0x3, ))) { Store(0x4000, D8LN) } CreateBitField(RSRC, 0x0770, DCRW) CreateDWordField(RSRC, 0xf3, DCMN) CreateDWordField(RSRC, 0xf7, DCMX) CreateDWordField(RSRC, 0xff, DCLN) Store(One, DCRW) If(LEqual(And(PAM4, 0x30, ), 0x10)) { Store(Zero, DCRW) } Store(Zero, DCLN) If(LNot(And(PAM4, 0x30, ))) { Store(0x4000, DCLN) } CreateBitField(RSRC, 0x0848, E0RW) CreateDWordField(RSRC, 0x010e, E0MN) CreateDWordField(RSRC, 0x0112, E0MX) CreateDWordField(RSRC, 0x011a, E0LN) Store(One, E0RW) If(LEqual(And(PAM5, 0x3, ), 0x1)) { Store(Zero, E0RW) } Store(Zero, E0LN) If(LNot(And(PAM5, 0x3, ))) { Store(0x4000, E0LN) } CreateBitField(RSRC, 0x0920, E4RW) CreateDWordField(RSRC, 0x0129, E4MN) CreateDWordField(RSRC, 0x012d, E4MX) CreateDWordField(RSRC, 0x0135, E4LN) Store(One, E4RW) If(LEqual(And(PAM5, 0x30, ), 0x10)) { Store(Zero, E4RW) } Store(Zero, E4LN) If(LNot(And(PAM5, 0x30, ))) { Store(0x4000, E4LN) } CreateBitField(RSRC, 0x09f8, E8RW) CreateDWordField(RSRC, 0x0144, E8MN) CreateDWordField(RSRC, 0x0148, E8MX) CreateDWordField(RSRC, 0x0150, E8LN) Store(One, E8RW) If(LEqual(And(PAM6, 0x3, ), 0x1)) { Store(Zero, E8RW) } Store(Zero, E8LN) If(LNot(And(PAM6, 0x3, ))) { Store(0x4000, E8LN) } CreateBitField(RSRC, 0x0ad0, ECRW) CreateDWordField(RSRC, 0x015f, ECMN) CreateDWordField(RSRC, 0x0163, ECMX) CreateDWordField(RSRC, 0x016b, ECLN) Store(One, ECRW) If(LEqual(And(PAM6, 0x30, ), 0x10)) { Store(Zero, ECRW) } Store(Zero, ECLN) If(LNot(And(PAM6, 0x30, ))) { Store(0x4000, ECLN) } Return(RSRC) } Method(_STA) { Return(0xf) } Device(PX40) { Name(_ADR, 0x00070000) OperationRegion(PIRX, PCI_Config, 0x60, 0x4) Field(PIRX, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } OperationRegion(P4B0, PCI_Config, 0xb0, 0x4) Field(P4B0, ByteAcc, NoLock, Preserve) { ISEI, 1, POSD, 1, , 10, SISI, 1, Offset(0x2) } Name(LPT1, Package(0x3) { 0x03bc, 0x0378, 0x0278, }) Name(LPT2, Package(0x3) { 0x03be, 0x037f, 0x027f, }) Name(UAP1, Package(0x8) { 0x03f8, 0x02f8, 0x0220, 0x0228, 0x0238, 0x02e8, 0x0338, 0x03e8, }) Name(UAP2, Package(0x8) { 0x03ff, 0x02ff, 0x0227, 0x022f, 0x023f, 0x02ef, 0x033f, 0x03ef, }) Name(FDC1, Package(0x2) { 0x03f0, 0x0370, }) Name(FDC2, Package(0x2) { 0x03f7, 0x0377, }) Method(DECD, 4) { Store("DECD", Debug) Store(Arg0, Debug) Store(Arg1, Debug) Store(Arg2, Debug) Store(Arg3, Debug) DISB(Arg0, Arg1) If(LNot(LEqual(Arg3, Ones))) { ENAB(Arg2, Arg3, Arg0) } } Method(DISB, 2) { If(LAnd(^^PX43.LPTE, ^^PX43.LPTM)) { If(LNot(LLess(Arg0, DerefOf(Index(LPT1, ^^PX43.LPTA, ))))) { If(LNot(LGreater(Add(Arg0, Arg1, ), DerefOf(Index(LPT2, ^^PX43.LPTA, ))))) { Store("LPT Decode Disabled", Debug) Store(Arg0, Debug) Store(Zero, ^^PX43.LPTE) Return(Zero) } } } If(LAnd(^^PX43.U1E_, ^^PX43.U1M_)) { If(LNot(LLess(Arg0, DerefOf(Index(UAP1, ^^PX43.U1A_, ))))) { If(LNot(LGreater(Add(Arg0, Arg1, ), DerefOf(Index(UAP2, ^^PX43.U1A_, ))))) { Store("COM1 Decode Disabled", Debug) Store(Arg0, Debug) Store(Zero, ^^PX43.U1E_) Return(Zero) } } } If(LAnd(^^PX43.U2E_, ^^PX43.U2M_)) { If(LNot(LLess(Arg0, DerefOf(Index(UAP1, ^^PX43.U2A_, ))))) { If(LNot(LGreater(Add(Arg0, Arg1, ), DerefOf(Index(UAP2, ^^PX43.U2A_, ))))) { Store("COM2 Decode Disabled", Debug) Store(Arg0, Debug) Store(Zero, ^^PX43.U2E_) Return(Zero) } } } If(LAnd(^^PX43.FDCE, ^^PX43.FDCM)) { If(LNot(LLess(Arg0, DerefOf(Index(FDC1, ^^PX43.FDCA, ))))) { If(LNot(LGreater(Add(Arg0, Arg1, ), DerefOf(Index(FDC2, ^^PX43.FDCA, ))))) { Store("FDC Decode Disabled", Debug) Store(Arg0, Debug) Store(Zero, ^^PX43.FDCE) Return(Zero) } } } Return(Ones) } Method(ENAB, 3) { Store(Arg0, Local0) Add(Arg0, Arg1, Local1) Store(SizeOf(LPT1), Local2) While(Local2) { Decrement(Local2) If(LNot(LLess(Local0, DerefOf(Index(LPT1, Local2, ))))) { If(LNot(LGreater(Local1, DerefOf(Index(LPT2, Local2, ))))) { Store("LPT Decode Enabled", Debug) Store(Arg0, Debug) Store(Local2, Debug) Store(Local2, ^^PX43.LPTA) Store(One, ^^PX43.LPTE) Store(One, ^^PX43.LPTM) Return(Zero) } } } If(LEqual(Arg2, 0x11)) { Store(SizeOf(UAP1), Local2) While(Local2) { Decrement(Local2) If(LNot(LLess(Local0, DerefOf(Index(UAP1, Local2, ))))) { If(LNot(LGreater(Local1, DerefOf(Index(UAP2, Local2, ))))) { Store("COM1 Decode Enabled", Debug) Store(Arg0, Debug) Store(Local2, Debug) Store(Local2, ^^PX43.U1A_) Store(One, ^^PX43.U1E_) Store(One, ^^PX43.U1M_) Return(Zero) } } } } If(LEqual(Arg2, 0x22)) { Store(SizeOf(UAP1), Local2) While(Local2) { Decrement(Local2) If(LNot(LLess(Local0, DerefOf(Index(UAP1, Local2, ))))) { If(LNot(LGreater(Local1, DerefOf(Index(UAP2, Local2, ))))) { Store("COM2 Decode Enabled", Debug) Store(Arg0, Debug) Store(Local2, Debug) Store(Local2, ^^PX43.U2A_) Store(One, ^^PX43.U2E_) Store(One, ^^PX43.U2M_) Return(Zero) } } } } Store(SizeOf(FDC1), Local2) While(Local2) { Decrement(Local2) If(LNot(LLess(Local0, DerefOf(Index(FDC1, Local2, ))))) { If(LNot(LGreater(Local1, DerefOf(Index(FDC2, Local2, ))))) { Store("FDC Decode Enabled", Debug) Store(Arg0, Debug) Store(Local2, Debug) Store(Local2, ^^PX43.FDCA) Store(One, ^^PX43.FDCE) Store(One, ^^PX43.FDCM) Return(Zero) } } } } Device(SIO_) { Name(_HID, 0x050ad041) Name(_UID, 0x1) Mutex(MSIO, 0) Name(DMMP, Package(0x4) { 0x1, 0x4, 0x8, 0x2, }) Name(DMMT, Package(0x5) { 0xff, 0x0, 0x3, 0x1, 0x2, }) Name(LPMD, Package(0x4) { 0x2, 0x3, 0x4, 0xff, }) OperationRegion(SMC1, SystemIO, 0x0370, 0x2) Field(SMC1, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) { CR00, 8, CR01, 8, CR02, 8, Offset(0x4), CR04, 8, Offset(0x7), CR07, 8, Offset(0xc), CR0C, 8, Offset(0x20), CR20, 8, Offset(0x23), CR23, 8, CR24, 8, CR25, 8, CR26, 8, CR27, 8, CR28, 8, Offset(0x2b), CR2B, 8, CR2C, 8 } Method(ENFG) { Acquire(MSIO, 0xffff) Store(0x0370, \_SB_.PCI0.PX43.DEC1) Store(0x11, \_SB_.PCI0.PX43.DEEN) Store(0xd, INDX) While(LNot(LEqual(DATA, 0x29))) { Store(0x55, INDX) Store(0xd, INDX) } } Method(EXFG) { Store(0xaa, INDX) Store(0x1, \_SB_.PCI0.PX43.DEEN) Release(MSIO) } Name(REGS, Package(0x18) { 0x0, 0x1, 0x2, 0x4, 0x5, 0x7, 0xa, 0xc, 0x1e, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, }) Name(SAVE, Package(0x18) { 0x0, 0x1, 0x2, 0x4, 0x5, 0x7, 0xa, 0xc, 0x1e, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, }) Name(LPTM, 0x0) Name(FDCM, 0x0) Name(UT1M, 0x0) Name(UT2M, 0x0) Method(_INI) { ENFG() If(LNot(FDCM)) { And(CR00, 0x8, Local0) If(Local0) { Store(0x1, FDCM) } Else { Store(0xff, FDCM) } } If(LNot(LPTM)) { And(CR01, 0x4, Local0) And(CR01, 0x8, Local1) And(CR04, 0x3, Local2) Store(0xff, LPTM) If(Local0) { If(Local1) { Store(0xff, LPTM) } Else { Store(DerefOf(Index(LPMD, Local2, )), LPTM) } } Else { Store(0xff, LPTM) } } If(LNot(UT1M)) { And(CR02, 0x8, Local0) If(Local0) { Store(0x1, UT1M) } Else { Store(0xff, UT1M) } } If(LNot(UT2M)) { And(CR02, 0x80, Local0) And(CR0C, 0x38, Local1) And(CR2B, 0xe0, Local4) Store(0xff, UT2M) If(Local0) { If(LEqual(Local1, 0x0)) { Store(0xff, UT2M) } If(LEqual(Local1, 0x8)) { If(Local4) { Store(0x4, UT2M) } Else { Store(0x2, UT2M) } } If(LEqual(Local1, 0x10)) { Store(0xff, UT2M) } } Else { Store(0xff, UT2M) } } EXFG() } Name(_PSC, 0x0) Name(_PR0, Package(0x0) { }) Method(_PS0) { ON__() } Method(_PS3) { OFF_() } Method(ON__) { If(LEqual(_PSC, 0x3)) { ENFG() Store(Zero, Local0) While(LLess(Local0, SizeOf(REGS))) { Store(DerefOf(Index(REGS, Local0, )), INDX) Store(DerefOf(Index(SAVE, Local0, )), DATA) Increment(Local0) } EXFG() } Store(0x0, _PSC) } Method(OFF_) { ENFG() Store(Zero, Local0) While(LLess(Local0, SizeOf(REGS))) { Store(DerefOf(Index(REGS, Local0, )), INDX) Store(DATA, Index(SAVE, Local0, )) Increment(Local0) } EXFG() Store(0x3, _PSC) } Device(FDC_) { Name(_HID, 0x0007d041) Method(_STA) { ENFG() Store(0x0, Local7) If(LNot(LEqual(FDCM, 0xff))) { And(CR00, 0x8, Local0) And(CR20, 0xc0, Local1) Store(0x5, Local7) If(LAnd(Local0, Local1)) { Store(0xf, Local7) } } EXFG() Return(Local7) } Method(_DIS) { ENFG() And(CR00, 0xf7, CR00) EXFG() } Method(_CRS) { Name(RSRC, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 }) ENFG() CreateByteField(RSRC, 0x2, IO1_) CreateByteField(RSRC, 0x3, IO2_) CreateByteField(RSRC, 0x4, IO3_) CreateByteField(RSRC, 0x5, IO4_) CreateByteField(RSRC, 0xa, IO5_) CreateByteField(RSRC, 0xb, IO6_) CreateByteField(RSRC, 0xc, IO7_) CreateByteField(RSRC, 0xd, IO8_) CreateWordField(RSRC, 0x11, IRQV) CreateByteField(RSRC, 0x14, DMAV) ShiftLeft(CR20, 0x2, Local0) ShiftRight(CR20, 0x6, Local1) Store(Local0, IO1_) Store(Local1, IO2_) Store(Local0, IO3_) Store(Local1, IO4_) Add(Local0, 0x7, Local2) Store(Local2, IO5_) Store(Local1, IO6_) Store(Local2, IO7_) Store(Local1, IO8_) ShiftRight(CR27, 0x4, Local3) Store(0x1, Local4) ShiftLeft(Local4, Local3, Local5) And(Local5, 0xfe, IRQV) ShiftRight(CR26, 0x4, Local6) Store(0x0, DMAV) If(LNot(LGreater(Local6, 0x3))) { Store(DerefOf(Index(DMMP, Local6, )), DMAV) } EXFG() Return(RSRC) } Name(_PRS, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IO1_) CreateByteField(Arg0, 0x3, IO2_) CreateWordField(Arg0, 0x11, IRQV) CreateByteField(Arg0, 0x14, DMAV) CreateWordField(Arg0, 0x2, FDIO) ENFG() ShiftRight(IO1_, 0x2, Local0) ShiftLeft(IO2_, 0x6, Local1) Or(Local0, Local1, CR20) FindSetRightBit(IRQV, Local3) If(Local3) { Decrement(Local3) } ShiftLeft(Local3, 0x4, Local3) And(CR27, 0xf, CR27) Or(CR27, Local3, CR27) FindSetRightBit(DMAV, Local4) Store(DerefOf(Index(DMMT, Local4, )), Local4) ShiftLeft(Local4, 0x4, Local4) And(CR26, 0xf, CR26) Or(CR26, Local4, CR26) EXFG() Store(FDIO, Local6) DECD(0x0, 0x0, Local6, 0x7) } Method(_PSC) { ENFG() If(And(CR00, 0x8, )) { Store(0x0, Local0) } Else { Store(0x3, Local0) } EXFG() Return(Local0) } Name(_PR0, Package(0x0) { }) Method(_PS0) { ENFG() Or(CR00, 0x8, CR00) EXFG() } Method(_PS3) { ENFG() And(CR00, 0xf7, CR00) EXFG() } } Device(LPT_) { Method(_HID) { Store(0x0004d041, Local7) If(LEqual(LPTM, 0x4)) { Store(0x0104d041, Local7) } Return(Local7) } Method(_STA) { ENFG() If(LNot(LEqual(LPTM, 0xff))) { And(CR01, 0x4, Local0) And(CR23, 0xc0, Local1) Store(0x5, Local7) If(LAnd(Local0, Local1)) { Store(0xf, Local7) } } Else { Store(0x0, Local7) } EXFG() Return(Local7) } Method(_DIS) { ENFG() And(CR23, 0x3f, CR23) And(CR26, 0xf0, CR26) And(CR27, 0xf0, CR27) EXFG() } Method(_CRS) { ENFG() If(LNot(LEqual(LPTM, 0x4))) { Name(CRSA, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) And(CR01, 0x4, Local0) And(CR23, 0xc0, Local1) And(CR26, 0xf, Local2) And(CR27, 0xf, Local3) CreateByteField(CRSA, 0x2, IOA1) CreateByteField(CRSA, 0x3, IOA2) CreateByteField(CRSA, 0x4, IOA3) CreateByteField(CRSA, 0x5, IOA4) CreateByteField(CRSA, 0x7, LNA1) CreateWordField(CRSA, 0x9, IRQA) ShiftLeft(CR23, 0x2, Local0) ShiftRight(CR23, 0x6, Local1) Store(Local0, IOA1) Store(Local1, IOA2) Store(Local0, IOA3) Store(Local1, IOA4) If(LEqual(Local0, 0x03bc)) { Store(0x4, LNA1) } Else { Store(0x8, LNA1) } And(CR27, 0xf, Local2) Store(0x1, Local3) ShiftLeft(Local3, Local2, Local4) And(Local4, 0xfe, IRQA) Store(CRSA, Local7) } Else { Name(CRSB, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(CRSB, 0x2, IOB1) CreateByteField(CRSB, 0x3, IOB2) CreateByteField(CRSB, 0x4, IOB3) CreateByteField(CRSB, 0x5, IOB4) CreateByteField(CRSB, 0x7, LNB1) CreateByteField(CRSB, 0xa, IOB5) CreateByteField(CRSB, 0xb, IOB6) CreateByteField(CRSB, 0xc, IOB7) CreateByteField(CRSB, 0xd, IOB8) CreateByteField(CRSB, 0xf, LNB2) CreateWordField(CRSB, 0x11, IRQB) CreateWordField(CRSB, 0x14, DMAV) ShiftLeft(CR23, 0x2, Local0) ShiftRight(CR23, 0x6, Local1) Store(Local0, IOB1) Store(Local1, IOB2) Store(Local0, IOB3) Store(Local1, IOB4) Store(Local0, IOB5) Add(Local1, 0x4, IOB6) Store(Local0, IOB7) Add(Local1, 0x4, IOB8) If(LEqual(Local0, 0x03bc)) { Store(0x4, LNB1) Store(0x4, LNB2) } Else { Store(0x8, LNB1) Store(0x8, LNB2) } And(CR27, 0xf, Local2) Store(0x1, Local3) ShiftLeft(Local3, Local2, Local4) And(Local4, 0xfe, IRQB) And(CR26, 0xf, Local5) Store(0x0, DMAV) If(LNot(LGreater(Local5, 0x3))) { Store(DerefOf(Index(DMMP, Local5, )), DMAV) } Store(CRSB, Local7) } EXFG() Return(Local7) } Name(PRSA, Buffer(0x6f) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x20, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x20, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0xa0, 0xc, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0xa0, 0xc, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0xa0, 0xc, 0x38, 0x79, 0x0 }) Name(PRSB, Buffer(0xd2) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0x80, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0x20, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0xa0, 0xc, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0xa0, 0xc, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0xa0, 0xc, 0x2a, 0xb, 0x0, 0x38, 0x79, 0x0 }) Method(_PRS) { Store(PRSA, Local7) If(LEqual(LPTM, 0x4)) { Store(PRSB, Local7) } Return(Local7) } Method(_SRS, 1) { ENFG() CreateByteField(Arg0, 0x2, IO1_) CreateByteField(Arg0, 0x3, IO2_) CreateWordField(Arg0, 0x9, IRQV) CreateWordField(Arg0, 0x11, EIRQ) CreateByteField(Arg0, 0x14, EDMA) CreateWordField(Arg0, 0x2, LPIO) ShiftRight(IO1_, 0x2, Local0) ShiftLeft(IO2_, 0x6, Local1) Or(Local0, Local1, CR23) If(LEqual(LPTM, 0x4)) { FindSetRightBit(EDMA, Local2) Store(DerefOf(Index(DMMT, Local2, )), Local3) And(CR26, 0xf0, CR26) Or(CR26, Local3, CR26) FindSetRightBit(EIRQ, Local4) } Else { FindSetRightBit(IRQV, Local4) } If(Local4) { Decrement(Local4) } And(CR27, 0xf0, CR27) Or(CR27, Local4, CR27) EXFG() Store(LPIO, Local6) DECD(0x0, 0x0, Local6, 0x7) } Method(_PSC) { ENFG() If(And(CR01, 0x4, )) { Store(0x0, Local0) } Else { Store(0x3, Local0) } EXFG() Return(Local0) } Name(_PR0, Package(0x0) { }) Method(_PS0) { ENFG() Or(CR01, 0x4, CR01) EXFG() } Method(_PS3) { ENFG() And(CR01, 0xfb, CR01) EXFG() } } Device(COM1) { Name(_HID, 0x0105d041) Method(_STA) { ENFG() Store(0x0, Local7) If(LNot(LEqual(UT1M, 0xff))) { Store(0xf, Local7) If(And(CR02, 0x8, )) { And(Local7, 0xf7, ) } If(And(CR24, 0xc0, )) { And(Local7, 0xfd, ) } } EXFG() Return(Local7) } Method(_DIS) { ENFG() And(CR24, 0x3f, CR24) EXFG() } Method(_CRS) { Name(RSRC, Buffer(0xd) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x79, 0x0 }) ENFG() CreateByteField(RSRC, 0x2, IO1_) CreateByteField(RSRC, 0x3, IO2_) CreateByteField(RSRC, 0x4, IO3_) CreateByteField(RSRC, 0x5, IO4_) CreateByteField(RSRC, 0x7, LN1_) CreateWordField(RSRC, 0x9, IRQV) ShiftLeft(CR24, 0x2, Local0) ShiftRight(CR24, 0x6, Local1) Store(Local0, IO1_) Store(Local1, IO2_) Store(Local0, IO3_) Store(Local1, IO4_) If(And(CR24, 0xc0, )) { Store(0x8, LN1_) } Else { Store(0x0, LN1_) } ShiftRight(CR28, 0x4, Local0) Store(0x1, Local1) ShiftLeft(Local1, Local0, Local0) And(Local0, 0xfe, Local0) Store(Local0, IRQV) EXFG() Return(RSRC) } Name(_PRS, Buffer(0x63) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IO1_) CreateByteField(Arg0, 0x3, IO2_) CreateWordField(Arg0, 0x9, IRQV) CreateWordField(Arg0, 0x2, CAIO) ENFG() Store(0x0, CR24) ShiftRight(IO1_, 0x2, Local0) ShiftLeft(IO2_, 0x6, Local1) Or(Local0, Local1, CR24) FindSetRightBit(IRQV, Local0) If(Local0) { Decrement(Local0) } ShiftLeft(Local0, 0x4, Local0) And(CR28, 0xf, CR28) Or(CR28, Local0, CR28) EXFG() Store(CAIO, Local6) DECD(0x11, 0x0, Local6, 0x7) } Method(_PSC) { ENFG() If(And(CR02, 0x8, )) { Store(0x0, Local0) } Else { Store(0x3, Local0) } EXFG() Return(Local0) } Name(_PR0, Package(0x0) { }) Method(_PS0) { ENFG() Or(CR02, 0x8, CR02) EXFG() } Method(_PS3) { ENFG() And(CR02, 0xf7, CR02) EXFG() } Name(_PRW, Package(0x2) { 0xa, 0x4, }) } Device(SIRA) { Name(_HID, 0x1005d041) Method(_STA) { ENFG() If(LEqual(UT2M, 0x2)) { And(CR02, 0x80, Local0) And(CR25, 0xc0, Local1) And(CR28, 0xf, Local2) Store(0x5, Local7) If(LAnd(LAnd(Local0, Local1), LNot(LEqual(Local2, 0xf)))) { Store(0xf, Local7) } } Else { Store(0x0, Local7) } EXFG() Return(Local7) } Method(_DIS) { ENFG() And(CR02, 0x7f, CR02) EXFG() } Method(_CRS) { Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) ENFG() And(CR25, 0xc0, Local0) And(CR02, 0x80, Local1) If(LAnd(Local0, Local1)) { CreateByteField(RSRC, 0x2, IO1_) CreateByteField(RSRC, 0x3, IO2_) CreateByteField(RSRC, 0x4, IO3_) CreateByteField(RSRC, 0x5, IO4_) CreateWordField(RSRC, 0x9, IRQV) ShiftLeft(CR25, 0x2, Local2) ShiftRight(CR25, 0x6, Local3) Store(Local2, IO1_) Store(Local3, IO2_) Store(Local2, IO3_) Store(Local3, IO4_) And(CR28, 0xf, Local5) Store(0x1, Local4) ShiftLeft(Local4, Local5, IRQV) } EXFG() Return(RSRC) } Name(_PRS, Buffer(0x63) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x10, 0x0, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IO1_) CreateByteField(Arg0, 0x3, IO2_) CreateWordField(Arg0, 0x9, IRQV) CreateWordField(Arg0, 0x2, SIRO) ENFG() ShiftRight(IO1_, 0x2, Local1) ShiftLeft(IO2_, 0x6, Local2) Or(Local1, Local2, CR25) FindSetRightBit(IRQV, Local3) Decrement(Local3) And(CR28, 0xf0, CR28) Or(CR28, Local3, CR28) Or(CR02, 0x80, CR02) And(CR07, 0xdf, CR07) EXFG() Store(SIRO, Local6) DECD(0x22, 0x0, Local6, 0x7) } Method(_PSC) { ENFG() If(And(CR02, 0x80, )) { Store(0x0, Local0) } Else { Store(0x3, Local0) } EXFG() Return(Local0) } Name(_PR0, Package(0x0) { }) Method(_PS0) { ENFG() Or(CR02, 0x80, CR02) EXFG() } Method(_PS3) { ENFG() And(CR02, 0x7f, CR02) EXFG() } } Device(FIRA) { Name(_HID, 0x10f0a34d) Method(_STA) { ENFG() If(LEqual(UT2M, 0x4)) { And(CR02, 0x80, Local0) And(CR25, 0xc0, Local1) And(CR28, 0xf, Local2) And(CR2B, 0xe0, Local3) And(CR2C, 0xf, Local4) Store(0x5, Local7) If(LAnd(LAnd(Local0, Local1), LNot(LEqual(Local2, 0xf)))) { If(LAnd(Local3, LNot(LGreater(Local4, 0x3)))) { Store(0xf, Local7) } } } Else { Store(0x0, Local7) } EXFG() Return(Local7) } Method(_DIS) { ENFG() And(CR02, 0x7f, CR02) EXFG() } Method(_CRS) { Name(RSRC, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 }) ENFG() And(CR25, 0xc0, Local0) And(CR02, 0x80, Local1) If(LAnd(Local0, Local1)) { CreateByteField(RSRC, 0x2, IOU1) CreateByteField(RSRC, 0x3, IOU2) CreateByteField(RSRC, 0x4, IOU3) CreateByteField(RSRC, 0x5, IOU4) CreateByteField(RSRC, 0xa, IOF1) CreateByteField(RSRC, 0xb, IOF2) CreateByteField(RSRC, 0xc, IOF3) CreateByteField(RSRC, 0xd, IOF4) CreateWordField(RSRC, 0x11, IRQV) CreateByteField(RSRC, 0x14, DMAV) ShiftLeft(CR25, 0x2, Local2) ShiftRight(CR25, 0x6, Local3) Store(Local2, IOU1) Store(Local3, IOU2) Store(Local2, IOU3) Store(Local3, IOU4) And(CR28, 0xf, Local5) Store(0x1, Local4) ShiftLeft(CR2B, 0x3, Local6) ShiftRight(CR2B, 0x5, Local7) Store(Local6, IOF1) Store(Local7, IOF2) Store(Local6, IOF3) Store(Local7, IOF4) ShiftLeft(Local4, Local5, IRQV) And(CR2C, 0xf, Local4) Store(DerefOf(Index(DMMP, Local4, )), DMAV) } EXFG() Return(RSRC) } Name(_PRS, Buffer(0xbb) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x58, 0x2, 0x58, 0x2, 0x8, 0x8, 0x22, 0x10, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x58, 0x1, 0x58, 0x1, 0x8, 0x8, 0x22, 0x8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x48, 0x2, 0x48, 0x2, 0x8, 0x8, 0x22, 0x10, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x48, 0x1, 0x48, 0x1, 0x8, 0x8, 0x22, 0x8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x58, 0x2, 0x58, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x58, 0x1, 0x58, 0x1, 0x8, 0x8, 0x22, 0x10, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x48, 0x2, 0x48, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x48, 0x1, 0x48, 0x1, 0x8, 0x8, 0x22, 0x10, 0x0, 0x2a, 0xb, 0x0, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOU1) CreateByteField(Arg0, 0x3, IOU2) CreateByteField(Arg0, 0xa, IOF1) CreateByteField(Arg0, 0xb, IOF2) CreateWordField(Arg0, 0x11, IRQV) CreateWordField(Arg0, 0x14, DMAV) CreateWordField(Arg0, 0x2, FIRO) ENFG() ShiftRight(IOU1, 0x2, Local1) ShiftLeft(IOU2, 0x6, Local2) Or(Local1, Local2, CR25) FindSetRightBit(IRQV, Local3) Decrement(Local3) And(CR28, 0xf0, CR28) Or(CR28, Local3, CR28) ShiftRight(IOF1, 0x3, Local1) ShiftLeft(IOF2, 0x5, Local2) Or(Local1, Local2, CR2B) FindSetRightBit(DMAV, Local4) Store(DerefOf(Index(DMMT, Local4, )), Local4) And(CR2C, 0xf, CR2C) Or(CR2C, Local4, CR2C) Or(CR02, 0x80, CR02) EXFG() Store(FIRO, Local6) DECD(0x22, 0x0, Local6, 0x7) } Method(_PSC) { ENFG() If(And(CR02, 0x80, )) { Store(0x0, Local0) } Else { Store(0x3, Local0) } EXFG() Return(Local0) } Name(_PR0, Package(0x0) { }) Method(_PS0) { ENFG() Or(CR02, 0x80, CR02) EXFG() } Method(_PS3) { ENFG() And(CR02, 0x7f, CR02) EXFG() } } } Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x1) Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xce, 0x18, 0x79, 0x0 }) Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) Method(_DIS) { Store("LNKA_DIS", Debug) Or(\_SB_.PCI0.PX40.PIRA, 0x80, \_SB_.PCI0.PX40.PIRA) } Method(_CRS) { Store("LNKA_CRS", Debug) CreateWordField(RSRC, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(\_SB_.PCI0.PX40.PIRA, 0x80, ))) { And(\_SB_.PCI0.PX40.PIRA, 0xf, Local0) ShiftLeft(0x1, Local0, IRQ0) } Store(RSRC, Debug) Return(RSRC) } Method(_SRS, 1) { Store("LNKA_SRS", Debug) Store(Arg0, Debug) CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Or(Local0, And(\_SB_.PCI0.PX40.PIRA, 0x70, ), \_SB_.PCI0.PX40.PIRA) } Method(_STA) { Store("LNKA_STA", Debug) If(And(\_SB_.PCI0.PX40.PIRA, 0x80, )) { Store(0x9, Debug) Return(0x9) } Store(0xb, Debug) Return(0xb) } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x2) Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xce, 0x18, 0x79, 0x0 }) Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) Method(_DIS) { Store("LNKB_DIS", Debug) Or(\_SB_.PCI0.PX40.PIRB, 0x80, \_SB_.PCI0.PX40.PIRB) } Method(_CRS) { CreateWordField(RSRC, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(\_SB_.PCI0.PX40.PIRB, 0x80, ))) { And(\_SB_.PCI0.PX40.PIRB, 0xf, Local0) ShiftLeft(0x1, Local0, IRQ0) } Return(RSRC) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Or(Local0, And(\_SB_.PCI0.PX40.PIRB, 0x70, ), \_SB_.PCI0.PX40.PIRB) } Method(_STA) { If(And(\_SB_.PCI0.PX40.PIRB, 0x80, )) { Return(0x9) } Return(0xb) } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x3) Name(_PRS, Buffer(0x6) {0x23, 0xa0, 0x0, 0x18, 0x79, 0x0 }) Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(\_SB_.PCI0.PX40.PIRC, 0x80, \_SB_.PCI0.PX40.PIRC) } Method(_CRS) { CreateWordField(RSRC, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(\_SB_.PCI0.PX40.PIRC, 0x80, ))) { And(\_SB_.PCI0.PX40.PIRC, 0xf, Local0) ShiftLeft(0x1, Local0, IRQ0) } Return(RSRC) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Or(Local0, And(\_SB_.PCI0.PX40.PIRC, 0x70, ), \_SB_.PCI0.PX40.PIRC) } Method(_STA) { If(And(\_SB_.PCI0.PX40.PIRC, 0x80, )) { Return(0x9) } Return(0xb) } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x4) Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xce, 0x18, 0x79, 0x0 }) Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(\_SB_.PCI0.PX40.PIRD, 0x80, \_SB_.PCI0.PX40.PIRD) } Method(_CRS) { CreateWordField(RSRC, 0x1, IRQ0) Store(Zero, IRQ0) If(LNot(And(\_SB_.PCI0.PX40.PIRD, 0x80, ))) { And(\_SB_.PCI0.PX40.PIRD, 0xf, Local0) ShiftLeft(0x1, Local0, IRQ0) } Return(RSRC) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Or(Local0, And(\_SB_.PCI0.PX40.PIRD, 0x70, ), \_SB_.PCI0.PX40.PIRD) } Method(_STA) { If(And(\_SB_.PCI0.PX40.PIRD, 0x80, )) { Return(0x9) } Return(0xb) } } Device(MOTH) { Name(_HID, 0x020cd041) Name(_CRS, Buffer(0x22) {0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x40, 0x10, 0x40, 0x10, 0x1, 0x10, 0x47, 0x1, 0x10, 0x38, 0x10, 0x38, 0x1, 0x10, 0x47, 0x1, 0x16, 0x10, 0x16, 0x10, 0x1, 0x2a, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(DMAA) { Name(_HID, 0x0002d041) Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x2, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(RTC_) { Name(_HID, 0x000bd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x2, 0x22, 0x0, 0x1, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(PIC_) { Name(_HID, 0xd041) Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(FPU_) { Name(_HID, 0x040cd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0xf, 0x22, 0x0, 0x20, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(TMR_) { Name(_HID, 0x0001d041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(SPKR) { Name(_HID, 0x0008d041) Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Method(ECOK) { If(LAnd(And(\_SB_.PCI0.PX40.EC0_.OPRG, 0x8, ), And(MFLG, 0x1, ))) { Return(0x1) } Else { Return(0x0) } } Device(EC0_) { Name(_HID, 0x090cd041) Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 }) Name(_GPE, 0x9) Name(OPRG, 0x17) Method(_REG, 2) { If(LEqual(Arg0, 0x3)) { If(LEqual(Arg1, 0x0)) { And(OPRG, Not(0x8, ), OPRG) } Else { Or(OPRG, 0x8, OPRG) } } } OperationRegion(RAM_, EmbeddedControl, 0x28, 0x40) Field(RAM_, AnyAcc, Lock, Preserve) { TMP_, 8, TMPC, 8, TMPA, 8, TMPP, 8, DCID, 8, Offset(0x6), , 1, , 1, TME0, 1, TME1, 1, , 1, PHDD, 1, SHDD, 1, FDD_, 1, DPWR, 1, UDR0, 1, UDR5, 1, EQBF, 1, LDDS, 1, CRST, 1, DCWT, 1, QVCC, 1, S1LD, 1, S2LD, 1, VGAQ, 1, LIDS, 1, LWAK, 1, MWAK, 1, ADP_, 1, POLL, 1, Offset(0xa), Offset(0x16), BAT0, 1, BAT1, 1, BAT2, 1, BAT3, 1, Offset(0x17), Offset(0x18), BDC0, 16, BDV0, 16, BTY0, 1, Offset(0x1d), BST0, 8, BPR0, 16, BRC0, 16, BPV0, 16, BTP0, 16, Offset(0x28), BDC1, 16, BDV1, 16, BTY1, 1, Offset(0x2d), BST1, 8, BPR1, 16, BRC1, 16, BPV1, 16, BTP1, 16, Offset(0x38), LDEN, 1, S1EN, 1, , 3, SFLD, 1, LIDC, 1, Offset(0x39), Offset(0x3a), Offset(0x3b), Offset(0x3c), Offset(0x3d), Offset(0x3e), MODE, 1, FAN0, 1, FAN1, 1, Offset(0x3f), PWRW, 1, RNGW, 1, LANW, 1, COMW, 1, Offset(0x40) } Method(_Q03) { Notify(\_TZ_.THRM, 0x80) } Method(_Q04) { Store(0x89, \_SB_.BCMD) Store(0x0, \_SB_.SMIC) Store(\_SB_.PCI0.PX40.EC0_.DCID, \_SB_.DKTP) Store(\_SB_.PCI0.PX40.EC0_.DCID, \_SB_.DKSN) Store(0x1, \_SB_.PCI0.PX40.EC0_.LDDS) Store(0x0, \_SB_.PCI0.PX40.EC0_.DCWT) If(LEqual(\_SB_.PCI0.PX40.EC0_.DCID, 0x3)) { Store(0x1, \_SB_.PCI0.PX40.EC0_.DPWR) Notify(\_SB_.PCI0.FDS_, 0x0) } Else { Notify(\_SB_.PCI0.SPR_, 0x0) } } Method(_Q05) { Store(\_SB_.PCI0.PX40.EC0_.DCID, \_SB_.DKTP) Store(\_SB_.PCI0.PX40.EC0_.DCID, \_SB_.DKSN) If(LNot(LEqual(\_SB_.PCI0.PX40.EC0_.DCID, 0x0))) { If(LEqual(\_SB_.PCI0.PX40.EC0_.DCID, 0x3)) { Notify(\_SB_.PCI0.FDS_, 0x1) } Else { Notify(\_SB_.PCI0.SPR_, 0x1) } } Else { Store(0x89, \_SB_.BCMD) Store(0x0, \_SB_.SMIC) Store(0x0, \_SB_.PCI0.PX40.EC0_.LDDS) Store(0x1, \_SB_.PCI0.PX40.EC0_.DCWT) } } Method(_Q06) { If(SHDD) { Sleep(0x01f4) Store(0x1, \_SB_.PCI0.PX40.SISI) Store(0x1, \_SB_.PCI0.PX43.SDPW) Store(0x1, \_SB_.PCI0.PX43.SRST) Sleep(0x32) Store(0x0, \_SB_.PCI0.PX43.SDPW) Sleep(0x32) Store(0x0, \_SB_.PCI0.PX40.SISI) Sleep(0x32) Store(0x1, \_SB_.PCI0.PX41.SIDE) Sleep(0x32) Store(0x0, \_SB_.PCI0.PX43.SRST) Store(0x14, Local7) While(Local7) { Sleep(0x01f4) Decrement(Local7) } Notify(\_SB_.PCI0.PX41.SECN, 0x0) } Else { } } Method(_Q08) { Store("Geyserville", Debug) Store(0x83, \_SB_.BCMD) Store(0x0, \_SB_.SMIC) If(\_SB_.PCI0.PX43.ACPW) { Notify(\_SB_.AC__, 0x80) } Else { Notify(\_SB_.AC__, 0x80) } } Method(_Q09) { If(\_SB_.PCI0.PX40.EC0_.BAT0) { Notify(\_SB_.BAT0, 0x80) } Else { Notify(\_SB_.BAT0, 0x80) } If(\_SB_.PCI0.PX40.EC0_.BAT1) { Notify(\_SB_.BAT1, 0x80) } Else { Notify(\_SB_.BAT1, 0x80) } } Method(_Q0B) { Notify(\_SB_.BAT0, 0x80) Notify(\_SB_.BAT1, 0x80) } Method(_Q0D) { Notify(\_SB_.SBTN, 0x80) } Method(_Q0E) { Store(0x1, PWRS) Notify(\_SB_.PWRB, 0x80) } } Device(KBC_) { Name(_HID, 0x0303d041) Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } Device(MOUE) { Name(_HID, 0x130fd041) Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 }) Method(_STA) { Return(0xf) } } } Device(PX41) { Name(_ADR, 0x00070001) Device(PRIM) { Name(_ADR, 0x0) Method(_STA) { Store("PCI IDE Primary _STA", Debug) Return(0xf) } Device(MAST) { Name(_ADR, 0x0) } Device(SLAV) { Name(_ADR, 0x1) } } Device(SECN) { Name(_ADR, 0x1) Method(_STA) { Store(0x1, \_SB_.PCI0.PX41.SIDE) Return(0xf) } Device(MAST) { Name(_ADR, 0x0) Method(_STA) { Store(BEXT(), Local7) Return(Local7) } Method(_EJ3, 1) { If(Arg0) { Store(0x0, \_SB_.PCI0.PX41.SIDE) Store(0x1, \_SB_.PCI0.PX40.SISI) Store(0x1, \_SB_.PCI0.PX43.SDPW) } Return(0x0) } } Device(SLAV) { Name(_ADR, 0x1) Method(_STA) { Store(BEXT(), Local7) Return(Local7) } Name(_EJD, "\_SB_.PCI0.PX41.SECN.MAST") } Method(BEXT) { If(\_SB_.PCI0.PX40.ECOK()) { Store(0x0, Local7) Store(\_SB_.PCI0.PX40.EC0_.SHDD, Local0) Store(\_SB_.PCI0.PX41.SIDE, Local1) Store(LNot(\_SB_.PCI0.PX43.SDPW), Local2) Store(LNot(\_SB_.PCI0.PX43.SRST), Local3) Store(LNot(\_SB_.PCI0.PX40.SISI), Local4) If(LAnd(Local0, Local1)) { If(LAnd(Local2, Local3)) { If(Local4) { Store(0xf, Local7) } } } If(LNot(Local7)) { Store(0x1, \_SB_.PCI0.PX43.SDPW) } } Else { Store(0xf, Local7) } Return(Local7) } } Name(_PSC, 0x0) Name(_PR0, Package(0x0) { }) Method(_PS0) { Store("IDE_PS0", Debug) Store(0x0, _PSC) } Method(_PS3) { Store("IDE_PS3", Debug) Store(0x87, \_SB_.BCMD) Store(0x0, \_SB_.SMIC) Store(0x3, _PSC) } OperationRegion(PIDE, PCI_Config, 0x40, 0x4) Field(PIDE, DWordAcc, NoLock, Preserve) { , 31, SIDE, 1 } Field(PIDE, DWordAcc, NoLock, Preserve) { Offset(0x2), SIDT, 16 } } Device(PX42) { Name(_ADR, 0x00070002) Name(_PSC, 0x0) Name(_PR0, Package(0x0) { }) Method(_PS0) { Store("USB_PS0", Debug) Store(0x0, _PSC) } Method(_PS3) { Store("USB_PS3", Debug) Store(0x3, _PSC) } Name(_PRW, Package(0x2) { 0x8, 0x4, }) Method(_STA) { Store("USB_STA", Debug) Return(0xf) } } Device(PX43) { Name(_ADR, 0x00070003) Method(_STA) { Return(0xf) } OperationRegion(PCI_, PCI_Config, 0x50, 0x30) Field(PCI_, DWordAcc, NoLock, Preserve) { Offset(0x1), , 4, FDCM, 1, , 1, U1M_, 1, Offset(0x2), U2M_, 1, , 1, LPTM, 1, Offset(0xc), MDIE, 1, MDIA, 2, SBE_, 1, , 1, SBA_, 2, MSSE, 1, MSSA, 2, Offset(0xf), , 1, AUDM, 1, , 2, KBCM, 1, G12M, 1, G13M, 1, LPTE, 1, G09A, 16, G09L, 4, , 1, G09M, 1, G09E, 1, Offset(0x13), , 1, LPTA, 2, , 1, FDCA, 1, FDCE, 1, KBCE, 1, Offset(0x14), G10A, 16, G10L, 4, , 1, G10M, 1, G10E, 1, Offset(0x17), U1A_, 3, U1E_, 1, U2A_, 3, U2E_, 1, G12A, 16, G12L, 4, G12E, 1, Offset(0x20), G13A, 16, G13L, 4, G13E, 1, Offset(0x2c), DEC1, 16, DEEN, 8 } OperationRegion(SMBP, PCI_Config, 0xd2, 0x5) Field(SMBP, DWordAcc, NoLock, Preserve) { RD20, 8, RD30, 8, RD40, 8, RD50, 8, RD60, 8 } OperationRegion(SMBI, SystemIO, 0x1040, 0xd) Field(SMBI, ByteAcc, NoLock, Preserve) { S000, 1, S001, 1, S002, 1, S003, 1, S004, 1, Offset(0x1), S010, 1, , 1, S012, 1, S013, 1, S014, 1, S015, 1, Offset(0x2), S020, 1, S021, 1, S022, 3, , 1, S025, 1, Offset(0x3), S030, 8, S040, 8, S050, 8, S060, 8, S070, 8, S080, 1, S081, 1, S082, 1, S083, 1, Offset(0x9), S090, 8, S0A0, 8, Offset(0xc), S0C0, 8 } OperationRegion(GPOS, SystemIO, 0x1034, 0x4) Field(GPOS, ByteAcc, NoLock, Preserve) { , 1, HDPW, 1, SDPW, 1, , 3, PRST, 1, SRST, 1, ENFD, 1, Offset(0x2), Offset(0x3), , 6, , 1 } OperationRegion(GPIS, SystemIO, 0x1030, 0x1) Field(GPIS, ByteAcc, NoLock, Preserve) { , 5, ACPW, 1, Offset(0x1) } } Device(AUD_) { Name(_ADR, 0x00080000) Name(_PSC, 0x0) Name(_PR0, Package(0x0) { }) Method(_PS0) { Store("AUD_PS0", Debug) Store(0x0, _PSC) } Method(_PS3) { Store("AUD_PS3", Debug) Store(0x3, _PSC) } Method(_STA) { Store("AUD_STA", Debug) Return(0xf) } } Device(MDM1) { Name(_ADR, 0x00100000) OperationRegion(DMG1, PCI_Config, 0x0, 0x4) Field(DMG1, DWordAcc, NoLock, Preserve) { MDR1, 32 } Name(_PSC, 0x0) Name(_PR0, Package(0x0) { }) Method(_PS0) { Store("MDM1_PS0", Debug) Store(0x0, _PSC) } Method(_PS3) { Store("MDM1_PS3", Debug) Store(0x3, _PSC) } Method(_STA) { Store("MDM1_STA", Debug) If(LEqual(MDR1, 0xffffffff)) { Return(0x0) } Else { Return(0xf) } } Name(_PRW, Package(0x2) { 0xa, 0x4, }) } Device(CB1_) { Name(_ADR, 0x00040000) Name(_PSC, 0x0) Name(_PR0, Package(0x0) { }) Method(_PS0) { Store("CB1_PS0", Debug) Store(0x0, _PSC) } Method(_PS3) { Store("CB1_PS3", Debug) Store(0x3, _PSC) } Method(_STA) { Return(0xf) } } Device(CB2_) { Name(_ADR, 0x00040001) Name(_PSC, 0x0) Name(_PR0, Package(0x0) { }) Method(_PS0) { Store("CB2_PS0", Debug) Store(0x0, _PSC) } Method(_PS3) { Store("CB2_PS3", Debug) Store(0x3, _PSC) } Method(_STA) { Return(0xf) } } Device(SPR_) { Name(_HID, 0x050ad041) Method(_UID) { If(LEqual(\_SB_.DKTP, 0x1)) { Return(0x11111111) } Else { Return(0x2) } } Name(_BDN, 0x1) Name(_PSC, 0x0) Name(_PR0, Package(0x0) { }) Method(_PS0) { Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Method(_EJ3, 1) { Return(0x1) } Method(_DCK, 1) { If(Arg0) { Store(0x1, \_SB_.PCI0.PX40.EC0_.LDDS) Store(0x0, \_SB_.PCI0.PX40.EC0_.DCWT) } Else { Store(0x0, \_SB_.PCI0.PX40.EC0_.LDDS) Store(0x1, \_SB_.PCI0.PX40.EC0_.DCWT) Store(0x1, \_SB_.PCI0.PX40.EC0_.SFLD) Return(0x1) } } Method(_STA) { If(LEqual(\_SB_.DKTP, 0x1)) { Return(0xf) } Else { Return(0x0) } } } Device(FDS_) { Name(_ADR, 0x000d0000) Mutex(MFDS, 0) Method(_UID) { If(LEqual(\_SB_.DKTP, 0x3)) { Return(0x33333333) } Else { Return(Ones) } } Name(_BDN, 0x3) Method(ENQB) { Acquire(MFDS, 0xffff) Name(CNT1, 0x0) Store(0x1, \_SB_.PCI0.PX40.EC0_.DPWR) Store(0x1, \_SB_.PCI0.PX40.EC0_.CRST) Store(0x0, CNT1) While(LNot(LGreater(CNT1, 0x1e))) { If(LEqual(\_SB_.PCI0.PX40.EC0_.QVCC, 0x1)) { Store(0xffff, CNT1) } Else { Increment(CNT1) Sleep(0x1e) } } Release(MFDS) If(LEqual(CNT1, 0xffff)) { Store(0x1, \_SB_.PCI0.PX40.EC0_.EQBF) Store(0x0, \_SB_.PCI0.PX40.EC0_.CRST) Store(0x0, \_SB_.PCI0.PX40.EC0_.DCWT) Store(0x1, \_SB_.PCI0.PX40.EC0_.LDDS) Return(0x1) } Else { Store(0x0, \_SB_.PCI0.PX40.EC0_.EQBF) Store(0x0, \_SB_.PCI0.PX40.EC0_.CRST) Store(0x0, \_SB_.PCI0.PX40.EC0_.DPWR) Store(0x0, \_SB_.PCI0.PX40.EC0_.DCWT) Return(0x0) } } Name(_PSC, 0x0) Name(_PR0, Package(0x0) { }) Method(_PS0) { Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Name(_PRW, Package(0x2) { 0xa, 0x4, }) Method(_EJ3, 1) { Return(0x1) } Method(_DCK, 1) { If(Arg0) { Return(ENQB()) } Else { Store(0x0, \_SB_.PCI0.PX40.EC0_.EQBF) Store(0x0, \_SB_.PCI0.PX40.EC0_.LDDS) Store(0x1, \_SB_.PCI0.PX40.EC0_.DCWT) Store(0x1, \_SB_.PCI0.PX40.EC0_.SFLD) Return(0x1) } } Method(_STA) { If(LEqual(\_SB_.DKTP, 0x3)) { Return(0xf) } Else { Return(0x0) } } } Method(_INI) { If(LEqual(CKOS(), 0x2)) { Store(0x85, \_SB_.BCMD) Store(0x0, \_SB_.SMIC) } If(LEqual(CKOS(), 0x1)) { Store(0x84, \_SB_.BCMD) Store(0x0, \_SB_.SMIC) } } Device(AGP_) { Name(_ADR, 0x00010000) Name(_PRT, Package(0x1) { Package(0x4) { 0xffff, 0x0, \_SB_.PCI0.PX40.LNKA, 0x0, }, }) Device(VGA_) { Name(_ADR, 0x0) Name(_PSC, 0x0) Name(_PR0, Package(0x0) { }) Method(_PS0) { Store("VGA_PS0", Debug) If(\_SB_.PCI0.PX40.ECOK()) { Store(0x0, \_SB_.PCI0.PX40.EC0_.LDEN) } Store(0x0, _PSC) } Method(_PS3) { Store("VGA_PS3", Debug) If(\_SB_.PCI0.PX40.ECOK()) { Store(0x1, \_SB_.PCI0.PX40.EC0_.LDEN) } Store(0x3, _PSC) } Method(_STA) { Store("VGA_STA", Debug) Return(0xf) } } } } Device(PWRB) { Name(_HID, 0x0c0cd041) Name(_PRW, Package(0x2) { 0xa, 0x4, }) } Device(SBTN) { Name(_HID, 0x0e0cd041) } } } /* BOOT: Length=39, Revision=1, Checksum=165, OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */