/* * Intel ACPI Component Architecture * AML Disassembler version 20090521 * * Disassembly of dsdt.dat, Tue Dec 29 23:10:36 2009 * * * Original Table Header: * Signature "DSDT" * Length 0x0000B854 (47188) * Revision 0x01 **** ACPI 1.0, no 64-bit math support * Checksum 0xF9 * OEM ID "HP-MCD" * OEM Table ID "EB DSDT " * OEM Revision 0x02400000 (37748736) * Compiler ID "MSFT" * Compiler Version 0x0100000D (16777229) */ DefinitionBlock ("dsdt.aml", "DSDT", 1, "HP-MCD", "EB DSDT ", 0x02400000) { Scope (_PR) { Processor (CPU0, 0x00, 0x00001010, 0x06) { Name (_PCT, Package (0x02) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x00000000000000B2, // Address ,) }, ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x00000000000000B3, // Address ,) } }) Name (_PSS, Package (0x02) { Package (0x06) { 0x03E8, 0x3DB8, 0x01F4, 0xDC, 0x83, 0x00 }, Package (0x06) { 0x02DD, 0x1EDC, 0x01F4, 0xDC, 0x84, 0x01 } }) Method (_PPC, 0, NotSerialized) { If (And (\_SB.PCI0.ISA0.MFLG, 0x04)) { If (LEqual (\_SB.TOOS, 0x04)) { If (And (\_SB.PCI0.ISA0.MFLG, 0x20)) { Return (0x01) } Else { Return (0x00) } } Else { Return (0x00) } } Else { Return (0x01) } } } } Name (ECEN, 0x00) Method (ECOK, 0, NotSerialized) { If (LAnd (ECEN, And (\_SB.PCI0.ISA0.MFLG, 0x01))) { Return (0x01) } Else { Return (0x00) } } Method (RSTQ, 0, Serialized) { If (\_SB.QBST) { Store (0x00, \_SB.QBST) Store (0x01, \_SB.PCI0.ISA0.EC0.EQBF) Sleep (0x32) } } Name (_S0, Package (0x03) { 0x00, 0x00, 0x00 }) Name (_S3, Package (0x03) { 0x05, 0x05, 0x00 }) Name (_S4, Package (0x03) { 0x06, 0x06, 0x00 }) Name (_S5, Package (0x03) { 0x07, 0x07, 0x00 }) Method (_PTS, 1, NotSerialized) { Or (\_SB.PCI0.ISA0.MFLG, 0x10, \_SB.PCI0.ISA0.MFLG) If (LGreaterEqual (Arg0, 0x04)) { If (ECOK ()) { Store (0x00, \_SB.PCI0.ISA0.EC0.EQBF) } } If (LEqual (Arg0, 0x03)) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x03)) { Or (Not (\_SB.PCI0.HUB.FDS.CEVN), 0x40, \_SB.PCI0.HUB.FDS.CEVN) If (ECOK ()) { If (\_SB.PCI0.ISA0.EC0.EQBF) { Store (0x01, \_SB.QBST) Store (0x00, \_SB.PCI0.ISA0.EC0.EQBF) Sleep (0x32) } } } } If (LEqual (Arg0, 0x04)) { If (LEqual (\_SB.PCI0.ISA0.SPR0.EJX, 0x04)) { Store (0x00, \_SB.PCI0.ISA0.SPR0.EJX) } Else { \_SB.PCI0.ISA0.HPSS (0x0C, 0x00) } Store (\_SB.PCI0.ISA0.DKTP, \_SB.DCTM) } If (ECOK ()) { Store (Arg0, \_SB.PCI0.ISA0.EC0.PTSV) } If (LEqual (Arg0, 0x05)) { Store (0x01, \_SB.PCI0.ISA0.Z000) } } Name (WAKT, 0x00) Method (_WAK, 1, NotSerialized) { If (ECOK ()) { Store (0x00, \_SB.PCI0.ISA0.EC0.RSMA) Store (0x06, \_SB.PCI0.ISA0.EC0.B2LC) Store (\_SB.PCI0.ISA0.EC0.RSMT, Local0) Add (Local0, ShiftLeft (Local0, 0x02), WAKT) Store (0x00, \_SB.PCI0.ISA0.EC0.PTSV) If (\_SB.PCI0.ISA0.EC0.LIDS) { Store (0x00, \_SB.LID.LPOL) Store (0x00, \_SB.PCI0.ISA0.BKLT) } Else { Store (0x01, \_SB.LID.LPOL) Store (0x01, \_SB.PCI0.ISA0.BKLT) \_SB.PCI0.ISA0.EC0._Q0A () \_SB.PCI0.ISA0.EC0._Q0B () } If (\_SB.PCI0.ISA0.EC0.ADP) { Store (0x00, \_SB.PCI0.ISA0.CRUN) } Else { Store (0x01, \_SB.PCI0.ISA0.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, 0x04)) { Store (\_SB.DCTM, \_SB.PCI0.ISA0.DKTP) If (\_SB.PCI0.ISA0.EC0.DCWT) { Or (\_SB.DCKF, 0x08, \_SB.DCKF) } \_SB.PCI0.ISA0.HPSS (0x0D, 0x00) If (\_SB.CUDC) { If (LNotEqual (\_SB.CUDC, \_SB.PCI0.ISA0.DKTP)) { \_SB.PCI0.ISA0.SPR0.DOCK () } Else { Store (0x01, \_SB.PCI0.ISA0.EC0.DPWR) If (LEqual (\_SB.CUDC, 0x01)) { Store (0x01, \_SB.PCI0.ISA0.EC0.LDDS) } Else { \_SB.PCI0.HUB.EPR.ENQB () } } } Else { If (\_SB.PCI0.ISA0.DKTP) { \_SB.PCI0.ISA0.SPR0.UDOK () } Store (0x00, \_SB.PCI0.ISA0.DKTP) } Store (0x03, \_SB.PCI0.AGP.VGA.LCD._PSC) Store (0x03, \_SB.PCI0.AGP.VGA.CRT._PSC) Store (0x03, \_SB.PCI0.AGP.VGA.TV._PSC) } If (LEqual (Arg0, 0x03)) { Store (0x01, \_SB.PCI0.ISA0.KBC.KBS3) If (\_SB.PCI0.ISA0.DKTP) { If (LNot (LOr (\_SB.CUDC, \_SB.PCI0.ISA0.EC0.DCWT))) { \_SB.PCI0.ISA0.SPR0.UDOK () Store (0x00, \_SB.PCI0.ISA0.DKTP) } Else { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x03)) { RSTQ () And (Not (\_SB.PCI0.HUB.FDS.CEVN), 0xBF, \_SB.PCI0.HUB.FDS.CEVN) } } } \_SB.PCI0.ISA0.HPSS (0x10, 0x00) } Acquire (\_SB.PCI0.ISA0.EC0.MUT3, 0xFFFF) \_SB.PCI0.ISA0.EC0.MBAY () Release (\_SB.PCI0.ISA0.EC0.MUT3) Store (0x00, Local2) If (LEqual (\_SB.PCI0.ISA0.EC0.EXFD, 0x01)) { Or (Local2, 0x01, Local2) } If (LEqual (\_SB.PCI0.ISA0.EC0.FDD, 0x01)) { Or (Local2, 0x02, Local2) } Else { If (LEqual (\_SB.PCI0.ISA0.EC0.SHDD, 0x01)) { Or (Local2, 0x04, Local2) Or (Local2, \_SB.PCI0.ISA0.EC0.BIDE, Local2) } Else { Store (0x01, \_SB.PCI0.ISA0.SDPW) Store (0x00, \_SB.PCI0.ISA0.GO28) } } If (LNotEqual (Local2, \_SB.PCI0.IDE.BAYD)) { Acquire (\_SB.PCI0.ISA0.EC0.MUT2, 0xFFFF) \_SB.PCI0.ISA0.EC0.SWAP () Release (\_SB.PCI0.ISA0.EC0.MUT2) } Store (0x01, \_SB.PCI0.AGP.VGA.VRSM) } Scope (\_TZ) { Name (THMD, Zero) Name (THID, Zero) Name (THOK, Zero) Name (SKUS, 0x03) Name (NOMV, 0x0C3A) Name (ACTV, 0x0CBC) Name (PASV, 0x0CF8) Name (CRTV, 0x0E06) Name (TBLI, Buffer (0x09) { /* 0000 */ 0x10, 0xC0, 0x00, 0x11, 0xC1, 0x01, 0x12, 0xC2, /* 0008 */ 0x02 }) Name (TRPA, Buffer (0x0C) { /* 0000 */ 0x46, 0x40, 0x4C, 0x56, 0x46, 0x40, 0x4C, 0x56, /* 0008 */ 0x4B, 0x44, 0x64, 0x64 }) Name (TRPP, Buffer (0x0C) { /* 0000 */ 0x46, 0x40, 0x4C, 0x56, 0x46, 0x40, 0x4C, 0x56, /* 0008 */ 0x4B, 0x44, 0x64, 0x64 }) Method (GETI, 1, NotSerialized) { 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, 0x01), RefOf (Local5)) If (LEqual (Local5, Local2)) { \_SB.GBFE (TBLI, Add (Local4, 0x02), RefOf (Local1)) Store (Local1, THID) Store (Ones, THOK) Store (SKUS, Local3) Store (THID, Debug) } Else { Add (Local4, 0x03, Local4) Increment (Local3) } } Else { Add (Local4, 0x03, Local4) Increment (Local3) } } If (LEqual (THOK, Ones)) { Return (THID) } Else { Return (Zero) } } Method (TABL, 1, NotSerialized) { If (LEqual (THMD, Zero)) { \_SB.GBFE (TRPA, Arg0, RefOf (Local0)) } Else { \_SB.GBFE (TRPP, Arg0, RefOf (Local0)) } Return (Local0) } Method (KELV, 1, NotSerialized) { If (And (Arg0, 0x80)) { Store (0xFFFFFF00, Local1) } Else { Store (Zero, Local1) } Or (Local1, Arg0, Local1) Add (Multiply (Local1, 0x0A), 0x0AAC, Local1) Return (Local1) } PowerResource (PFAN, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) { Store ("THERM: _STA - Fan Status", Debug) If (ECOK ()) { Return (\_SB.PCI0.ISA0.EC0.FAN) } Else { Return (0x00) } } Method (_ON, 0, NotSerialized) { Store ("THERM: _ON - Fan TurnOn", Debug) If (ECOK ()) { Store (One, \_SB.PCI0.ISA0.EC0.FAN) Store ("THERM: Notify(THRM,0x81)", Debug) If (\_SB.PCI0.OSNT) { Notify (\_TZ.THRM, 0x81) } } } Method (_OFF, 0, NotSerialized) { Store ("THERM: _OFF - Fan TurnOff", Debug) If (ECOK ()) { Store (Zero, \_SB.PCI0.ISA0.EC0.FAN) Store ("THERM: Notify(THRM,0x81)", Debug) If (\_SB.PCI0.OSNT) { Notify (\_TZ.THRM, 0x81) } } } } Device (FAN) { Name (_HID, EisaId ("PNP0C0B")) Name (_PR0, Package (0x01) { PFAN }) } ThermalZone (THRM) { Name (_AL0, Package (0x01) { FAN }) Name (_PSL, Package (0x01) { \_PR.CPU0 }) Method (_TMP, 0, NotSerialized) { 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, 0, NotSerialized) { Store ("THERM: _AC0 - Value:", Debug) If (ECOK ()) { If (LEqual (THOK, Zero)) { Store (GETI (\_SB.BIOS), THID) } ShiftLeft (THID, 0x02, 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, 0, NotSerialized) { Store ("THERM: _PSV - Value:", Debug) If (ECOK ()) { If (LEqual (THOK, Zero)) { Store (GETI (\_SB.BIOS), THID) } ShiftLeft (THID, 0x02, Local1) Add (Local1, 0x02, Local1) Store (KELV (TABL (Local1)), Local0) } Else { Store (PASV, Local0) } Store (Local0, Debug) Return (Local0) } Method (_CRT, 0, NotSerialized) { Store ("THERM: _CRT - Value:", Debug) If (ECOK ()) { If (LEqual (THOK, Zero)) { Store (GETI (\_SB.BIOS), THID) } ShiftLeft (THID, 0x02, Local1) Add (Local1, 0x03, Local1) Store (KELV (TABL (Local1)), Local0) } Else { Store (CRTV, Local0) } Store (Local0, Debug) Return (Local0) } Method (_SCP, 1, NotSerialized) { 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, 0x04) Name (_TC2, 0x03) Name (_TSP, 0x64) } } Scope (_SI) { Method (_SST, 1, NotSerialized) { If (ECOK ()) { If (LEqual (Arg0, 0x00)) { Store (0x00, \_SB.PCI0.ISA0.EC0.S1LD) Store (0x00, \_SB.PCI0.ISA0.EC0.S2LD) Store ("SI_SST_0", Debug) } If (LEqual (Arg0, 0x01)) { Store (0x01, \_SB.PCI0.ISA0.EC0.S1LD) Store (0x00, \_SB.PCI0.ISA0.EC0.S2LD) Store ("SI_SST_1", Debug) } If (LEqual (Arg0, 0x02)) { Store (0x01, \_SB.PCI0.ISA0.EC0.S1LD) Store (0x01, \_SB.PCI0.ISA0.EC0.S2LD) Store ("SI_SST_2", Debug) } If (LEqual (Arg0, 0x03)) { Store (0x01, \_SB.PCI0.ISA0.EC0.S1LD) Store (0x01, \_SB.PCI0.ISA0.EC0.S2LD) Store ("SI_SST_3", Debug) } If (LEqual (Arg0, 0x04)) { Store (0x00, \_SB.PCI0.ISA0.EC0.S1LD) Store (0x00, \_SB.PCI0.ISA0.EC0.S2LD) Store ("SI_SST_4", Debug) } } } } Scope (_GPE) { Method (_L1D, 0, NotSerialized) { If (ECOK ()) { Store (\_SB.PCI0.ISA0.EC0.WAKP, Local0) Store (0x00, \_SB.PCI0.ISA0.EC0.WAKP) If (And (Local0, 0x01)) { If (\_SB.PCI0.ISA0.EC0.LIDS) { Store (0x00, \_SB.LID.LPOL) } Else { Store (0x01, \_SB.LID.LPOL) } Notify (\_SB.LID, 0x80) } If (And (Local0, 0x40)) { Store ("Notify Sleep Button(0x2)", Debug) Notify (\_SB.SLP, 0x02) } If (And (Local0, 0x0100)) { Store (0x00, \_SB.PCI0.ISA0.EC0.LDDS) Store (0x01, \_SB.PCI0.ISA0.EC0.DCWT) Notify (\_SB.SLP, 0x02) If (LNotEqual (\_SB.PCI0.ISA0.EC0.DCID, \_SB.PCI0.ISA0.DKTP)) { Or (\_SB.DCKF, 0x10, \_SB.DCKF) And (Local0, Not (0x80), Local0) Store (0x01, \_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, 0x02) \_SB.PCI0.ISA0.SPR0.DOCK () } } } } Method (_L08, 0, NotSerialized) { Notify (\_SB.PCI0.ISA0.SIO.COMA, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0, 0x02) } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x80) } Method (_L00, 0, NotSerialized) { Notify (\_PR.CPU0, 0x80) } } Scope (_SB) { Name (BIOS, 0x12) Name (QBST, 0x00) Name (DCTM, 0x00) Name (DCKF, 0x00) Name (CUDC, 0x00) Name (TOOS, 0x00) Method (VTOB, 1, NotSerialized) { Store (0x01, Local0) ShiftLeft (Local0, Arg0, Local0) Return (Local0) } Method (BTOV, 1, NotSerialized) { ShiftRight (Arg0, 0x01, Local0) Store (0x00, Local1) While (Local0) { Increment (Local1) ShiftRight (Local0, 0x01, Local0) } Return (Local1) } Method (MKWD, 2, NotSerialized) { If (And (Arg1, 0x80)) { Store (0xFFFF0000, Local0) } Else { Store (Zero, Local0) } Or (Local0, Arg0, Local0) Or (Local0, ShiftLeft (Arg1, 0x08), Local0) Return (Local0) } Method (GBFE, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (TIDX, Arg2) } Method (PBFE, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (Arg2, TIDX) } Method (ITOS, 1, NotSerialized) { Store (Buffer (0x09) { /* 0000 */ 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00 }, Local0) Store (Buffer (0x11) { "0123456789ABCDEF" }, Local7) Store (0x08, Local1) Store (0x00, Local2) Store (0x00, Local3) While (Local1) { Decrement (Local1) And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4) If (Local4) { Store (Ones, Local3) } If (Local3) { GBFE (Local7, Local4, RefOf (Local5)) PBFE (Local0, Local2, Local5) Increment (Local2) } } Return (Local0) } Name (IRQP, Package (0x10) { 0x00, 0x00, 0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x0200, 0x0400, 0x0800, 0x1000, 0x00, 0x4000, 0x8000 }) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { If (LLess (\_SB.PCI0.ISA0.PIRA, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {10} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.ISA0.PIRA, 0x80, \_SB.PCI0.ISA0.PIRA) } Method (_CRS, 0, NotSerialized) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y00) {} }) CreateWordField (BUFA, \_SB.LNKA._CRS._Y00._INT, 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, NotSerialized) { CreateWordField (Arg0, 0x01, IRA1) Store (IRA1, Local0) Store (Match (IRQP, MEQ, Local0, MTR, 0x00, 0x00), Local1) And (\_SB.PCI0.ISA0.PIRA, 0x70, Local0) Or (Local1, Local0, \_SB.PCI0.ISA0.PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (LLess (\_SB.PCI0.ISA0.PIRB, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {10} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.ISA0.PIRB, 0x80, \_SB.PCI0.ISA0.PIRB) } Method (_CRS, 0, NotSerialized) { Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y01) {} }) CreateWordField (BUFB, \_SB.LNKB._CRS._Y01._INT, 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, NotSerialized) { CreateWordField (Arg0, 0x01, IRA1) Store (IRA1, Local0) Store (Match (IRQP, MEQ, Local0, MTR, 0x00, 0x00), Local1) And (\_SB.PCI0.ISA0.PIRB, 0x70, Local0) Or (Local1, Local0, \_SB.PCI0.ISA0.PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (LLess (\_SB.PCI0.ISA0.PIRC, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5,6} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.ISA0.PIRC, 0x80, \_SB.PCI0.ISA0.PIRC) } Method (_CRS, 0, NotSerialized) { Name (BUFC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y02) {} }) CreateWordField (BUFC, \_SB.LNKC._CRS._Y02._INT, 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, NotSerialized) { CreateWordField (Arg0, 0x01, IRA1) Store (IRA1, Local0) Store (Match (IRQP, MEQ, Local0, MTR, 0x00, 0x00), Local1) And (\_SB.PCI0.ISA0.PIRC, 0x70, Local0) Or (Local1, Local0, \_SB.PCI0.ISA0.PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (LLess (\_SB.PCI0.ISA0.PIRD, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {10} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.ISA0.PIRD, 0x80, \_SB.PCI0.ISA0.PIRD) } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y03) {} }) CreateWordField (BUFD, \_SB.LNKD._CRS._Y03._INT, 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, NotSerialized) { CreateWordField (Arg0, 0x01, IRA1) Store (IRA1, Local0) Store (Match (IRQP, MEQ, Local0, MTR, 0x00, 0x00), Local1) And (\_SB.PCI0.ISA0.PIRD, 0x70, Local0) Or (Local1, Local0, \_SB.PCI0.ISA0.PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (LLess (\_SB.PCI0.ISA0.PIRE, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {10} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.ISA0.PIRE, 0x80, \_SB.PCI0.ISA0.PIRE) } Method (_CRS, 0, NotSerialized) { Name (BUFE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y04) {} }) CreateWordField (BUFE, \_SB.LNKE._CRS._Y04._INT, IRA1) And (\_SB.PCI0.ISA0.PIRE, 0x8F, Local0) If (LLess (Local0, 0x80)) { Store (DerefOf (Index (IRQP, Local0)), Local4) Store (Local4, IRA1) } Return (BUFE) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA1) Store (IRA1, Local0) Store (Match (IRQP, MEQ, Local0, MTR, 0x00, 0x00), Local1) And (\_SB.PCI0.ISA0.PIRE, 0x70, Local0) Or (Local1, Local0, \_SB.PCI0.ISA0.PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (LLess (\_SB.PCI0.ISA0.PIRF, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {10} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.ISA0.PIRF, 0x80, \_SB.PCI0.ISA0.PIRF) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y05) {} }) CreateWordField (BUFF, \_SB.LNKF._CRS._Y05._INT, IRA1) And (\_SB.PCI0.ISA0.PIRF, 0x8F, Local0) If (LLess (Local0, 0x80)) { Store (DerefOf (Index (IRQP, Local0)), Local4) Store (Local4, IRA1) } Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA1) Store (IRA1, Local0) Store (Match (IRQP, MEQ, Local0, MTR, 0x00, 0x00), Local1) And (\_SB.PCI0.ISA0.PIRF, 0x70, Local0) Or (Local1, Local0, \_SB.PCI0.ISA0.PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (LLess (\_SB.PCI0.ISA0.PIRG, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {10} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.ISA0.PIRG, 0x80, \_SB.PCI0.ISA0.PIRG) } Method (_CRS, 0, NotSerialized) { Name (BUFG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y06) {} }) CreateWordField (BUFG, \_SB.LNKG._CRS._Y06._INT, IRA1) And (\_SB.PCI0.ISA0.PIRG, 0x8F, Local0) If (LLess (Local0, 0x80)) { Store (DerefOf (Index (IRQP, Local0)), Local4) Store (Local4, IRA1) } Return (BUFG) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA1) Store (IRA1, Local0) Store (Match (IRQP, MEQ, Local0, MTR, 0x00, 0x00), Local1) And (\_SB.PCI0.ISA0.PIRG, 0x70, Local0) Or (Local1, Local0, \_SB.PCI0.ISA0.PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (LLess (\_SB.PCI0.ISA0.PIRH, 0x80)) { Return (0x0B) } Else { Return (0x09) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {10} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.ISA0.PIRH, 0x80, \_SB.PCI0.ISA0.PIRH) } Method (_CRS, 0, NotSerialized) { Name (BUFH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y07) {} }) CreateWordField (BUFH, \_SB.LNKH._CRS._Y07._INT, IRA1) And (\_SB.PCI0.ISA0.PIRH, 0x8F, Local0) If (LLess (Local0, 0x80)) { Store (DerefOf (Index (IRQP, Local0)), Local4) Store (Local4, IRA1) } Return (BUFH) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA1) Store (IRA1, Local0) Store (Match (IRQP, MEQ, Local0, MTR, 0x00, 0x00), Local1) And (\_SB.PCI0.ISA0.PIRH, 0x70, Local0) Or (Local1, Local0, \_SB.PCI0.ISA0.PIRH) } } Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Name (LPOL, 0x01) Method (_LID, 0, NotSerialized) { Return (LPOL) } Method (_PSW, 1, NotSerialized) { If (ECOK ()) { If (Arg0) { Or (\_SB.PCI0.ISA0.EC0.WK10, 0x01, \_SB.PCI0.ISA0.EC0.WK10) } Else { And (\_SB.PCI0.ISA0.EC0.WK10, Not (0x01), \_SB.PCI0.ISA0.EC0.WK10) } } } Name (_PRW, Package (0x02) { 0x1D, 0x04 }) } Device (SLP) { Name (_HID, EisaId ("PNP0C0E")) Name (_PRW, Package (0x02) { 0x1D, 0x04 }) } Device (XROM) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x01) Method (_CRS, 0, NotSerialized) { Return (\_SB.PCI0.SROM ()) } Method (_STA, 0, NotSerialized) { If (Not (\_SB.TOOS)) { \_SB.PCI0.CKOS () } If (LEqual (\_SB.PCI0.OSNT, 0x01)) { Return (0x0F) } Else { Return (0x00) } } } Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) Name (_BBN, 0x00) OperationRegion (REGS, PCI_Config, 0x40, 0xFF) Field (REGS, DWordAcc, NoLock, Preserve) { Offset (0x12), , 4, GMS, 3, Offset (0x18), , 7, HEN, 1, 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 (0x3C), DRDC, 32, Offset (0x50), , 3, GSEN, 1, Offset (0x51), T_EN, 1, T_SZ, 1 } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Or (DRDC, 0x10000000, DRDC) Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { And (DRDC, 0xEFFFFFFF, DRDC) Store (0x01, _PSC) } Method (_PS2, 0, NotSerialized) { And (DRDC, 0xEFFFFFFF, DRDC) Store (0x02, _PSC) } Method (_PS3, 0, NotSerialized) { And (DRDC, 0xEFFFFFFF, DRDC) Store (0x03, _PSC) } Name (RSRC, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length 0x00,, ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length 0x00,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length 0x00,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y09, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0A, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0B, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0C, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0D, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0E, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0F, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y10, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y11, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y12, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y13, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y14, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length 0x00,, _Y08, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFEBFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length 0x00,, , AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) { Store (Zero, Local1) CreateDWordField (RSRC, \_SB.PCI0._Y08._MIN, BTMN) CreateDWordField (RSRC, \_SB.PCI0._Y08._MAX, BTMX) CreateDWordField (RSRC, \_SB.PCI0._Y08._LEN, BTLN) Multiply (0x02000000, DRB5, BTMN) Subtract (0xFEC00000, BTMN, BTLN) Subtract (Add (BTMN, BTLN), 0x01, BTMX) CreateBitField (RSRC, \_SB.PCI0._Y09._RW, C0RW) CreateDWordField (RSRC, \_SB.PCI0._Y09._MIN, C0MN) CreateDWordField (RSRC, \_SB.PCI0._Y09._MAX, C0MX) CreateDWordField (RSRC, \_SB.PCI0._Y09._LEN, C0LN) Store (One, C0RW) If (LEqual (And (PAM1, 0x03), 0x01)) { Store (Zero, C0RW) } Store (Zero, C0LN) If (LNot (And (PAM1, 0x03))) { Store (0x4000, C0LN) } CreateBitField (RSRC, \_SB.PCI0._Y0A._RW, C4RW) CreateDWordField (RSRC, \_SB.PCI0._Y0A._MIN, C4MN) CreateDWordField (RSRC, \_SB.PCI0._Y0A._MAX, C4MX) CreateDWordField (RSRC, \_SB.PCI0._Y0A._LEN, 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, \_SB.PCI0._Y0B._RW, C8RW) CreateDWordField (RSRC, \_SB.PCI0._Y0B._MIN, C8MN) CreateDWordField (RSRC, \_SB.PCI0._Y0B._MAX, C8MX) CreateDWordField (RSRC, \_SB.PCI0._Y0B._LEN, C8LN) Store (One, C8RW) If (LEqual (And (PAM2, 0x03), 0x01)) { Store (Zero, C8RW) } Store (Zero, C8LN) If (LNot (And (PAM2, 0x03))) { Store (0x4000, C8LN) } CreateBitField (RSRC, \_SB.PCI0._Y0C._RW, CCRW) CreateDWordField (RSRC, \_SB.PCI0._Y0C._MIN, CCMN) CreateDWordField (RSRC, \_SB.PCI0._Y0C._MAX, CCMX) CreateDWordField (RSRC, \_SB.PCI0._Y0C._LEN, 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, \_SB.PCI0._Y0D._RW, D0RW) CreateDWordField (RSRC, \_SB.PCI0._Y0D._MIN, D0MN) CreateDWordField (RSRC, \_SB.PCI0._Y0D._MAX, D0MX) CreateDWordField (RSRC, \_SB.PCI0._Y0D._LEN, D0LN) Store (One, D0RW) If (LEqual (And (PAM3, 0x03), 0x01)) { Store (Zero, D0RW) } Store (Zero, D0LN) If (LNot (And (PAM3, 0x03))) { Store (0x4000, D0LN) } CreateBitField (RSRC, \_SB.PCI0._Y0E._RW, D4RW) CreateDWordField (RSRC, \_SB.PCI0._Y0E._MIN, D4MN) CreateDWordField (RSRC, \_SB.PCI0._Y0E._MAX, D4MX) CreateDWordField (RSRC, \_SB.PCI0._Y0E._LEN, 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, \_SB.PCI0._Y0F._RW, D8RW) CreateDWordField (RSRC, \_SB.PCI0._Y0F._MIN, D8MN) CreateDWordField (RSRC, \_SB.PCI0._Y0F._MAX, D8MX) CreateDWordField (RSRC, \_SB.PCI0._Y0F._LEN, D8LN) Store (One, D8RW) If (LEqual (And (PAM4, 0x03), 0x01)) { Store (Zero, D8RW) } Store (Zero, D8LN) If (LNot (And (PAM4, 0x03))) { Store (0x4000, D8LN) } CreateBitField (RSRC, \_SB.PCI0._Y10._RW, DCRW) CreateDWordField (RSRC, \_SB.PCI0._Y10._MIN, DCMN) CreateDWordField (RSRC, \_SB.PCI0._Y10._MAX, DCMX) CreateDWordField (RSRC, \_SB.PCI0._Y10._LEN, 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, \_SB.PCI0._Y11._RW, E0RW) CreateDWordField (RSRC, \_SB.PCI0._Y11._MIN, E0MN) CreateDWordField (RSRC, \_SB.PCI0._Y11._MAX, E0MX) CreateDWordField (RSRC, \_SB.PCI0._Y11._LEN, E0LN) Store (One, E0RW) If (LEqual (And (PAM5, 0x03), 0x01)) { Store (Zero, E0RW) } Store (Zero, E0LN) If (LNot (And (PAM5, 0x03))) { Store (0x4000, E0LN) } CreateBitField (RSRC, \_SB.PCI0._Y12._RW, E4RW) CreateDWordField (RSRC, \_SB.PCI0._Y12._MIN, E4MN) CreateDWordField (RSRC, \_SB.PCI0._Y12._MAX, E4MX) CreateDWordField (RSRC, \_SB.PCI0._Y12._LEN, 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, \_SB.PCI0._Y13._RW, E8RW) CreateDWordField (RSRC, \_SB.PCI0._Y13._MIN, E8MN) CreateDWordField (RSRC, \_SB.PCI0._Y13._MAX, E8MX) CreateDWordField (RSRC, \_SB.PCI0._Y13._LEN, E8LN) Store (One, E8RW) If (LEqual (And (PAM6, 0x03), 0x01)) { Store (Zero, E8RW) } Store (Zero, E8LN) If (LNot (And (PAM6, 0x03))) { Store (0x4000, E8LN) } CreateBitField (RSRC, \_SB.PCI0._Y14._RW, ECRW) CreateDWordField (RSRC, \_SB.PCI0._Y14._MIN, ECMN) CreateDWordField (RSRC, \_SB.PCI0._Y14._MAX, ECMX) CreateDWordField (RSRC, \_SB.PCI0._Y14._LEN, 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, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { Memory32 (ReadOnly, 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y15) Memory32 (ReadOnly, 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y16) Memory32 (ReadOnly, 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y17) Memory32 (ReadOnly, 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y18) Memory32 (ReadOnly, 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y19) Memory32 (ReadOnly, 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y1A) Memory32 (ReadOnly, 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y1B) Memory32 (ReadOnly, 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y1C) Memory32 (ReadOnly, 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y1D) Memory32 (ReadOnly, 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y1E) Memory32 (ReadOnly, 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y1F) Memory32 (ReadOnly, 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y20) Memory32 (ReadOnly, 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Alignment 0x00000000, // Length _Y21) }) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y15._LEN, C0LN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y16._LEN, C4LN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y17._LEN, C8LN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y18._LEN, CCLN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y19._LEN, D0LN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y1A._LEN, D4LN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y1B._LEN, D8LN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y1C._LEN, DCLN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y1D._LEN, E0LN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y1E._LEN, E4LN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y1F._LEN, E8LN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y20._LEN, ECLN) CreateDWordField (RSRC, \_SB.PCI0.SROM._Y21._LEN, F0LN) If (And (PAM1, 0x03)) { Store (0x4000, C0LN) } If (And (PAM1, 0x30)) { Store (0x4000, C4LN) } If (And (PAM2, 0x03)) { Store (0x4000, C8LN) } If (And (PAM2, 0x30)) { Store (0x4000, CCLN) } If (And (PAM3, 0x03)) { Store (0x4000, D0LN) } If (And (PAM3, 0x30)) { Store (0x4000, D4LN) } If (And (PAM4, 0x03)) { Store (0x4000, D8LN) } If (And (PAM4, 0x30)) { Store (0x4000, DCLN) } If (And (PAM5, 0x03)) { Store (0x4000, E0LN) } If (And (PAM5, 0x30)) { Store (0x4000, E4LN) } If (And (PAM6, 0x03)) { Store (0x4000, E8LN) } If (And (PAM6, 0x30)) { Store (0x4000, ECLN) } If (And (PAM0, 0x30)) { Store (0x00010000, F0LN) } Return (RSRC) } Method (MIN, 2, NotSerialized) { If (LLess (Arg0, Arg1)) { Return (Arg0) } Else { Return (Arg1) } } Method (SLEN, 1, NotSerialized) { Return (SizeOf (Arg0)) } Method (S2BF, 1, Serialized) { Add (SLEN (Arg0), One, Local0) Name (BUFF, Buffer (Local0) {}) Store (Arg0, BUFF) Return (BUFF) } Method (SCMP, 2, NotSerialized) { 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) } } } Method (CKOS, 0, NotSerialized) { If (Not (\_SB.TOOS)) { If (CondRefOf (_OSI, Local0)) { If (\_OSI ("Windows 2001")) { Store (0x04, \_SB.TOOS) Store (0x01, OSNT) } } Else { If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero)) { Store (0x01, OSNT) Store (0x03, \_SB.TOOS) } If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero)) { Store (0x00, OSNT) Store (0x01, \_SB.TOOS) } If (LEqual (SCMP (\_OS, "Microsoft WindowsME:Millennium Edition"), Zero)) { Store (0x00, OSNT) Store (0x02, \_SB.TOOS) } } } } Name (OSNT, 0x00) Method (_INI, 0, NotSerialized) { \_SB.PCI0.CKOS () 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) Or (\_SB.PCI0.ISA0.MFLG, 0x10, \_SB.PCI0.ISA0.MFLG) } Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PRT, Package (0x0C) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, \_SB.LNKB, 0x00 }, Package (0x04) { 0x0001FFFF, 0x02, \_SB.LNKC, 0x00 }, Package (0x04) { 0x0001FFFF, 0x03, \_SB.LNKD, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x001DFFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x001EFFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x001EFFFF, 0x01, \_SB.LNKB, 0x00 }, Package (0x04) { 0x001EFFFF, 0x02, \_SB.LNKC, 0x00 }, Package (0x04) { 0x001EFFFF, 0x03, \_SB.LNKD, 0x00 }, Package (0x04) { 0x001FFFFF, 0x00, \_SB.LNKC, 0x00 }, Package (0x04) { 0x001FFFFF, 0x01, \_SB.LNKB, 0x00 } }) Device (ISA0) { Name (_ADR, 0x001F0000) OperationRegion (PIRX, PCI_Config, 0x60, 0x04) Field (PIRX, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } OperationRegion (PIRY, PCI_Config, 0x68, 0x04) Field (PIRY, ByteAcc, NoLock, Preserve) { PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } OperationRegion (REGS, PCI_Config, 0x40, 0xC0) Field (REGS, DWordAcc, NoLock, Preserve) { PMBA, 16, Offset (0x18), GPBA, 16, Offset (0x90), POSD, 1, Offset (0xA0), CMAD, 3, , 1, CMBD, 3, Offset (0xA1), LPTD, 2, , 2, FDDD, 1, Offset (0xA6), ECO1, 1, ECO2, 1, ELPT, 1, EFDD, 1, Offset (0xB0), , 5, FUND, 2 } Device (MBRD) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x1F) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0010, // Range Minimum 0x0010, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0024, // Range Minimum 0x0024, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0028, // Range Minimum 0x0028, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002C, // Range Minimum 0x002C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0034, // Range Minimum 0x0034, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0038, // Range Minimum 0x0038, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x003C, // Range Minimum 0x003C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0090, // Range Minimum 0x0090, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x00A4, // Range Minimum 0x00A4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A8, // Range Minimum 0x00A8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00AC, // Range Minimum 0x00AC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00BC, // Range Minimum 0x00BC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x1000, // Range Minimum 0x1000, // Range Maximum 0x01, // Alignment 0x80, // Length _Y22) IO (Decode16, 0x1180, // Range Minimum 0x1180, // Range Maximum 0x01, // Alignment 0x40, // Length _Y23) IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x00, // Alignment 0x01, // Length ) Memory32Fixed (ReadOnly, 0xFFF80000, // Address Base 0x00080000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEBFFC00, // Address Base 0x00000400, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, \_SB.PCI0.ISA0.MBRD._Y22._MIN, PMMN) CreateWordField (RSRC, \_SB.PCI0.ISA0.MBRD._Y22._MAX, PMMX) And (^^PMBA, 0xFF80, PMMN) Store (PMMN, PMMX) CreateWordField (RSRC, \_SB.PCI0.ISA0.MBRD._Y23._MIN, GPMN) CreateWordField (RSRC, \_SB.PCI0.ISA0.MBRD._Y23._MAX, GPMX) And (^^GPBA, 0xFF80, GPMN) Store (GPMN, GPMX) Return (RSRC) } } Device (DMAA) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x0F, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer16, ) {4} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {8} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x00, // Alignment 0x02, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {2} }) } Device (FPU) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x10, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {13} }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (KBC) { Name (_HID, EisaId ("PNP0303")) Name (KBS3, 0x00) Name (_PSC, 0x00) Name (PS2D, 0x07D0) Method (_PS0, 0, NotSerialized) { If (KBS3) { Store (Zero, KBS3) Divide (And (\_SB.PCI0.ISA0.ATMR, 0x00FFFFFF), 0x0DFC, , Local0) If (LLess (Local0, PS2D)) { Sleep (Subtract (PS2D, Local0)) } } Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) } Device (MOUE) { Name (_HID, EisaId ("PNP0F13")) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (_PSC) { Store (0x00, _PSC) } } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_CRS, ResourceTemplate () { IRQNoFlags () {12} }) } Mutex (PSMX, 0x00) OperationRegion (PCTL, PCI_Config, 0xA0, 0x02) Field (PCTL, WordAcc, NoLock, Preserve) { , 2, CRUN, 1 } OperationRegion (PMIO, SystemIO, 0x1000, 0x31) Field (PMIO, DWordAcc, NoLock, Preserve) { Offset (0x08), ATMR, 32, Offset (0x30), , 4, Z000, 1 } OperationRegion (GPI, SystemIO, 0x102C, 0x02) Field (GPI, WordAcc, NoLock, Preserve) { , 3, IDEI, 3, Offset (0x01) } OperationRegion (GPO, SystemIO, 0x11B8, 0x04) Field (GPO, DWordAcc, NoLock, Preserve) { GO32, 1, GO33, 1, GO34, 1, GO35, 1, GO36, 1, SRST, 1, GO38, 1, GO39, 1, BKLT, 1, GO41, 1, SDPW, 1 } OperationRegion (GPIO, SystemIO, 0x118C, 0x04) Field (GPIO, DWordAcc, NoLock, Preserve) { , 28, GO28, 1 } OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x0FF73E0D, 0x00000120) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 2048 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), STSB, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x05), PNLR, 32 } 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 } Method (HPSS, 2, NotSerialized) { 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) } Device (SIO) { Name (_HID, EisaId ("PNP0A05")) OperationRegion (SIIO, SystemIO, 0x2E, 0x02) Field (SIIO, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } Mutex (N393, 0x00) Method (LDRS, 3, NotSerialized) { Acquire (N393, 0xFFFF) Store (0x07, INDX) Store (Arg0, DATA) Store (Arg1, INDX) Store (Arg2, DATA) Release (N393) } Method (LDRG, 2, NotSerialized) { Acquire (N393, 0xFFFF) Store (0x07, INDX) Store (Arg0, DATA) Store (Arg1, INDX) Store (DATA, Local0) Release (N393) Return (Local0) } Method (RCF6, 1, NotSerialized) { Acquire (N393, 0xFFFF) Store (0x26, INDX) Store (DATA, Local0) And (Local0, Arg0, Local0) Release (N393) Return (XOr (Local0, Arg0)) } Method (PDRS, 2, NotSerialized) { If (\_SB.PCI0.ISA0.POSD) { If (LEqual (Arg0, 0x00)) { If (LEqual (Arg1, 0x03F0)) { Store (0x00, Local0) } Else { If (LEqual (Arg1, 0x0370)) { Store (0x01, Local0) } } Store (Local0, \_SB.PCI0.ISA0.FDDD) } Else { If (LEqual (Arg0, 0x01)) { If (LEqual (Arg1, 0x0378)) { Store (0x00, Local0) } Else { If (LEqual (Arg1, 0x0278)) { Store (0x01, Local0) } Else { If (LEqual (Arg1, 0x03BC)) { Store (0x02, Local0) } } } Store (Local0, \_SB.PCI0.ISA0.LPTD) } Else { If (LEqual (Arg1, 0x03F8)) { Store (0x00, Local0) } Else { If (LEqual (Arg1, 0x02F8)) { Store (0x01, Local0) } Else { If (LEqual (Arg1, 0x0220)) { Store (0x02, Local0) } Else { If (LEqual (Arg1, 0x0228)) { Store (0x03, Local0) } Else { If (LEqual (Arg1, 0x0238)) { Store (0x04, Local0) } Else { If (LEqual (Arg1, 0x02E8)) { Store (0x05, Local0) } Else { If (LEqual (Arg1, 0x0338)) { Store (0x06, Local0) } Else { If (LEqual (Arg1, 0x03E8)) { Store (0x07, Local0) } } } } } } } } If (LEqual (Arg0, 0x02)) { Store (Local0, \_SB.PCI0.ISA0.CMBD) } Else { If (LEqual (Arg0, 0x03)) { Store (Local0, \_SB.PCI0.ISA0.CMAD) } } } } Return (0x01) } Else { Return (0x00) } } Device (ECP) { Name (_HID, EisaId ("PNP0401")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { Store (LDRG (0x01, 0xF0), Local0) ShiftRight (Local0, 0x05, Local0) If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x04), LEqual (Local0, 0x07)))) { ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1) Add (0x0D, Local1, Local1) Return (Local1) } Else { Return (0x00) } } Method (_PS0, 0, NotSerialized) { LDRS (0x01, 0x30, 0x01) } Method (_PS3, 0, NotSerialized) { LDRS (0x01, 0x30, 0x00) } Method (_PRS, 0, NotSerialized) { Return (ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } EndDependentFn () }) } Method (_DIS, 0, NotSerialized) { LDRS (0x01, 0x30, 0x00) Store (0x00, \_SB.PCI0.ISA0.ELPT) } Method (_CRS, 0, NotSerialized) { Name (DCRS, ResourceTemplate () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} }) Store (LDRG (0x01, 0x60), Local1) Store (LDRG (0x01, 0x61), Local0) Store (Local0, Index (DCRS, 0x02)) Store (Local0, Index (DCRS, 0x0A)) Store (Local0, Index (DCRS, 0x04)) Store (Local0, Index (DCRS, 0x0C)) Store (Local1, Index (DCRS, 0x03)) Store (Local1, Index (DCRS, 0x05)) Add (Local1, 0x04, Local1) Store (Local1, Index (DCRS, 0x0B)) Store (Local1, Index (DCRS, 0x0D)) ShiftLeft (0x01, LDRG (0x01, 0x70), Local0) Store (Local0, Index (DCRS, 0x11)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x12)) ShiftLeft (0x01, LDRG (0x01, 0x74), Local0) Store (Local0, Index (DCRS, 0x14)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x15)) Return (DCRS) } Method (_SRS, 1, NotSerialized) { Store (0x01, \_SB.PCI0.ISA0.ELPT) CreateByteField (Arg0, 0x02, ADRL) CreateByteField (Arg0, 0x03, ADRM) CreateWordField (Arg0, 0x11, IRQM) CreateWordField (Arg0, 0x14, DMAM) FindSetRightBit (IRQM, Local0) Decrement (Local0) FindSetRightBit (DMAM, Local1) Decrement (Local1) LDRS (0x01, 0x70, Local0) LDRS (0x01, 0x74, Local1) LDRS (0x01, 0x60, ADRM) LDRS (0x01, 0x61, ADRL) PDRS (0x01, Add (ShiftLeft (ADRM, 0x08), ADRL)) LDRS (0x01, 0x30, 0x01) } Method (_EJD, 0, NotSerialized) { If (LEqual (\_SB.TOOS, 0x04)) { Return ("_SB.PCI0.ISA0.SPR0") } Else { Return ("_SB.PCI0.ISA0.SIO") } } } Device (EPP) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { Store (LDRG (0x01, 0xF0), Local0) ShiftRight (Local0, 0x05, Local0) If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x02), LEqual (Local0, 0x03)))) { ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1) Add (0x0D, Local1, Local1) Return (Local1) } Else { Return (0x00) } } Method (_PS0, 0, NotSerialized) { LDRS (0x01, 0x30, 0x01) } Method (_PS3, 0, NotSerialized) { LDRS (0x01, 0x30, 0x00) } Method (_PRS, 0, NotSerialized) { Return (ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0178, // Range Minimum 0x0178, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0578, // Range Minimum 0x0578, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0178, // Range Minimum 0x0178, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0578, // Range Minimum 0x0578, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} } EndDependentFn () }) } Method (_DIS, 0, NotSerialized) { LDRS (0x01, 0x30, 0x00) Store (0x00, \_SB.PCI0.ISA0.ELPT) } Method (_CRS, 0, NotSerialized) { Name (DCRS, ResourceTemplate () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} }) Store (LDRG (0x01, 0x60), Local1) Store (LDRG (0x01, 0x61), Local0) Store (Local0, Index (DCRS, 0x02)) Store (Local0, Index (DCRS, 0x0A)) Store (Local0, Index (DCRS, 0x04)) Store (Local0, Index (DCRS, 0x0C)) Store (Local1, Index (DCRS, 0x03)) Store (Local1, Index (DCRS, 0x05)) Add (Local1, 0x04, Local1) Store (Local1, Index (DCRS, 0x0B)) Store (Local1, Index (DCRS, 0x0D)) ShiftLeft (0x01, LDRG (0x01, 0x70), Local0) Store (Local0, Index (DCRS, 0x11)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x12)) Return (DCRS) } Method (_SRS, 1, NotSerialized) { Store (0x01, \_SB.PCI0.ISA0.ELPT) CreateByteField (Arg0, 0x02, ADRL) CreateByteField (Arg0, 0x03, ADRM) CreateWordField (Arg0, 0x11, IRQM) FindSetRightBit (IRQM, Local0) Decrement (Local0) LDRS (0x01, 0x70, Local0) LDRS (0x01, 0x60, ADRM) LDRS (0x01, 0x61, ADRL) PDRS (0x01, Add (ShiftLeft (ADRM, 0x08), ADRL)) LDRS (0x01, 0x30, 0x01) } Method (_EJD, 0, NotSerialized) { If (LEqual (\_SB.TOOS, 0x04)) { Return ("_SB.PCI0.ISA0.SPR0") } Else { Return ("_SB.PCI0.ISA0.SIO") } } } Device (LPTB) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { Store (LDRG (0x01, 0xF0), Local0) ShiftRight (Local0, 0x05, Local0) If (LAnd (RCF6 (0x02), LEqual (Local0, 0x01))) { ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1) Add (0x0D, Local1, Local1) Return (Local1) } Else { Return (0x00) } } Method (_PS0, 0, NotSerialized) { LDRS (0x01, 0x30, 0x01) } Method (_PS3, 0, NotSerialized) { LDRS (0x01, 0x30, 0x00) } Method (_PRS, 0, NotSerialized) { Return (ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IO (Decode16, 0x07BC, // Range Minimum 0x07BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IO (Decode16, 0x07BC, // Range Minimum 0x07BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IRQNoFlags () {5} } EndDependentFn () }) } Method (_DIS, 0, NotSerialized) { LDRS (0x01, 0x30, 0x00) Store (0x00, \_SB.PCI0.ISA0.ELPT) } Method (_CRS, 0, NotSerialized) { Name (DCRS, ResourceTemplate () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} }) Store (LDRG (0x01, 0x60), Local1) Store (LDRG (0x01, 0x61), Local0) Store (Local0, Index (DCRS, 0x02)) Store (Local0, Index (DCRS, 0x0A)) Store (Local0, Index (DCRS, 0x04)) Store (Local0, Index (DCRS, 0x0C)) Store (Local1, Index (DCRS, 0x03)) Store (Local1, Index (DCRS, 0x05)) Add (Local1, 0x04, Local1) Store (Local1, Index (DCRS, 0x0B)) Store (Local1, Index (DCRS, 0x0D)) If (And (Local0, 0x04)) { Store (0x04, Local0) } Else { Store (0x08, Local0) } Store (Local0, Index (DCRS, 0x06)) Store (Local0, Index (DCRS, 0x07)) Store (Local0, Index (DCRS, 0x0E)) Store (Local0, Index (DCRS, 0x0F)) ShiftLeft (0x01, LDRG (0x01, 0x70), Local0) Store (Local0, Index (DCRS, 0x11)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x12)) Return (DCRS) } Method (_SRS, 1, NotSerialized) { Store (0x01, \_SB.PCI0.ISA0.ELPT) CreateByteField (Arg0, 0x02, ADRL) CreateByteField (Arg0, 0x03, ADRM) CreateWordField (Arg0, 0x11, IRQM) FindSetRightBit (IRQM, Local0) Decrement (Local0) LDRS (0x01, 0x70, Local0) LDRS (0x01, 0x60, ADRM) LDRS (0x01, 0x61, ADRL) PDRS (0x01, Add (ShiftLeft (ADRM, 0x08), ADRL)) LDRS (0x01, 0x30, 0x01) } Method (_EJD, 0, NotSerialized) { If (LEqual (\_SB.TOOS, 0x04)) { Return ("_SB.PCI0.ISA0.SPR0") } Else { Return ("_SB.PCI0.ISA0.SIO") } } } Device (LPT) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x00) Method (_STA, 0, NotSerialized) { Store (LDRG (0x01, 0xF0), Local0) ShiftRight (Local0, 0x05, Local0) If (LAnd (RCF6 (0x02), LEqual (Local0, 0x00))) { ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1) Add (0x0D, Local1, Local1) Return (Local1) } Else { Return (0x00) } } Method (_PS0, 0, NotSerialized) { LDRS (0x01, 0x30, 0x01) } Method (_PS3, 0, NotSerialized) { LDRS (0x01, 0x30, 0x00) } Method (_PRS, 0, NotSerialized) { Return (ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IO (Decode16, 0x07BC, // Range Minimum 0x07BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IO (Decode16, 0x07BC, // Range Minimum 0x07BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IRQNoFlags () {5} } EndDependentFn () }) } Method (_DIS, 0, NotSerialized) { LDRS (0x01, 0x30, 0x00) Store (0x00, \_SB.PCI0.ISA0.ELPT) } Method (_CRS, 0, NotSerialized) { Name (DCRS, ResourceTemplate () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} }) Store (LDRG (0x01, 0x60), Local1) Store (LDRG (0x01, 0x61), Local0) Store (Local0, Index (DCRS, 0x02)) Store (Local0, Index (DCRS, 0x0A)) Store (Local0, Index (DCRS, 0x04)) Store (Local0, Index (DCRS, 0x0C)) Store (Local1, Index (DCRS, 0x03)) Store (Local1, Index (DCRS, 0x05)) Add (Local1, 0x04, Local1) Store (Local1, Index (DCRS, 0x0B)) Store (Local1, Index (DCRS, 0x0D)) If (And (Local0, 0x04)) { Store (0x04, Local0) } Else { Store (0x08, Local0) } Store (Local0, Index (DCRS, 0x06)) Store (Local0, Index (DCRS, 0x07)) Store (Local0, Index (DCRS, 0x0E)) Store (Local0, Index (DCRS, 0x0F)) ShiftLeft (0x01, LDRG (0x01, 0x70), Local0) Store (Local0, Index (DCRS, 0x11)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x12)) Return (DCRS) } Method (_SRS, 1, NotSerialized) { Store (0x01, \_SB.PCI0.ISA0.ELPT) CreateByteField (Arg0, 0x02, ADRL) CreateByteField (Arg0, 0x03, ADRM) CreateWordField (Arg0, 0x11, IRQM) FindSetRightBit (IRQM, Local0) Decrement (Local0) LDRS (0x01, 0x70, Local0) LDRS (0x01, 0x60, ADRM) LDRS (0x01, 0x61, ADRL) PDRS (0x01, Add (ShiftLeft (ADRM, 0x08), ADRL)) LDRS (0x01, 0x30, 0x01) } Method (_EJD, 0, NotSerialized) { If (LEqual (\_SB.TOOS, 0x04)) { Return ("_SB.PCI0.ISA0.SPR0") } Else { Return ("_SB.PCI0.ISA0.SIO") } } } Device (COMA) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x00) Name (_EJD, "_SB_.PCI0.ISA0.SPR0") Method (_STA, 0, NotSerialized) { If (RCF6 (0x08)) { ShiftLeft (LDRG (0x03, 0x30), 0x01, Local1) Add (0x0D, Local1, Local1) Return (Local1) } Else { Return (0x00) } } Method (_PS0, 0, NotSerialized) { LDRS (0x03, 0x30, 0x01) } Method (_PS3, 0, NotSerialized) { LDRS (0x03, 0x30, 0x00) } Method (_PRS, 0, NotSerialized) { Return (ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} } EndDependentFn () }) } Method (_DIS, 0, NotSerialized) { LDRS (0x03, 0x30, 0x00) Store (0x00, \_SB.PCI0.ISA0.ECO1) } Method (_CRS, 0, NotSerialized) { Name (DCRS, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} }) Store (LDRG (0x03, 0x60), Local1) Store (LDRG (0x03, 0x61), Local0) Store (Local0, Index (DCRS, 0x02)) Store (Local0, Index (DCRS, 0x04)) Store (Local1, Index (DCRS, 0x03)) Store (Local1, Index (DCRS, 0x05)) ShiftLeft (0x01, LDRG (0x03, 0x70), Local0) Store (Local0, Index (DCRS, 0x09)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x0A)) Return (DCRS) } Method (_SRS, 1, NotSerialized) { Store (0x01, \_SB.PCI0.ISA0.ECO1) CreateByteField (Arg0, 0x02, ADRL) CreateByteField (Arg0, 0x03, ADRM) CreateWordField (Arg0, 0x09, IRQM) FindSetRightBit (IRQM, Local0) Decrement (Local0) LDRS (0x03, 0x70, Local0) LDRS (0x03, 0x60, ADRM) LDRS (0x03, 0x61, ADRL) PDRS (0x03, Add (ShiftLeft (ADRM, 0x08), ADRL)) LDRS (0x03, 0x30, 0x01) } } Device (FDC) { Name (_HID, EisaId ("PNP0700")) Name (_UID, 0x00) Method (_STA, 0, NotSerialized) { If (RCF6 (0x01)) { ShiftLeft (LDRG (0x00, 0x30), 0x01, Local1) Add (0x0D, Local1, Local1) Return (Local1) } Else { Return (0x00) } } Method (_PRS, 0, NotSerialized) { Return (ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F0, // Range Minimum 0x03F0, // Range Maximum 0x08, // Alignment 0x06, // Length ) IO (Decode16, 0x03F7, // Range Minimum 0x03F7, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8, ) {2} } StartDependentFnNoPri () { IO (Decode16, 0x0370, // Range Minimum 0x0370, // Range Maximum 0x08, // Alignment 0x06, // Length ) IO (Decode16, 0x0377, // Range Minimum 0x0377, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8, ) {2} } EndDependentFn () }) } Method (_DIS, 0, NotSerialized) { LDRS (0x00, 0x30, 0x00) Store (0x00, \_SB.PCI0.ISA0.EFDD) } Method (_CRS, 0, NotSerialized) { Name (DCRS, ResourceTemplate () { IO (Decode16, 0x03F0, // Range Minimum 0x03F0, // Range Maximum 0x08, // Alignment 0x06, // Length ) IO (Decode16, 0x03F7, // Range Minimum 0x03F7, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8, ) {2} }) Store (LDRG (0x00, 0x60), Local1) Store (LDRG (0x00, 0x61), Local0) Store (Local0, Index (DCRS, 0x02)) Store (Local0, Index (DCRS, 0x04)) Add (Local0, 0x07, Local0) Store (Local0, Index (DCRS, 0x0A)) Store (Local0, Index (DCRS, 0x0C)) Store (Local1, Index (DCRS, 0x03)) Store (Local1, Index (DCRS, 0x05)) Store (Local1, Index (DCRS, 0x0B)) Store (Local1, Index (DCRS, 0x0D)) ShiftLeft (0x01, LDRG (0x00, 0x70), Local0) Store (Local0, Index (DCRS, 0x11)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x12)) ShiftLeft (0x01, LDRG (0x00, 0x74), Local0) Store (Local0, Index (DCRS, 0x14)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x15)) Return (DCRS) } Method (_SRS, 1, NotSerialized) { Store (0x01, \_SB.PCI0.ISA0.EFDD) CreateByteField (Arg0, 0x02, ADRL) CreateByteField (Arg0, 0x03, ADRM) CreateWordField (Arg0, 0x11, IRQM) CreateWordField (Arg0, 0x14, DMAM) FindSetRightBit (IRQM, Local0) Decrement (Local0) FindSetRightBit (DMAM, Local1) Decrement (Local1) LDRS (0x00, 0x70, Local0) LDRS (0x00, 0x74, Local1) LDRS (0x00, 0x60, ADRM) LDRS (0x00, 0x61, ADRL) PDRS (0x00, Add (ShiftLeft (ADRM, 0x08), ADRL)) LDRS (0x00, 0x30, 0x01) } Name (STOP, 0x00) Method (_INI, 0, NotSerialized) { If (ECOK ()) { If (LEqual (\_SB.PCI0.ISA0.EC0.FDD, 0x01)) { Store (0x00, \_SB.PCI0.ISA0.SIO.FDC.IFDD._PSC) } Else { Store (0x03, \_SB.PCI0.ISA0.SIO.FDC.IFDD._PSC) } } Else { If (And (BDST, 0x02)) { Store (0x00, \_SB.PCI0.ISA0.SIO.FDC.IFDD._PSC) } Else { Store (0x03, \_SB.PCI0.ISA0.SIO.FDC.IFDD._PSC) } } If (ECOK ()) { If (\_SB.PCI0.ISA0.EC0.EXFD) { Store (0x00, \_SB.PCI0.ISA0.SIO.FDC.EFDD._PSC) Store (0x03, \_SB.PCI0.ISA0.SIO.FDC.IFDD._PSC) } Else { Store (0x03, \_SB.PCI0.ISA0.SIO.FDC.EFDD._PSC) } } Else { If (And (BDST, 0x01)) { Store (0x00, \_SB.PCI0.ISA0.SIO.FDC.EFDD._PSC) Store (0x03, \_SB.PCI0.ISA0.SIO.FDC.IFDD._PSC) } Else { Store (0x03, \_SB.PCI0.ISA0.SIO.FDC.EFDD._PSC) } } } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) If (And (\_SB.PCI0.ISA0.EC0.PQ8A, 0x01)) { Acquire (\_SB.PCI0.ISA0.EC0.MUT2, 0xFFFF) \_SB.PCI0.ISA0.EC0.SWAP () And (\_SB.PCI0.ISA0.EC0.PQ8A, Not (0x01), \_SB.PCI0.ISA0.EC0.PQ8A) Release (\_SB.PCI0.ISA0.EC0.MUT2) } } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_FDE, 0, NotSerialized) { Store (Buffer (0x14) { 0x00 }, Local0) CreateDWordField (Local0, 0x00, FD0) CreateDWordField (Local0, 0x10, TAPE) If (And (\_SB.PCI0.ISA0.SIO.FDC.EFDD._STA (), 0x01)) { Store (0x01, FD0) } Else { If (And (\_SB.PCI0.ISA0.SIO.FDC.IFDD._STA (), 0x01)) { Store (0x01, FD0) } } Store (0x02, TAPE) Return (Local0) } Device (IFDD) { Method (_ADR, 0, NotSerialized) { If (ECOK ()) { If (\_SB.PCI0.ISA0.EC0.EXFD) { Return (0x01) } } Else { If (And (BDST, 0x01)) { Return (0x01) } } Return (0x00) } Method (_STA, 0, NotSerialized) { If (ECOK ()) { If (\_SB.PCI0.ISA0.EC0.EXFD) { Return (0x00) } } Else { If (And (BDST, 0x01)) { Return (0x00) } } If (ECOK ()) { If (LAnd (\_SB.PCI0.ISA0.EC0.FDD, XOr (^^STOP, 0x01))) { If (LEqual (\_SB.PCI0.ISA0.SIO.FDC.IFDD._PSC, 0x00)) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } Else { If (And (BDST, 0x02)) { If (LEqual (\_SB.PCI0.ISA0.SIO.FDC.IFDD._PSC, 0x00)) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, \_SB.PCI0.ISA0.SDPW) Store (0x01, \_SB.PCI0.ISA0.GO28) Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x01, \_SB.PCI0.ISA0.SDPW) Store (0x00, \_SB.PCI0.ISA0.GO28) Store (0x03, _PSC) } Method (_EJ0, 1, NotSerialized) { If (\_SB.PCI0.ISA0.EC0.EXFD) { \_SB.PCI0.ISA0.SIO.FDC.EFDD._EJ0 (0x01) } Else { ^_PS3 () Or (\_SB.PCI0.ISA0.SIO.FDC.STOP, 0x01, \_SB.PCI0.ISA0.SIO.FDC.STOP) } } Name (_FDI, Package (0x10) { 0x00, 0x04, 0x4F, 0x12, 0x01, 0xDF, 0x02, 0x25, 0x02, 0x12, 0x1B, 0xFF, 0x6C, 0xF6, 0x0F, 0x05 }) } Device (EFDD) { Method (_ADR, 0, NotSerialized) { If (ECOK ()) { If (LNot (\_SB.PCI0.ISA0.EC0.EXFD)) { Return (0x01) } } Else { If (LNot (And (BDST, 0x01))) { Return (0x01) } } Return (0x00) } Method (_STA, 0, NotSerialized) { If (ECOK ()) { If (LOr (LNot (\_SB.PCI0.ISA0.EC0.EXFD), And (^^STOP, 0x02))) { Return (0x00) } } Else { If (LNot (And (BDST, 0x01))) { Return (0x00) } } If (LEqual (_PSC, 0x00)) { Return (0x0F) } Else { Return (0x0D) } } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_EJD, "_SB_.PCI0.ISA0.SPR0") Method (_EJ0, 1, NotSerialized) { Store (0x03, _PSC) Or (\_SB.PCI0.ISA0.SIO.FDC.STOP, 0x02, \_SB.PCI0.ISA0.SIO.FDC.STOP) } Name (_FDI, Package (0x10) { 0x00, 0x04, 0x4F, 0x12, 0x01, 0xDF, 0x02, 0x25, 0x02, 0x12, 0x1B, 0xFF, 0x6C, 0xF6, 0x0F, 0x05 }) } } Device (SIR) { Name (_HID, EisaId ("PNP0510")) Name (_UID, 0x00) Method (_STA, 0, NotSerialized) { Store (LDRG (0x02, 0x74), Local0) If (LAnd (RCF6 (0x04), LEqual (Local0, 0x04))) { ShiftLeft (LDRG (0x02, 0x30), 0x01, Local1) Add (0x0D, Local1, Local1) Return (Local1) } Else { Return (0x00) } } Method (_PS0, 0, NotSerialized) { LDRS (0x02, 0x30, 0x01) } Method (_PS3, 0, NotSerialized) { LDRS (0x02, 0x30, 0x00) } Method (_PRS, 0, NotSerialized) { Return (ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} } EndDependentFn () }) } Method (_DIS, 0, NotSerialized) { LDRS (0x02, 0x30, 0x00) Store (0x00, \_SB.PCI0.ISA0.ECO1) } Method (_CRS, 0, NotSerialized) { Name (DCRS, ResourceTemplate () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} }) Store (LDRG (0x02, 0x60), Local1) Store (LDRG (0x02, 0x61), Local0) Store (Local0, Index (DCRS, 0x02)) Store (Local0, Index (DCRS, 0x04)) Store (Local1, Index (DCRS, 0x03)) Store (Local1, Index (DCRS, 0x05)) ShiftLeft (0x01, LDRG (0x02, 0x70), Local0) Store (Local0, Index (DCRS, 0x09)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x0A)) Return (DCRS) } Method (_SRS, 1, NotSerialized) { Store (0x01, \_SB.PCI0.ISA0.ECO1) CreateByteField (Arg0, 0x02, ADRL) CreateByteField (Arg0, 0x03, ADRM) CreateWordField (Arg0, 0x09, IRQM) FindSetRightBit (IRQM, Local0) Decrement (Local0) LDRS (0x02, 0x70, Local0) LDRS (0x02, 0x60, ADRM) LDRS (0x02, 0x61, ADRL) PDRS (0x02, Add (ShiftLeft (ADRM, 0x08), ADRL)) LDRS (0x02, 0x30, 0x01) } } Device (FIR) { Method (_HID, 0, NotSerialized) { If (\_SB.PCI0.OSNT) { Return (0x24C2F022) } Else { Return (0x0160633A) } } Name (_UID, 0x00) Method (_STA, 0, NotSerialized) { Store (LDRG (0x02, 0x74), Local0) If (LAnd (RCF6 (0x04), LNotEqual (Local0, 0x04))) { ShiftLeft (LDRG (0x02, 0x30), 0x01, Local1) Add (0x0D, Local1, Local1) Return (Local1) } Else { Return (0x00) } } Method (_PS0, 0, NotSerialized) { LDRS (0x02, 0x30, 0x01) } Method (_PS3, 0, NotSerialized) { LDRS (0x02, 0x30, 0x00) } Method (_PRS, 0, NotSerialized) { Return (ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {0} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {0} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {0} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {0} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {0} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {0} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {0} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {0} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } EndDependentFn () }) } Method (_DIS, 0, NotSerialized) { LDRS (0x02, 0x30, 0x00) Store (0x00, \_SB.PCI0.ISA0.ECO1) } Method (_CRS, 0, NotSerialized) { Name (DCRS, ResourceTemplate () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {0} }) Store (LDRG (0x02, 0x60), Local1) Store (LDRG (0x02, 0x61), Local0) Store (Local0, Index (DCRS, 0x02)) Store (Local0, Index (DCRS, 0x04)) Store (Local1, Index (DCRS, 0x03)) Store (Local1, Index (DCRS, 0x05)) ShiftLeft (0x01, LDRG (0x02, 0x70), Local0) Store (Local0, Index (DCRS, 0x09)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x0A)) ShiftLeft (0x01, LDRG (0x02, 0x74), Local0) Store (Local0, Index (DCRS, 0x0C)) ShiftRight (Local0, 0x08, Local1) Store (Local1, Index (DCRS, 0x0D)) Return (DCRS) } Method (_SRS, 1, NotSerialized) { Store (0x01, \_SB.PCI0.ISA0.ECO1) CreateByteField (Arg0, 0x02, ADRL) CreateByteField (Arg0, 0x03, ADRM) CreateWordField (Arg0, 0x09, IRQM) CreateWordField (Arg0, 0x0C, DMAM) FindSetRightBit (IRQM, Local0) Decrement (Local0) FindSetRightBit (DMAM, Local1) Decrement (Local1) LDRS (0x02, 0x70, Local0) LDRS (0x02, 0x74, Local1) LDRS (0x02, 0x60, ADRM) LDRS (0x02, 0x61, ADRL) PDRS (0x02, Add (ShiftLeft (ADRM, 0x08), ADRL)) LDRS (0x02, 0x30, 0x01) } } } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) Name (_GPE, 0x1C) Name (SEL0, 0xF0) Name (BFLG, 0x00) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECEN) } } OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x04), 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, RFSW, 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, RSMA, 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, B2LC, 8, HP6A, 8, HP6B, 8, HP6C, 8, HP6D, 8, HP6E, 8, HP6F, 8, HP70, 8, HP71, 8, RSMT, 16, HP74, 8, HP75, 8, , 1, , 1, , 1, UPP1, 1, UPP2, 1, , 1, , 1, BTOF, 1, SUSB, 1, SUSC, 1, CPWR, 1, CBTN, 1, FAN, 1, IWOL, 1, EWOR, 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, 0x00) Method (CMC2, 3, NotSerialized) { Acquire (CMUT, 0xFFFF) Store (Arg2, CMD2) Store (Arg1, CMD1) Store (Arg0, CMCM) While (CMCM) {} Release (CMUT) } Mutex (MUT0, 0x00) Mutex (MUT1, 0x00) Method (SMRD, 4, NotSerialized) { If (LNot (ECOK ())) { Return (0xFF) } If (LNotEqual (Arg0, 0x07)) { If (LNotEqual (Arg0, 0x09)) { If (LNotEqual (Arg0, 0x0B)) { Return (0x19) } } } Acquire (MUT0, 0xFFFF) Store (0x04, Local0) While (LGreater (Local0, 0x01)) { And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) While (LNot (And (SMST, 0xBF, Local1))) { Sleep (0x02) } If (LEqual (Local1, 0x80)) { Store (0x00, Local0) } Else { Decrement (Local0) } } If (Local0) { Store (And (Local1, 0x1F), Local0) } Else { If (LEqual (Arg0, 0x07)) { Store (SMB0, Arg3) } If (LEqual (Arg0, 0x09)) { Store (SMW0, Arg3) } If (LEqual (Arg0, 0x0B)) { Store (BCNT, Local3) ShiftRight (0x0100, 0x03, Local2) If (LGreater (Local3, Local2)) { Store (Local2, Local3) } If (LLess (Local3, 0x09)) { 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, 0x00) Store (Local4, Arg3) } } Release (MUT0) Return (Local0) } Method (SMWR, 4, NotSerialized) { If (LNot (ECOK ())) { Return (0xFF) } If (LNotEqual (Arg0, 0x06)) { If (LNotEqual (Arg0, 0x08)) { If (LNotEqual (Arg0, 0x0A)) { Return (0x19) } } } Acquire (MUT0, 0xFFFF) Store (0x04, Local0) While (LGreater (Local0, 0x01)) { If (LEqual (Arg0, 0x06)) { Store (Arg3, SMB0) } If (LEqual (Arg0, 0x08)) { Store (Arg3, SMW0) } If (LEqual (Arg0, 0x0A)) { Store (Arg3, SMD0) } And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) While (LNot (And (SMST, 0xBF, Local1))) { Sleep (0x02) } If (LEqual (Local1, 0x80)) { Store (0x00, Local0) } Else { Decrement (Local0) } } If (Local0) { Store (And (Local1, 0x1F), Local0) } Release (MUT0) Return (Local0) } Name (ACFL, 0x00) Method (SMSL, 0, NotSerialized) { Store ("CMBatt - SMSL", Debug) If (LNot (ECOK ())) { Return (0xFF) } Acquire (\_SB.PCI0.ISA0.EC0.MUT1, 0xFFFF) If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local0)))) { Store (Local0, SEL0) Store (SEL0, Debug) If (LEqual (ALRT, 0x01)) { \_SB.PCI0.ISA0.BAT1.IVBI () \_SB.PCI0.ISA0.BAT1.IVBS () \_SB.PCI0.ISA0.BAT2.IVBI () \_SB.PCI0.ISA0.BAT2.IVBS () Store (0x00, 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 (0x08, 0x14, 0x01, Local0) If (LAnd (Local1, \_SB.PCI0.ISA0.ACAD.ACP)) { Store ("CMBatt - Notify(ACAD,0x80): AC_Inserted", Debug) Store (0x00, \_SB.PCI0.ISA0.CRUN) Notify (\_SB.PCI0.ISA0.ACAD, 0x80) Store (0x02, ACFL) If (\_SB.PCI0.ISA0.BKLT) { Store (0x00, \_SB.PCI0.ISA0.BKLT) Sleep (0x1E) Store (0x01, \_SB.PCI0.ISA0.BKLT) } } If (And (0x04, Local2)) { If (\_SB.PCI0.ISA0.BKLT) { Store (0x00, \_SB.PCI0.ISA0.BKLT) Sleep (0x1E) Store (0x01, \_SB.PCI0.ISA0.BKLT) } \_SB.PCI0.ISA0.BAT1.B1CK () } If (And (0x02, Local2)) { \_SB.PCI0.ISA0.BAT1.B1ST () } If (And (0x01, Local2)) { \_SB.PCI0.ISA0.BAT1.B1IF () } If (And (0x04, Local3)) { If (\_SB.PCI0.ISA0.BKLT) { Store (0x00, \_SB.PCI0.ISA0.BKLT) Sleep (0x0D) Store (0x01, \_SB.PCI0.ISA0.BKLT) } \_SB.PCI0.ISA0.BAT2.B2CK () } If (And (0x02, Local3)) { \_SB.PCI0.ISA0.BAT2.B2ST () } If (And (0x01, Local3)) { \_SB.PCI0.ISA0.BAT2.B2IF () } If (LAnd (Local1, LNot (\_SB.PCI0.ISA0.ACAD.ACP))) { Store ("CMBatt - Notify(ACAD, 0x80): AC_Removed", Debug) Store (0x01, \_SB.PCI0.ISA0.CRUN) Notify (\_SB.PCI0.ISA0.ACAD, 0x80) Store (0x01, ACFL) If (\_SB.PCI0.ISA0.BKLT) { Store (0x00, \_SB.PCI0.ISA0.BKLT) Sleep (0x0D) Store (0x01, \_SB.PCI0.ISA0.BKLT) } } } Store (0x3C, Local4) If (\_SB.PCI0.ISA0.BAT1.REPT) { Store (0x02, Local4) } If (\_SB.PCI0.ISA0.BAT2.REPT) { Store (0x02, Local4) } If (BFLG) { Store (0x01, Local5) While (LNot (And (BFLG, 0x01))) { Increment (Local5) ShiftRight (BFLG, 0x01, BFLG) } ShiftRight (BFLG, 0x01, 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 (0x00, ACFL) } } Name (PSTA, 0x00) Method (CPOL, 0, NotSerialized) { If (LEqual (PSTA, 0x00)) { If (ECOK ()) { BPOL () Store (0x01, PSTA) } } } Method (BPOL, 0, NotSerialized) { Store (0x01, POLL) } Method (_Q09, 0, NotSerialized) { Store ("QUERY_09", Debug) SMSL () } Method (_Q20, 0, NotSerialized) { 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 (0x00, PWRE) Store (0x12, BFLG) Store (0x00, BPD) BPOL () } } } } Method (_Q29, 0, NotSerialized) { Store ("QUERY_29", Debug) If (And (PQ8A, 0x04)) { And (PQ8A, Not (0x04), PQ8A) Acquire (\_SB.PCI0.ISA0.EC0.MUT2, 0xFFFF) Store (0x01, \_SB.PCI0.ISA0.EC0.SHDD) \_SB.PCI0.ISA0.EC0.SWAP () Release (\_SB.PCI0.ISA0.EC0.MUT2) } } Method (_Q02, 0, NotSerialized) { } Method (_Q03, 0, NotSerialized) { If (LEqual (\_SB.PCI0.AGP.VGA.DISW, 0x00)) { \_SB.PCI0.AGP.VGA.DRUL (0x01) } Else { If (LEqual (\_SB.PCI0.AGP.VGA.DISW, 0x01)) { HPSS (0x01, 0x00) } } } Method (_Q04, 0, NotSerialized) { Notify (\_SB.PCI0.ISA0.HPCI, 0x86) } Method (_Q05, 0, NotSerialized) { } Method (_Q0A, 0, NotSerialized) { Store ("Brightness Down: _Q0A", Debug) Store (HPSS (0x08, 0x00), Local0) CMC2 (0xC4, Local0, 0x82) Notify (HPCI, 0x8A) } Method (_Q0B, 0, NotSerialized) { Store ("Brightness Up: _Q0B", Debug) Store (HPSS (0x08, 0x01), Local0) CMC2 (0xC4, Local0, 0x82) Notify (HPCI, 0x8A) } Method (_Q80, 0, NotSerialized) { Store ("THERM: _Q80 - Thermal Change", Debug) Store ("Current Temperature is ----------- ", Debug) Store (CTMP, Debug) If (LGreaterEqual (CTMP, 0x5D)) { If (LNot (And (\_SB.PCI0.ISA0.MFLG, 0x20))) { HPSS (0x15, 0x00) } } Else { If (And (\_SB.PCI0.ISA0.MFLG, 0x20)) { HPSS (0x16, 0x00) } } Notify (\_TZ.THRM, 0x80) } Method (_Q8A, 0, NotSerialized) { Store (EVTP, Local0) Store (Local0, EVTP) Store (Local0, Debug) If (And (Local0, 0x01)) { If (LIDS) { Store (0x00, \_SB.LID.LPOL) Store (0x00, \_SB.PCI0.ISA0.BKLT) } Else { Store (0x01, \_SB.LID.LPOL) Store (0x01, \_SB.PCI0.ISA0.BKLT) } Notify (\_SB.LID, 0x80) } If (And (Local0, 0x04)) { Acquire (\_SB.PCI0.ISA0.EC0.MUT2, 0xFFFF) \_SB.PCI0.ISA0.EC0.SWAP () Release (\_SB.PCI0.ISA0.EC0.MUT2) } If (And (Local0, 0x08)) { HPSS (0x13, RFSW) } If (And (Local0, 0x20)) { \_SB.PCI0.AGP.VGA.DRUL (0x02) } 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, 0, NotSerialized) { \_SB.PCI0.ISA0.SPR0.DOCK () } Name (FDD, 0x00) Name (SHDD, 0x00) Name (BIDE, 0x00) Mutex (MUT3, 0x00) Method (MBAY, 0, NotSerialized) { If (ECOK ()) { Store (\_SB.PCI0.ISA0.EC0.DV2S, Local0) } Else { Or (And (\_SB.PCI0.ISA0.BDST, 0x02), And (\_SB.PCI0.ISA0.BDST, 0x04), Local0) } If (Local0) { Store (0x07, \_SB.PCI0.ISA0.IDEI) If (LEqual (\_SB.PCI0.ISA0.IDEI, 0x07)) { Store (0x01, \_SB.PCI0.ISA0.EC0.FDD) Store (0x00, \_SB.PCI0.ISA0.EC0.SHDD) Store (0x00, \_SB.PCI0.ISA0.EC0.BIDE) } Else { Store (0x00, \_SB.PCI0.ISA0.EC0.FDD) Store (0x01, \_SB.PCI0.ISA0.EC0.SHDD) ShiftLeft (\_SB.PCI0.ISA0.IDEI, 0x03, \_SB.PCI0.ISA0.EC0.BIDE) } } Else { Store (0x00, \_SB.PCI0.ISA0.EC0.FDD) Store (0x00, \_SB.PCI0.ISA0.EC0.SHDD) Store (0x00, \_SB.PCI0.ISA0.EC0.BIDE) } } Name (PQ8A, 0x00) Mutex (MUT2, 0x00) Method (SWAP, 0, NotSerialized) { If (LEqual (\_SB.PCI0.OSNT, 0x01)) { Store (\_SB.PCI0.IDE.BAYD, Local0) If (LNot (\_SB.PCI0.ISA0.EC0.SHDD)) { If (And (Local0, 0x04)) { 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, 0x01) Store (0x00, \_SB.PCI0.IDE.SECN.MAST.STOP) } Else { Store (0x01, \_SB.PCI0.IDE.TRIS) Store (0x01, \_SB.PCI0.ISA0.SDPW) Store (0x00, \_SB.PCI0.ISA0.GO28) Store (0x8000, \_SB.PCI0.IDE.TSEC) Notify (\_SB.PCI0.IDE.SECN, 0x01) } And (\_SB.PCI0.IDE.BAYD, Not (0x04), \_SB.PCI0.IDE.BAYD) And (\_SB.PCI0.IDE.BAYD, Not (0x38), \_SB.PCI0.IDE.BAYD) } Else { Or (PQ8A, 0x02, PQ8A) } } } If (LNot (\_SB.PCI0.ISA0.EC0.FDD)) { If (And (Local0, 0x02)) { If (LNot (\_SB.PCI0.ISA0.SIO.FDC._PSC)) { Store (0x01, \_SB.PCI0.IDE.TRIS) Store (0x01, \_SB.PCI0.ISA0.SDPW) Store (0x00, \_SB.PCI0.ISA0.GO28) \_SB.PCI0.ISA0.SIO.FDC.IFDD._PS3 () Notify (\_SB.PCI0.ISA0.SIO.FDC, 0x01) And (\_SB.PCI0.ISA0.SIO.FDC.STOP, Not (0x01), \_SB.PCI0.ISA0.SIO.FDC.STOP) And (\_SB.PCI0.IDE.BAYD, Not (0x02), \_SB.PCI0.IDE.BAYD) } Else { Or (PQ8A, 0x01, PQ8A) } } } If (\_SB.PCI0.ISA0.EC0.SHDD) { If (LNot (And (Local0, 0x04))) { If (LNot (\_SB.PCI0.IDE._PSC)) { If (LNot (And (\_SB.PCI0.IDE.BAYD, 0x02))) { Store (0x01, \_SB.PCI0.IDE.TRIS) Store (0x00, \_SB.PCI0.ISA0.SDPW) Store (0x01, \_SB.PCI0.ISA0.GO28) Store (0x00, \_SB.PCI0.ISA0.SRST) Sleep (0x64) Store (0x01, \_SB.PCI0.ISA0.SRST) Sleep (0xC8) Store (0x00, \_SB.PCI0.IDE.TRIS) Store (0xC057, \_SB.PCI0.IDE.TSEC) Store (0x00, \_SB.PCI0.IDE.SECN.MAST.STOP) Notify (\_SB.PCI0.IDE.SECN, 0x01) Or (\_SB.PCI0.IDE.BAYD, 0x04, \_SB.PCI0.IDE.BAYD) Or (\_SB.PCI0.IDE.BAYD, \_SB.PCI0.ISA0.EC0.BIDE, \_SB.PCI0.IDE.BAYD) } } Else { Or (PQ8A, 0x02, PQ8A) } } Else { If (LNotEqual (And (Local0, 0x38), BIDE)) { If (LNot (\_SB.PCI0.IDE._PSC)) { If (LOr (LNotEqual (\_SB.PCI0.IDE.TSEC, 0x8000), LNot (\_SB.PCI0.IDE.SECN.MAST.STOP))) { Store (0x01, \_SB.PCI0.IDE.TRIS) Store (0x01, \_SB.PCI0.ISA0.SDPW) Store (0x00, \_SB.PCI0.ISA0.GO28) Store (0x8000, \_SB.PCI0.IDE.TSEC) Store (0x00, SHDD) Notify (\_SB.PCI0.IDE.SECN.MAST, 0x01) And (\_SB.PCI0.IDE.BAYD, Not (0x04), \_SB.PCI0.IDE.BAYD) And (\_SB.PCI0.IDE.BAYD, Not (0x38), \_SB.PCI0.IDE.BAYD) Store (0xFA, HPCB) Store (0x01, ENCB) Or (PQ8A, 0x04, PQ8A) } Else { Store (0x01, \_SB.PCI0.IDE.TRIS) Store (0x00, \_SB.PCI0.ISA0.SDPW) Store (0x01, \_SB.PCI0.ISA0.GO28) Store (0x00, \_SB.PCI0.ISA0.SRST) Sleep (0x64) Store (0x01, \_SB.PCI0.ISA0.SRST) Sleep (0xC8) Store (0x00, \_SB.PCI0.IDE.TRIS) Store (0xC057, \_SB.PCI0.IDE.TSEC) Store (0x00, \_SB.PCI0.IDE.SECN.MAST.STOP) Notify (\_SB.PCI0.IDE.SECN, 0x01) 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, 0x02, PQ8A) } } } } If (\_SB.PCI0.ISA0.EC0.FDD) { If (LNot (And (Local0, 0x02))) { If (LNot (\_SB.PCI0.ISA0.SIO.FDC._PSC)) { If (LNot (And (\_SB.PCI0.IDE.BAYD, 0x04))) { If (LNot (\_SB.PCI0.ISA0.EC0.EXFD)) { \_SB.PCI0.ISA0.SIO.FDC.IFDD._PS0 () Store (0x01, \_SB.PCI0.IDE.TRIS) Store (0x00, \_SB.PCI0.ISA0.SDPW) Store (0x01, \_SB.PCI0.ISA0.GO28) Store (0x00, \_SB.PCI0.IDE.TRIS) Notify (\_SB.PCI0.ISA0.SIO.FDC, 0x01) } Or (\_SB.PCI0.IDE.BAYD, 0x02, \_SB.PCI0.IDE.BAYD) } } Else { Or (PQ8A, 0x01, PQ8A) } } } If (\_SB.PCI0.ISA0.EC0.EXFD) { If (LNot (And (Local0, 0x01))) { If (LNot (\_SB.PCI0.ISA0.SIO.FDC._PSC)) { HPSS (0x04, 0x00) \_SB.PCI0.ISA0.SIO.FDC.EFDD._PS0 () Notify (\_SB.PCI0.ISA0.SIO, 0x01) Or (\_SB.PCI0.IDE.BAYD, 0x01, \_SB.PCI0.IDE.BAYD) } Else { Or (PQ8A, 0x01, PQ8A) } } } If (LNot (\_SB.PCI0.ISA0.EC0.EXFD)) { If (And (Local0, 0x01)) { If (LNot (\_SB.PCI0.ISA0.SIO.FDC._PSC)) { HPSS (0x05, 0x00) \_SB.PCI0.ISA0.SIO.FDC.EFDD._PS3 () And (\_SB.PCI0.IDE.BAYD, Not (0x01), \_SB.PCI0.IDE.BAYD) And (\_SB.PCI0.ISA0.SIO.FDC.STOP, Not (0x02), \_SB.PCI0.ISA0.SIO.FDC.STOP) If (And (Local0, 0x02)) { If (LNot (And (\_SB.PCI0.ISA0.SIO.FDC.STOP, 0x01))) { \_SB.PCI0.ISA0.SIO.FDC.IFDD._PS0 () Store (0x01, \_SB.PCI0.IDE.TRIS) Store (0x00, \_SB.PCI0.ISA0.SDPW) Store (0x01, \_SB.PCI0.ISA0.GO28) Store (0x00, \_SB.PCI0.IDE.TRIS) } } Notify (\_SB.PCI0.ISA0.SIO, 0x00) } Else { Or (PQ8A, 0x01, PQ8A) } } } } } } Device (ACAD) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { \_SB }) Name (ACP, Ones) Method (_PSR, 0, NotSerialized) { Acquire (\_SB.PCI0.ISA0.EC0.MUT1, 0xFFFF) Store ("CMBatt - _PSR", Debug) \_SB.PCI0.ISA0.EC0.CPOL () Store (ACP, Local0) If (Local0) { Store (0x01, Local1) } Else { Store (0x00, Local1) } Release (\_SB.PCI0.ISA0.EC0.MUT1) Return (Local1) } Method (CHAC, 1, NotSerialized) { Store (LGreater (And (Arg0, 0xF0), 0x80), Local0) If (LNotEqual (Local0, ACP)) { Store (Local0, ACP) Return (Ones) } Else { Return (Zero) } } } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x01) Name (_PCL, Package (0x01) { \_SB }) Name (PBIF, Package (0x0D) { 0x01, 0x0B40, 0x0B40, 0x01, 0x39D0, 0x012C, 0xC8, 0x20, 0x20, "BAT1", " ", " ", " " }) Name (PBST, Package (0x04) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0x2710 }) Name (UBIF, 0x01E9) Name (BP, 0x00) Name (REPT, 0x00) Name (ERRC, 0x00) Method (_STA, 0, NotSerialized) { Acquire (\_SB.PCI0.ISA0.EC0.MUT1, 0xFFFF) Store ("CMBatt - _STA.BAT1", Debug) \_SB.PCI0.ISA0.EC0.CPOL () If (BP) { Store (0x1F, Local1) } Else { Store (0x0F, Local1) } Release (\_SB.PCI0.ISA0.EC0.MUT1) Return (Local1) } Method (_BIF, 0, NotSerialized) { 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, 0, NotSerialized) { 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, 0, NotSerialized) { Store ("CMBatt - Notify(BAT1,0x81): B1CK", Debug) Notify (\_SB.PCI0.ISA0.BAT1, 0x81) } Method (B1ST, 0, NotSerialized) { Store ("CMBatt - Notify(BAT1,0x80): B1ST", Debug) Notify (\_SB.PCI0.ISA0.BAT1, 0x80) } Method (B1IF, 0, NotSerialized) { Store ("CMBatt - Notify(BAT1,0x81): B1IF", Debug) Notify (\_SB.PCI0.ISA0.BAT1, 0x81) } Method (UPBI, 0, NotSerialized) { Store ("CMBatt - UPBI.BAT1", Debug) Store (Zero, Local0) If (LNot (ECOK ())) { Return (Local0) } Store (0x0C, Local1) Store (Buffer (0x0D) { /* 0000 */ 0x00, 0x18, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x21, 0x00, 0x22, 0x20 }, Local2) While (LGreater (Local1, 0x08)) { If (LNot (And (UBIF, VTOB (Local1)))) { GBFE (Local2, Local1, RefOf (Local3)) If (Local3) { If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x0B, 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, 0x00)) { Store (Local4, Index (PBIF, Local1)) Or (UBIF, VTOB (Local1), UBIF) Store (Ones, Local0) } } } } Decrement (Local1) } While (LGreater (Local1, 0x00)) { If (LNot (And (UBIF, VTOB (Local1)))) { GBFE (Local2, Local1, RefOf (Local3)) If (Local3) { If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x09, 0x16, Local3, RefOf (Local5)))) { If (LAnd (Local5, LNot (And (Local5, 0x8000)))) { If (LEqual (Local1, 0x02)) { ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) } Store (Local5, Index (PBIF, Local1)) Or (UBIF, VTOB (Local1), UBIF) Store (Ones, Local0) } } } } Decrement (Local1) } Store (0x0A, Local1) If (LNot (And (UBIF, VTOB (Local1)))) { If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x09, 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, 0, NotSerialized) { 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, 0x07, Local5) If (LNotEqual (Local5, DerefOf (Index (PBST, 0x00)))) { Store ("CMBatt - BAT1 STATE CHANGE", Debug) Store (Local1, Debug) Store (Local5, Index (PBST, 0x00)) Store (Ones, Local0) } Store (\_SB.PCI0.ISA0.EC0.BT1C, Local5) If (LNot (And (Local5, 0x8000))) { ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) If (LNotEqual (Local5, DerefOf (Index (PBST, 0x02)))) { Store (Local5, Index (PBST, 0x02)) Store (Ones, Local0) } } Store (\_SB.PCI0.ISA0.EC0.BT1V, Local5) If (LNot (And (Local5, 0x8000))) { ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) If (LNotEqual (Local5, DerefOf (Index (PBST, 0x03)))) { Store (Local5, Index (PBST, 0x03)) Store (Ones, Local0) } } Store (\_SB.PCI0.ISA0.EC0.BT1I, Local5) If (And (Local1, 0x01)) { 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), 0x01, Local5) If (LGreater (Local3, Local5)) { Store (Local3, Local5) } } Else { Store (Local3, Local5) } } If (And (Local1, 0x02)) { If (And (Local5, 0x8000)) { Store (0x00, Local5) } If (LGreater (0x64, Local5)) { Store (0x64, Local5) } } If (LEqual (And (Local1, 0x03), 0x00)) { Store (0x00, Local5) } ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) If (LNotEqual (Local5, DerefOf (Index (PBST, 0x01)))) { Store (Local5, Index (PBST, 0x01)) Store (Ones, Local0) } If (Local0) { Store ("CMBATT - PBST Changed", Debug) } Store (PBST, Debug) Return (Local0) } Method (IVBI, 0, NotSerialized) { Store (0x01E9, UBIF) Store (0x0B40, Index (PBIF, 0x01)) Store (0x0B40, Index (PBIF, 0x02)) Store (0x39D0, Index (PBIF, 0x04)) Store ("Bad", Index (PBIF, 0x09)) Store ("Bad", Index (PBIF, 0x0A)) Store ("Bad", Index (PBIF, 0x0B)) Store ("Bad", Index (PBIF, 0x0C)) } Method (IVBS, 0, NotSerialized) { Store (0x00, Index (PBST, 0x00)) Store (0xFFFFFFFF, Index (PBST, 0x01)) Store (0xFFFFFFFF, Index (PBST, 0x02)) Store (0x39D0, Index (PBST, 0x03)) } Method (CHBP, 1, NotSerialized) { Store ("CMBatt - CHBP.BAT1", Debug) Store (Zero, Local0) If (LNot (ECOK ())) { Return (Local0) } Store (VTOB (Subtract (_UID, 0x01)), Local1) Or (ShiftLeft (Local1, 0x0C), 0x0FFF, Local2) Store (Zero, Local3) If (And (Arg0, Local1)) { If (BP) { Store ("CMBatt - BAT1 still present", Debug) \_SB.PCI0.ISA0.EC0.SMWR (0x08, 0x14, 0x01, Local2) \_SB.PCI0.ISA0.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local3)) If (LEqual (Local2, Or (Local3, 0x0FFF))) { If (UPBI ()) { Or (0x01, Local0, Local0) } If (UPBS ()) { Or (0x02, Local0, Local0) } } } Else { Store ("CMBatt - BAT1 connected", Debug) \_SB.PCI0.ISA0.EC0.SMWR (0x08, 0x14, 0x01, Local2) \_SB.PCI0.ISA0.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local3)) If (LEqual (Local2, Or (Local3, 0x0FFF))) { UPBI () UPBS () } Store (0x01, BP) Or (0x05, Local0, Local0) } } Else { If (BP) { Store ("CMBatt - BAT1 disconnected", Debug) Store (0x00, BP) IVBI () IVBS () Or (0x04, Local0, Local0) } } If (LAnd (And (Arg0, Local1), LNotEqual (UBIF, 0x1FFF))) { Store (0x01, REPT) } Else { Store (0x00, REPT) } Return (Local0) } } Device (BAT2) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x02) Name (_PCL, Package (0x01) { \_SB }) Name (PBIF, Package (0x0D) { 0x01, 0x0B40, 0x0B40, 0x01, 0x39D0, 0x012C, 0xC8, 0x20, 0x20, "BAT2", " ", " ", " " }) Name (PBST, Package (0x04) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0x2710 }) Name (UBIF, 0x01E9) Name (BP, 0x00) Name (REPT, 0x00) Name (ERRC, 0x00) Method (_STA, 0, NotSerialized) { Acquire (\_SB.PCI0.ISA0.EC0.MUT1, 0xFFFF) Store ("CMBatt - _STA.BAT2", Debug) \_SB.PCI0.ISA0.EC0.CPOL () If (BP) { Store (0x1F, Local1) } Else { Store (0x0F, Local1) } Release (\_SB.PCI0.ISA0.EC0.MUT1) Return (Local1) } Method (_BIF, 0, NotSerialized) { 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, 0, NotSerialized) { 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, 0, NotSerialized) { Store ("CMBatt - Notify(BAT2,0x81): B1CK", Debug) Notify (\_SB.PCI0.ISA0.BAT2, 0x81) } Method (B2ST, 0, NotSerialized) { Store ("CMBatt - Notify(BAT2,0x80): B1ST", Debug) Notify (\_SB.PCI0.ISA0.BAT2, 0x80) } Method (B2IF, 0, NotSerialized) { Store ("CMBatt - Notify(BAT2,0x81): B2IF", Debug) Notify (\_SB.PCI0.ISA0.BAT2, 0x81) } Method (UPBI, 0, NotSerialized) { Store ("CMBatt - UPBI.BAT2", Debug) Store (Zero, Local0) If (LNot (ECOK ())) { Return (Local0) } Store (0x0C, Local1) Store (Buffer (0x0D) { /* 0000 */ 0x00, 0x18, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x21, 0x00, 0x22, 0x20 }, Local2) While (LGreater (Local1, 0x08)) { If (LNot (And (UBIF, VTOB (Local1)))) { GBFE (Local2, Local1, RefOf (Local3)) If (Local3) { If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x0B, 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, 0x00)) { Store (Local4, Index (PBIF, Local1)) Or (UBIF, VTOB (Local1), UBIF) Store (Ones, Local0) } } } } Decrement (Local1) } While (LGreater (Local1, 0x00)) { If (LNot (And (UBIF, VTOB (Local1)))) { GBFE (Local2, Local1, RefOf (Local3)) If (Local3) { If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x09, 0x16, Local3, RefOf (Local5)))) { If (LAnd (Local5, LNot (And (Local5, 0x8000)))) { If (LEqual (Local1, 0x02)) { ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) } Store (Local5, Index (PBIF, Local1)) Or (UBIF, VTOB (Local1), UBIF) Store (Ones, Local0) } } } } Decrement (Local1) } Store (0x0A, Local1) If (LNot (And (UBIF, VTOB (Local1)))) { If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x09, 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, 0, NotSerialized) { 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, 0x07, Local5) If (LNotEqual (Local5, DerefOf (Index (PBST, 0x00)))) { Store ("CMBatt - BAT2 STATE CHANGE", Debug) Store (Local1, Debug) Store (Local5, Index (PBST, 0x00)) Store (Ones, Local0) } Store (\_SB.PCI0.ISA0.EC0.BT2C, Local5) If (LNot (And (Local5, 0x8000))) { ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) If (LNotEqual (Local5, DerefOf (Index (PBST, 0x02)))) { Store (Local5, Index (PBST, 0x02)) Store (Ones, Local0) } } Store (\_SB.PCI0.ISA0.EC0.BT2V, Local5) If (LNot (And (Local5, 0x8000))) { ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) If (LNotEqual (Local5, DerefOf (Index (PBST, 0x03)))) { Store (Local5, Index (PBST, 0x03)) Store (Ones, Local0) } } Store (\_SB.PCI0.ISA0.EC0.BT2I, Local5) If (And (Local1, 0x01)) { 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), 0x01, Local5) If (LGreater (Local3, Local5)) { Store (Local3, Local5) } } Else { Store (Local3, Local5) } } If (And (Local1, 0x02)) { If (And (Local5, 0x8000)) { Store (0x00, Local5) } If (LGreater (0x64, Local5)) { Store (0x64, Local5) } } If (LEqual (And (Local1, 0x03), 0x00)) { Store (0x00, Local5) } ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) If (LNotEqual (Local5, DerefOf (Index (PBST, 0x01)))) { Store (Local5, Index (PBST, 0x01)) Store (Ones, Local0) } If (Local0) { Store ("CMBATT - PBST Changed", Debug) } Store (PBST, Debug) Return (Local0) } Method (IVBI, 0, NotSerialized) { Store (0x01E9, UBIF) Store (0x0B40, Index (PBIF, 0x01)) Store (0x0B40, Index (PBIF, 0x02)) Store (0x39D0, Index (PBIF, 0x04)) Store ("Bad", Index (PBIF, 0x09)) Store ("Bad", Index (PBIF, 0x0A)) Store ("Bad", Index (PBIF, 0x0B)) Store ("Bad", Index (PBIF, 0x0C)) } Method (IVBS, 0, NotSerialized) { Store (0x00, Index (PBST, 0x00)) Store (0xFFFFFFFF, Index (PBST, 0x01)) Store (0xFFFFFFFF, Index (PBST, 0x02)) Store (0x39D0, Index (PBST, 0x03)) } Method (CHBP, 1, NotSerialized) { Store ("CMBatt - CHBP.BAT2", Debug) Store (Zero, Local0) If (LNot (ECOK ())) { Return (Local0) } Store (VTOB (Subtract (_UID, 0x01)), Local1) Or (ShiftLeft (Local1, 0x0C), 0x0FFF, Local2) Store (Zero, Local3) If (And (Arg0, Local1)) { If (BP) { Store ("CMBatt - BAT2 still present", Debug) \_SB.PCI0.ISA0.EC0.SMWR (0x08, 0x14, 0x01, Local2) \_SB.PCI0.ISA0.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local3)) If (LEqual (Local2, Or (Local3, 0x0FFF))) { If (UPBI ()) { Or (0x01, Local0, Local0) } If (UPBS ()) { Or (0x02, Local0, Local0) } } } Else { Store ("CMBatt - BAT2 connected", Debug) \_SB.PCI0.ISA0.EC0.SMWR (0x08, 0x14, 0x01, Local2) \_SB.PCI0.ISA0.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local3)) If (LEqual (Local2, Or (Local3, 0x0FFF))) { UPBI () UPBS () } Store (0x01, BP) Or (0x05, Local0, Local0) } } Else { If (BP) { Store ("CMBatt - BAT2 disconnected", Debug) Store (0x00, BP) IVBI () IVBS () Or (0x04, Local0, Local0) } } If (LAnd (And (Arg0, Local1), LNotEqual (UBIF, 0x1FFF))) { Store (0x01, REPT) } Else { Store (0x00, REPT) } Return (Local0) } } Device (SPR0) { Method (_HID, 0, NotSerialized) { If (\_SB.PCI0.OSNT) { Return (0x150CD041) } Else { Return (0x050AD041) } } Method (_UID, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.ISA0.DKTP, 0x00)) { Return (\_SB.PCI0.ISA0.DKSN) } Else { Return (Ones) } } Method (_BDN, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x01)) { Return (0x8022F022) } If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x02)) { Return (0x8122F022) } If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x03)) { Return (0x8222F022) } Return (Ones) } Event (EJVT) Method (_INI, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.ISA0.DKTP, 0x00)) { Store (0x00, _PSC) } Else { Store (0x03, _PSC) } } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_EJ0, 1, NotSerialized) { Store (0x00, \_SB.PCI0.ISA0.EC0.DCWT) If (And (DCKF, 0x04)) { And (DCKF, Not (0x04), DCKF) Store (0x00, \_SB.PCI0.ISA0.EC0.DPWR) And (DCKF, Not (0x02), DCKF) Store (0x00, \_SB.PCI0.ISA0.DKTP) \_SB.PCI0.AGP.VGA.DRUL (0x04) HPSS (0x00, 0x00) Return (0x00) } Store (0x01, \_SB.PCI0.ISA0.EC0.UDR0) Or (DCKF, 0x02, DCKF) Reset (EJVT) Wait (EJVT, 0xFFFF) Store (0x00, \_SB.PCI0.ISA0.EC0.DPWR) \_SB.PCI0.AGP.VGA.DRUL (0x04) } Name (EJX, 0x00) Method (_EJ4, 1, NotSerialized) { Store (0x04, EJX) Store (0x01, \_SB.PCI0.ISA0.EC0.UDR5) } Method (_DCK, 1, NotSerialized) { If (Arg0) { Store (0x01, \_SB.PCI0.ISA0.EC0.DPWR) And (DCKF, Not (0x02), DCKF) If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x01)) { Store (0x00, \_SB.PCI0.ISA0.EC0.DCWT) Store (0x01, \_SB.PCI0.ISA0.EC0.LDDS) Store (0x01, Local1) } Else { Store (\_SB.PCI0.HUB.EPR.ENQB (), Local1) If (Local1) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x02)) { Notify (\_SB.PCI0.HUB.EPR, 0x00) } Else { Notify (\_SB.PCI0.HUB.FDS, 0x00) } } } If (LNot (\_SB.PCI0.AGP.VGA.VRSM)) { \_SB.PCI0.AGP.VGA.DRUL (0x02) } Return (Local1) } Else { Store (0x00, \_SB.PCI0.ISA0.EC0.EQBF) Store (0x00, \_SB.PCI0.ISA0.EC0.LDDS) Store (0x01, \_SB.PCI0.ISA0.EC0.DCWT) Return (0x01) } } Method (_STA, 0, NotSerialized) { If (ECOK ()) { If (And (DCKF, 0x08)) { And (DCKF, Not (0x08), DCKF) UNDK () Return (0x0B) } If (LNotEqual (\_SB.PCI0.ISA0.DKTP, 0x00)) { Return (0x0B) } Else { Return (0x00) } } Else { If (LNotEqual (\_SB.PCI0.ISA0.DKTP, 0x00)) { Return (0x0B) } Else { Return (0x00) } } } Method (RDSN, 0, NotSerialized) { Name (CNT1, 0x00) While (LLessEqual (CNT1, 0x03)) { If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x09, 0xAC, 0x07, RefOf (Local0)))) { Store (0xFFFF, CNT1) } Else { Increment (CNT1) Sleep (0x14) } } Store (Zero, Local1) Or (Local1, Local0, Local1) Store (Zero, CNT1) While (LLessEqual (CNT1, 0x03)) { If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x09, 0xAC, 0x09, 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, 0x08)) { Store (0xFFFFFFFF, \_SB.PCI0.ISA0.DKSN) } } Method (DOCK, 0, NotSerialized) { Store (\_SB.PCI0.ISA0.EC0.DCID, \_SB.PCI0.ISA0.DKTP) Store (0x01, \_SB.PCI0.ISA0.EC0.DCWT) Store (0x01, \_SB.PCI0.ISA0.EC0.DPWR) If (And (DCKF, 0x02)) { And (DCKF, Not (0x02), DCKF) Store (\_SB.PCI0.ISA0.DKTP, Local1) Store (0x00, \_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, 0x01), \_SB.PCI0.ISA0.EC0.EXFD)) { And (\_SB.PCI0.IDE.BAYD, Not (0x01), \_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.SIO, 0x00) Notify (\_SB.PCI0.ISA0.SPR0, 0x00) } Else { RDSN () If (XOr (And (\_SB.PCI0.IDE.BAYD, 0x01), \_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.SIO, 0x00) Notify (\_SB.PCI0.ISA0.SPR0, 0x00) HPSS (0x00, 0x00) } Return (Zero) } Method (UNDK, 0, NotSerialized) { Store (\_SB.PCI0.ISA0.EC0.DCID, Local1) If (LAnd (\_SB.PCI0.ISA0.HPCI.Z001, LNot (And (\_SB.PCI0.ISA0.HPCI.Z001, 0x02)))) { Notify (\_SB.PCI0.ISA0.HPCI, 0x85) } Else { Notify (\_SB.PCI0.ISA0.SPR0, 0x01) } } Method (UDOK, 0, NotSerialized) { If (And (DCKF, 0x02)) { And (DCKF, Not (0x02), DCKF) Store (0x00, \_SB.PCI0.ISA0.DKTP) HPSS (0x00, 0x00) Signal (\_SB.PCI0.ISA0.SPR0.EJVT) Name (CNT1, 0x00) Name (NVRS, 0x00) Name (CLSD, 0x00) While (LLessEqual (CNT1, 0x03)) { If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x09, 0xB0, 0x80, RefOf (Local0)))) { Store (And (Local0, 0x04), NVRS) Store (And (Local0, 0x02), 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 (0x00, \_SB.PCI0.ISA0.EC0.DCWT) And (DCKF, Not (0x10), DCKF) Return (Zero) } Or (DCKF, 0x04, DCKF) Notify (\_SB.PCI0.ISA0.SPR0, 0x01) } If (XOr (And (\_SB.PCI0.IDE.BAYD, 0x01), \_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, EisaId ("HWPC209")) Name (Z001, 0x00) Method (STAT, 1, NotSerialized) { Store (Arg0, Z001) } Method (_STA, 0, NotSerialized) { If (\_SB.PCI0.OSNT) { Return (0x0F) } Else { Return (0x00) } } Method (GKBL, 0, NotSerialized) { Return (0x1B) } Method (GDCP, 0, NotSerialized) { Return (0x000F000F) } Method (GDBT, 0, NotSerialized) { Return (\_SB.PCI0.ISA0.HPSS (0x08, 0x10)) } Method (SDBT, 1, NotSerialized) { If (ECOK ()) { Store (\_SB.PCI0.ISA0.HPSS (0x08, Or (0x20, And (Arg0, 0x0F))), Local0) \_SB.PCI0.ISA0.EC0.CMC2 (0xC4, Local0, 0x82) } } Method (GADP, 0, NotSerialized) { Return (\_SB.PCI0.ISA0.HPSS (0x0F, 0x00)) } Method (SADP, 1, NotSerialized) { And (Arg0, 0x01, \_SB.PCI0.AGP.VGA.LCD._DGS) ShiftRight (And (Arg0, 0x02), 0x01, \_SB.PCI0.AGP.VGA.CRT._DGS) ShiftRight (And (Arg0, 0x04), 0x02, \_SB.PCI0.AGP.VGA.TV._DGS) If (LEqual (\_SB.PCI0.AGP.VGA.DISW, 0x00)) { \_SB.PCI0.AGP.VGA.DRUL (0x01) } Else { If (LEqual (\_SB.PCI0.AGP.VGA.DISW, 0x01)) { HPSS (0x01, 0x00) } } } Method (TGAD, 0, NotSerialized) { \_SB.PCI0.ISA0.EC0._Q03 () } Method (GFPR, 0, NotSerialized) { Acquire (\_SB.PCI0.ISA0.PSMX, 0xFFFF) Store (0x80, \_SB.PCI0.ISA0.BCMD) Store (0x14, \_SB.PCI0.ISA0.DID) Store (Zero, \_SB.PCI0.ISA0.SMIC) Store (\_SB.PCI0.ISA0.PNLR, Local0) Release (\_SB.PCI0.ISA0.PSMX) Return (Local0) } Name (DDA0, Ones) Name (DDA1, Ones) Name (DDA2, Ones) Name (DDA3, Ones) Name (DDA4, Ones) Name (DDA5, Ones) Name (DDA6, Ones) Name (DDA7, Ones) Name (DDA8, Ones) Name (DDA9, Ones) } } Device (SMBS) { Name (_ADR, 0x001F0003) OperationRegion (SMB, SystemIO, 0x1840, 0x20) Field (SMB, ByteAcc, NoLock, Preserve) { HSTS, 8, Offset (0x02), CTLR, 8, CMDR, 8, ADDR, 8, DAT0, 8, DAT1, 8, Offset (0x10), LVTS, 8 } } Device (USB1) { Name (_ADR, 0x001D0000) OperationRegion (USBO, PCI_Config, 0xC4, 0x04) Field (USBO, DWordAcc, NoLock, Preserve) { REN0, 1, REN1, 1 } Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_PSC, 0x00) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_S1D, 0x00) Name (_S3D, 0x03) Name (_PRW, Package (0x02) { 0x03, 0x03 }) Method (_PSW, 1, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x00)) { Store (Arg0, \_SB.PCI0.USB1.REN0) Store (Arg0, \_SB.PCI0.USB1.REN1) If (ECOK ()) { Store (Arg0, \_SB.PCI0.ISA0.EC0.UPP2) Store (Arg0, \_SB.PCI0.ISA0.EC0.UPP1) } } } Device (RHUB) { Name (_ADR, 0x00) Name (_EJD, "_SB_.PCI0.ISA0.SPR0") } } Device (IDE) { Name (_ADR, 0x001F0001) OperationRegion (RG24, PCI_Config, 0x24, 0x04) Field (RG24, DWordAcc, NoLock, Preserve) { EXBA, 32 } OperationRegion (PCI, PCI_Config, 0x40, 0x18) Field (PCI, DWordAcc, NoLock, Preserve) { ITM0, 16, ITM1, 16, SIT0, 4, SIT1, 4, Offset (0x08), UDC0, 2, UDC1, 2, Offset (0x0A), UDT0, 8, UDT1, 8, Offset (0x14), ICF0, 2, ICF1, 2, CB80, 4, , 2, WPPE, 1, , 1, FSCB, 4, TRIP, 2, TRIS, 2, FATS, 4 } OperationRegion (RG42, PCI_Config, 0x42, 0x02) Field (RG42, DWordAcc, NoLock, Preserve) { TSEC, 16 } OperationRegion (RG54, PCI_Config, 0x54, 0x04) Field (RG54, DWordAcc, NoLock, Preserve) { IDCR, 32 } OperationRegion (DBG1, SystemIO, 0x80, 0x01) Field (DBG1, ByteAcc, NoLock, Preserve) { D80P, 8 } Name (BAYD, 0x00) Method (_INI, 0, NotSerialized) { Store (0x03, \_SB.PCI0.IDE.SECN._PSC) Store (0x01, \_SB.PCI0.IDE.SECN.MAST.STOP) If (ECOK ()) { If (\_SB.PCI0.ISA0.EC0.SHDD) { Store (0x00, \_SB.PCI0.IDE.SECN._PSC) Store (0x00, \_SB.PCI0.IDE.SECN.MAST.STOP) } } Else { If (And (\_SB.PCI0.ISA0.BDST, 0x04)) { Store (0x00, \_SB.PCI0.IDE.SECN._PSC) Store (0x00, \_SB.PCI0.IDE.SECN.MAST.STOP) } } } Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (STMS, 3, NotSerialized) { Store (Buffer (0x18) {}, Local7) CreateDWordField (Local7, 0x00, ITM) CreateDWordField (Local7, 0x04, SIT) CreateDWordField (Local7, 0x08, UDC) CreateDWordField (Local7, 0x0C, UDT) CreateDWordField (Local7, 0x10, ICF) CreateDWordField (Local7, 0x14, A100) Store (0x01, WPPE) CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (FLAG, Local4) Store (0x4000, Local0) Name (W49M, 0x00) Name (W53M, 0x00) Name (W62M, 0x00) Name (W64M, 0x00) Name (W88M, 0x00) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateDWordField (Arg1, 0x62, W49A) CreateDWordField (Arg1, 0x6A, W53A) CreateDWordField (Arg1, 0x7C, W62A) CreateDWordField (Arg1, 0x80, W64A) CreateDWordField (Arg1, 0xB0, W88A) Store (W49A, W49M) Store (W53A, W53M) Store (W62A, W62M) Store (W64A, W64M) Store (W88A, W88M) Or (Local0, 0x8004, Local0) } Else { Store (0x00, W49M) Store (0x00, W53M) Store (0x00, W62M) Store (0x00, W64M) Store (0x00, W88M) } Store (0x00, A100) If (LAnd (And (0x38, W88M), And (0x01, Local4))) { If (And (0x20, W88M)) { Store (0x08, DMA0) Or (A100, 0x00100010, A100) } Else { If (And (0x10, W88M)) { Store (0x1E, DMA0) Or (A100, 0x10, A100) } Else { Store (0x2D, DMA0) } } } Else { If (And (0x07, W88M)) { Or (0x0100, A100, A100) If (And (0x04, W88M)) { Store (0x3C, DMA0) } Else { If (And (0x02, W88M)) { Store (0x5A, DMA0) } Else { Store (0x78, DMA0) } } } } If (LAnd (And (W49M, 0x0800), And (Local4, 0x02))) { Or (Local0, 0x02, Local0) } If (LAnd (LLess (DMA0, PIO0), 0x01)) { Or (Local0, 0x08, Local0) } If (LLess (PIO0, 0x0384)) { Or (Local0, 0x01, Local0) } If (And (Local4, 0x01)) { Store (PIO0, Local1) } Else { Store (DMA0, Local1) } If (LGreaterEqual (Local1, 0xF0)) { Or (Local0, 0x08, Local0) } Else { If (And (W53M, 0x02)) { If (LAnd (And (W64M, 0x02), LLessEqual (Local1, 0x78))) { Or (Local0, 0x2301, Local0) } Else { If (LAnd (And (W64M, 0x01), LLessEqual (Local1, 0xB4))) { Or (Local0, 0x2101, Local0) } } } Else { Or (Local0, 0x1001, Local0) } } Store (Local0, ITM) Store (0x00, SIT) Store (0x00, Local0) If (And (Local4, 0x01)) { Or (Local0, 0x01, Local0) } Store (Local0, UDC) Store (0x00, Local0) If (And (Local4, 0x01)) { If (LLess (DMA0, 0x1E)) { Or (A100, 0x1000, A100) Or (Local0, 0x01, Local0) } Else { If (LLess (DMA0, 0x3C)) { Divide (DMA0, 0x0F, , Local1) } Else { Divide (DMA0, 0x1E, , Local1) } Subtract (0x04, Local1, Local0) } } Store (Local0, UDT) Store (0x00, Local0) If (LLess (DMA0, 0x3C)) { Or (Local0, 0x01, Local0) } Store (Local0, ICF) Return (Local7) } Method (H15P, 1, NotSerialized) { Name (BUFF, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Store (Arg0, Local0) Store (BUFF, Local1) Concatenate (Local0, Local1, Local7) CreateWordField (Local7, 0x02, CYL) CreateWordField (Local7, 0x06, HEAD) CreateWordField (Local7, 0x0C, SPT) If (LAnd (LGreaterEqual (HEAD, 0x10), LGreaterEqual (CYL, 0x2000))) { Return (SPT) } Else { Return (Zero) } } Method (GTF0, 7, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local7) CreateByteField (Local7, 0x01, MODE) If (And (Arg2, 0x01)) { If (And (Arg6, 0x01)) { Store (0x45, MODE) } Else { And (Arg3, 0x03, Local0) If (And (Arg4, 0x01)) { Add (Local0, 0x02, Local0) } Or (Local0, 0x40, MODE) } } Else { Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And ( Arg0, 0x3000), 0x0C), Local0) If (LGreaterEqual (Local0, 0x05)) { Store (0x22, MODE) } Else { If (LGreaterEqual (Local0, 0x03)) { Store (0x21, MODE) } Else { Store (0x20, MODE) } } } Concatenate (Local7, Local7, Local6) If (LOr (And (Arg0, 0x08), LNot (And (Arg0, 0x01 )))) { If (And (Arg0, 0x02)) { Store (0x00, MODE) } Else { Store (0x01, MODE) } } Else { Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And ( Arg0, 0x3000), 0x0C), Local0) If (LGreaterEqual (Local0, 0x05)) { Store (0x0C, MODE) } Else { If (LGreaterEqual (Local0, 0x03)) { Store (0x0B, MODE) } Else { Store (0x0A, MODE) } } } Concatenate (Local6, Local7, Local5) If (Arg5) { Store (Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x91 }, Local4) CreateByteField (Local4, 0x01, SPT) Store (Arg5, SPT) Concatenate (Local5, Local4, Local6) Return (Local6) } Else { Return (Local5) } } Name (B04, Buffer (0x04) {}) Name (B20, Buffer (0x04) {}) Name (B40, Buffer (0x04) {}) Device (PRIM) { Name (_ADR, 0x00) Name (_PSC, 0x00) Name (SECU, 0x00) Method (_PS0, 0, NotSerialized) { If (_PSC) { If (\_SB.PCI0.OSNT) { If (LEqual (And (SECU, 0x49), 0x41)) { \_SB.PCI0.ISA0.HPSS (0x0B, 0x01) } } Else { \_SB.PCI0.ISA0.HPSS (0x0B, 0x00) } Store (0x00, _PSC) } } Method (_PS3, 0, NotSerialized) { If (\_SB.PCI0.OSNT) { Name (CNT1, 0x00) While (LLessEqual (CNT1, 0x03)) { If (LNot (\_SB.PCI0.ISA0.EC0.SMRD (0x09, 0xB0, 0x7F, RefOf (SECU)))) { Store (0xFFFF, CNT1) } Else { Increment (CNT1) Sleep (0x14) } } } Store (0x03, _PSC) } Method (_GTM, 0, NotSerialized) { Return (Buffer (0x14) { /* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, /* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, /* 0010 */ 0x1F, 0x00, 0x00, 0x00 }) } Method (_STM, 3, NotSerialized) { Store ("STM - Primary Controller", Debug) Store (^^STMS (Arg0, Arg1, Arg2), Local0) CreateDWordField (Local0, 0x00, ITM) CreateDWordField (Local0, 0x04, SIT) CreateDWordField (Local0, 0x08, UDC) CreateDWordField (Local0, 0x0C, UDT) CreateDWordField (Local0, 0x10, ICF) Store (ITM, ^^ITM0) Store (SIT, ^^SIT0) Store (UDC, ^^UDC0) Store (UDT, ^^UDT0) CreateDWordField (Local0, 0x14, A100) Or (And (^^CB80, 0x0C), ShiftRight (And (0x30, A100), 0x04), ^^CB80) Or (And (^^FSCB, 0x0C), ShiftRight (And (0x3000, A100), 0x0C), ^^FSCB) Or (And (^^FATS, 0x0C), ShiftRight (And (0x00300000, A100), 0x14), ^^FATS) Store (ICF, ^^ICF0) Store (^^H15P (Arg1), ^MAST.H15F) } Device (MAST) { Name (_ADR, 0x00) Name (H15F, Zero) Method (_GTF, 0, NotSerialized) { Return (^^^GTF0 (^^^ITM0, ^^^SIT0, ^^^UDC0, ^^^UDT0, ^^^ICF0, ^H15F, ^^^FSCB)) } } } Device (SECN) { Name (_ADR, 0x01) Method (_STA, 0, NotSerialized) { If (ECOK ()) { If (LEqual (\_SB.PCI0.ISA0.EC0.SHDD, 0x00)) { Store (0x8000, \_SB.PCI0.IDE.TSEC) Return (0x0D) } } Else { If (LNot (And (\_SB.PCI0.ISA0.BDST, 0x04))) { Store (0x8000, \_SB.PCI0.IDE.TSEC) Return (0x0D) } } If (_PSC) { Return (0x0D) } Else { If (LEqual (\_SB.PCI0.IDE.TSEC, 0x8000)) { Return (0x0D) } Else { Return (0x0F) } } } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (LAnd (\_SB.PCI0.ISA0.SDPW, LEqual (^MAST._STA (), 0x0F))) { Store (0x01, \_SB.PCI0.IDE.TRIS) Store (0x00, \_SB.PCI0.ISA0.SDPW) Store (0x01, \_SB.PCI0.ISA0.GO28) Store (0x00, \_SB.PCI0.ISA0.SRST) Sleep (0x64) Store (0x01, \_SB.PCI0.ISA0.SRST) Sleep (0xC8) Store (0x00, \_SB.PCI0.IDE.TRIS) Sleep (0x09C4) } Else { } Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { If (LAnd (\_SB.PCI0.ISA0.SDPW, LEqual (^MAST._STA (), 0x0F))) { Store (0x01, \_SB.PCI0.IDE.TRIS) Store (0x01, \_SB.PCI0.ISA0.SDPW) Store (0x00, \_SB.PCI0.ISA0.GO28) } Store (0x8000, \_SB.PCI0.IDE.TSEC) Store (0x03, _PSC) } Method (_GTM, 0, NotSerialized) { Return (Buffer (0x14) { /* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, /* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, /* 0010 */ 0x1F, 0x00, 0x00, 0x00 }) } Method (_STM, 3, NotSerialized) { Store ("STM - Secondary Controller", Debug) Store (^^STMS (Arg0, Arg1, Arg2), Local0) CreateDWordField (Local0, 0x00, ITM) CreateDWordField (Local0, 0x04, SIT) CreateDWordField (Local0, 0x08, UDC) CreateDWordField (Local0, 0x0C, UDT) CreateDWordField (Local0, 0x10, ICF) Store (ITM, ^^ITM1) Store (SIT, ^^SIT1) Store (UDC, ^^UDC1) Store (UDT, ^^UDT1) CreateDWordField (Local0, 0x14, A100) Or (And (^^CB80, 0x03), ShiftRight (And (0x30, A100), 0x02), ^^CB80) Or (And (^^FSCB, 0x03), ShiftRight (And (0x3000, A100), 0x0A), ^^FSCB) Or (And (^^FATS, 0x03), ShiftRight (And (0x00300000, A100), 0x12), ^^FATS) Store (ICF, ^^ICF1) Store (^^H15P (Arg1), ^MAST.H15F) } Device (MAST) { Name (_ADR, 0x00) Name (STOP, 0x00) Name (H15F, Zero) Method (_STA, 0, NotSerialized) { If (ECOK ()) { If (LEqual (\_SB.PCI0.ISA0.EC0.SHDD, 0x00)) { And (^^^UDC1, 0x02, ^^^UDC1) And (^^^IDCR, 0xFF3F3F33, ^^^IDCR) Return (0x00) } Else { } } Else { If (LNot (And (\_SB.PCI0.ISA0.BDST, 0x04))) { Return (0x00) } Else { } } If (LNot (STOP)) { If (LEqual (\_SB.PCI0.IDE.TSEC, 0x8000)) { Return (0x0D) } Else { Return (0x0F) } } Else { Store (0x8000, \_SB.PCI0.IDE.TSEC) Return (0x0D) } } Method (_GTF, 0, NotSerialized) { Return (^^^GTF0 (^^^ITM1, ^^^SIT1, ^^^UDC1, ^^^UDT1, ^^^ICF1, ^H15F, ShiftRight (^^^FSCB, 0x02))) } Method (_EJ0, 1, NotSerialized) { Store (0x01, \_SB.PCI0.IDE.TRIS) Store (0x01, \_SB.PCI0.ISA0.SDPW) Store (0x00, \_SB.PCI0.ISA0.GO28) Store (0x8000, \_SB.PCI0.IDE.TSEC) Store (0x01, STOP) } } } Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) If (LEqual (^ISAV, 0x01)) { And (^SVT0, 0x8044, Local0) And (^ITM0, 0x7FBB, Local1) Or (Local0, Local1, ^ITM0) And (^SVT1, 0x8044, Local0) And (^ITM1, 0x7FBB, Local1) Or (Local0, Local1, ^ITM1) Store (^SVWP, ^WPPE) Store (^SIDC, ^IDCR) Store (0x00, ISAV) } If (And (\_SB.PCI0.ISA0.EC0.PQ8A, 0x02)) { Acquire (\_SB.PCI0.ISA0.EC0.MUT2, 0xFFFF) \_SB.PCI0.ISA0.EC0.SWAP () And (\_SB.PCI0.ISA0.EC0.PQ8A, Not (0x02), \_SB.PCI0.ISA0.EC0.PQ8A) Release (\_SB.PCI0.ISA0.EC0.MUT2) } } Name (SVT0, Ones) Name (SVT1, Ones) Name (SVWP, Ones) Name (ISAV, 0x00) Name (SIDC, Ones) Method (_PS3, 0, NotSerialized) { Store (^ITM0, ^SVT0) Store (^ITM1, ^SVT1) Store (^WPPE, ^SVWP) Store (^IDCR, ^SIDC) Store (0x01, ISAV) Store (0x03, _PSC) } Name (_PSC, 0x00) } Device (HUB) { Name (_ADR, 0x001E0000) Name (_PRT, Package (0x0E) { Package (0x04) { 0x0004FFFF, 0x00, \_SB.LNKD, 0x00 }, Package (0x04) { 0x0004FFFF, 0x01, \_SB.LNKB, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.LNKB, 0x00 }, Package (0x04) { 0x0002FFFF, 0x01, \_SB.LNKD, 0x00 }, Package (0x04) { 0x0003FFFF, 0x00, \_SB.LNKC, 0x00 }, Package (0x04) { 0x0005FFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x0005FFFF, 0x01, \_SB.LNKB, 0x00 }, Package (0x04) { 0x0008FFFF, 0x00, \_SB.LNKE, 0x00 }, Package (0x04) { 0x000CFFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x000CFFFF, 0x01, \_SB.LNKB, 0x00 }, Package (0x04) { 0x000CFFFF, 0x02, \_SB.LNKC, 0x00 }, Package (0x04) { 0x000CFFFF, 0x03, \_SB.LNKD, 0x00 }, Package (0x04) { 0x000DFFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x000DFFFF, 0x01, \_SB.LNKB, 0x00 } }) Device (LAN) { Name (_ADR, 0x00080000) Name (_PRW, Package (0x02) { 0x0B, 0x05 }) Method (_PSW, 1, NotSerialized) { If (ECOK ()) { Store (Arg0, \_SB.PCI0.ISA0.EC0.PMEE) Store (Arg0, \_SB.PCI0.ISA0.EC0.IWOL) } } } Device (CB1) { Name (_ADR, 0x00050000) Name (_S1D, 0x01) Name (_S3D, 0x03) OperationRegion (CBE0, PCI_Config, 0x3E, 0x02) Field (CBE0, WordAcc, NoLock, Preserve) { CBX0, 16 } Method (_INI, 0, NotSerialized) { Store (0x0340, CBX0) } Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (CB2) { Name (_ADR, 0x00050001) Name (_S1D, 0x01) Name (_S3D, 0x03) OperationRegion (CBE1, PCI_Config, 0x3E, 0x02) Field (CBE1, WordAcc, NoLock, Preserve) { CBX1, 16 } Method (_INI, 0, NotSerialized) { Store (0x0340, CBX1) } Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (FDS) { Name (_ADR, 0x000C0000) OperationRegion (MOON, PCI_Config, 0x41, 0x05) Field (MOON, ByteAcc, NoLock, Preserve) { CEVN, 8, Offset (0x04), WRPE, 8 } Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { If (LEqual (Arg1, 0x01)) { \_SB.PCI0.ISA0.HPSS (0x0E, 0x00) \_SB.PCI0.HUB.FDS.FCB1.CSID () } } } Name (_PSC, 0x03) Method (_INI, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x03)) { Store (0x00, _PSC) Store (0x00, \_SB.PCI0.HUB.FDS.FIDE._PSC) Store (0x00, \_SB.PCI0.HUB.FDS.FCB1._PSC) Store (0x00, \_SB.PCI0.HUB.FDS.FCB2._PSC) Store (0x00, \_SB.PCI0.HUB.FDS.SCSI._PSC) } Else { Store (0x03, _PSC) } } Method (_PS0, 0, NotSerialized) { If (LEqual (\_SB.PCI0.HUB.FDS.FIDE._PSC, 0x03)) { If (LNot (\_SB.PCI0.OSNT)) { \_SB.PCI0.HUB.FDS.FIDE._PS0 () Notify (\_SB.PCI0.HUB.FDS.FIDE, 0x00) } } Store (0x02, WRPE) Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_EJD, "_SB_.PCI0.ISA0.SPR0") Method (_STA, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x03)) { Return (0x0F) } Else { Return (0x00) } } Device (FCB1) { Name (_ADR, 0x00080000) OperationRegion (CBE4, PCI_Config, 0x00, 0x44) Field (CBE4, WordAcc, NoLock, Preserve) { Offset (0x02), 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 (0x03), CR83, 8, Offset (0x0C), CR8C, 8, CR8D, 8, CR8E, 8, CR8F, 8, Offset (0x13), CR93, 8 } Method (_STA, 0, NotSerialized) { Return (^^_STA ()) } Name (_PSC, 0x03) Method (_INI, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x03)) { Store (0x00, _PSC) } Else { Store (0x03, _PSC) } } Method (_PS0, 0, NotSerialized) { Store (0x08, CR83) Store (0x02, CR8C) Store (0x1C, CR8D) Store (0x02, CR8E) Store (0x01, CR8F) If (LEqual (CBID, 0xAC1C)) { Store (0x41, CR93) } Store (0x00, _PSC) } Method (CSID, 0, NotSerialized) { Store (0x00, SBRW) Store (0x103C, VDID) Store (0x05, SBID) Store (0x01, SBRW) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } } Device (FCB2) { Name (_ADR, 0x00080001) OperationRegion (CBE5, PCI_Config, 0x3E, 0x02) Field (CBE5, WordAcc, NoLock, Preserve) { CBX5, 16 } OperationRegion (CB5I, PCI_Config, 0x93, 0x01) Field (CB5I, ByteAcc, NoLock, Preserve) { CR93, 8 } Method (_STA, 0, NotSerialized) { Return (^^_STA ()) } Name (_PSC, 0x03) Method (_INI, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x03)) { Store (0x00, _PSC) } Else { Store (0x03, _PSC) } } Method (_PS0, 0, NotSerialized) { If (LEqual (^^FCB1.CBID, 0xAC1C)) { Store (0x41, CR93) } Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } } Device (FIDE) { Name (_ADR, 0x000C0000) OperationRegion (FIDR, PCI_Config, 0x00, 0x80) Field (FIDR, ByteAcc, NoLock, Preserve) { Offset (0x07), R7X1, 7, R7B7, 1, Offset (0x0D), 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, 0, NotSerialized) { Return (^^_STA ()) } Name (_PSC, 0x03) Method (_INI, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x03)) { Store (0x00, _PSC) } Else { Store (0x03, _PSC) } } Method (DGTM, 3, NotSerialized) { Store (Buffer (0x14) { /* 0000 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }, Local0) CreateDWordField (Local0, 0x00, PIO0) CreateDWordField (Local0, 0x04, DMA0) CreateDWordField (Local0, 0x08, PIO1) CreateDWordField (Local0, 0x0C, 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, 0x02, FLAG) Return (Local0) } Method (DSTM, 7, NotSerialized) { CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (Buffer (0x05) {}, Local7) CreateByteField (Local7, 0x00, TMP1) CreateByteField (Local7, 0x01, TMP2) CreateByteField (Local7, 0x02, TMP3) CreateByteField (Local7, 0x03, TMP4) CreateByteField (Local7, 0x04, 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, 0x01), Arg6))) { And (TMP2, 0xDF, TMP2) If (LLessEqual (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 (LLessEqual (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 (LLessEqual (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 (LLessEqual (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, NotSerialized) { Store (Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Local6) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local7) CreateByteField (Local7, 0x01, MODE) If (LEqual (RR52, 0x3F)) { Store (0x0C, MODE) } Else { If (LEqual (RR52, 0x32)) { Store (0x0B, MODE) } Else { If (LEqual (RR52, 0xA2)) { Store (0x0A, MODE) } Else { If (LEqual (RR52, 0xA3)) { Store (0x09, MODE) } Else { Store (0x08, MODE) } } } } Return (Local7) } Device (PRIM) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Return (^^DGTM (RR54, RR72, RR73)) } Method (_STM, 3, NotSerialized) { CreateWordField (Arg1, 0x7E, MDFL) Store (MDFL, Local0) Store (0x00, Local0) Store (^^DSTM (Arg0, RR54, RR72, RR73, RR53, RR55, Local0), Local1) CreateByteField (Local1, 0x00, TMP1) CreateByteField (Local1, 0x01, TMP2) CreateByteField (Local1, 0x02, TMP3) CreateByteField (Local1, 0x03, TMP4) CreateByteField (Local1, 0x04, TMP5) Store (TMP1, RR54) Store (TMP2, RR72) Store (TMP3, RR73) Store (TMP4, RR53) Store (TMP5, RR55) } Device (MAST) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (^^^DGTF (RR54, RR72, RR73)) } } } Device (SECN) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Return (^^DGTM (RR58, RR7A, RR7B)) } Method (_STM, 3, NotSerialized) { CreateWordField (Arg1, 0x7E, MDFL) Store (MDFL, Local0) Store (0x00, Local0) Store (^^DSTM (Arg0, RR58, RR7A, RR7B, RR57, RR57, Local0), Local1) CreateByteField (Local1, 0x00, TMP1) CreateByteField (Local1, 0x01, TMP2) CreateByteField (Local1, 0x02, TMP3) CreateByteField (Local1, 0x03, TMP4) CreateByteField (Local1, 0x04, TMP5) Store (TMP1, RR58) Store (TMP2, RR7A) Store (TMP3, RR7B) Store (TMP4, RR57) } Device (MAST) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (^^^DGTF (RR58, RR7A, RR7B)) } } } Method (_PS0, 0, NotSerialized) { 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 (0x00, _PSC) If (LNot (\_SB.PCI0.OSNT)) { Store (0x01, R7B7) Store (0x01, 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 (0x00, RR22) Store (0x00, RR23) Store (0x0A, RR3C) Store (0x01, R4F1) Store (0x3C, RR2C) Store (0x10, RR2D) Store (0x05, RR2E) Store (0x00, RR2F) Store (0x00, R4F1) } Else { \_SB.PCI0.ISA0.HPSS (0x0E, 0x00) } Store (0xEC, RR51) Store (0xA9, RR52) Store (0x31, RR56) Store (0x40, RR72) Store (0x04, RR74) Store (0x0D, RR75) Store (0xFB, RR76) Store (0x00, RR77) Store (0xDC, RR7C) Store (0xDC, RR7D) Store (0x7F, RR7E) Store (0xD5, RR7F) } } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } } Device (SCSI) { Name (_ADR, 0x000D0000) Method (_STA, 0, NotSerialized) { Return (^^_STA ()) } Name (_PSC, 0x03) Method (_INI, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x03)) { Store (0x00, _PSC) } Else { Store (0x03, _PSC) } } Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } } } Device (EPR) { Name (_ADR, 0x000D0000) OperationRegion (CBE2, PCI_Config, 0x00, 0x44) Field (CBE2, WordAcc, NoLock, Preserve) { Offset (0x02), 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 (0x03), CR83, 8, Offset (0x0C), CR8C, 8, CR8D, 8, CR8E, 8, CR8F, 8, Offset (0x13), CR93, 8 } Method (ENQB, 0, NotSerialized) { Name (CNT1, 0x00) Store (0x01, \_SB.PCI0.ISA0.EC0.CRST) Store (0x00, CNT1) While (LLessEqual (CNT1, 0x14)) { If (LEqual (\_SB.PCI0.ISA0.EC0.QVCC, 0x01)) { Store (0xFFFF, CNT1) } Else { Increment (CNT1) Sleep (0x14) } } If (LEqual (CNT1, 0xFFFF)) { Sleep (0x02) Store (0x01, \_SB.PCI0.ISA0.EC0.EQBF) Sleep (0x28) Store (0x00, \_SB.PCI0.ISA0.EC0.CRST) Sleep (0xFF) Sleep (0xFF) Store (0x00, \_SB.PCI0.ISA0.EC0.DCWT) Store (0x01, \_SB.PCI0.ISA0.EC0.LDDS) Return (0x01) } Else { Store (0x00, \_SB.PCI0.ISA0.EC0.CRST) Store (0x00, \_SB.PCI0.ISA0.EC0.DPWR) Store (0x00, \_SB.PCI0.ISA0.EC0.DCWT) Return (0x00) } } Method (_INI, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x02)) { Store (0x00, _PSC) } Else { Store (0x03, _PSC) } } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x08, CR83) Store (0x02, CR8C) Store (0x1C, CR8D) Store (0x02, CR8E) Store (0x01, CR8F) If (LEqual (CBID, 0xAC1C)) { Store (0x41, CR93) } Store (0x00, SBRW) Store (0x103C, VDID) Store (0x04, SBID) Store (0x01, SBRW) Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_EJD, "_SB_.PCI0.ISA0.SPR0") Method (_STA, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x02)) { Return (0x0F) } Else { Return (0x00) } } } Device (CB4) { Name (_ADR, 0x000D0001) OperationRegion (ECB4, PCI_Config, 0x02, 0x02) Field (ECB4, WordAcc, NoLock, Preserve) { CBID, 16 } OperationRegion (CB4I, PCI_Config, 0x93, 0x01) Field (CB4I, ByteAcc, NoLock, Preserve) { CR93, 8 } Method (_INI, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x02)) { Store (0x00, _PSC) } Else { Store (0x03, _PSC) } } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { If (LEqual (CBID, 0xAC1C)) { Store (0x41, CR93) } Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_EJD, "_SB_.PCI0.ISA0.SPR0") Method (_STA, 0, NotSerialized) { Return (\_SB.PCI0.HUB.EPR._STA ()) } } Device (ESSA) { Name (_ADR, 0x00030000) } Device (ESSM) { Name (_ADR, 0x00030001) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_PSW, 1, NotSerialized) { If (ECOK ()) { Store (Arg0, \_SB.PCI0.ISA0.EC0.PMEE) Store (Arg0, \_SB.PCI0.ISA0.EC0.EWOR) } } } Device (MPC1) { Name (_ADR, 0x00040000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_PSW, 1, NotSerialized) { If (ECOK ()) { Store (Arg0, \_SB.PCI0.ISA0.EC0.PMEE) Store (Arg0, \_SB.PCI0.ISA0.EC0.EWOR) } } } Device (MPC2) { Name (_ADR, 0x00020000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_PSW, 1, NotSerialized) { If (ECOK ()) { Store (Arg0, \_SB.PCI0.ISA0.EC0.PMEE) } } } Name (_PRW, Package (0x02) { 0x0B, 0x05 }) } Device (AGP) { Name (_ADR, 0x00010000) Name (_PRT, Package (0x01) { Package (0x04) { 0xFFFF, 0x00, \_SB.LNKB, 0x00 } }) Device (VGA) { Name (_ADR, 0x00) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS2, 0, NotSerialized) { Store (0x02, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (DISW, 0x01) Name (NDSP, 0x00) Name (VRSM, 0x00) Name (TGLT, Package (0x04) { Package (0x08) { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }, Package (0x08) { 0x01, 0x02, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01 }, Package (0x08) { 0x01, 0x04, 0x01, 0x01, 0x05, 0x01, 0x01, 0x01 }, Package (0x08) { 0x01, 0x02, 0x04, 0x05, 0x03, 0x06, 0x07, 0x01 } }) Name (TGLP, 0x00) Method (NDGS, 0, NotSerialized) { And (^LCD._DGS, 0x01, Local0) Or (Local0, ShiftLeft (And (^CRT._DGS, 0x01), 0x01), Local0) Store (DerefOf (Index (DerefOf (Index (TGLT, TGLP)), Local0)), Local1) And (Local1, 0x01, ^LCD._DGS) ShiftRight (And (Local1, 0x02), 0x01, ^CRT._DGS) If (And (^TV._DCS, 0x10)) { Store (ShiftRight (And (^TV._DCS, 0x02), 0x01), ^TV._DGS) } Else { Store (0x00, ^TV._DGS) } } Method (USTS, 1, NotSerialized) { Store (\_SB.PCI0.ISA0.HPSS (0x0F, 0x00), Local0) And (Local0, 0x0F, Local1) If (LEqual (Local1, 0x03)) { Store (0x01, TGLP) } Else { If (LEqual (Local1, 0x05)) { Store (0x00, TGLP) } Else { If (LEqual (Local1, 0x07)) { Store (0x01, TGLP) } Else { Store (0x00, TGLP) } } } Return (Local0) } Method (_INI, 0, NotSerialized) { Store (USTS (0x00), Local1) Or (ShiftRight (And (Local1, 0x10), 0x03), 0x1D, ^LCD._DCS) Or (Or (ShiftLeft (And (Local1, 0x02), 0x03), ShiftRight ( And (Local1, 0x20), 0x04)), 0x0D, ^CRT._DCS) Or (Or (ShiftLeft (And (Local1, 0x04), 0x02), ShiftRight ( And (Local1, 0x40), 0x05)), 0x0D, ^TV._DCS) ShiftRight (Local1, 0x04, NDSP) Store (ShiftRight (And (^LCD._DCS, 0x02), 0x01), ^LCD._DGS) Store (ShiftRight (And (^CRT._DCS, 0x02), 0x01), ^CRT._DGS) Store (ShiftRight (And (^TV._DCS, 0x02), 0x01), ^TV._DGS) NDGS () } Method (_DOS, 1, NotSerialized) { If (LAnd (LEqual (And (Arg0, 0x03), 0x00), LEqual (And ( DISW, 0x03), 0x02))) { Notify (\_SB.PCI0.ISA0.HPCI, 0x89) } Store (Arg0, DISW) } Method (_DOD, 0, NotSerialized) { Return (Package (0x03) { 0x00010100, 0x00010110, 0x00010200 }) } Method (DRUL, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Store (USTS (0x01), Local2) } Else { Store (USTS (0x00), Local2) } Store (^CRT._DCS, Local1) Or (ShiftLeft (And (Local2, 0x02), 0x03), And (^CRT._DCS, 0x0F), ^CRT._DCS) Store (^TV._DCS, Local3) Or (Or (ShiftLeft (And (Local2, 0x04), 0x02), ShiftRight ( And (Local2, 0x40), 0x05)), And (Local3, 0x0D), ^TV._DCS) If (LEqual (Arg0, 0x01)) { If (LOr (LAnd (^CRT._DGS, LNot (And (^CRT._DCS, 0x10))), LAnd ( ^TV._DGS, LNot (And (^TV._DCS, 0x10))))) { NDGS () Return (0x00) } Else { Notify (VGA, 0x80) Return (0x00) } } If (LEqual (Arg0, 0x02)) { If (And (Local2, 0x02)) { Store (0x01, ^CRT._DGS) If (And (\_SB.PCI0.ISA0.MFLG, 0x02)) { Store (0x01, ^LCD._DGS) } Else { Store (0x00, ^LCD._DGS) } } Else { Store (0x00, ^CRT._DGS) Store (0x01, ^LCD._DGS) } Notify (VGA, 0x80) } If (LEqual (Arg0, 0x04)) { Store (0x00, ^CRT._DGS) Store (0x01, ^LCD._DGS) Notify (VGA, 0x80) } If (LEqual (Arg0, 0x03)) { If (LNotEqual (ShiftRight (And (Local1, 0x10), 0x03), And (Local2, 0x02))) { If (And (Local2, 0x02)) { Store (0x01, ^CRT._DGS) If (And (\_SB.PCI0.ISA0.MFLG, 0x02)) { Store (0x01, ^LCD._DGS) } Else { Store (0x00, ^LCD._DGS) } } Else { Store (0x00, ^CRT._DGS) Store (0x01, ^LCD._DGS) } Store ("Resume VGA.DRUL(3) called", Debug) Notify (VGA, 0x80) } } } Device (LCD) { Name (_ADR, 0x0110) Name (_PSC, 0x00) Name (_S3D, 0x03) Method (_PS0, 0, NotSerialized) { If (LAnd (LAnd (VRSM, LNot (^^CRT._PSC)), LNot (^^TV._PSC))) { If (_PSC) { DRUL (0x03) } Store (0x00, VRSM) } Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_DCS, 0x1B) Method (_DSS, 1, NotSerialized) { Store (Arg0, Local0) If (And (Local0, 0x01)) { Store ("LCD._DSS(1) called", Debug) Or (NDSP, 0x01, 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 (0x01, NDSP) } And (Local0, 0x80000000, Local0) If (LNotEqual (Local0, 0x00)) { Store ("LCD._DSS, update next _DGS", Debug) Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS) Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS) Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS) USTS (0x00) NDGS () } } Name (_DGS, 0x00) } Device (CRT) { Name (_ADR, 0x0100) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (LAnd (LAnd (VRSM, LNot (^^LCD._PSC)), LNot (^^TV._PSC))) { If (_PSC) { DRUL (0x03) } Store (0x00, VRSM) } Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_DCS, 0x1B) Method (_DSS, 1, NotSerialized) { Store (Arg0, Local0) If (And (Local0, 0x01)) { Store ("CRT._DSS(1) called", Debug) Or (NDSP, 0x02, 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 (0x01, NDSP) } And (Local0, 0x80000000, Local0) If (LNotEqual (Local0, 0x00)) { Store ("CRT._DSS, update next _DGS", Debug) Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS) Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS) Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS) USTS (0x00) NDGS () } } Name (_DGS, 0x00) } Device (TV) { Name (_ADR, 0x0200) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (LAnd (LAnd (VRSM, LNot (^^CRT._PSC)), LNot (^^LCD._PSC))) { If (_PSC) { DRUL (0x03) } Store (0x00, VRSM) } Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_DCS, 0x1B) Method (_DSS, 1, NotSerialized) { Store (Arg0, Local0) If (And (Local0, 0x01)) { Store ("TV_._DSS(1) called", Debug) Or (NDSP, 0x04, NDSP) } Else { Store ("TV_._DSS(0) called", Debug) And (NDSP, 0xFB, NDSP) } And (Local0, 0xC0000000, Local0) If (LEqual (Local0, 0x80000000)) { Store ("TV_._DSS(8000000x) called", Debug) \_SB.PCI0.ISA0.HPSS (0x01, NDSP) } And (Local0, 0x80000000, Local0) If (LNotEqual (Local0, 0x00)) { Store ("TV_._DSS, update next _DGS", Debug) Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS) Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS) Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS) USTS (0x00) NDGS () } } Name (_DGS, 0x00) } } } } } }