/* RSD PTR: Checksum=41, OEMID=HP-MCD, RsdtAddress=0x0fff59b8 */ /* RSDT: Length=44, Revision=1, Checksum=25, OEMID=HP-MCD, OEM Table ID=EA RSDT, OEM Revision=0x1800000, Creator ID= LTP, Creator Revision=0x0 */ /* Entries={ 0x0ffffb65, 0x0ffffbd9 } */ /* DSDT=0xfff59e4 INT_MODEL=PIC SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 PM1a_EVT_BLK=0x8000-0x8003 PM1a_CNT_BLK=0x8004-0x8005 PM2_TMR_BLK=0x8008-0x800b PM2_GPE0_BLK=0x800c-0x800f 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,SLP_BUTTON,RTC_S4,DCK_CAP} */ /* DSDT: Length=41345, Revision=1, Checksum=181, OEMID=HP-MCD, OEM Table ID=EA DSDT, OEM Revision=0x1800000, Creator ID=MSFT, Creator Revision=0x100000b */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x1, //DSDT Revision "HP-MCD", //OEMID "EA DSDT", //TABLE ID 0x1800000 //OEM Revision ) { Scope(_PR_) { Processor(CPU0, 0, 0x8010, 0x6) { } } Name(ECEN, 0x0) Method(ECOK) { If(LAnd(ECEN, And(\_SB_.PCI0.ISA0.MFLG, 0x1, ))) { Return(0x1) } Else { Return(0x0) } } Method(RSTQ, 0, Serialized) { If(\_SB_.QBST) { Store(0x0, \_SB_.QBST) Store(0x1, \_SB_.PCI0.ISA0.EC0_.EQBF) Sleep(0x32) } } 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, }) Method(_PTS, 1) { If(LLess(Arg0, 0x4)) { If(LNot(LLess(Arg0, 0x2))) { Store(0x1, \_SB_.PCI0.CRST) } Else { Store(0x0, \_SB_.PCI0.CRST) } } Else { If(ECOK()) { Store(0x0, \_SB_.PCI0.ISA0.EC0_.EQBF) } } If(LEqual(Arg0, 0x3)) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x3)) { Or(Not(\_SB_.PCI0.FDS_.CEVN, ), 0x40, \_SB_.PCI0.FDS_.CEVN) If(ECOK()) { If(\_SB_.PCI0.ISA0.EC0_.EQBF) { Store(0x1, \_SB_.QBST) Store(0x0, \_SB_.PCI0.ISA0.EC0_.EQBF) Sleep(0x32) } } } } If(LEqual(Arg0, 0x4)) { If(LEqual(\_SB_.PCI0.ISA0.SPR0.EJX_, 0x4)) { Store(0x0, \_SB_.PCI0.ISA0.SPR0.EJX_) } Else { \_SB_.PCI0.ISA0.HPSS(0xc, 0x0) } Store(\_SB_.PCI0.ISA0.DKTP, \_SB_.DCTM) } If(ECOK()) { Store(Arg0, \_SB_.PCI0.ISA0.EC0_.PTSV) } } Method(_WAK, 1) { If(ECOK()) { Store(0x0, \_SB_.PCI0.ISA0.EC0_.PTSV) If(\_SB_.PCI0.ISA0.EC0_.LIDS) { Store(0x0, \_SB_.LID_.LPOL) Store(0x0, \_SB_.PCI0.PWR_.BKLT) } Else { Store(0x1, \_SB_.LID_.LPOL) Store(0x1, \_SB_.PCI0.PWR_.BKLT) \_SB_.PCI0.ISA0.EC0_._Q0A() \_SB_.PCI0.ISA0.EC0_._Q0B() } Store(Not(\_SB_.PCI0.ISA0.EC0_.ADP_, ), \_SB_.PCI0.PWR_.CRUN) } Store(\_SB_.PCI0.ISA0.EC0_.DCID, \_SB_.CUDC) While(And(\_SB_.CUDC, 0x80, )) { Store(\_SB_.PCI0.ISA0.EC0_.DCID, \_SB_.CUDC) } If(LEqual(Arg0, 0x4)) { Store(\_SB_.DCTM, \_SB_.PCI0.ISA0.DKTP) If(\_SB_.PCI0.ISA0.EC0_.DCWT) { Or(\_SB_.DCKF, 0x8, \_SB_.DCKF) } \_SB_.PCI0.ISA0.HPSS(0xd, 0x0) If(\_SB_.CUDC) { If(LNot(LEqual(\_SB_.CUDC, \_SB_.PCI0.ISA0.DKTP))) { \_SB_.PCI0.ISA0.SPR0.DOCK() } Else { Store(0x1, \_SB_.PCI0.ISA0.EC0_.DPWR) If(LEqual(\_SB_.CUDC, 0x1)) { Store(0x1, \_SB_.PCI0.ISA0.EC0_.LDDS) } Else { \_SB_.PCI0.EPR_.ENQB() } } } Else { Store(0x0, \_SB_.PCI0.ISA0.DKTP) } } If(LEqual(Arg0, 0x3)) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x3)) { RSTQ() And(Not(\_SB_.PCI0.FDS_.CEVN, ), 0xbf, \_SB_.PCI0.FDS_.CEVN) } } Acquire(\_SB_.PCI0.ISA0.EC0_.MUT3, 0xffff) \_SB_.PCI0.ISA0.EC0_.MBAY() Release(\_SB_.PCI0.ISA0.EC0_.MUT3) Store(0x0, Local2) If(LEqual(\_SB_.PCI0.ISA0.EC0_.EXFD, 0x1)) { Or(Local2, 0x1, Local2) } If(LEqual(\_SB_.PCI0.ISA0.EC0_.FDD_, 0x1)) { Or(Local2, 0x2, Local2) } Else { If(LEqual(\_SB_.PCI0.ISA0.EC0_.SHDD, 0x1)) { Or(Local2, 0x4, Local2) Or(Local2, \_SB_.PCI0.ISA0.EC0_.BIDE, Local2) } Else { Store(0x1, \_SB_.PCI0.PWR_.SDPW) } } If(LNot(LEqual(Local2, \_SB_.PCI0.IDE_.BAYD))) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT2, 0xffff) \_SB_.PCI0.ISA0.EC0_.SWAP() Release(\_SB_.PCI0.ISA0.EC0_.MUT2) } Store(0x1, \_SB_.PCI0.AGP_.VGA_.VRSM) } Scope(\_TZ_) { Name(THMD, Zero) Name(THID, Zero) Name(THOK, Zero) Name(SKUS, 0x3) Name(NOMV, 0x0c3a) Name(ACTV, 0x0cbc) Name(PASV, 0x0cf8) Name(CRTV, 0x0e92) Name(TBLI, Buffer(0x9) {0x10, 0xc0, 0x0, 0x11, 0xc1, 0x1, 0x12, 0xc2, 0x2 }) Name(TRPA, Buffer(0xc) {0x46, 0x40, 0x4c, 0x56, 0x46, 0x40, 0x4c, 0x56, 0x46, 0x40, 0x55, 0x64 }) Name(TRPP, Buffer(0xc) {0x46, 0x40, 0x4c, 0x56, 0x46, 0x40, 0x4c, 0x56, 0x46, 0x40, 0x55, 0x64 }) Method(GETI, 1) { Store("THERM: GETI - Value:", Debug) Store(Arg0, Local1) Store(\_SB_.PCI0.ISA0.EC0_.KBID, Local2) Store(Zero, Local3) Store(Zero, Local4) While(LLess(Local3, SKUS)) { \_SB_.GBFE(TBLI, Local4, RefOf(Local5)) If(LEqual(Local5, Local1)) { \_SB_.GBFE(TBLI, Add(Local4, 0x1, ), RefOf(Local5)) If(LEqual(Local5, Local2)) { \_SB_.GBFE(TBLI, Add(Local4, 0x2, ), RefOf(Local1)) Store(Local1, THID) Store(Ones, THOK) Store(SKUS, Local3) Store(THID, Debug) } Else { Add(Local4, 0x3, Local4) Increment(Local3) } } Else { Add(Local4, 0x3, Local4) Increment(Local3) } } If(LEqual(THOK, Ones)) { Return(THID) } Else { Return(Zero) } } Method(TABL, 1) { If(LEqual(THMD, Zero)) { \_SB_.GBFE(TRPA, Arg0, RefOf(Local0)) } Else { \_SB_.GBFE(TRPP, Arg0, RefOf(Local0)) } Return(Local0) } Method(KELV, 1) { If(And(Arg0, 0x80, )) { Store(0xffffff00, Local1) } Else { Store(Zero, Local1) } Or(Local1, Arg0, Local1) Add(Multiply(Local1, 0xa, ), 0x0aac, Local1) Return(Local1) } PowerResource(PFAN, 0, 0) { Method(_STA) { Store("THERM: _STA - Fan Status", Debug) If(ECOK()) { Return(\_SB_.PCI0.ISA0.EC0_.FAN_) } Else { Return(0x0) } } Method(_ON_) { Store("THERM: _ON - Fan TurnOn", Debug) If(ECOK()) { Store(One, \_SB_.PCI0.ISA0.EC0_.FAN_) Store("THERM: Notify(THRM,0x81)", Debug) Notify(\_TZ_.THRM, 0x81) } } Method(_OFF) { Store("THERM: _OFF - Fan TurnOff", Debug) If(ECOK()) { Store(Zero, \_SB_.PCI0.ISA0.EC0_.FAN_) Store("THERM: Notify(THRM,0x81)", Debug) Notify(\_TZ_.THRM, 0x81) } } } Device(FAN_) { Name(_HID, 0x0b0cd041) Name(_PR0, Package(0x1) { PFAN, }) } ThermalZone(THRM) { Name(_AL0, Package(0x1) { FAN_, }) Name(_PSL, Package(0x1) { \_PR_.CPU0, }) Method(_TMP) { Store("THERM: _TMP - Value:", Debug) If(ECOK()) { Store(KELV(\_SB_.PCI0.ISA0.EC0_.CTMP), Local0) } Else { Store(NOMV, Local0) } Store(Local0, Debug) Return(Local0) } Method(_AC0) { Store("THERM: _AC0 - Value:", Debug) If(ECOK()) { If(LEqual(THOK, Zero)) { Store(GETI(\_SB_.BIOS), THID) } ShiftLeft(THID, 0x2, Local1) If(\_SB_.PCI0.ISA0.EC0_.FAN_) { Increment(Local1) } Store(KELV(TABL(Local1)), Local0) Store(Local0, ACTV) } Else { Store(ACTV, Local0) } Store(Local0, Debug) Return(Local0) } Method(_PSV) { Store("THERM: _PSV - Value:", Debug) If(ECOK()) { If(LEqual(THOK, Zero)) { Store(GETI(\_SB_.BIOS), THID) } ShiftLeft(THID, 0x2, Local1) Add(Local1, 0x2, Local1) Store(KELV(TABL(Local1)), Local0) } Else { Store(PASV, Local0) } Store(Local0, Debug) Return(Local0) } Method(_CRT) { Store("THERM: _CRT - Value:", Debug) If(ECOK()) { If(LEqual(THOK, Zero)) { Store(GETI(\_SB_.BIOS), THID) } ShiftLeft(THID, 0x2, Local1) Add(Local1, 0x3, Local1) Store(KELV(TABL(Local1)), Local0) } Else { Store(CRTV, Local0) } Store(Local0, Debug) Return(Local0) } Method(_SCP, 1) { If(LEqual(Arg0, Zero)) { Store("THERM: _SCP(Active)", Debug) } Else { Store("THERM: _SCP(Passive)", Debug) } Store(Arg0, THMD) Store(Zero, THOK) Store(Zero, THID) } Name(_TC1, 0x4) Name(_TC2, 0x3) Name(_TSP, 0x64) } } Scope(_SI_) { Method(_SST, 1) { If(ECOK()) { If(LEqual(Arg0, 0x0)) { Store(0x0, \_SB_.PCI0.ISA0.EC0_.S1LD) Store(0x0, \_SB_.PCI0.ISA0.EC0_.S2LD) Store("SI_SST_0", Debug) } If(LEqual(Arg0, 0x1)) { Store(0x1, \_SB_.PCI0.ISA0.EC0_.S1LD) Store(0x0, \_SB_.PCI0.ISA0.EC0_.S2LD) Store("SI_SST_1", Debug) } If(LEqual(Arg0, 0x2)) { Store(0x1, \_SB_.PCI0.ISA0.EC0_.S1LD) Store(0x1, \_SB_.PCI0.ISA0.EC0_.S2LD) Store("SI_SST_2", Debug) } If(LEqual(Arg0, 0x3)) { Store(0x1, \_SB_.PCI0.ISA0.EC0_.S1LD) Store(0x1, \_SB_.PCI0.ISA0.EC0_.S2LD) Store("SI_SST_3", Debug) } If(LEqual(Arg0, 0x4)) { Store(0x0, \_SB_.PCI0.ISA0.EC0_.S1LD) Store(0x0, \_SB_.PCI0.ISA0.EC0_.S2LD) Store("SI_SST_4", Debug) } } } } Scope(_GPE) { Method(_L09) { If(ECOK()) { Store(\_SB_.PCI0.ISA0.EC0_.WAKP, Local0) Store(0x0, \_SB_.PCI0.ISA0.EC0_.WAKP) If(And(Local0, 0x1, )) { If(\_SB_.PCI0.ISA0.EC0_.LIDS) { Store(0x0, \_SB_.LID_.LPOL) } Else { Store(0x1, \_SB_.LID_.LPOL) } Notify(\_SB_.LID_, 0x80) } If(And(Local0, 0x8, )) { Notify(\_SB_.PCI0.ISA0.EC0_.BT__, 0x90) } If(And(Local0, 0x10, )) { Notify(\_SB_.PCI0.ISA0.EC0_.BT__, 0x80) } If(And(Local0, 0x40, )) { Store("Notify Sleep Button(0x2)", Debug) Notify(\_SB_.SLP_, 0x2) } If(And(Local0, 0x0100, )) { Store(0x0, \_SB_.PCI0.ISA0.EC0_.LDDS) Store(0x1, \_SB_.PCI0.ISA0.EC0_.DCWT) Notify(\_SB_.LID_, 0x80) If(LNot(LEqual(\_SB_.PCI0.ISA0.EC0_.DCID, \_SB_.PCI0.ISA0.DKTP))) { Or(\_SB_.DCKF, 0x10, \_SB_.DCKF) And(Local0, Not(0x80, ), Local0) Store(0x1, \_SB_.PCI0.ISA0.EC0_.UDR0) } Else { RSTQ() \_SB_.PCI0.ISA0.SPR0.UNDK() } } If(And(Local0, 0x80, )) { If(\_SB_.PCI0.ISA0.EC0_.DCKS) { Notify(\_SB_.SLP_, 0x2) \_SB_.PCI0.ISA0.SPR0.DOCK() } } } } Method(_L0A) { Notify(\_SB_.PCI0.ISA0.SIO0.COMA, 0x2) } Method(_L0B) { Notify(\_SB_.PCI0, 0x2) } } Scope(_SB_) { Name(BIOS, 0x12) Name(QBST, 0x0) Name(DCTM, 0x0) Name(DCKF, 0x0) Name(CUDC, 0x0) Name(TOOS, 0x0) Name(IRQP, Package(0x10) { 0x0, 0x0, 0x0, 0x8, 0x10, 0x20, 0x40, 0x80, 0x0, 0x0200, 0x0400, 0x0800, 0x1000, 0x0, 0x4000, 0x8000, }) Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x1) Method(_STA) { If(LLess(\_SB_.PCI0.ISA0.PIRA, 0x80)) { Return(0xb) } Else { Return(0x1) } } Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x4, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(\_SB_.PCI0.ISA0.PIRA, 0x80, \_SB_.PCI0.ISA0.PIRA) } Method(_CRS) { Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(BUFA, 0x1, IRA1) And(\_SB_.PCI0.ISA0.PIRA, 0x8f, Local0) If(LLess(Local0, 0x80)) { Store(DerefOf(Index(IRQP, Local0, )), Local4) Store(Local4, IRA1) } Return(BUFA) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRA1) Store(IRA1, Local0) Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1) And(\_SB_.PCI0.ISA0.PIRA, 0x70, Local0) Or(Local1, Local0, \_SB_.PCI0.ISA0.PIRA) } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x2) Method(_STA) { If(LLess(\_SB_.PCI0.ISA0.PIRB, 0x80)) { Return(0xb) } Else { Return(0x1) } } Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x4, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(\_SB_.PCI0.ISA0.PIRB, 0x80, \_SB_.PCI0.ISA0.PIRB) } Method(_CRS) { Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(BUFB, 0x1, IRA1) And(\_SB_.PCI0.ISA0.PIRB, 0x8f, Local0) If(LLess(Local0, 0x80)) { Store(DerefOf(Index(IRQP, Local0, )), Local4) Store(Local4, IRA1) } Return(BUFB) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRA1) Store(IRA1, Local0) Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1) And(\_SB_.PCI0.ISA0.PIRB, 0x70, Local0) Or(Local1, Local0, \_SB_.PCI0.ISA0.PIRB) } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x3) Method(_STA) { If(LLess(\_SB_.PCI0.ISA0.PIRC, 0x80)) { Return(0xb) } Else { Return(0x1) } } Name(_PRS, Buffer(0x6) {0x23, 0x60, 0x0, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(\_SB_.PCI0.ISA0.PIRC, 0x80, \_SB_.PCI0.ISA0.PIRC) } Method(_CRS) { Name(BUFC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(BUFC, 0x1, IRA1) And(\_SB_.PCI0.ISA0.PIRC, 0x8f, Local0) If(LLess(Local0, 0x80)) { Store(DerefOf(Index(IRQP, Local0, )), Local4) Store(Local4, IRA1) } Return(BUFC) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRA1) Store(IRA1, Local0) Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1) And(\_SB_.PCI0.ISA0.PIRC, 0x70, Local0) Or(Local1, Local0, \_SB_.PCI0.ISA0.PIRC) } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x4) Method(_STA) { If(LLess(\_SB_.PCI0.ISA0.PIRD, 0x80)) { Return(0xb) } Else { Return(0x1) } } Name(_PRS, Buffer(0x6) {0x23, 0x0, 0x4, 0x18, 0x79, 0x0 }) Method(_DIS) { Or(\_SB_.PCI0.ISA0.PIRD, 0x80, \_SB_.PCI0.ISA0.PIRD) } Method(_CRS) { Name(BUFD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(BUFD, 0x1, IRA1) And(\_SB_.PCI0.ISA0.PIRD, 0x8f, Local0) If(LLess(Local0, 0x80)) { Store(DerefOf(Index(IRQP, Local0, )), Local4) Store(Local4, IRA1) } Return(BUFD) } Method(_SRS, 1) { CreateWordField(Arg0, 0x1, IRA1) Store(IRA1, Local0) Store(Match(IRQP, MEQ, Local0, MTR, 0x0, 0x0), Local1) And(\_SB_.PCI0.ISA0.PIRD, 0x70, Local0) Or(Local1, Local0, \_SB_.PCI0.ISA0.PIRD) } } Method(VTOB, 1) { Store(0x1, Local0) ShiftLeft(Local0, Arg0, Local0) Return(Local0) } Method(BTOV, 1) { ShiftRight(Arg0, 0x1, Local0) Store(0x0, Local1) While(Local0) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } Return(Local1) } Method(MKWD, 2) { If(And(Arg1, 0x80, )) { Store(0xffff0000, Local0) } Else { Store(Zero, Local0) } Or(Local0, Arg0, Local0) Or(Local0, ShiftLeft(Arg1, 0x8, ), Local0) Return(Local0) } Method(GBFE, 3) { CreateByteField(Arg0, Arg1, TIDX) Store(TIDX, Arg2) } Method(PBFE, 3) { CreateByteField(Arg0, Arg1, TIDX) Store(Arg2, TIDX) } Method(ITOS, 1) { Store(Buffer(0x9) {0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, Local0) Store(Buffer(0x11) {0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x0 }, Local7) Store(0x8, Local1) Store(0x0, Local2) Store(0x0, Local3) While(Local1) { Decrement(Local1) And(ShiftRight(Arg0, ShiftLeft(Local1, 0x2, ), ), 0xf, Local4) If(Local4) { Store(Ones, Local3) } If(Local3) { GBFE(Local7, Local4, RefOf(Local5)) PBFE(Local0, Local2, Local5) Increment(Local2) } } Return(Local0) } Device(LID_) { Name(_HID, 0x0d0cd041) Name(LPOL, 0x1) Method(_LID) { Return(LPOL) } Method(_PSW, 1) { If(ECOK()) { If(Arg0) { Or(\_SB_.PCI0.ISA0.EC0_.WK10, 0x1, \_SB_.PCI0.ISA0.EC0_.WK10) } Else { And(\_SB_.PCI0.ISA0.EC0_.WK10, Not(0x1, ), \_SB_.PCI0.ISA0.EC0_.WK10) } } } Name(_PRW, Package(0x2) { 0x9, 0x4, }) } Device(SLP_) { Name(_HID, 0x0e0cd041) Name(_PRW, Package(0x2) { 0x9, 0x4, }) } Device(XROM) { Name(_HID, 0x020cd041) Name(_UID, 0x1) Method(_CRS) { Return(\_SB_.PCI0.SROM()) } Method(_STA) { If(LEqual(\_SB_.PCI0.OSNT, 0x1)) { Return(0xf) } Else { Return(0x0) } } } Device(PCI0) { Name(_HID, 0x030ad041) Name(_ADR, 0x0) Method(MIN_, 2) { If(LLess(Arg0, Arg1)) { Return(Arg0) } Else { Return(Arg1) } } Method(SLEN, 1) { Return(SizeOf(Arg0)) } Method(S2BF, 1, Serialized) { Add(SLEN(Arg0), One, Local0) Name(BUFF, Buffer(Local0) { }) Store(Arg0, BUFF) Return(BUFF) } Method(SCMP, 2) { Store(S2BF(Arg0), Local0) Store(S2BF(Arg1), Local1) Store(Zero, Local4) Store(SLEN(Arg0), Local5) Store(SLEN(Arg1), Local6) Store(MIN_(Local5, Local6), Local7) While(LLess(Local4, Local7)) { Store(DerefOf(Index(Local0, Local4, )), Local2) Store(DerefOf(Index(Local1, Local4, )), Local3) If(LGreater(Local2, Local3)) { Return(One) } Else { If(LLess(Local2, Local3)) { Return(Ones) } } Increment(Local4) } If(LLess(Local4, Local5)) { Return(One) } Else { If(LLess(Local4, Local6)) { Return(Ones) } Else { Return(Zero) } } } Name(OSNT, 0x0) Method(_INI) { If(CondRefOf(_OSI, Local0)) { If(\_OSI) { "Windows 2001" Store(0x4, TOOS) Store(0x1, OSNT) } } Else { If(LEqual(SCMP(\_OS_, "Microsoft Windows NT"), Zero)) { Store(0x1, OSNT) Store(0x3, TOOS) } If(LEqual(SCMP(\_OS_, "Microsoft Windows"), Zero)) { Store(0x0, OSNT) Store(0x1, TOOS) } If(LEqual(SCMP(\_OS_, "Microsoft WindowsME:Millennium Edition"), Zero)) { Store(0x0, OSNT) Store(0x2, TOOS) } } Acquire(\_SB_.PCI0.ISA0.EC0_.MUT3, 0xffff) \_SB_.PCI0.ISA0.EC0_.MBAY() Release(\_SB_.PCI0.ISA0.EC0_.MUT3) Or(\_SB_.PCI0.ISA0.BDST, \_SB_.PCI0.ISA0.EC0_.BIDE, \_SB_.PCI0.IDE_.BAYD) } Method(_STA) { Return(0xf) } Name(_PRW, Package(0x2) { 0xb, 0x4, }) Method(_PSW, 1) { If(ECOK()) { Store(Arg0, ^ISA0.EC0_.PMEE) } } 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, Offset(0x33), T_EN, 1, T_SZ, 2, Offset(0x3a), CRST, 1 } Name(RSRC, Buffer(0x01e5) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x87, 0x18, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { Store(Zero, Local1) If(T_EN) { ShiftLeft(T_SZ, 0x11, Local1) } CreateDWordField(RSRC, 0x0179, BTMN) CreateDWordField(RSRC, 0x017d, BTMX) CreateDWordField(RSRC, 0x0185, 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, 0x0194, ATMN) CreateDWordField(RSRC, 0x0198, ATMX) CreateDWordField(RSRC, 0x01a0, 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, 0x0180, C0RW) CreateDWordField(RSRC, 0x35, C0MN) CreateDWordField(RSRC, 0x39, C0MX) CreateDWordField(RSRC, 0x41, 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, 0x0258, C4RW) CreateDWordField(RSRC, 0x50, C4MN) CreateDWordField(RSRC, 0x54, C4MX) CreateDWordField(RSRC, 0x5c, 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, 0x0330, C8RW) CreateDWordField(RSRC, 0x6b, C8MN) CreateDWordField(RSRC, 0x6f, C8MX) CreateDWordField(RSRC, 0x77, 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, 0x0408, CCRW) CreateDWordField(RSRC, 0x86, CCMN) CreateDWordField(RSRC, 0x8a, CCMX) CreateDWordField(RSRC, 0x92, 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, 0x04e0, D0RW) CreateDWordField(RSRC, 0xa1, D0MN) CreateDWordField(RSRC, 0xa5, D0MX) CreateDWordField(RSRC, 0xad, 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, 0x05b8, D4RW) CreateDWordField(RSRC, 0xbc, D4MN) CreateDWordField(RSRC, 0xc0, D4MX) CreateDWordField(RSRC, 0xc8, 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, 0x0690, D8RW) CreateDWordField(RSRC, 0xd7, D8MN) CreateDWordField(RSRC, 0xdb, D8MX) CreateDWordField(RSRC, 0xe3, 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, 0x0768, DCRW) CreateDWordField(RSRC, 0xf2, DCMN) CreateDWordField(RSRC, 0xf6, DCMX) CreateDWordField(RSRC, 0xfe, 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, 0x0840, E0RW) CreateDWordField(RSRC, 0x010d, E0MN) CreateDWordField(RSRC, 0x0111, E0MX) CreateDWordField(RSRC, 0x0119, 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, 0x0918, E4RW) CreateDWordField(RSRC, 0x0128, E4MN) CreateDWordField(RSRC, 0x012c, E4MX) CreateDWordField(RSRC, 0x0134, 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, 0x09f0, E8RW) CreateDWordField(RSRC, 0x0143, E8MN) CreateDWordField(RSRC, 0x0147, E8MX) CreateDWordField(RSRC, 0x014f, 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, 0x0ac8, ECRW) CreateDWordField(RSRC, 0x015e, ECMN) CreateDWordField(RSRC, 0x0162, ECMX) CreateDWordField(RSRC, 0x016a, 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(SROM) { Name(RSRC, Buffer(0xa2) {0x85, 0x11, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x85, 0x11, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x85, 0x11, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x85, 0x11, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x85, 0x11, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x85, 0x11, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x85, 0x11, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x85, 0x11, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) CreateDWordField(RSRC, 0x10, C0LN) CreateDWordField(RSRC, 0x24, C4LN) CreateDWordField(RSRC, 0x38, C8LN) CreateDWordField(RSRC, 0x4c, CCLN) CreateDWordField(RSRC, 0x60, D0LN) CreateDWordField(RSRC, 0x74, D4LN) CreateDWordField(RSRC, 0x88, D8LN) CreateDWordField(RSRC, 0x9c, DCLN) If(And(PAM1, 0x3, )) { Store(0x4000, C0LN) } If(And(PAM1, 0x30, )) { Store(0x4000, C4LN) } If(And(PAM2, 0x3, )) { Store(0x4000, C8LN) } If(And(PAM2, 0x30, )) { Store(0x4000, CCLN) } If(And(PAM3, 0x3, )) { Store(0x4000, D0LN) } If(And(PAM3, 0x30, )) { Store(0x4000, D4LN) } If(And(PAM4, 0x3, )) { Store(0x4000, D8LN) } If(And(PAM4, 0x30, )) { Store(0x4000, DCLN) } Return(RSRC) } Name(_PRT, Package(0xf) { Package(0x4) { 0x0007ffff, 0x0, \_SB_.LNKA, 0x0, }, Package(0x4) { 0x0007ffff, 0x1, \_SB_.LNKB, 0x0, }, Package(0x4) { 0x0007ffff, 0x2, \_SB_.LNKC, 0x0, }, Package(0x4) { 0x0007ffff, 0x3, \_SB_.LNKD, 0x0, }, Package(0x4) { 0x000affff, 0x0, \_SB_.LNKA, 0x0, }, Package(0x4) { 0x000affff, 0x1, \_SB_.LNKB, 0x0, }, Package(0x4) { 0x000bffff, 0x0, \_SB_.LNKA, 0x0, }, Package(0x4) { 0x000bffff, 0x1, \_SB_.LNKB, 0x0, }, Package(0x4) { 0x000dffff, 0x0, \_SB_.LNKC, 0x0, }, Package(0x4) { 0x0011ffff, 0x0, \_SB_.LNKA, 0x0, }, Package(0x4) { 0x0011ffff, 0x1, \_SB_.LNKB, 0x0, }, Package(0x4) { 0x0011ffff, 0x2, \_SB_.LNKC, 0x0, }, Package(0x4) { 0x0011ffff, 0x3, \_SB_.LNKD, 0x0, }, Package(0x4) { 0x0012ffff, 0x0, \_SB_.LNKA, 0x0, }, Package(0x4) { 0x0012ffff, 0x1, \_SB_.LNKB, 0x0, }, }) Device(ISA0) { Name(_ADR, 0x00070000) OperationRegion(PIRX, PCI_Config, 0x60, 0x4) Field(PIRX, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } OperationRegion(GEN_, PCI_Config, 0xb0, 0x4) Field(GEN_, ByteAcc, NoLock, Preserve) { ISEI, 1, POSD, 1, , 10, TRIS, 1 } Device(MBRD) { Name(_HID, 0x020cd041) Name(_UID, 0x0) Name(_CRS, Buffer(0xaa) {0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0x1, 0x10, 0x47, 0x1, 0x24, 0x0, 0x24, 0x0, 0x1, 0x2, 0x47, 0x1, 0x28, 0x0, 0x28, 0x0, 0x1, 0x2, 0x47, 0x1, 0x2c, 0x0, 0x2c, 0x0, 0x1, 0x2, 0x47, 0x1, 0x38, 0x0, 0x38, 0x0, 0x1, 0x2, 0x47, 0x1, 0x3c, 0x0, 0x3c, 0x0, 0x1, 0x2, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x1, 0x4, 0x47, 0x1, 0x72, 0x0, 0x72, 0x0, 0x1, 0x6, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x1, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x1, 0x10, 0x47, 0x1, 0xa4, 0x0, 0xa4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa8, 0x0, 0xa8, 0x0, 0x1, 0x2, 0x47, 0x1, 0xac, 0x0, 0xac, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb0, 0x0, 0xb0, 0x0, 0x1, 0x6, 0x47, 0x1, 0xb8, 0x0, 0xb8, 0x0, 0x1, 0x2, 0x47, 0x1, 0xbc, 0x0, 0xbc, 0x0, 0x1, 0x2, 0x47, 0x1, 0x98, 0x3, 0x98, 0x3, 0x1, 0x2, 0x47, 0x1, 0x80, 0x21, 0x80, 0x21, 0x0, 0x10, 0x47, 0x1, 0x0, 0x34, 0x0, 0x34, 0x0, 0x10, 0x47, 0x1, 0x0, 0x80, 0x0, 0x80, 0x0, 0x40, 0x47, 0x1, 0x0, 0xfe, 0x0, 0xfe, 0x0, 0x1, 0x79, 0x0 }) } 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 }) } Device(RTC_) { Name(_HID, 0x000bd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x2, 0x22, 0x0, 0x1, 0x79, 0x0 }) } Device(PIC_) { Name(_HID, 0xd041) Name(_CRS, Buffer(0x1e) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x0, 0x2, 0x23, 0x4, 0x0, 0x1, 0x79, 0x0 }) } Device(FPU_) { Name(_HID, 0x040cd041) Name(_CRS, Buffer(0xe) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x10, 0x23, 0x0, 0x20, 0x1, 0x79, 0x0 }) } Device(TMR_) { Name(_HID, 0x0001d041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 }) } Device(SPKR) { Name(_HID, 0x0008d041) Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 }) } 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 }) } Device(MOUE) { Name(_HID, 0x130fd041) Name(_PSC, 0x0) Method(_PS0) { If(_PSC) { Store(0x0, _PSC) } } Method(_PS3) { Store(0x3, _PSC) } Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 }) } OperationRegion(SMI0, SystemIO, 0x0000fe00, 0x00000002) Field(SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion(SMI1, SystemMemory, 0x0ffffe9c, 0x00000120) Field(SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID_, 32, INFO, 2048 } Field(SMI1, AnyAcc, NoLock, Preserve) { AccessAs(ByteAcc, 0), Offset(0x5), INF_, 8 } Field(SMI1, AnyAcc, NoLock, Preserve) { AccessAs(ByteAcc, 0), Offset(0x5), STSB, 8 } Field(SMI1, AnyAcc, NoLock, Preserve) { Offset(0x105), BDST, 8 } Field(SMI1, AnyAcc, NoLock, Preserve) { Offset(0x106), DKSN, 32 } Field(SMI1, AnyAcc, NoLock, Preserve) { Offset(0x10a), DKTP, 8 } Field(SMI1, AnyAcc, NoLock, Preserve) { Offset(0x10b), VGAB, 32 } Field(SMI1, AnyAcc, NoLock, Preserve) { Offset(0x10f), MFLG, 8 } Field(SMI1, AnyAcc, NoLock, Preserve) { Offset(0x110), BTFL, 8 } Method(HPSS, 2) { Acquire(\_SB_.PCI0.ISA0.PSMX, 0xffff) Store(Arg1, STSB) Store(0x80, BCMD) Store(Arg0, DID_) Store(Zero, SMIC) Store(STSB, Local0) Release(\_SB_.PCI0.ISA0.PSMX) Return(Local0) } Mutex(PSMX, 0) Device(SIO0) { Name(_HID, 0x050ad041) OperationRegion(NSIO, SystemIO, 0x0398, 0x2) Field(NSIO, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) { CR00, 8, CR01, 8, CR02, 8, Offset(0x4), CR04, 8, Offset(0x6), CR06, 8, CR07, 8, Offset(0x18), CR18, 8, Offset(0x1b), CR1B, 8, Offset(0x41), CR41, 8, CR42, 8, CR43, 8, CR44, 8, CR45, 8, CR46, 8, CR47, 8, CR48, 8, CR49, 8, Offset(0x4f), CR4F, 8 } Name(_S1D, 0x0) Name(_S3D, 0x3) Name(_PSC, 0x0) Method(_PS0) { Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Method(_INI) { Store(CR00, Local0) If(And(Local0, 0x1, )) { Store(0x0, \_SB_.PCI0.ISA0.SIO0.LPTA._PSC) Store(0x0, \_SB_.PCI0.ISA0.SIO0.LPBI._PSC) Store(0x0, \_SB_.PCI0.ISA0.SIO0.LECP._PSC) Store(0x0, \_SB_.PCI0.ISA0.SIO0.LEPP._PSC) } Else { Store(0x3, \_SB_.PCI0.ISA0.SIO0.LPTA._PSC) Store(0x3, \_SB_.PCI0.ISA0.SIO0.LPBI._PSC) Store(0x3, \_SB_.PCI0.ISA0.SIO0.LECP._PSC) Store(0x3, \_SB_.PCI0.ISA0.SIO0.LEPP._PSC) } If(And(Local0, 0x2, )) { Store(0x0, \_SB_.PCI0.ISA0.SIO0.COMA._PSC) } Else { Store(0x3, \_SB_.PCI0.ISA0.SIO0.COMA._PSC) } If(And(Local0, 0x4, )) { Store(0x0, \_SB_.PCI0.ISA0.SIO0.COMB._PSC) Store(0x0, \_SB_.PCI0.ISA0.SIO0.FIR_._PSC) Store(0x0, \_SB_.PCI0.ISA0.SIO0.IRDA._PSC) Store(0x0, \_SB_.PCI0.ISA0.SIO0.ASKI._PSC) } Else { Store(0x3, \_SB_.PCI0.ISA0.SIO0.COMB._PSC) Store(0x3, \_SB_.PCI0.ISA0.SIO0.FIR_._PSC) Store(0x3, \_SB_.PCI0.ISA0.SIO0.IRDA._PSC) Store(0x3, \_SB_.PCI0.ISA0.SIO0.ASKI._PSC) } If(And(Local0, 0x8, )) { Store(0x0, \_SB_.PCI0.ISA0.SIO0.FDC_._PSC) } Else { Store(0x3, \_SB_.PCI0.ISA0.SIO0.FDC_._PSC) } } Device(COMA) { Name(MCD_, 0xc) Name(_HID, 0x0105d041) Name(_UID, 0x0) Name(_EJD, "_SB_.PCI0.ISA0.SPR0") Method(_CRS) { Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(And(^_STA(), 0x2, )) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x0, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Return(RSRC) } Method(_STA) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x4, BCMD) Store(0x0, SMIC) Store(INF_, Local0) Release(PSMX) Return(Local0) } Method(_PRS) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x2, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Method(_SRS, 1) { Acquire(PSMX, 0xffff) Store(Arg0, INFO) Store(MCD_, DID_) Store(0x1, BCMD) Store(0x0, SMIC) Release(PSMX) } Method(_DIS) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x3, BCMD) Store(0x0, SMIC) Release(PSMX) } Name(_PSC, 0x3) Method(_PS0) { Or(CR00, 0x2, CR00) Store(0x0, _PSC) } Method(_PS3) { And(CR00, Not(0x2, ), CR00) Store(0x3, _PSC) } Name(_PRW, Package(0x2) { 0xa, 0x4, }) } Device(COMB) { Name(MCD_, 0xd) Name(_HID, 0x0105d041) Name(_UID, 0x1) Method(_CRS) { Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(And(^_STA(), 0x2, )) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x0, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Return(RSRC) } Method(_STA) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x4, BCMD) Store(0x0, SMIC) Store(INF_, Local0) Release(PSMX) Return(Local0) } Method(B_PR) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x2, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Method(B_SR, 1) { Acquire(PSMX, 0xffff) Store(Arg0, INFO) Store(MCD_, DID_) Store(0x1, BCMD) Store(0x0, SMIC) Release(PSMX) } Method(B_DI) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x3, BCMD) Store(0x0, SMIC) Release(PSMX) } Name(_PSC, 0x3) Method(_PS0) { Or(CR00, 0x4, CR00) Store(0x0, _PSC) } Method(_PS3) { And(CR00, Not(0x4, ), CR00) Store(0x3, _PSC) } } Device(FIR_) { Name(MCD_, 0xe) Name(_HID, 0x0160633a) Method(_CRS) { Name(RSRC, Buffer(0x10) {0x2a, 0x0, 0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(And(^_STA(), 0x2, )) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x0, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Return(RSRC) } Method(_STA) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x4, BCMD) Store(0x0, SMIC) Store(INF_, Local0) Release(PSMX) Return(Local0) } Method(B_PR) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x2, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Method(B_SR, 1) { Acquire(PSMX, 0xffff) Store(Arg0, INFO) Store(MCD_, DID_) Store(0x1, BCMD) Store(0x0, SMIC) Release(PSMX) } Method(B_DI) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x3, BCMD) Store(0x0, SMIC) Release(PSMX) } Name(_PSC, 0x3) Method(_PS0) { Or(CR00, 0x4, CR00) Store(0x0, _PSC) } Method(_PS3) { And(CR00, Not(0x4, ), CR00) Store(0x3, _PSC) } } Device(IRDA) { Name(MCD_, 0xf) Name(_HID, 0x1005d041) Name(_UID, 0x0) Method(_CRS) { Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(And(^_STA(), 0x2, )) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x0, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Return(RSRC) } Method(_STA) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x4, BCMD) Store(0x0, SMIC) Store(INF_, Local0) Release(PSMX) Return(Local0) } Method(B_PR) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x2, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Method(B_SR, 1) { Acquire(PSMX, 0xffff) Store(Arg0, INFO) Store(MCD_, DID_) Store(0x1, BCMD) Store(0x0, SMIC) Release(PSMX) } Method(B_DI) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x3, BCMD) Store(0x0, SMIC) Release(PSMX) } Name(_PSC, 0x3) Method(_PS0) { Or(CR00, 0x4, CR00) Store(0x0, _PSC) } Method(_PS3) { And(CR00, Not(0x4, ), CR00) Store(0x3, _PSC) } } Device(ASKI) { Name(MCD_, 0x10) Name(_HID, 0x1005d041) Name(_UID, 0x1) Method(_CRS) { Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(And(^_STA(), 0x2, )) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x0, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Return(RSRC) } Method(_STA) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x4, BCMD) Store(0x0, SMIC) Store(INF_, Local0) Release(PSMX) Return(Local0) } Method(B_PR) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x2, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Method(B_SR, 1) { Acquire(PSMX, 0xffff) Store(Arg0, INFO) Store(MCD_, DID_) Store(0x1, BCMD) Store(0x0, SMIC) Release(PSMX) } Method(B_DI) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x3, BCMD) Store(0x0, SMIC) Release(PSMX) } Name(_PSC, 0x3) Method(_PS0) { Or(CR00, 0x4, CR00) Store(0x0, _PSC) } Method(_PS3) { And(CR00, Not(0x4, ), CR00) Store(0x3, _PSC) } } Device(LPTA) { Name(MCD_, 0x11) Name(_HID, 0x0004d041) Name(_UID, 0x0) Method(_EJD) { If(LEqual(TOOS, 0x4)) { Return("_SB_.PCI0.ISA0.SPR0") } Else { Return("_SB_.PCI0.ISA0.SIO0") } } Method(_CRS) { Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(And(^_STA(), 0x2, )) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x0, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Return(RSRC) } Method(_STA) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x4, BCMD) Store(0x0, SMIC) Store(INF_, Local0) Release(PSMX) Return(Local0) } Method(B_PR) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x2, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Method(B_SR, 1) { Acquire(PSMX, 0xffff) Store(Arg0, INFO) Store(MCD_, DID_) Store(0x1, BCMD) Store(0x0, SMIC) Release(PSMX) } Method(B_DI) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x3, BCMD) Store(0x0, SMIC) Release(PSMX) } Name(_PSC, 0x3) Method(_PS0) { Or(CR00, 0x1, CR00) Store(0x0, _PSC) } Method(_PS3) { And(CR00, Not(0x1, ), CR00) Store(0x3, _PSC) } } Device(LPBI) { Name(MCD_, 0x12) Name(_HID, 0x0004d041) Name(_UID, 0x1) Method(_EJD) { If(LEqual(TOOS, 0x4)) { Return("_SB_.PCI0.ISA0.SPR0") } Else { Return("_SB_.PCI0.ISA0.SIO0") } } Method(_CRS) { Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(And(^_STA(), 0x2, )) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x0, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Return(RSRC) } Method(_STA) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x4, BCMD) Store(0x0, SMIC) Store(INF_, Local0) Release(PSMX) Return(Local0) } Method(B_PR) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x2, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Method(B_SR, 1) { Acquire(PSMX, 0xffff) Store(Arg0, INFO) Store(MCD_, DID_) Store(0x1, BCMD) Store(0x0, SMIC) Release(PSMX) } Method(B_DI) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x3, BCMD) Store(0x0, SMIC) Release(PSMX) } Name(_PSC, 0x3) Method(_PS0) { Or(CR00, 0x1, CR00) Store(0x0, _PSC) } Method(_PS3) { And(CR00, Not(0x1, ), CR00) Store(0x3, _PSC) } } Device(LECP) { Name(MCD_, 0x13) Name(_HID, 0x0104d041) Method(_EJD) { If(LEqual(TOOS, 0x4)) { Return("_SB_.PCI0.ISA0.SPR0") } Else { Return("_SB_.PCI0.ISA0.SIO0") } } Method(_CRS) { Name(RSRC, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 }) If(And(^_STA(), 0x2, )) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x0, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Return(RSRC) } Method(_STA) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x4, BCMD) Store(0x0, SMIC) Store(INF_, Local0) Release(PSMX) Return(Local0) } Method(_PRS) { Acquire(PSMX, 0x100) Store(MCD_, DID_) Store(0x2, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Method(_SRS, 1) { Acquire(PSMX, 0xffff) Store(Arg0, INFO) Store(MCD_, DID_) Store(0x1, BCMD) Store(0x0, SMIC) Release(PSMX) } Method(_DIS) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x3, BCMD) Store(0x0, SMIC) Release(PSMX) } Name(_PSC, 0x3) Method(_PS0) { Or(CR00, 0x1, CR00) Store(0x0, _PSC) } Method(_PS3) { And(CR00, Not(0x1, ), CR00) Store(0x3, _PSC) } } Device(LEPP) { Name(MCD_, 0x15) Name(_HID, 0x0004d041) Name(_UID, 0x2) Method(_EJD) { If(LEqual(TOOS, 0x4)) { Return("_SB_.PCI0.ISA0.SPR0") } Else { Return("_SB_.PCI0.ISA0.SIO0") } } Method(_CRS) { Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) If(And(^_STA(), 0x2, )) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x0, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Return(RSRC) } Method(_STA) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x4, BCMD) Store(0x0, SMIC) Store(INF_, Local0) Release(PSMX) Return(Local0) } Method(B_PR) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x2, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Method(B_SR, 1) { Acquire(PSMX, 0xffff) Store(Arg0, INFO) Store(MCD_, DID_) Store(0x1, BCMD) Store(0x0, SMIC) Release(PSMX) } Method(B_DI) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x3, BCMD) Store(0x0, SMIC) Release(PSMX) } Name(_PSC, 0x3) Method(_PS0) { Or(CR00, 0x1, CR00) Store(0x0, _PSC) } Method(_PS3) { And(CR00, Not(0x1, ), CR00) Store(0x3, _PSC) } } Device(FDC_) { Name(MCD_, 0x14) Name(_HID, 0x0007d041) Name(STOP, 0x0) Method(_INI) { If(ECOK()) { If(LEqual(\_SB_.PCI0.ISA0.EC0_.FDD_, 0x1)) { Store(0x0, \_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PSC) } Else { Store(0x3, \_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PSC) } } Else { If(And(BDST, 0x2, )) { Store(0x0, \_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PSC) } Else { Store(0x3, \_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PSC) } } If(ECOK()) { If(\_SB_.PCI0.ISA0.EC0_.EXFD) { Store(0x0, \_SB_.PCI0.ISA0.SIO0.FDC_.EFDD._PSC) Store(0x3, \_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PSC) } Else { Store(0x3, \_SB_.PCI0.ISA0.SIO0.FDC_.EFDD._PSC) } } Else { If(And(BDST, 0x1, )) { Store(0x0, \_SB_.PCI0.ISA0.SIO0.FDC_.EFDD._PSC) Store(0x3, \_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PSC) } Else { Store(0x3, \_SB_.PCI0.ISA0.SIO0.FDC_.EFDD._PSC) } } } Method(_CRS) { Name(RSRC, Buffer(0x18) {0x47, 0x1, 0xf2, 0x3, 0xf2, 0x3, 0x1, 0x4, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 }) If(And(^_STA(), 0x2, )) { Store(MCD_, DID_) Store(0x0, BCMD) Store(0x0, SMIC) Return(INFO) } Return(RSRC) } Method(_STA) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x4, BCMD) Store(0x0, SMIC) Store(INF_, Local0) Release(PSMX) Return(Local0) } Method(_PRS) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x2, BCMD) Store(0x0, SMIC) Store(INFO, Local0) Release(PSMX) Return(Local0) } Method(_SRS, 1) { Acquire(PSMX, 0xffff) Store(Arg0, INFO) Store(MCD_, DID_) Store(0x1, BCMD) Store(0x0, SMIC) Release(PSMX) Sleep(0x1388) } Method(_DIS) { Acquire(PSMX, 0xffff) Store(MCD_, DID_) Store(0x3, BCMD) Store(0x0, SMIC) Release(PSMX) } Name(_PSC, 0x3) Method(_PS0) { Store(0x0, _PSC) If(And(\_SB_.PCI0.ISA0.EC0_.PQ8A, 0x1, )) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT2, 0xffff) \_SB_.PCI0.ISA0.EC0_.SWAP() And(\_SB_.PCI0.ISA0.EC0_.PQ8A, Not(0x1, ), \_SB_.PCI0.ISA0.EC0_.PQ8A) Release(\_SB_.PCI0.ISA0.EC0_.MUT2) } } Method(_PS3) { Store(0x3, _PSC) } Method(_FDE) { Store(Buffer(0x14) {0x0 }, Local0) CreateDWordField(Local0, 0x0, FD0_) CreateDWordField(Local0, 0x10, TAPE) If(And(\_SB_.PCI0.ISA0.SIO0.FDC_.EFDD._STA(), 0x1, )) { Store(0x1, FD0_) } Else { If(And(\_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._STA(), 0x1, )) { Store(0x1, FD0_) } } Store(0x2, TAPE) Return(Local0) } Device(IFDD) { Method(_ADR) { If(ECOK()) { If(\_SB_.PCI0.ISA0.EC0_.EXFD) { Return(0x1) } } Else { If(And(BDST, 0x1, )) { Return(0x1) } } Return(0x0) } Method(_STA) { If(ECOK()) { If(\_SB_.PCI0.ISA0.EC0_.EXFD) { Return(0x0) } } Else { If(And(BDST, 0x1, )) { Return(0x0) } } If(ECOK()) { If(LAnd(\_SB_.PCI0.ISA0.EC0_.FDD_, XOr(^^STOP, 0x1, ))) { If(LEqual(\_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PSC, 0x0)) { Return(0xf) } Else { Return(0xd) } } Else { Return(0x0) } } Else { If(And(BDST, 0x2, )) { If(LEqual(\_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PSC, 0x0)) { Return(0xf) } Else { Return(0xd) } } Else { Return(0x0) } } } Name(_PSC, 0x3) Method(_PS0) { Store(0x0, \_SB_.PCI0.PWR_.SDPW) Store(0x0, _PSC) } Method(_PS3) { Store(0x1, \_SB_.PCI0.PWR_.SDPW) Store(0x3, _PSC) } Method(_EJ0, 1) { If(\_SB_.PCI0.ISA0.EC0_.EXFD) { \_SB_.PCI0.ISA0.SIO0.FDC_.EFDD._EJ0(0x1) } Else { ^_PS3() Or(\_SB_.PCI0.ISA0.SIO0.FDC_.STOP, 0x1, \_SB_.PCI0.ISA0.SIO0.FDC_.STOP) } } Name(_FDI, Package(0x10) { 0x0, 0x4, 0x4f, 0x12, 0x1, 0xdf, 0x2, 0x25, 0x2, 0x12, 0x1b, 0xff, 0x6c, 0xf6, 0xf, 0x5, }) } Device(EFDD) { Method(_ADR) { If(ECOK()) { If(LNot(\_SB_.PCI0.ISA0.EC0_.EXFD)) { Return(0x1) } } Else { If(LNot(And(BDST, 0x1, ))) { Return(0x1) } } Return(0x0) } Method(_STA) { If(ECOK()) { If(LOr(LNot(\_SB_.PCI0.ISA0.EC0_.EXFD), And(^^STOP, 0x2, ))) { Return(0x0) } } Else { If(LNot(And(BDST, 0x1, ))) { Return(0x0) } } If(LEqual(_PSC, 0x0)) { Return(0xf) } Else { Return(0xd) } } Name(_PSC, 0x3) Method(_PS0) { Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Name(_EJD, "_SB_.PCI0.ISA0.SPR0") Method(_EJ0, 1) { Store(0x3, _PSC) Or(\_SB_.PCI0.ISA0.SIO0.FDC_.STOP, 0x2, \_SB_.PCI0.ISA0.SIO0.FDC_.STOP) } Name(_FDI, Package(0x10) { 0x0, 0x4, 0x4f, 0x12, 0x1, 0xdf, 0x2, 0x25, 0x2, 0x12, 0x1b, 0xff, 0x6c, 0xf6, 0xf, 0x5, }) } } } 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, 0x0) Name(SEL0, 0xf0) Name(BFLG, 0x0) Method(_REG, 2) { If(LEqual(Arg0, 0x3)) { Store(Arg1, ECEN) } } OperationRegion(ERAM, EmbeddedControl, 0x0, 0xff) Field(ERAM, ByteAcc, Lock, Preserve) { Offset(0x4), CMCM, 8, CMD1, 8, CMD2, 8, CMD3, 8, Offset(0x18), SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 256, BCNT, 8, SMAA, 8, S1D0, 8, S1D1, 8, SM2A, 8, S2D0, 8, S2D1, 8, SM3A, 8, LIDS, 1, DV1S, 1, EXFD, 1, , 1, , 1, CRTS, 1, SLPS, 1, DCKS, 1, EJBS, 1, , 1, , 1, , 1, , 1, , 1, DV2S, 1, DV3S, 1, WK10, 16, EVTP, 16, BTM3, 8, DCID, 8, DPWR, 1, UDR0, 1, UDR5, 1, EQBF, 1, LDDS, 1, CRST, 1, DCWT, 1, QVCC, 1, HP4D, 8, WAKP, 16, POLL, 1, ADP_, 1, ALRT, 1, B1WE, 1, B1WS, 1, B2WE, 1, B2WS, 1, BWAK, 1, PWRE, 1, ALLB, 1, AUXB, 1, S2DR, 1, F1B4, 1, F1B5, 1, F1B6, 1, F1B7, 1, S1LD, 1, S2LD, 1, F2B2, 1, PTSV, 3, PMEE, 1, ENCB, 1, F3B0, 1, F3B1, 1, F3B2, 1, F3B3, 1, F3B4, 1, F3B5, 1, F3B6, 1, F3B7, 1, TMSS, 2, OSMD, 1, F4B3, 1, BANK, 4, CTMP, 8, S2DC, 8, BPD_, 8, BT1I, 16, BT1C, 16, BT1V, 16, BT1S, 8, BT2I, 16, BT2C, 16, BT2V, 16, BT2S, 8, KBID, 8, TTMP, 8, HPCB, 8, HP69, 8, HP6A, 8, HP6B, 8, HP6C, 8, HP6D, 8, HP6E, 8, HP6F, 8, HP70, 8, HP71, 8, HP72, 8, HP73, 8, HP74, 8, HP75, 8, BTIN, 1, FAAW, 1, BTS2, 1, BTS3, 1, BTS4, 1, BTS5, 1, BTAT, 1, BTOF, 1, SUSB, 1, SUSC, 1, CPWR, 1, CBTN, 1, FAN_, 1, PFB5, 1, PFB6, 1, S4IN, 1, FANL, 16, QU7A, 8, QU7B, 8, QU7C, 8, QU7D, 8, QU7E, 8, QU7F, 8 } Field(ERAM, ByteAcc, NoLock, Preserve) { Offset(0x1c), SMW0, 16 } Field(ERAM, ByteAcc, NoLock, Preserve) { Offset(0x1c), SMB0, 8 } Field(ERAM, ByteAcc, NoLock, Preserve) { Offset(0x1c), FLD0, 64 } Field(ERAM, ByteAcc, NoLock, Preserve) { Offset(0x1c), FLD1, 128 } Field(ERAM, ByteAcc, NoLock, Preserve) { Offset(0x1c), FLD2, 192 } Field(ERAM, ByteAcc, NoLock, Preserve) { Offset(0x1c), FLD3, 256 } Mutex(CMUT, 0) Method(CMC2, 3) { Acquire(CMUT, 0xffff) Store(Arg2, CMD2) Store(Arg1, CMD1) Store(Arg0, CMCM) While(CMCM) { } Release(CMUT) } Mutex(MUT0, 0) Mutex(MUT1, 0) Method(SMRD, 4) { If(LNot(ECOK())) { Return(0xff) } If(LNot(LEqual(Arg0, 0x7))) { If(LNot(LEqual(Arg0, 0x9))) { If(LNot(LEqual(Arg0, 0xb))) { Return(0x19) } } } Acquire(MUT0, 0xffff) Store(0x4, Local0) While(LGreater(Local0, 0x1)) { And(SMST, 0x40, SMST) Store(Arg2, SMCM) Store(Arg1, SMAD) Store(Arg0, SMPR) While(LNot(And(SMST, 0xbf, Local1))) { Sleep(0x2) } If(LEqual(Local1, 0x80)) { Store(0x0, Local0) } Else { Decrement(Local0) } } If(Local0) { Store(And(Local1, 0x1f, ), Local0) } Else { If(LEqual(Arg0, 0x7)) { Store(SMB0, Arg3) } If(LEqual(Arg0, 0x9)) { Store(SMW0, Arg3) } If(LEqual(Arg0, 0xb)) { Store(BCNT, Local3) ShiftRight(0x0100, 0x3, Local2) If(LGreater(Local3, Local2)) { Store(Local2, Local3) } If(LLess(Local3, 0x9)) { Store(FLD0, Local2) } Else { If(LLess(Local3, 0x11)) { Store(FLD1, Local2) } Else { If(LLess(Local3, 0x19)) { Store(FLD2, Local2) } Else { Store(FLD3, Local2) } } } Increment(Local3) Store(Buffer(Local3) { }, Local4) Decrement(Local3) Store(Zero, Local5) While(LGreater(Local3, Local5)) { GBFE(Local2, Local5, RefOf(Local6)) PBFE(Local4, Local5, Local6) Increment(Local5) } PBFE(Local4, Local5, 0x0) Store(Local4, Arg3) } } Release(MUT0) Return(Local0) } Method(SMWR, 4) { If(LNot(ECOK())) { Return(0xff) } If(LNot(LEqual(Arg0, 0x6))) { If(LNot(LEqual(Arg0, 0x8))) { If(LNot(LEqual(Arg0, 0xa))) { Return(0x19) } } } Acquire(MUT0, 0xffff) Store(0x4, Local0) While(LGreater(Local0, 0x1)) { If(LEqual(Arg0, 0x6)) { Store(Arg3, SMB0) } If(LEqual(Arg0, 0x8)) { Store(Arg3, SMW0) } If(LEqual(Arg0, 0xa)) { Store(Arg3, SMD0) } And(SMST, 0x40, SMST) Store(Arg2, SMCM) Store(Arg1, SMAD) Store(Arg0, SMPR) While(LNot(And(SMST, 0xbf, Local1))) { Sleep(0x2) } If(LEqual(Local1, 0x80)) { Store(0x0, Local0) } Else { Decrement(Local0) } } If(Local0) { Store(And(Local1, 0x1f, ), Local0) } Release(MUT0) Return(Local0) } Name(ACFL, 0x0) Method(SMSL) { Store("CMBatt - SMSL", Debug) If(LNot(ECOK())) { Return(0xff) } Acquire(\_SB_.PCI0.ISA0.EC0_.MUT1, 0xffff) If(LNot(\_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0x14, 0x1, RefOf(Local0)))) { Store(Local0, SEL0) Store(SEL0, Debug) If(LEqual(ALRT, 0x1)) { \_SB_.PCI0.ISA0.BAT1.IVBI() \_SB_.PCI0.ISA0.BAT1.IVBS() \_SB_.PCI0.ISA0.BAT2.IVBI() \_SB_.PCI0.ISA0.BAT2.IVBS() Store(0x0, ALRT) } Store(\_SB_.PCI0.ISA0.ACAD.CHAC(SEL0), Local1) Store(\_SB_.PCI0.ISA0.BAT1.CHBP(SEL0), Local2) Store(\_SB_.PCI0.ISA0.BAT2.CHBP(SEL0), Local3) Or(SEL0, 0x0fff, Local0) SMWR(0x8, 0x14, 0x1, Local0) If(LAnd(Local1, \_SB_.PCI0.ISA0.ACAD.ACP_)) { Store("CMBatt - Notify(ACAD,0x80): AC_Inserted", Debug) Store(0x0, \_SB_.PCI0.PWR_.CRUN) Notify(\_SB_.PCI0.ISA0.ACAD, 0x80) Store(0x2, ACFL) If(\_SB_.PCI0.PWR_.BKLT) { Store(0x0, \_SB_.PCI0.PWR_.BKLT) Sleep(0xd) Store(0x1, \_SB_.PCI0.PWR_.BKLT) } } If(And(0x4, Local2, )) { If(\_SB_.PCI0.PWR_.BKLT) { Store(0x0, \_SB_.PCI0.PWR_.BKLT) Sleep(0xd) Store(0x1, \_SB_.PCI0.PWR_.BKLT) } \_SB_.PCI0.ISA0.BAT1.B1CK() } If(And(0x2, Local2, )) { \_SB_.PCI0.ISA0.BAT1.B1ST() } If(And(0x1, Local2, )) { \_SB_.PCI0.ISA0.BAT1.B1IF() } If(And(0x4, Local3, )) { If(\_SB_.PCI0.PWR_.BKLT) { Store(0x0, \_SB_.PCI0.PWR_.BKLT) Sleep(0xd) Store(0x1, \_SB_.PCI0.PWR_.BKLT) } \_SB_.PCI0.ISA0.BAT2.B2CK() } If(And(0x2, Local3, )) { \_SB_.PCI0.ISA0.BAT2.B2ST() } If(And(0x1, Local3, )) { \_SB_.PCI0.ISA0.BAT2.B2IF() } If(LAnd(Local1, LNot(\_SB_.PCI0.ISA0.ACAD.ACP_))) { Store("CMBatt - Notify(ACAD, 0x80): AC_Removed", Debug) Store(0x1, \_SB_.PCI0.PWR_.CRUN) Notify(\_SB_.PCI0.ISA0.ACAD, 0x80) Store(0x1, ACFL) If(\_SB_.PCI0.PWR_.BKLT) { Store(0x0, \_SB_.PCI0.PWR_.BKLT) Sleep(0xd) Store(0x1, \_SB_.PCI0.PWR_.BKLT) } } } Store(0x3c, Local4) If(\_SB_.PCI0.ISA0.BAT1.REPT) { Store(0x2, Local4) } If(\_SB_.PCI0.ISA0.BAT2.REPT) { Store(0x2, Local4) } If(BFLG) { Store(0x1, Local5) While(LNot(And(BFLG, 0x1, ))) { Increment(Local5) ShiftRight(BFLG, 0x1, BFLG) } ShiftRight(BFLG, 0x1, BFLG) If(LGreater(Local4, Local5)) { Store(Local5, Local4) } } Store(Local4, BPD_) BPOL() Release(\_SB_.PCI0.ISA0.EC0_.MUT1) If(ACFL) { Decrement(ACFL) Store(\_SB_.PCI0.ISA0.HPSS(0x12, ACFL), Local0) CMC2(0xc4, Local0, 0x82) Store(0x0, ACFL) } } Name(PSTA, 0x0) Method(CPOL) { If(LEqual(PSTA, 0x0)) { If(ECOK()) { BPOL() Store(0x1, PSTA) } } } Method(BPOL) { Store(0x1, POLL) } Method(_Q09) { Store("QUERY_09", Debug) SMSL() } Method(_Q20) { Store("QUERY_20", Debug) If(And(SMST, 0x40, )) { Store(SMAA, Local0) If(LEqual(Local0, 0x14)) { And(SMST, 0xbf, SMST) If(PWRE) { Store("CMBatt - PwrEvent", Debug) Store(0x0, PWRE) Store(0x12, BFLG) Store(0x0, BPD_) BPOL() } } } } Method(_Q29) { Store("QUERY_29", Debug) If(And(PQ8A, 0x4, )) { And(PQ8A, Not(0x4, ), PQ8A) Acquire(\_SB_.PCI0.ISA0.EC0_.MUT2, 0xffff) Store(0x1, \_SB_.PCI0.ISA0.EC0_.SHDD) \_SB_.PCI0.ISA0.EC0_.SWAP() Release(\_SB_.PCI0.ISA0.EC0_.MUT2) } } Method(_Q02) { } Method(_Q03) { If(LEqual(\_SB_.PCI0.AGP_.VGA_.DISW, 0x0)) { \_SB_.PCI0.AGP_.VGA_.DRUL(0x1) } Else { If(LEqual(\_SB_.PCI0.AGP_.VGA_.DISW, 0x1)) { HPSS(0x1, 0x0) } } } Method(_Q04) { Notify(\_SB_.PCI0.ISA0.HPCI, 0x86) } Method(_Q05) { } Method(_Q0A) { Store("Brightness Down: _Q0A", Debug) Store(HPSS(0x8, 0x0), Local0) CMC2(0xc4, Local0, 0x82) } Method(_Q0B) { Store("Brightness Up: _Q0B", Debug) Store(HPSS(0x8, 0x1), Local0) CMC2(0xc4, Local0, 0x82) } Method(_Q80) { Store("THERM: _Q80 - Thermal Change", Debug) Store("Current Temperature is ----------- ", Debug) Store(CTMP, Debug) Notify(\_TZ_.THRM, 0x80) } Method(_Q8A) { Store(EVTP, Local0) Store(Local0, EVTP) Store(Local0, Debug) If(And(Local0, 0x1, )) { If(LIDS) { Store(0x0, \_SB_.LID_.LPOL) Store(0x0, \_SB_.PCI0.PWR_.BKLT) } Else { Store(0x1, \_SB_.LID_.LPOL) Store(0x1, \_SB_.PCI0.PWR_.BKLT) } Notify(\_SB_.LID_, 0x80) } If(And(Local0, 0x4, )) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT2, 0xffff) \_SB_.PCI0.ISA0.EC0_.SWAP() Release(\_SB_.PCI0.ISA0.EC0_.MUT2) } If(And(Local0, 0x8, )) { Notify(\_SB_.PCI0.ISA0.EC0_.BT__, 0x90) } If(And(Local0, 0x10, )) { Notify(\_SB_.PCI0.ISA0.EC0_.BT__, 0x80) } If(And(Local0, 0x20, )) { \_SB_.PCI0.AGP_.VGA_.DRUL(0x2) } If(And(Local0, 0x40, )) { Store("Notify Sleep Button(0x80)", Debug) Notify(\_SB_.SLP_, 0x80) } If(And(Local0, 0x80, )) { If(DCKS) { \_SB_.PCI0.ISA0.SPR0.DOCK() } Else { \_SB_.PCI0.ISA0.SPR0.UDOK() } } If(And(Local0, 0x0100, )) { \_SB_.PCI0.ISA0.SPR0.UNDK() } If(And(Local0, 0x4000, )) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT3, 0xffff) \_SB_.PCI0.ISA0.EC0_.MBAY() Release(\_SB_.PCI0.ISA0.EC0_.MUT3) Acquire(\_SB_.PCI0.ISA0.EC0_.MUT2, 0xffff) \_SB_.PCI0.ISA0.EC0_.SWAP() Release(\_SB_.PCI0.ISA0.EC0_.MUT2) } } Method(_Q8D) { \_SB_.PCI0.ISA0.SPR0.DOCK() } Name(FDD_, 0x0) Name(SHDD, 0x0) Name(BIDE, 0x0) Mutex(MUT3, 0) Method(MBAY) { If(ECOK()) { Store(\_SB_.PCI0.ISA0.EC0_.DV2S, Local0) } Else { Or(And(\_SB_.PCI0.ISA0.BDST, 0x2, ), And(\_SB_.PCI0.ISA0.BDST, 0x4, ), Local0) } If(Local0) { If(LEqual(\_SB_.PCI0.PWR_.GI13, 0x7)) { Store(0x1, \_SB_.PCI0.ISA0.EC0_.FDD_) Store(0x0, \_SB_.PCI0.ISA0.EC0_.SHDD) Store(0x0, \_SB_.PCI0.ISA0.EC0_.BIDE) } Else { Store(0x0, \_SB_.PCI0.ISA0.EC0_.FDD_) Store(0x1, \_SB_.PCI0.ISA0.EC0_.SHDD) ShiftLeft(\_SB_.PCI0.PWR_.GI13, 0x3, \_SB_.PCI0.ISA0.EC0_.BIDE) } } Else { Store(0x0, \_SB_.PCI0.ISA0.EC0_.FDD_) Store(0x0, \_SB_.PCI0.ISA0.EC0_.SHDD) Store(0x0, \_SB_.PCI0.ISA0.EC0_.BIDE) } } Name(PQ8A, 0x0) Mutex(MUT2, 0) Method(SWAP) { If(LEqual(\_SB_.PCI0.OSNT, 0x1)) { Store(\_SB_.PCI0.IDE_.BAYD, Local0) If(LNot(\_SB_.PCI0.ISA0.EC0_.SHDD)) { If(And(Local0, 0x4, )) { If(LNot(\_SB_.PCI0.IDE_._PSC)) { If(And(LEqual(\_SB_.PCI0.IDE_.TSEC, 0x8000), \_SB_.PCI0.IDE_.SECN.MAST.STOP, )) { Notify(\_SB_.PCI0.IDE_.SECN.MAST, 0x1) Store(0x0, \_SB_.PCI0.IDE_.SECN.MAST.STOP) } Else { Store(0x1, \_SB_.PCI0.ISA0.TRIS) Store(0x1, \_SB_.PCI0.PWR_.SDPW) Store(0x8000, \_SB_.PCI0.IDE_.TSEC) Notify(\_SB_.PCI0.IDE_.SECN, 0x1) } And(\_SB_.PCI0.IDE_.BAYD, Not(0x4, ), \_SB_.PCI0.IDE_.BAYD) And(\_SB_.PCI0.IDE_.BAYD, Not(0x38, ), \_SB_.PCI0.IDE_.BAYD) } Else { Or(PQ8A, 0x2, PQ8A) } } } If(LNot(\_SB_.PCI0.ISA0.EC0_.FDD_)) { If(And(Local0, 0x2, )) { If(LNot(\_SB_.PCI0.ISA0.SIO0.FDC_._PSC)) { Store(0x1, \_SB_.PCI0.ISA0.TRIS) Store(0x1, \_SB_.PCI0.PWR_.SDPW) \_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PS3() Notify(\_SB_.PCI0.ISA0.SIO0.FDC_, 0x1) And(\_SB_.PCI0.ISA0.SIO0.FDC_.STOP, Not(0x1, ), \_SB_.PCI0.ISA0.SIO0.FDC_.STOP) And(\_SB_.PCI0.IDE_.BAYD, Not(0x2, ), \_SB_.PCI0.IDE_.BAYD) } Else { Or(PQ8A, 0x1, PQ8A) } } } If(\_SB_.PCI0.ISA0.EC0_.SHDD) { If(LNot(And(Local0, 0x4, ))) { If(LNot(\_SB_.PCI0.IDE_._PSC)) { If(LNot(And(\_SB_.PCI0.IDE_.BAYD, 0x2, ))) { Store(0x1, \_SB_.PCI0.ISA0.TRIS) Store(0x0, \_SB_.PCI0.PWR_.SDPW) Store(0x1, \_SB_.PCI0.PWR_.SRST) Sleep(0x64) Store(0x0, \_SB_.PCI0.PWR_.SRST) Sleep(0xc8) Store(0x0, \_SB_.PCI0.ISA0.TRIS) Store(0xc057, \_SB_.PCI0.IDE_.TSEC) Store(0x0, \_SB_.PCI0.IDE_.SECN.MAST.STOP) Notify(\_SB_.PCI0.IDE_.SECN, 0x1) Or(\_SB_.PCI0.IDE_.BAYD, 0x4, \_SB_.PCI0.IDE_.BAYD) Or(\_SB_.PCI0.IDE_.BAYD, \_SB_.PCI0.ISA0.EC0_.BIDE, \_SB_.PCI0.IDE_.BAYD) } } Else { Or(PQ8A, 0x2, PQ8A) } } Else { If(LNot(LEqual(And(Local0, 0x38, ), BIDE))) { If(LNot(\_SB_.PCI0.IDE_._PSC)) { If(LOr(LNot(LEqual(\_SB_.PCI0.IDE_.TSEC, 0x8000)), LNot(\_SB_.PCI0.IDE_.SECN.MAST.STOP))) { Store(0x1, \_SB_.PCI0.ISA0.TRIS) Store(0x1, \_SB_.PCI0.PWR_.SDPW) Store(0x8000, \_SB_.PCI0.IDE_.TSEC) Store(0x0, SHDD) Notify(\_SB_.PCI0.IDE_.SECN.MAST, 0x1) And(\_SB_.PCI0.IDE_.BAYD, Not(0x4, ), \_SB_.PCI0.IDE_.BAYD) And(\_SB_.PCI0.IDE_.BAYD, Not(0x38, ), \_SB_.PCI0.IDE_.BAYD) Store(0xfa, HPCB) Store(0x1, ENCB) Or(PQ8A, 0x4, PQ8A) } Else { Store(0x1, \_SB_.PCI0.ISA0.TRIS) Store(0x0, \_SB_.PCI0.PWR_.SDPW) Store(0x1, \_SB_.PCI0.PWR_.SRST) Sleep(0x64) Store(0x0, \_SB_.PCI0.PWR_.SRST) Sleep(0xc8) Store(0x0, \_SB_.PCI0.ISA0.TRIS) Store(0xc057, \_SB_.PCI0.IDE_.TSEC) Store(0x0, \_SB_.PCI0.IDE_.SECN.MAST.STOP) Notify(\_SB_.PCI0.IDE_.SECN, 0x1) And(\_SB_.PCI0.IDE_.BAYD, Not(0x38, ), \_SB_.PCI0.IDE_.BAYD) Or(\_SB_.PCI0.IDE_.BAYD, \_SB_.PCI0.ISA0.EC0_.BIDE, \_SB_.PCI0.IDE_.BAYD) } } Else { Or(PQ8A, 0x2, PQ8A) } } } } If(\_SB_.PCI0.ISA0.EC0_.FDD_) { If(LNot(And(Local0, 0x2, ))) { If(LNot(\_SB_.PCI0.ISA0.SIO0.FDC_._PSC)) { If(LNot(And(\_SB_.PCI0.IDE_.BAYD, 0x4, ))) { If(LNot(\_SB_.PCI0.ISA0.EC0_.EXFD)) { \_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PS0() Store(0x1, \_SB_.PCI0.ISA0.TRIS) Store(0x0, \_SB_.PCI0.PWR_.SDPW) Store(0x0, \_SB_.PCI0.ISA0.TRIS) Notify(\_SB_.PCI0.ISA0.SIO0.FDC_, 0x1) } Or(\_SB_.PCI0.IDE_.BAYD, 0x2, \_SB_.PCI0.IDE_.BAYD) } } Else { Or(PQ8A, 0x1, PQ8A) } } } If(\_SB_.PCI0.ISA0.EC0_.EXFD) { If(LNot(And(Local0, 0x1, ))) { If(LNot(\_SB_.PCI0.ISA0.SIO0.FDC_._PSC)) { HPSS(0x4, 0x0) \_SB_.PCI0.ISA0.SIO0.FDC_.EFDD._PS0() Notify(\_SB_.PCI0.ISA0.SIO0, 0x1) Or(\_SB_.PCI0.IDE_.BAYD, 0x1, \_SB_.PCI0.IDE_.BAYD) } Else { Or(PQ8A, 0x1, PQ8A) } } } If(LNot(\_SB_.PCI0.ISA0.EC0_.EXFD)) { If(And(Local0, 0x1, )) { If(LNot(\_SB_.PCI0.ISA0.SIO0.FDC_._PSC)) { HPSS(0x5, 0x0) \_SB_.PCI0.ISA0.SIO0.FDC_.EFDD._PS3() And(\_SB_.PCI0.IDE_.BAYD, Not(0x1, ), \_SB_.PCI0.IDE_.BAYD) And(\_SB_.PCI0.ISA0.SIO0.FDC_.STOP, Not(0x2, ), \_SB_.PCI0.ISA0.SIO0.FDC_.STOP) If(And(Local0, 0x2, )) { If(LNot(And(\_SB_.PCI0.ISA0.SIO0.FDC_.STOP, 0x1, ))) { \_SB_.PCI0.ISA0.SIO0.FDC_.IFDD._PS0() Store(0x1, \_SB_.PCI0.ISA0.TRIS) Store(0x0, \_SB_.PCI0.PWR_.SDPW) Store(0x0, \_SB_.PCI0.ISA0.TRIS) } } Notify(\_SB_.PCI0.ISA0.SIO0, 0x0) } Else { Or(PQ8A, 0x1, PQ8A) } } } } } Device(BT__) { Name(_HID, "INTC1234") Method(_STA) { If(And(\_SB_.PCI0.ISA0.BTFL, 0x1, )) { Return(0xf) } Else { Return(0x0) } } Method(DUSB) { If(ECOK()) { Store(0x0, \_SB_.PCI0.ISA0.EC0_.BTAT) } } Method(AUSB) { If(ECOK()) { Store(0x1, \_SB_.PCI0.ISA0.EC0_.BTAT) } } Method(BTPF) { If(ECOK()) { Store(0x1, \_SB_.PCI0.ISA0.EC0_.BTOF) } } Method(BTPO) { If(ECOK()) { Store(0x0, \_SB_.PCI0.ISA0.EC0_.BTOF) } } Method(_PSW, 1) { If(ECOK()) { If(Arg0) { Store(0x1, \_SB_.PCI0.ISA0.EC0_.FAAW) } Else { Store(0x0, \_SB_.PCI0.ISA0.EC0_.FAAW) } } } Name(_PRW, Package(0x2) { 0x9, 0x4, }) Method(BTST) { If(ECOK()) { ShiftLeft(\_SB_.PCI0.ISA0.EC0_.BTAT, 0x6, Local1) ShiftLeft(\_SB_.PCI0.ISA0.EC0_.BTOF, 0x7, Local2) Add(Local1, Local2, Local1) Return(Local1) } Else { Return(And(\_SB_.PCI0.ISA0.BTFL, 0xc0, )) } } } } Device(ACAD) { Name(_HID, "ACPI0003") Name(_PCL, Package(0x1) { \_SB_, }) Name(ACP_, Ones) Method(_PSR) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT1, 0xffff) Store("CMBatt - _PSR", Debug) \_SB_.PCI0.ISA0.EC0_.CPOL() Store(ACP_, Local0) If(Local0) { Store(0x1, Local1) } Else { Store(0x0, Local1) } Release(\_SB_.PCI0.ISA0.EC0_.MUT1) Return(Local1) } Method(CHAC, 1) { Store(LGreater(And(Arg0, 0xf0, ), 0x80), Local0) If(LNot(LEqual(Local0, ACP_))) { Store(Local0, ACP_) Return(Ones) } Else { Return(Zero) } } } Device(BAT1) { Name(_HID, 0x0a0cd041) Name(_UID, 0x1) Name(_PCL, Package(0x1) { \_SB_, }) Name(PBIF, Package(0xd) { 0x1, 0x0b40, 0x0b40, 0x1, 0x39d0, 0x012c, 0xc8, 0x20, 0x20, "BAT1", " ", " ", " ", }) Name(PBST, Package(0x4) { 0x0, 0xffffffff, 0xffffffff, 0x2710, }) Name(UBIF, 0x01e9) Name(BP__, 0x0) Name(REPT, 0x0) Name(ERRC, 0x0) Method(_STA) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT1, 0xffff) Store("CMBatt - _STA.BAT1", Debug) \_SB_.PCI0.ISA0.EC0_.CPOL() If(BP__) { Store(0x1f, Local1) } Else { Store(0xf, Local1) } Release(\_SB_.PCI0.ISA0.EC0_.MUT1) Return(Local1) } Method(_BIF) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT1, 0xffff) Store("CMBatt - _BIF.BAT1", Debug) \_SB_.PCI0.ISA0.EC0_.CPOL() Release(\_SB_.PCI0.ISA0.EC0_.MUT1) Return(PBIF) } Method(_BST) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT1, 0xffff) Store("CMBatt - _BST.BAT1", Debug) \_SB_.PCI0.ISA0.EC0_.CPOL() Release(\_SB_.PCI0.ISA0.EC0_.MUT1) Return(PBST) } Method(B1CK) { Store("CMBatt - Notify(BAT1,0x81): B1CK", Debug) Notify(\_SB_.PCI0.ISA0.BAT1, 0x81) } Method(B1ST) { Store("CMBatt - Notify(BAT1,0x80): B1ST", Debug) Notify(\_SB_.PCI0.ISA0.BAT1, 0x80) } Method(B1IF) { Store("CMBatt - Notify(BAT1,0x81): B1IF", Debug) Notify(\_SB_.PCI0.ISA0.BAT1, 0x81) } Method(UPBI) { Store("CMBatt - UPBI.BAT1", Debug) Store(Zero, Local0) If(LNot(ECOK())) { Return(Local0) } Store(0xc, Local1) Store(Buffer(0xd) {0x0, 0x18, 0x10, 0x0, 0x19, 0x0, 0x0, 0x0, 0x0, 0x21, 0x0, 0x22, 0x20 }, Local2) While(LGreater(Local1, 0x8)) { If(LNot(And(UBIF, VTOB(Local1), ))) { GBFE(Local2, Local1, RefOf(Local3)) If(Local3) { If(LNot(\_SB_.PCI0.ISA0.EC0_.SMRD(0xb, 0x16, Local3, RefOf(Local4)))) { Store(\_SB_.PCI0.ISA0.EC0_.BCNT, Local5) Store(Zero, Local3) Store(Zero, ERRC) While(LGreater(Local5, Local3)) { GBFE(Local4, Local3, RefOf(Local6)) Increment(Local3) If(And(Local6, 0x80, )) { Increment(ERRC) } } If(LEqual(ERRC, 0x0)) { Store(Local4, Index(PBIF, Local1, )) Or(UBIF, VTOB(Local1), UBIF) Store(Ones, Local0) } } } } Decrement(Local1) } While(LGreater(Local1, 0x0)) { If(LNot(And(UBIF, VTOB(Local1), ))) { GBFE(Local2, Local1, RefOf(Local3)) If(Local3) { If(LNot(\_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0x16, Local3, RefOf(Local5)))) { If(LAnd(Local5, LNot(And(Local5, 0x8000, )))) { If(LEqual(Local1, 0x2)) { ShiftRight(Local5, 0x5, Local5) ShiftLeft(Local5, 0x5, Local5) } Store(Local5, Index(PBIF, Local1, )) Or(UBIF, VTOB(Local1), UBIF) Store(Ones, Local0) } } } } Decrement(Local1) } Store(0xa, Local1) If(LNot(And(UBIF, VTOB(Local1), ))) { If(LNot(\_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0x16, 0x1c, RefOf(Local5)))) { Store(ITOS(ToBCD(Local5, )), Index(PBIF, Local1, )) Or(UBIF, VTOB(Local1), UBIF) Store(Ones, Local0) } } Store(PBIF, Debug) Return(Local0) } Method(UPBS) { Store("CMBatt - UPBS.BAT1", Debug) Store(Zero, Local0) If(LNot(ECOK())) { Return(Local0) } Store(\_SB_.PCI0.ISA0.EC0_.BT1S, Local5) Store(Local5, Local1) And(Local5, 0x7, Local5) If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x0, ))))) { Store("CMBatt - BAT1 STATE CHANGE", Debug) Store(Local1, Debug) Store(Local5, Index(PBST, 0x0, )) Store(Ones, Local0) } Store(\_SB_.PCI0.ISA0.EC0_.BT1C, Local5) If(LNot(And(Local5, 0x8000, ))) { ShiftRight(Local5, 0x5, Local5) ShiftLeft(Local5, 0x5, Local5) If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x2, ))))) { Store(Local5, Index(PBST, 0x2, )) Store(Ones, Local0) } } Store(\_SB_.PCI0.ISA0.EC0_.BT1V, Local5) If(LNot(And(Local5, 0x8000, ))) { ShiftRight(Local5, 0x5, Local5) ShiftLeft(Local5, 0x5, Local5) If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x3, ))))) { Store(Local5, Index(PBST, 0x3, )) Store(Ones, Local0) } } Store(\_SB_.PCI0.ISA0.EC0_.BT1I, Local5) If(And(Local1, 0x1, )) { Store(\_SB_.PCI0.ISA0.EC0_.BT1V, Local2) If(LEqual(Local2, Zero)) { Store(0x39d0, Local2) } Divide(0x01036640, Local2, , Local3) If(And(Local5, 0x8000, )) { Or(Local5, 0xffff0000, Local5) Add(Not(Local5, ), 0x1, Local5) If(LGreater(Local3, Local5)) { Store(Local3, Local5) } } Else { Store(Local3, Local5) } } If(And(Local1, 0x2, )) { If(And(Local5, 0x8000, )) { Store(0x0, Local5) } If(LGreater(0x64, Local5)) { Store(0x64, Local5) } } If(LEqual(And(Local1, 0x3, ), 0x0)) { Store(0x0, Local5) } ShiftRight(Local5, 0x5, Local5) ShiftLeft(Local5, 0x5, Local5) If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x1, ))))) { Store(Local5, Index(PBST, 0x1, )) Store(Ones, Local0) } If(Local0) { Store("CMBATT - PBST Changed", Debug) } Store(PBST, Debug) Return(Local0) } Method(IVBI) { Store(0x01e9, UBIF) Store(0x0b40, Index(PBIF, 0x1, )) Store(0x0b40, Index(PBIF, 0x2, )) Store(0x39d0, Index(PBIF, 0x4, )) Store("Bad", Index(PBIF, 0x9, )) Store("Bad", Index(PBIF, 0xa, )) Store("Bad", Index(PBIF, 0xb, )) Store("Bad", Index(PBIF, 0xc, )) } Method(IVBS) { Store(0x0, Index(PBST, 0x0, )) Store(0xffffffff, Index(PBST, 0x1, )) Store(0xffffffff, Index(PBST, 0x2, )) Store(0x39d0, Index(PBST, 0x3, )) } Method(CHBP, 1) { Store("CMBatt - CHBP.BAT1", Debug) Store(Zero, Local0) If(LNot(ECOK())) { Return(Local0) } Store(VTOB(Subtract(_UID, 0x1, )), Local1) Or(ShiftLeft(Local1, 0xc, ), 0x0fff, Local2) Store(Zero, Local3) If(And(Arg0, Local1, )) { If(BP__) { Store("CMBatt - BAT1 still present", Debug) \_SB_.PCI0.ISA0.EC0_.SMWR(0x8, 0x14, 0x1, Local2) \_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0x14, 0x1, RefOf(Local3)) If(LEqual(Local2, Or(Local3, 0x0fff, ))) { If(UPBI()) { Or(0x1, Local0, Local0) } If(UPBS()) { Or(0x2, Local0, Local0) } } } Else { Store("CMBatt - BAT1 connected", Debug) \_SB_.PCI0.ISA0.EC0_.SMWR(0x8, 0x14, 0x1, Local2) \_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0x14, 0x1, RefOf(Local3)) If(LEqual(Local2, Or(Local3, 0x0fff, ))) { UPBI() UPBS() } Store(0x1, BP__) Or(0x5, Local0, Local0) } } Else { If(BP__) { Store("CMBatt - BAT1 disconnected", Debug) Store(0x0, BP__) IVBI() IVBS() Or(0x4, Local0, Local0) } } If(LAnd(And(Arg0, Local1, ), LNot(LEqual(UBIF, 0x1fff)))) { Store(0x1, REPT) } Else { Store(0x0, REPT) } Return(Local0) } } Device(BAT2) { Name(_HID, 0x0a0cd041) Name(_UID, 0x2) Name(_PCL, Package(0x1) { \_SB_, }) Name(PBIF, Package(0xd) { 0x1, 0x0b40, 0x0b40, 0x1, 0x39d0, 0x012c, 0xc8, 0x20, 0x20, "BAT2", " ", " ", " ", }) Name(PBST, Package(0x4) { 0x0, 0xffffffff, 0xffffffff, 0x2710, }) Name(UBIF, 0x01e9) Name(BP__, 0x0) Name(REPT, 0x0) Name(ERRC, 0x0) Method(_STA) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT1, 0xffff) Store("CMBatt - _STA.BAT2", Debug) \_SB_.PCI0.ISA0.EC0_.CPOL() If(BP__) { Store(0x1f, Local1) } Else { Store(0xf, Local1) } Release(\_SB_.PCI0.ISA0.EC0_.MUT1) Return(Local1) } Method(_BIF) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT1, 0xffff) Store("CMBatt - _BIF.BAT2", Debug) \_SB_.PCI0.ISA0.EC0_.CPOL() Release(\_SB_.PCI0.ISA0.EC0_.MUT1) Return(PBIF) } Method(_BST) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT1, 0xffff) Store("CMBatt - _BST.BAT2", Debug) \_SB_.PCI0.ISA0.EC0_.CPOL() Release(\_SB_.PCI0.ISA0.EC0_.MUT1) Return(PBST) } Method(B2CK) { Store("CMBatt - Notify(BAT2,0x81): B1CK", Debug) Notify(\_SB_.PCI0.ISA0.BAT2, 0x81) } Method(B2ST) { Store("CMBatt - Notify(BAT2,0x80): B1ST", Debug) Notify(\_SB_.PCI0.ISA0.BAT2, 0x80) } Method(B2IF) { Store("CMBatt - Notify(BAT2,0x81): B2IF", Debug) Notify(\_SB_.PCI0.ISA0.BAT2, 0x81) } Method(UPBI) { Store("CMBatt - UPBI.BAT2", Debug) Store(Zero, Local0) If(LNot(ECOK())) { Return(Local0) } Store(0xc, Local1) Store(Buffer(0xd) {0x0, 0x18, 0x10, 0x0, 0x19, 0x0, 0x0, 0x0, 0x0, 0x21, 0x0, 0x22, 0x20 }, Local2) While(LGreater(Local1, 0x8)) { If(LNot(And(UBIF, VTOB(Local1), ))) { GBFE(Local2, Local1, RefOf(Local3)) If(Local3) { If(LNot(\_SB_.PCI0.ISA0.EC0_.SMRD(0xb, 0x16, Local3, RefOf(Local4)))) { Store(\_SB_.PCI0.ISA0.EC0_.BCNT, Local5) Store(Zero, Local3) Store(Zero, ERRC) While(LGreater(Local5, Local3)) { GBFE(Local4, Local3, RefOf(Local6)) Increment(Local3) If(And(Local6, 0x80, )) { Increment(ERRC) } } If(LEqual(ERRC, 0x0)) { Store(Local4, Index(PBIF, Local1, )) Or(UBIF, VTOB(Local1), UBIF) Store(Ones, Local0) } } } } Decrement(Local1) } While(LGreater(Local1, 0x0)) { If(LNot(And(UBIF, VTOB(Local1), ))) { GBFE(Local2, Local1, RefOf(Local3)) If(Local3) { If(LNot(\_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0x16, Local3, RefOf(Local5)))) { If(LAnd(Local5, LNot(And(Local5, 0x8000, )))) { If(LEqual(Local1, 0x2)) { ShiftRight(Local5, 0x5, Local5) ShiftLeft(Local5, 0x5, Local5) } Store(Local5, Index(PBIF, Local1, )) Or(UBIF, VTOB(Local1), UBIF) Store(Ones, Local0) } } } } Decrement(Local1) } Store(0xa, Local1) If(LNot(And(UBIF, VTOB(Local1), ))) { If(LNot(\_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0x16, 0x1c, RefOf(Local5)))) { Store(ITOS(ToBCD(Local5, )), Index(PBIF, Local1, )) Or(UBIF, VTOB(Local1), UBIF) Store(Ones, Local0) } } Store(PBIF, Debug) Return(Local0) } Method(UPBS) { Store("CMBatt - UPBS.BAT2", Debug) Store(Zero, Local0) If(LNot(ECOK())) { Return(Local0) } Store(\_SB_.PCI0.ISA0.EC0_.BT2S, Local5) Store(Local5, Local1) And(Local5, 0x7, Local5) If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x0, ))))) { Store("CMBatt - BAT2 STATE CHANGE", Debug) Store(Local1, Debug) Store(Local5, Index(PBST, 0x0, )) Store(Ones, Local0) } Store(\_SB_.PCI0.ISA0.EC0_.BT2C, Local5) If(LNot(And(Local5, 0x8000, ))) { ShiftRight(Local5, 0x5, Local5) ShiftLeft(Local5, 0x5, Local5) If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x2, ))))) { Store(Local5, Index(PBST, 0x2, )) Store(Ones, Local0) } } Store(\_SB_.PCI0.ISA0.EC0_.BT2V, Local5) If(LNot(And(Local5, 0x8000, ))) { ShiftRight(Local5, 0x5, Local5) ShiftLeft(Local5, 0x5, Local5) If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x3, ))))) { Store(Local5, Index(PBST, 0x3, )) Store(Ones, Local0) } } Store(\_SB_.PCI0.ISA0.EC0_.BT2I, Local5) If(And(Local1, 0x1, )) { Store(\_SB_.PCI0.ISA0.EC0_.BT2V, Local2) If(LEqual(Local2, Zero)) { Store(0x39d0, Local2) } Divide(0x01036640, Local2, , Local3) If(And(Local5, 0x8000, )) { Or(Local5, 0xffff0000, Local5) Add(Not(Local5, ), 0x1, Local5) If(LGreater(Local3, Local5)) { Store(Local3, Local5) } } Else { Store(Local3, Local5) } } If(And(Local1, 0x2, )) { If(And(Local5, 0x8000, )) { Store(0x0, Local5) } If(LGreater(0x64, Local5)) { Store(0x64, Local5) } } If(LEqual(And(Local1, 0x3, ), 0x0)) { Store(0x0, Local5) } ShiftRight(Local5, 0x5, Local5) ShiftLeft(Local5, 0x5, Local5) If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x1, ))))) { Store(Local5, Index(PBST, 0x1, )) Store(Ones, Local0) } If(Local0) { Store("CMBATT - PBST Changed", Debug) } Store(PBST, Debug) Return(Local0) } Method(IVBI) { Store(0x01e9, UBIF) Store(0x0b40, Index(PBIF, 0x1, )) Store(0x0b40, Index(PBIF, 0x2, )) Store(0x39d0, Index(PBIF, 0x4, )) Store("Bad", Index(PBIF, 0x9, )) Store("Bad", Index(PBIF, 0xa, )) Store("Bad", Index(PBIF, 0xb, )) Store("Bad", Index(PBIF, 0xc, )) } Method(IVBS) { Store(0x0, Index(PBST, 0x0, )) Store(0xffffffff, Index(PBST, 0x1, )) Store(0xffffffff, Index(PBST, 0x2, )) Store(0x39d0, Index(PBST, 0x3, )) } Method(CHBP, 1) { Store("CMBatt - CHBP.BAT2", Debug) Store(Zero, Local0) If(LNot(ECOK())) { Return(Local0) } Store(VTOB(Subtract(_UID, 0x1, )), Local1) Or(ShiftLeft(Local1, 0xc, ), 0x0fff, Local2) Store(Zero, Local3) If(And(Arg0, Local1, )) { If(BP__) { Store("CMBatt - BAT2 still present", Debug) \_SB_.PCI0.ISA0.EC0_.SMWR(0x8, 0x14, 0x1, Local2) \_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0x14, 0x1, RefOf(Local3)) If(LEqual(Local2, Or(Local3, 0x0fff, ))) { If(UPBI()) { Or(0x1, Local0, Local0) } If(UPBS()) { Or(0x2, Local0, Local0) } } } Else { Store("CMBatt - BAT2 connected", Debug) \_SB_.PCI0.ISA0.EC0_.SMWR(0x8, 0x14, 0x1, Local2) \_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0x14, 0x1, RefOf(Local3)) If(LEqual(Local2, Or(Local3, 0x0fff, ))) { UPBI() UPBS() } Store(0x1, BP__) Or(0x5, Local0, Local0) } } Else { If(BP__) { Store("CMBatt - BAT2 disconnected", Debug) Store(0x0, BP__) IVBI() IVBS() Or(0x4, Local0, Local0) } } If(LAnd(And(Arg0, Local1, ), LNot(LEqual(UBIF, 0x1fff)))) { Store(0x1, REPT) } Else { Store(0x0, REPT) } Return(Local0) } } Device(SPR0) { Method(_HID) { If(\_SB_.PCI0.OSNT) { Return(0x150cd041) } Else { Return(0x050ad041) } } Method(_UID) { If(LNot(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x0))) { Return(\_SB_.PCI0.ISA0.DKSN) } Else { Return(Ones) } } Method(_BDN) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x1)) { Return(0x8022f022) } If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x2)) { Return(0x8122f022) } If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x3)) { Return(0x8222f022) } Return(Ones) } Event(EJVT) Method(_INI) { If(LNot(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x0))) { Store(0x0, _PSC) } Else { Store(0x3, _PSC) } } Name(_PSC, 0x3) Method(_PS0) { Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Method(_EJ0, 1) { Store(0x0, \_SB_.PCI0.ISA0.EC0_.DCWT) If(And(DCKF, 0x4, )) { And(DCKF, Not(0x4, ), DCKF) Store(0x0, \_SB_.PCI0.ISA0.EC0_.DPWR) And(DCKF, Not(0x2, ), DCKF) Store(0x0, \_SB_.PCI0.ISA0.DKTP) \_SB_.PCI0.AGP_.VGA_.DRUL(0x2) HPSS(0x0, 0x0) Return(0x0) } Store(0x1, \_SB_.PCI0.ISA0.EC0_.UDR0) Or(DCKF, 0x2, DCKF) Reset(EJVT) Wait(EJVT, 0xffff) Store(0x0, \_SB_.PCI0.ISA0.EC0_.DPWR) \_SB_.PCI0.AGP_.VGA_.DRUL(0x2) } Name(EJX_, 0x0) Method(_EJ4, 1) { Store(0x4, EJX_) Store(0x1, \_SB_.PCI0.ISA0.EC0_.UDR5) } Method(_DCK, 1) { If(Arg0) { Store(0x1, \_SB_.PCI0.ISA0.EC0_.DPWR) And(DCKF, Not(0x2, ), DCKF) If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x1)) { Store(0x0, \_SB_.PCI0.ISA0.EC0_.DCWT) Store(0x1, \_SB_.PCI0.ISA0.EC0_.LDDS) Store(0x1, Local1) } Else { Store(\_SB_.PCI0.EPR_.ENQB(), Local1) If(Local1) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x2)) { Notify(\_SB_.PCI0.EPR_, 0x0) } Else { Notify(\_SB_.PCI0.FDS_, 0x0) } } } If(LNot(\_SB_.PCI0.AGP_.VGA_.VRSM)) { \_SB_.PCI0.AGP_.VGA_.DRUL(0x2) } Return(Local1) } Else { Store(0x0, \_SB_.PCI0.ISA0.EC0_.EQBF) Store(0x0, \_SB_.PCI0.ISA0.EC0_.LDDS) Store(0x1, \_SB_.PCI0.ISA0.EC0_.DCWT) Return(0x1) } } Method(_STA) { If(ECOK()) { If(And(DCKF, 0x8, )) { And(DCKF, Not(0x8, ), DCKF) UNDK() Return(0xb) } If(LNot(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x0))) { Return(0xb) } Else { Return(0x0) } } Else { If(LNot(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x0))) { Return(0xb) } Else { Return(0x0) } } } Method(RDSN) { Name(CNT1, 0x0) While(LNot(LGreater(CNT1, 0x3))) { If(LNot(\_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0xac, 0x7, RefOf(Local0)))) { Store(0xffff, CNT1) } Else { Increment(CNT1) Sleep(0x14) } } Store(Zero, Local1) Or(Local1, Local0, Local1) Store(Zero, CNT1) While(LNot(LGreater(CNT1, 0x3))) { If(LNot(\_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0xac, 0x9, RefOf(Local0)))) { Store(0xffff, CNT1) } Else { Increment(CNT1) Sleep(0x14) } } Or(Local1, ShiftLeft(Local0, 0x10, ), Local1) Store(Local1, \_SB_.PCI0.ISA0.DKSN) If(And(\_SB_.PCI0.ISA0.MFLG, 0x8, )) { Store(0xffffffff, \_SB_.PCI0.ISA0.DKSN) } } Method(DOCK) { Store(\_SB_.PCI0.ISA0.EC0_.DCID, \_SB_.PCI0.ISA0.DKTP) Store(0x1, \_SB_.PCI0.ISA0.EC0_.DCWT) Store(0x1, \_SB_.PCI0.ISA0.EC0_.DPWR) If(And(DCKF, 0x2, )) { And(DCKF, Not(0x2, ), DCKF) Store(\_SB_.PCI0.ISA0.DKTP, Local1) Store(0x0, \_SB_.PCI0.ISA0.DKTP) Signal(\_SB_.PCI0.ISA0.SPR0.EJVT) Sleep(0x1388) Store(Local1, \_SB_.PCI0.ISA0.DKTP) If(LAnd(And(\_SB_.PCI0.IDE_.BAYD, 0x1, ), \_SB_.PCI0.ISA0.EC0_.EXFD)) { And(\_SB_.PCI0.IDE_.BAYD, Not(0x1, ), \_SB_.PCI0.IDE_.BAYD) Acquire(\_SB_.PCI0.ISA0.EC0_.MUT2, 0xffff) \_SB_.PCI0.ISA0.EC0_.SWAP() Release(\_SB_.PCI0.ISA0.EC0_.MUT2) } Notify(\_SB_.PCI0.ISA0.SIO0, 0x0) Notify(\_SB_.PCI0.ISA0.SPR0, 0x0) } Else { RDSN() If(XOr(And(\_SB_.PCI0.IDE_.BAYD, 0x1, ), \_SB_.PCI0.ISA0.EC0_.EXFD, )) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT2, 0xffff) \_SB_.PCI0.ISA0.EC0_.SWAP() Release(\_SB_.PCI0.ISA0.EC0_.MUT2) } Notify(\_SB_.PCI0.ISA0.SIO0, 0x0) Notify(\_SB_.PCI0.ISA0.SPR0, 0x0) HPSS(0x0, 0x0) } Return(Zero) } Method(UNDK) { Store(\_SB_.PCI0.ISA0.EC0_.DCID, Local1) If(LAnd(\_SB_.PCI0.ISA0.HPCI.Z000, LNot(And(\_SB_.PCI0.ISA0.HPCI.Z000, 0x2, )))) { Notify(\_SB_.PCI0.ISA0.HPCI, 0x85) } Else { Notify(\_SB_.PCI0.ISA0.SPR0, 0x1) } } Method(UDOK) { If(And(DCKF, 0x2, )) { And(DCKF, Not(0x2, ), DCKF) Store(0x0, \_SB_.PCI0.ISA0.DKTP) HPSS(0x0, 0x0) Signal(\_SB_.PCI0.ISA0.SPR0.EJVT) Name(CNT1, 0x0) Name(NVRS, 0x0) Name(CLSD, 0x0) While(LNot(LGreater(CNT1, 0x3))) { If(LNot(\_SB_.PCI0.ISA0.EC0_.SMRD(0x9, 0xb0, 0x80, RefOf(Local0)))) { Store(And(Local0, 0x4, ), NVRS) Store(And(Local0, 0x2, ), CLSD) If(LOr(LAnd(LNot(NVRS), LNot(CLSD)), LAnd(CLSD, LNot(\_SB_.LID_.LPOL)))) { Notify(\_SB_.PCI0.ISA0.HPCI, 0x87) } Store(0xffff, CNT1) } Else { Increment(CNT1) Sleep(0x14) } } } Else { If(And(DCKF, 0x10, )) { Store(0x0, \_SB_.PCI0.ISA0.EC0_.DCWT) And(DCKF, Not(0x10, ), DCKF) Return(Zero) } Or(DCKF, 0x4, DCKF) Notify(\_SB_.PCI0.ISA0.SPR0, 0x1) } If(XOr(And(\_SB_.PCI0.IDE_.BAYD, 0x1, ), \_SB_.PCI0.ISA0.EC0_.EXFD, )) { Sleep(0x1388) Store("Justin - call SWAP", Debug) Acquire(\_SB_.PCI0.ISA0.EC0_.MUT2, 0xffff) \_SB_.PCI0.ISA0.EC0_.SWAP() Release(\_SB_.PCI0.ISA0.EC0_.MUT2) Store("Justin- Delay completed", Debug) } } } Device(HPCI) { Name(_HID, 0x09c2f022) Name(Z000, 0x0) Method(STAT, 1) { Store(Arg0, Z000) } } } Device(IDE_) { Name(_ADR, 0x00070001) OperationRegion(PCI_, PCI_Config, 0x40, 0x4) Field(PCI_, DWordAcc, NoLock, Preserve) { Offset(0x3), , 7, SIDE, 1 } Field(PCI_, DWordAcc, NoLock, Preserve) { R40_, 32 } Field(PCI_, DWordAcc, NoLock, Preserve) { ITM0, 16, ITM1, 16 } Field(PCI_, DWordAcc, NoLock, Preserve) { Offset(0x2), TSEC, 16 } OperationRegion(PC2_, PCI_Config, 0x20, 0x4) Field(PC2_, DWordAcc, NoLock, Preserve) { R20_, 32 } OperationRegion(PC3_, PCI_Config, 0x4, 0x4) Field(PC3_, DWordAcc, NoLock, Preserve) { R04_, 32 } OperationRegion(REGS, PCI_Config, 0x44, 0x8) Field(REGS, DWordAcc, NoLock, Preserve) { SIT0, 4, SIT1, 4, Offset(0x4), UDC0, 2, UDC1, 2, Offset(0x6), UDT0, 8, UDT1, 8 } Name(BAYD, 0x0) Method(_INI) { Store(0x3, \_SB_.PCI0.IDE_.SECN._PSC) Store(0x1, \_SB_.PCI0.IDE_.SECN.MAST.STOP) If(ECOK()) { If(\_SB_.PCI0.ISA0.EC0_.SHDD) { Store(0x0, \_SB_.PCI0.IDE_.SECN._PSC) Store(0x0, \_SB_.PCI0.IDE_.SECN.MAST.STOP) } } Else { If(And(\_SB_.PCI0.ISA0.BDST, 0x4, )) { Store(0x0, \_SB_.PCI0.IDE_.SECN._PSC) Store(0x0, \_SB_.PCI0.IDE_.SECN.MAST.STOP) } } } Method(_STA) { Return(0xf) } Name(GMBU, Buffer(0x14) {0x0 }) Method(GTM_, 4) { Store(Buffer(0x14) { }, Local0) CreateDWordField(Local0, 0x0, PIO0) CreateDWordField(Local0, 0x4, DMA0) CreateDWordField(Local0, 0x8, PIO1) CreateDWordField(Local0, 0xc, DMA1) CreateDWordField(Local0, 0x10, FLAG) If(LOr(And(Arg0, 0x8, ), LNot(And(Arg0, 0x1, )))) { Store(0x0384, PIO0) } Else { Subtract(0x9, ShiftRight(And(Arg0, 0x0300, ), 0x8, ), Local1) Subtract(Local1, ShiftRight(And(Arg0, 0x3000, ), 0xc, ), Local1) Multiply(Local1, 0x1e, PIO0) } If(And(Arg2, 0x1, )) { Subtract(0x4, And(Arg3, 0x3, ), Local1) Multiply(Local1, 0x1e, DMA0) } Else { Subtract(0x9, ShiftRight(And(Arg0, 0x0300, ), 0x8, ), Local1) Subtract(Local1, ShiftRight(And(Arg0, 0x3000, ), 0xc, ), Local1) Multiply(Local1, 0x1e, DMA0) } If(And(Arg0, 0x4000, )) { If(LOr(And(Arg0, 0x80, ), LNot(And(Arg0, 0x10, )))) { Store(0x0384, PIO1) } Else { Subtract(0x9, And(Arg1, 0x3, ), Local1) Subtract(Local1, ShiftRight(And(Arg1, 0xc, ), 0x2, ), Local1) Multiply(Local1, 0x1e, PIO1) } } Else { Store(PIO0, PIO1) } If(And(Arg0, 0x4000, )) { If(And(Arg2, 0x2, )) { Subtract(0x4, ShiftRight(And(Arg3, 0x30, ), 0x4, ), Local1) Multiply(Local1, 0x1e, DMA1) } Else { Subtract(0x9, And(Arg1, 0x3, ), Local1) Subtract(Local1, ShiftRight(And(Arg1, 0xc, ), 0x2, ), Local1) Multiply(Local1, 0x1e, DMA1) } } Else { Store(DMA0, DMA1) } Store(0x10, FLAG) If(And(Arg2, 0x1, )) { Or(FLAG, 0x1, FLAG) } If(And(Arg0, 0x2, )) { Or(FLAG, 0x2, FLAG) } If(And(Arg2, 0x2, )) { Or(FLAG, 0x4, FLAG) } If(And(Arg0, 0x20, )) { Or(FLAG, 0x8, FLAG) } Return(Local0) } Method(STMS, 1) { CreateDWordField(Arg0, 0x0, PIO0) CreateDWordField(Arg0, 0x4, DMA0) CreateDWordField(Arg0, 0x8, PIO1) CreateDWordField(Arg0, 0xc, DMA1) CreateDWordField(Arg0, 0x10, FLAG) Store(Buffer(0x10) { }, Local7) CreateDWordField(Local7, 0x0, ITM_) CreateDWordField(Local7, 0x4, SIT_) CreateDWordField(Local7, 0x8, UDC_) CreateDWordField(Local7, 0xc, UDT_) Store(Or(Or(0x4000, 0x4, ), 0x40, ), Local0) If(And(FLAG, 0x2, )) { Or(Local0, 0x2, Local0) } If(And(FLAG, 0x8, )) { Or(Local0, 0x20, Local0) } If(LLess(DMA0, PIO0)) { Or(Local0, 0x8, Local0) } If(LLess(DMA1, PIO1)) { Or(Local0, 0x80, Local0) } If(LLess(PIO0, 0x0384)) { Or(Local0, 0x1, Local0) } If(LLess(PIO1, 0x0384)) { Or(Local0, 0x10, Local0) } If(And(FLAG, 0x1, )) { Store(PIO0, Local1) } Else { Store(DMA0, Local1) } If(LNot(LGreater(Local1, 0x78))) { Or(Local0, 0x2300, Local0) } Else { If(LNot(LGreater(Local1, 0xb4))) { Or(Local0, 0x2100, Local0) } Else { If(LNot(LGreater(Local1, 0xf0))) { Or(Local0, 0x1000, Local0) } } } Store(Local0, ITM_) Store(Zero, Local0) If(And(FLAG, 0x4, )) { Store(PIO1, Local1) } Else { Store(DMA1, Local1) } If(LNot(LGreater(Local1, 0x78))) { Store(0xb, Local0) } Else { If(LNot(LGreater(Local1, 0xb4))) { Store(0x9, Local0) } Else { If(LNot(LGreater(Local1, 0xf0))) { Store(0x4, Local0) } } } Store(Local0, SIT_) Store(0x0, Local0) If(And(FLAG, 0x1, )) { Or(Local0, 0x1, Local0) } If(And(FLAG, 0x4, )) { Or(Local0, 0x2, Local0) } Store(Local0, UDC_) Store(0x0, Local0) If(And(FLAG, 0x1, )) { Divide(DMA0, 0x1e, Local1, ) And(Local1, 0x3, Local1) Subtract(0x4, Local1, Local0) } If(And(FLAG, 0x4, )) { Divide(DMA1, 0x1e, Local1, ) And(Local1, 0x3, Local1) Subtract(0x4, Local1, Local1) ShiftLeft(Local1, 0x4, Local1) Or(Local0, Local1, Local0) } Store(Local0, UDT_) Return(Local7) } Method(H15P, 1) { Concatenate(Arg0, Buffer(0x8) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, Local7) CreateWordField(Local7, 0x2, CYL_) CreateWordField(Local7, 0x6, HEAD) CreateWordField(Local7, 0xc, SPT_) If(LAnd(LNot(LLess(HEAD, 0x10)), LNot(LLess(CYL_, 0x2000)))) { Return(SPT_) } Else { Return(Zero) } } Method(GTF0, 5) { Store(Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, Local6) Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local7) CreateByteField(Local7, 0x1, MODE) If(And(Arg2, 0x1, )) { And(Arg3, 0x3, Local0) Or(Local0, 0x40, MODE) } Else { Add(ShiftRight(And(Arg0, 0x0300, ), 0x8, ), ShiftRight(And(Arg0, 0x3000, ), 0xc, ), Local0) If(LNot(LLess(Local0, 0x5))) { Store(0x22, MODE) } Else { If(LNot(LLess(Local0, 0x3))) { Store(0x21, MODE) } Else { Store(0x20, MODE) } } } Concatenate(Local7, Local7, Local6) Store(Zero, MODE) If(LOr(And(Arg0, 0x8, ), LNot(And(Arg0, 0x1, )))) { If(And(Arg0, 0x2, )) { Store(0x0, MODE) } Else { Store(0x1, MODE) } } Else { Add(ShiftRight(And(Arg0, 0x0300, ), 0x8, ), ShiftRight(And(Arg0, 0x3000, ), 0xc, ), Local0) If(LNot(LLess(Local0, 0x5))) { Store(0xc, MODE) } Else { If(LNot(LLess(Local0, 0x3))) { Store(0xb, MODE) } Else { Store(0xa, MODE) } } } Concatenate(Local6, Local7, Local5) If(Arg4) { Store(Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0xae, 0x91 }, Local4) CreateByteField(Local4, 0x1, SPT_) Store(Arg4, SPT_) Concatenate(Local5, Local4, Local6) Return(Local6) } Else { Return(Local5) } } Name(B04_, Buffer(0x4) { }) Name(B20_, Buffer(0x4) { }) Name(B40_, Buffer(0x4) { }) Device(PRIM) { Name(_ADR, 0x0) Name(_PSC, 0x0) Method(_PS0) { If(_PSC) { \_SB_.PCI0.ISA0.HPSS(0xb, 0x0) } Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Method(_GTM) { Store(Buffer(0x14) {0x0 }, Local0) Store(^^GTM_(^^ITM0, ^^SIT0, ^^UDC0, ^^UDT0), Local0) Return(Local0) } Method(_STM, 3) { Store(^^STMS(Arg0), Local0) CreateWordField(Local0, 0x0, ITM_) CreateWordField(Local0, 0x4, SIT_) CreateWordField(Local0, 0x8, UDC_) CreateWordField(Local0, 0xc, UDT_) And(ITM0, 0x8000, Local1) Or(ITM_, Local1, ITM0) Store(SIT_, SIT0) Store(UDC_, UDC0) Store(UDT_, UDT0) Store(^^H15P(Arg1), ^MAST.H15F) } Device(MAST) { Name(_ADR, 0x0) Name(H15F, Zero) Method(_GTF) { Return(^^^GTF0(^^^ITM0, ^^^SIT0, ^^^UDC0, ^^^UDT0, ^H15F)) } } } Device(SECN) { Name(_ADR, 0x1) Method(_STA) { If(ECOK()) { If(LEqual(\_SB_.PCI0.ISA0.EC0_.SHDD, 0x0)) { Store(0x8000, \_SB_.PCI0.IDE_.TSEC) Return(0xd) } } Else { If(LNot(And(\_SB_.PCI0.ISA0.BDST, 0x4, ))) { Store(0x8000, \_SB_.PCI0.IDE_.TSEC) Return(0xd) } } If(_PSC) { Return(0xd) } Else { If(LEqual(\_SB_.PCI0.IDE_.TSEC, 0x8000)) { Return(0xd) } Else { Return(0xf) } } } Name(_PSC, 0x0) Method(_PS0) { If(LAnd(\_SB_.PCI0.PWR_.SDPW, LEqual(^MAST._STA(), 0xf))) { Store(0x1, \_SB_.PCI0.ISA0.TRIS) Store(0x0, \_SB_.PCI0.PWR_.SDPW) Store(0x1, \_SB_.PCI0.PWR_.SRST) Sleep(0x64) Store(0x0, \_SB_.PCI0.PWR_.SRST) Sleep(0xc8) Store(0x0, \_SB_.PCI0.ISA0.TRIS) Sleep(0x09c4) } Store(0x0, _PSC) } Method(_PS3) { If(LAnd(\_SB_.PCI0.PWR_.SDPW, LEqual(^MAST._STA(), 0xf))) { Store(0x1, \_SB_.PCI0.ISA0.TRIS) Store(0x1, \_SB_.PCI0.PWR_.SDPW) } Store(0x8000, \_SB_.PCI0.IDE_.TSEC) Store(0x3, _PSC) } Method(_GTM) { If(\_SB_.PCI0.IDE_.SECN.MAST.STOP) { Return(Buffer(0x14) {0x78, 0x0, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x13, 0x0, 0x0, 0x0 }) } Else { Store(Buffer(0x14) {0x0 }, Local0) Store(^^GTM_(^^ITM1, ^^SIT1, ^^UDC1, ^^UDT1), Local0) Return(Local0) } } Method(_STM, 3) { Store(^^STMS(Arg0), Local0) CreateWordField(Local0, 0x0, ITM_) CreateWordField(Local0, 0x4, SIT_) CreateWordField(Local0, 0x8, UDC_) CreateWordField(Local0, 0xc, UDT_) And(ITM1, 0x8000, Local1) Or(ITM_, Local1, ITM1) Store(SIT_, SIT1) Store(UDC_, UDC1) Store(UDT_, UDT1) Store(^^H15P(Arg1), ^MAST.H15F) } Device(MAST) { Name(_ADR, 0x0) Name(STOP, 0x0) Name(H15F, Zero) Method(_STA) { If(ECOK()) { If(LEqual(\_SB_.PCI0.ISA0.EC0_.SHDD, 0x0)) { Return(0x0) } } Else { If(LNot(And(\_SB_.PCI0.ISA0.BDST, 0x4, ))) { Return(0x0) } } If(LNot(STOP)) { If(LEqual(\_SB_.PCI0.IDE_.TSEC, 0x8000)) { Return(0xd) } Else { Return(0xf) } } Else { Store(0x8000, \_SB_.PCI0.IDE_.TSEC) Return(0xd) } } Method(_GTF) { Return(^^^GTF0(^^^ITM1, ^^^SIT1, ^^^UDC1, ^^^UDT1, ^H15F)) } Method(_EJ0, 1) { Store(0x1, \_SB_.PCI0.ISA0.TRIS) Store(0x1, \_SB_.PCI0.PWR_.SDPW) Store(0x8000, \_SB_.PCI0.IDE_.TSEC) Store(0x1, STOP) } } } Method(_PS0) { Store(0x0, _PSC) If(And(\_SB_.PCI0.ISA0.EC0_.PQ8A, 0x2, )) { Acquire(\_SB_.PCI0.ISA0.EC0_.MUT2, 0xffff) \_SB_.PCI0.ISA0.EC0_.SWAP() And(\_SB_.PCI0.ISA0.EC0_.PQ8A, Not(0x2, ), \_SB_.PCI0.ISA0.EC0_.PQ8A) Release(\_SB_.PCI0.ISA0.EC0_.MUT2) } } Method(_PS3) { Store(0x3, _PSC) } Name(_PSC, 0x0) } Device(CB1_) { Name(_ADR, 0x000a0000) Name(_S1D, 0x1) Name(_S3D, 0x3) OperationRegion(CBE0, PCI_Config, 0x3e, 0x2) Field(CBE0, WordAcc, NoLock, Preserve) { CBX0, 16 } Method(_INI) { Store(0x0340, CBX0) } Method(_STA) { Return(0xf) } } Device(CB2_) { Name(_ADR, 0x000a0001) Name(_S1D, 0x1) Name(_S3D, 0x3) OperationRegion(CBE1, PCI_Config, 0x3e, 0x2) Field(CBE1, WordAcc, NoLock, Preserve) { CBX1, 16 } Method(_INI) { Store(0x0340, CBX1) } Method(_STA) { Return(0xf) } } Device(FDS_) { Name(_ADR, 0x00110000) OperationRegion(MOON, PCI_Config, 0x41, 0x5) Field(MOON, ByteAcc, NoLock, Preserve) { CEVN, 8, Offset(0x4), WRPE, 8 } Method(_REG, 2) { If(LEqual(Arg0, 0x2)) { If(LEqual(Arg1, 0x1)) { \_SB_.PCI0.ISA0.HPSS(0xe, 0x0) \_SB_.PCI0.FDS_.FCB1.CSID() } } } Name(_PSC, 0x3) Method(_INI) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x3)) { Store(0x0, _PSC) Store(0x0, \_SB_.PCI0.FDS_.FIDE._PSC) Store(0x0, \_SB_.PCI0.FDS_.FCB1._PSC) Store(0x0, \_SB_.PCI0.FDS_.FCB2._PSC) Store(0x0, \_SB_.PCI0.FDS_.SCSI._PSC) } Else { Store(0x3, _PSC) } } Method(_PS0) { If(LEqual(\_SB_.PCI0.FDS_.FIDE._PSC, 0x3)) { If(LNot(\_SB_.PCI0.OSNT)) { \_SB_.PCI0.FDS_.FIDE._PS0() Notify(\_SB_.PCI0.FDS_.FIDE, 0x0) } } Store(0x2, WRPE) Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Name(_EJD, "_SB_.PCI0.ISA0.SPR0") Method(_STA) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x3)) { Return(0xf) } Else { Return(0x0) } } Device(FCB1) { Name(_ADR, 0x00080000) OperationRegion(CBE4, PCI_Config, 0x0, 0x44) Field(CBE4, WordAcc, NoLock, Preserve) { Offset(0x2), CBID, 16, Offset(0x3e), CBX4, 16, VDID, 16, SBID, 16 } OperationRegion(C4IN, PCI_Config, 0x80, 0x14) Field(C4IN, ByteAcc, NoLock, Preserve) { CR80, 5, SBRW, 1, CR81, 2, Offset(0x3), CR83, 8, Offset(0xc), CR8C, 8, CR8D, 8, CR8E, 8, CR8F, 8, Offset(0x13), CR93, 8 } Method(_STA) { Return(^^_STA()) } Name(_PSC, 0x3) Method(_INI) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x3)) { Store(0x0, _PSC) } Else { Store(0x3, _PSC) } } Method(_PS0) { Store(0x8, CR83) Store(0x2, CR8C) Store(0x1c, CR8D) Store(0x2, CR8E) Store(0x1, CR8F) If(LEqual(CBID, 0xac1c)) { Store(0x41, CR93) } Store(0x0, _PSC) } Method(CSID) { Store(0x0, SBRW) Store(0x103c, VDID) Store(0x5, SBID) Store(0x1, SBRW) } Method(_PS3) { Store(0x3, _PSC) } } Device(FCB2) { Name(_ADR, 0x00080001) OperationRegion(CBE5, PCI_Config, 0x3e, 0x2) Field(CBE5, WordAcc, NoLock, Preserve) { CBX5, 16 } OperationRegion(CB5I, PCI_Config, 0x93, 0x1) Field(CB5I, ByteAcc, NoLock, Preserve) { CR93, 8 } Method(_STA) { Return(^^_STA()) } Name(_PSC, 0x3) Method(_INI) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x3)) { Store(0x0, _PSC) } Else { Store(0x3, _PSC) } } Method(_PS0) { If(LEqual(^^FCB1.CBID, 0xac1c)) { Store(0x41, CR93) } Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } } Device(FIDE) { Name(_ADR, 0x000c0000) OperationRegion(FIDR, PCI_Config, 0x0, 0x80) Field(FIDR, ByteAcc, NoLock, Preserve) { Offset(0x7), R7X1, 7, R7B7, 1, Offset(0xd), RDX2, 5, RDB5, 1, RDX1, 2, Offset(0x10), RR10, 8, RR11, 8, Offset(0x14), RR14, 8, RR15, 8, Offset(0x18), RR18, 8, RR19, 8, Offset(0x1c), RR1C, 8, RR1D, 8, Offset(0x20), RR20, 8, RR21, 8, RR22, 8, RR23, 8, Offset(0x2c), RR2C, 8, RR2D, 8, RR2E, 8, RR2F, 8, Offset(0x3c), RR3C, 8, Offset(0x4f), R4F1, 1, R4FX, 7, Offset(0x51), RR51, 8, RR52, 8, RR53, 8, RR54, 8, RR55, 8, RR56, 8, RR57, 8, RR58, 8, Offset(0x72), RR72, 8, RR73, 8, RR74, 8, RR75, 8, RR76, 8, RR77, 8, Offset(0x7a), RR7A, 8, RR7B, 8, RR7C, 8, RR7D, 8, RR7E, 8, RR7F, 8 } Method(_STA) { Return(^^_STA()) } Name(_PSC, 0x3) Method(_INI) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x3)) { Store(0x0, _PSC) } Else { Store(0x3, _PSC) } } Method(DGTM, 3) { Store(Buffer(0x14) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0 }, Local0) CreateDWordField(Local0, 0x0, PIO0) CreateDWordField(Local0, 0x4, DMA0) CreateDWordField(Local0, 0x8, PIO1) CreateDWordField(Local0, 0xc, DMA1) CreateDWordField(Local0, 0x10, FLAG) Store(0x10, FLAG) If(LEqual(RR52, 0x3f)) { Store(0x78, PIO0) } Else { If(LEqual(RR52, 0x32)) { Store(0xb4, PIO0) } Else { If(LEqual(RR52, 0xa2)) { Store(0xf0, PIO0) } Else { If(LEqual(RR52, 0xa3)) { Store(0x017f, PIO0) } Else { Store(0x0258, PIO0) } } } } Or(FLAG, 0x2, FLAG) Return(Local0) } Method(DSTM, 7) { CreateDWordField(Arg0, 0x0, PIO0) CreateDWordField(Arg0, 0x4, DMA0) CreateDWordField(Arg0, 0x8, PIO1) CreateDWordField(Arg0, 0xc, DMA1) CreateDWordField(Arg0, 0x10, FLAG) Store(Buffer(0x5) { }, Local7) CreateByteField(Local7, 0x0, TMP1) CreateByteField(Local7, 0x1, TMP2) CreateByteField(Local7, 0x2, TMP3) CreateByteField(Local7, 0x3, TMP4) CreateByteField(Local7, 0x4, TMP5) Store(Arg1, TMP1) Store(Arg2, TMP2) Store(Arg3, TMP3) Store(Arg4, TMP4) Store(Arg5, TMP5) And(TMP2, 0xdf, TMP2) If(Not(LOr(And(FLAG, 0x1, ), Arg6), )) { And(TMP2, 0xdf, TMP2) If(LNot(LGreater(PIO0, 0x78))) { Store(0x3f, RR52) Store(0x3f, TMP1) And(TMP4, 0x3f, TMP4) Or(TMP4, 0x40, TMP4) And(TMP5, 0x3f, TMP5) Or(TMP5, 0x40, TMP5) } Else { If(LNot(LGreater(PIO0, 0xb4))) { Store(0x32, RR52) Store(0x32, TMP1) And(TMP4, 0x3f, TMP4) Or(TMP4, 0x40, TMP4) And(TMP5, 0x3f, TMP5) Or(TMP5, 0x40, TMP5) } Else { If(LNot(LGreater(PIO0, 0xf0))) { Store(0xa2, RR52) Store(0x43, TMP1) And(TMP4, 0x3f, TMP4) Or(TMP4, 0x40, TMP4) And(TMP5, 0x3f, TMP5) Or(TMP5, 0x40, TMP5) } Else { If(LNot(LGreater(PIO0, 0x017f))) { Store(0xa3, RR52) Store(0x57, TMP1) And(TMP4, 0x3f, TMP4) Or(TMP4, 0x40, TMP4) And(TMP5, 0x3f, TMP5) Or(TMP5, 0x40, TMP5) } Else { Store(0xaf, RR52) Store(0x6d, TMP1) And(TMP4, 0x3f, TMP4) Or(TMP4, 0x80, TMP4) And(TMP5, 0x3f, TMP5) Or(TMP5, 0x80, TMP5) } } } } } Return(Local7) } Method(DGTF, 3) { Store(Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, Local6) Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local7) CreateByteField(Local7, 0x1, MODE) If(LEqual(RR52, 0x3f)) { Store(0xc, MODE) } Else { If(LEqual(RR52, 0x32)) { Store(0xb, MODE) } Else { If(LEqual(RR52, 0xa2)) { Store(0xa, MODE) } Else { If(LEqual(RR52, 0xa3)) { Store(0x9, MODE) } Else { Store(0x8, MODE) } } } } Return(Local7) } Device(PRIM) { Name(_ADR, 0x0) Method(_GTM) { Return(^^DGTM(RR54, RR72, RR73)) } Method(_STM, 3) { CreateWordField(Arg1, 0x7e, MDFL) Store(MDFL, Local0) Store(0x0, Local0) Store(^^DSTM(Arg0, RR54, RR72, RR73, RR53, RR55, Local0), Local1) CreateByteField(Local1, 0x0, TMP1) CreateByteField(Local1, 0x1, TMP2) CreateByteField(Local1, 0x2, TMP3) CreateByteField(Local1, 0x3, TMP4) CreateByteField(Local1, 0x4, TMP5) Store(TMP1, RR54) Store(TMP2, RR72) Store(TMP3, RR73) Store(TMP4, RR53) Store(TMP5, RR55) } Device(MAST) { Name(_ADR, 0x0) Method(_GTF) { Return(^^^DGTF(RR54, RR72, RR73)) } } } Device(SECN) { Name(_ADR, 0x1) Method(_GTM) { Return(^^DGTM(RR58, RR7A, RR7B)) } Method(_STM, 3) { CreateWordField(Arg1, 0x7e, MDFL) Store(MDFL, Local0) Store(0x0, Local0) Store(^^DSTM(Arg0, RR58, RR7A, RR7B, RR57, RR57, Local0), Local1) CreateByteField(Local1, 0x0, TMP1) CreateByteField(Local1, 0x1, TMP2) CreateByteField(Local1, 0x2, TMP3) CreateByteField(Local1, 0x3, TMP4) CreateByteField(Local1, 0x4, TMP5) Store(TMP1, RR58) Store(TMP2, RR7A) Store(TMP3, RR7B) Store(TMP4, RR57) } Device(MAST) { Name(_ADR, 0x0) Method(_GTF) { Return(^^^DGTF(RR58, RR7A, RR7B)) } } } Method(_PS0) { If(LNot(RR54)) { Store(0xaf, RR52) And(RR53, 0x3f, RR53) Or(RR53, 0x80, RR53) Store(0x6d, RR54) And(RR55, 0x3f, RR55) Or(RR55, 0x80, RR55) And(RR72, 0xdf, RR72) And(RR57, 0x3f, RR57) Or(RR57, 0x80, RR57) Store(0x6d, RR58) And(RR7A, 0xdf, RR7A) } If(_PSC) { Store(0x0, _PSC) If(LNot(\_SB_.PCI0.OSNT)) { Store(0x1, R7B7) Store(0x1, RDB5) Store(0xf9, RR10) Store(0x1c, RR11) Store(0xf1, RR14) Store(0x1c, RR15) Store(0xe1, RR18) Store(0x1c, RR19) Store(0xd9, RR1C) Store(0x1c, RR1D) Store(0xc1, RR20) Store(0x1c, RR21) Store(0x0, RR22) Store(0x0, RR23) Store(0xa, RR3C) Store(0x1, R4F1) Store(0x3c, RR2C) Store(0x10, RR2D) Store(0x5, RR2E) Store(0x0, RR2F) Store(0x0, R4F1) } Else { \_SB_.PCI0.ISA0.HPSS(0xe, 0x0) } Store(0xec, RR51) Store(0xa9, RR52) Store(0x31, RR56) Store(0x40, RR72) Store(0x4, RR74) Store(0xd, RR75) Store(0xfb, RR76) Store(0x0, RR77) Store(0xdc, RR7C) Store(0xdc, RR7D) Store(0x7f, RR7E) Store(0xd5, RR7F) } } Method(_PS3) { Store(0x3, _PSC) } } Device(SCSI) { Name(_ADR, 0x000d0000) Method(_STA) { Return(^^_STA()) } Name(_PSC, 0x3) Method(_INI) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x3)) { Store(0x0, _PSC) } Else { Store(0x3, _PSC) } } Method(_PS0) { Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } } } Device(EPR_) { Name(_ADR, 0x00120000) OperationRegion(CBE2, PCI_Config, 0x0, 0x44) Field(CBE2, WordAcc, NoLock, Preserve) { Offset(0x2), CBID, 16, Offset(0x3e), CBX2, 16, VDID, 16, SBID, 16 } OperationRegion(C2IN, PCI_Config, 0x80, 0x14) Field(C2IN, ByteAcc, NoLock, Preserve) { CR80, 5, SBRW, 1, CR81, 2, Offset(0x3), CR83, 8, Offset(0xc), CR8C, 8, CR8D, 8, CR8E, 8, CR8F, 8, Offset(0x13), CR93, 8 } Method(ENQB) { Name(CNT1, 0x0) Store(0x1, \_SB_.PCI0.ISA0.EC0_.CRST) Store(0x0, CNT1) While(LNot(LGreater(CNT1, 0x14))) { If(LEqual(\_SB_.PCI0.ISA0.EC0_.QVCC, 0x1)) { Store(0xffff, CNT1) } Else { Increment(CNT1) Sleep(0x14) } } If(LEqual(CNT1, 0xffff)) { Sleep(0x2) Store(0x1, \_SB_.PCI0.ISA0.EC0_.EQBF) Sleep(0x28) Store(0x0, \_SB_.PCI0.ISA0.EC0_.CRST) Sleep(0xff) Sleep(0xff) Store(0x0, \_SB_.PCI0.ISA0.EC0_.DCWT) Store(0x1, \_SB_.PCI0.ISA0.EC0_.LDDS) Return(0x1) } Else { Store(0x0, \_SB_.PCI0.ISA0.EC0_.CRST) Store(0x0, \_SB_.PCI0.ISA0.EC0_.DPWR) Store(0x0, \_SB_.PCI0.ISA0.EC0_.DCWT) Return(0x0) } } Method(_INI) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x2)) { Store(0x0, _PSC) } Else { Store(0x3, _PSC) } } Name(_PSC, 0x3) Method(_PS0) { Store(0x8, CR83) Store(0x2, CR8C) Store(0x1c, CR8D) Store(0x2, CR8E) Store(0x1, CR8F) If(LEqual(CBID, 0xac1c)) { Store(0x41, CR93) } Store(0x0, SBRW) Store(0x103c, VDID) Store(0x4, SBID) Store(0x1, SBRW) Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Name(_EJD, "_SB_.PCI0.ISA0.SPR0") Method(_STA) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x2)) { Return(0xf) } Else { Return(0x0) } } } Device(CB4_) { Name(_ADR, 0x00120001) OperationRegion(ECB4, PCI_Config, 0x2, 0x2) Field(ECB4, WordAcc, NoLock, Preserve) { CBID, 16 } OperationRegion(CB4I, PCI_Config, 0x93, 0x1) Field(CB4I, ByteAcc, NoLock, Preserve) { CR93, 8 } Method(_INI) { If(LEqual(\_SB_.PCI0.ISA0.DKTP, 0x2)) { Store(0x0, _PSC) } Else { Store(0x3, _PSC) } } Name(_PSC, 0x3) Method(_PS0) { If(LEqual(CBID, 0xac1c)) { Store(0x41, CR93) } Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Name(_EJD, "_SB_.PCI0.ISA0.SPR0") Method(_STA) { Return(\_SB_.PCI0.EPR_._STA()) } } Device(PX42) { Name(_ADR, 0x00070002) Method(_PS0) { Store(0x0, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Name(_PSC, 0x0) Method(_STA) { Return(0xf) } Name(_S1D, 0x0) Name(_S3D, 0x3) Name(_PRW, Package(0x2) { 0x8, 0x1, }) Device(USB1) { Name(_ADR, 0x0) Name(_STA, 0xf) Name(_EJD, "_SB_.PCI0.ISA0.SPR0") } } Device(PWR_) { Name(_ADR, 0x00070003) OperationRegion(PCTL, SystemIO, 0x8010, 0x4) Field(PCTL, DWordAcc, NoLock, Preserve) { Offset(0x1), , 5, CRUN, 1 } OperationRegion(GPO_, SystemIO, 0x8034, 0x4) Field(GPO_, DWordAcc, NoLock, Preserve) { GO00, 1, SRST, 1, GO02, 1, GO03, 1, GO04, 1, GO05, 1, BKLT, 1, GO07, 1, GO08, 1, GO09, 1, GO10, 1, GO11, 1, SDPW, 1, GO13, 1, GO14, 1, GO15, 1, GO16, 1, GO17, 1, GO18, 1, GO19, 1, GO20, 1, GO21, 1, GO22, 1, GO23, 1, GO24, 1, GO25, 1, GO26, 1, GO27, 1, GO28, 1, GO29, 1, GO30, 1 } OperationRegion(GLBL, SystemIO, 0x8028, 0x4) Field(GLBL, DWordAcc, NoLock, Preserve) { Offset(0x3), , 1, LPOL, 1 } OperationRegion(GPI_, SystemIO, 0x8030, 0x4) Field(GPI_, DWordAcc, NoLock, Preserve) { GI00, 1, GI01, 1, GI02, 1, GI03, 1, GI04, 1, GI05, 1, GI06, 1, GI07, 1, GI08, 1, GI09, 1, GI10, 1, GI11, 1, GI12, 1, GI13, 3, GI16, 1, GI17, 1, GI18, 1, GI19, 1, GI20, 1, GI21, 1 } OperationRegion(SMB_, SystemIO, 0x2180, 0xd) Field(SMB_, ByteAcc, NoLock, Preserve) { HSTS, 8, LVTS, 8, CTLR, 8, CMDR, 8, ADDR, 8, DAT0, 8, DAT1, 8 } 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(0x28), G14A, 16, G14L, 4, G14E, 1, Offset(0x2c), G15A, 16, G15L, 4, G15E, 1 } } Device(AGP_) { Name(_ADR, 0x00010000) Name(_PRT, Package(0x1) { Package(0x4) { 0xffff, 0x0, \_SB_.LNKB, 0x0, }, }) Device(VGA_) { Name(_ADR, 0x0) OperationRegion(PMR_, PCI_Config, 0x60, 0x4) Field(PMR_, DWordAcc, NoLock, Preserve) { PMRG, 32 } Method(_STA) { Return(0xf) } Name(_PSC, 0x0) Method(_PS0) { Store(0x0, PMRG) While(LNot(LEqual(PMRG, 0x0))) { } Store(0x0, _PSC) } Method(_PS1) { While(LNot(LEqual(PMRG, 0x1))) { } Store(0x1, _PSC) } Method(_PS2) { While(LNot(LEqual(PMRG, 0x2))) { } Store(0x2, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Name(DISW, 0x1) Name(NDSP, 0x0) Name(VRSM, 0x0) Method(NDGS) { Store(^CRT_._DGS, Local1) Or(XOr(^CRT_._DGS, 0x1, ), XOr(^LCD_._DGS, 0x1, ), ^CRT_._DGS) Store(Local1, ^LCD_._DGS) } OperationRegion(ATIB, PCI_Config, 0x14, 0x4) Field(ATIB, AnyAcc, NoLock, Preserve) { ABAS, 32 } OperationRegion(XATI, SystemIO, Add(\_SB_.PCI0.ISA0.VGAB, 0xa4, ), 0x5) Field(XATI, ByteAcc, NoLock, Preserve) { AIDX, 8, Offset(0x2), Offset(0x3), Offset(0x4), ADAT, 8 } Method(POFF) { Store(0x1, AIDX) If(And(ADAT, 0x3, )) { And(ADAT, 0xfc, ADAT) } } Method(_INI) { Store(\_SB_.PCI0.ISA0.HPSS(0xf, 0x0), Local1) Or(ShiftRight(And(Local1, 0x10, ), 0x3, ), 0x1d, ^LCD_._DCS) Or(Or(ShiftLeft(And(Local1, 0x2, ), 0x3, ), ShiftRight(And(Local1, 0x20, ), 0x4, ), ), 0xd, ^CRT_._DCS) Or(ShiftRight(And(^LCD_._DCS, 0x2, ), 0x1, ), And(^CRT_._DCS, 0x2, ), NDSP) Store(ShiftRight(And(^LCD_._DCS, 0x2, ), 0x1, ), ^LCD_._DGS) Store(ShiftRight(And(^CRT_._DCS, 0x2, ), 0x1, ), ^CRT_._DGS) NDGS() } Method(_DOS, 1) { Store(Arg0, DISW) } Method(_DOD) { Return(Package(0x2) { 0x00010100, 0x00010110, }) } Method(DRUL, 1) { Store(\_SB_.PCI0.ISA0.HPSS(0xf, 0x0), Local2) Store(^CRT_._DCS, Local1) Or(ShiftLeft(And(Local2, 0x2, ), 0x3, ), And(^CRT_._DCS, 0xf, ), ^CRT_._DCS) If(LEqual(Arg0, 0x1)) { If(LAnd(^CRT_._DGS, LNot(And(^CRT_._DCS, 0x10, )))) { NDGS() Return(0x0) } Else { Notify(VGA_, 0x80) Return(0x0) } } If(LEqual(Arg0, 0x2)) { If(And(Local2, 0x2, )) { Store(0x1, ^CRT_._DGS) If(And(\_SB_.PCI0.ISA0.MFLG, 0x2, )) { Store(0x1, ^LCD_._DGS) } Else { Store(0x0, ^LCD_._DGS) } } Else { Store(0x0, ^CRT_._DGS) Store(0x1, ^LCD_._DGS) } Notify(VGA_, 0x80) } If(LEqual(Arg0, 0x3)) { If(LNot(LEqual(ShiftRight(And(Local1, 0x10, ), 0x3, ), And(Local2, 0x2, )))) { If(And(Local2, 0x2, )) { Store(0x1, ^CRT_._DGS) If(And(\_SB_.PCI0.ISA0.MFLG, 0x2, )) { Store(0x1, ^LCD_._DGS) } Else { Store(0x0, ^LCD_._DGS) } } Else { Store(0x0, ^CRT_._DGS) Store(0x1, ^LCD_._DGS) } Notify(VGA_, 0x80) } } } Device(LCD_) { Name(_ADR, 0x0110) Name(_PSC, 0x0) Name(_S3D, 0x3) Method(_PS0) { If(LAnd(VRSM, LNot(^^CRT_._PSC))) { If(_PSC) { DRUL(0x3) } Store(0x0, VRSM) } Store(0x0, _PSC) } Method(_PS1) { Store(0x1, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Name(_DCS, 0x1b) Method(_DSS, 1) { Store(Arg0, Local0) If(And(Local0, 0x1, )) { Store("LCD._DSS(1) called", Debug) Or(NDSP, 0x1, NDSP) } Else { Store("LCD._DSS(0) called", Debug) And(NDSP, 0xfe, NDSP) } And(Local0, 0xc0000000, Local0) If(LEqual(Local0, 0x80000000)) { Store("LCD._DSS(8000000x) called", Debug) \_SB_.PCI0.ISA0.HPSS(0x1, NDSP) } And(Local0, 0x80000000, Local0) If(LNot(LEqual(Local0, 0x0))) { Or(And(^^LCD_._DCS, 0xfd, ), ShiftLeft(And(NDSP, 0x1, ), 0x1, ), ^^LCD_._DCS) Or(And(^^CRT_._DCS, 0xfd, ), And(NDSP, 0x2, ), ^^CRT_._DCS) NDGS() } } Name(_DGS, 0x0) } Device(CRT_) { Name(_ADR, 0x0100) Name(_PSC, 0x0) Method(_PS0) { If(LAnd(VRSM, LNot(^^LCD_._PSC))) { If(_PSC) { DRUL(0x3) } Store(0x0, VRSM) } Store(0x0, _PSC) } Method(_PS1) { Store(0x1, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Name(_DCS, 0x1b) Method(_DSS, 1) { Store(Arg0, Local0) If(And(Local0, 0x1, )) { Store("CRT._DSS(1) called", Debug) Or(NDSP, 0x2, NDSP) } Else { Store("CRT._DSS(0) called", Debug) And(NDSP, 0xfd, NDSP) } And(Local0, 0xc0000000, Local0) If(LEqual(Local0, 0x80000000)) { Store("CRT._DSS(8000000x) called", Debug) \_SB_.PCI0.ISA0.HPSS(0x1, NDSP) } And(Local0, 0x80000000, Local0) If(LNot(LEqual(Local0, 0x0))) { Store("CRT._DSS, update next _DGS", Debug) Or(And(^^LCD_._DCS, 0xfd, ), ShiftLeft(And(NDSP, 0x1, ), 0x1, ), ^^LCD_._DCS) Or(And(^^CRT_._DCS, 0xfd, ), And(NDSP, 0x2, ), ^^CRT_._DCS) NDGS() } } Name(_DGS, 0x0) } } } Device(ESSA) { Name(_ADR, 0x000d0000) Name(_S3D, 0x3) } Device(ESSM) { Name(_ADR, 0x000d0001) Name(_S3D, 0x3) } Device(PCIM) { Name(_ADR, 0x000b0001) Name(_S3D, 0x3) } Device(PCIL) { Name(_ADR, 0x000b0000) Name(_S3D, 0x3) } } } } /* BOOT: Length=39, Revision=1, Checksum=32, OEMID=PTLTD, OEM Table ID=EABFTBL$, OEM Revision=0x1800000, Creator ID= LTP, Creator Revision=0x1 */