/* RSD PTR: OEM=HP-MCD, ACPI_Rev=1.0x (0) RSDT=0x1fff513d, cksum=156 */ /* RSDT: Length=44, Revision=1, Checksum=13, OEMID=HP-MCD, OEM Table ID=FA RSDT, OEM Revision=0x2110000, Creator ID= LTP, Creator Revision=0x0 Entries={ 0x1fff5169, 0x1ffffbd8 } */ /* FACP: Length=116, Revision=1, Checksum=28, OEMID=HP-MCD, OEM Table ID=FA FACP, OEM Revision=0x2110000, Creator ID=HP, Creator Revision=0x1000000 FACS=0x1fffffc0, DSDT=0x1fff51dd INT_MODEL=PIC Preferred_PM_Profile=Unspecified (0) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 PSTATE_CNT=0x0 PM1a_EVT_BLK=0x8000-0x8003 PM1a_CNT_BLK=0x8004-0x8005 PM_TMR_BLK=0x8008-0x800b GPE0_BLK=0x800c-0x800f P_LVL2_LAT=10 us, P_LVL3_LAT=20 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH= Flags={WBINVD,SLP_BUTTON,RTC_S4,DCK_CAP} */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=0 */ /* DSDT: Length=43515, Revision=1, Checksum=176, OEMID=HP-MCD, OEM Table ID=FA DSDT, OEM Revision=0x2110000, Creator ID=MSFT, Creator Revision=0x100000d */ /* BOOT: Length=40, Revision=1, Checksum=140, OEMID=PTLTD, OEM Table ID=FABFTBL$, OEM Revision=0x2110000, Creator ID= LTP, Creator Revision=0x1 */ /* * Intel ACPI Component Architecture * AML Disassembler version 20040527 * * Disassembly of /tmp/acpidump.b6TmHE, Mon Aug 16 09:22:22 2004 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "HP-MCD", "FA DSDT ", 34668544) { Scope (_PR) { Processor (CPU0, 0x00, 0x00008010, 0x06) {} } Name (ECEN, 0x00) Method (ECOK, 0, NotSerialized) { If (LAnd (ECEN, And (\_SB.PCI0.ISA0.MFLG, 0x01))) { Return (0x01) } Else { Return (0x00) } } Name (_S0, Package (0x03) { 0x05, 0x05, 0x00 }) Name (_S1, Package (0x03) { 0x04, 0x04, 0x00 }) Name (_S3, Package (0x03) { 0x01, 0x01, 0x00 }) Name (_S4, Package (0x03) { 0x00, 0x00, 0x00 }) Name (_S5, Package (0x03) { 0x00, 0x00, 0x00 }) Method (_PTS, 1, NotSerialized) { If (LNot (LEqual (\_SB.PCI0.OSNT, 0x01))) { Store (0x05, RSMC) } If (LLess (Arg0, 0x04)) { If (LNot (LLess (Arg0, 0x02))) { Store (0x01, \_SB.PCI0.CRST) } Else { Store (0x00, \_SB.PCI0.CRST) } } If (LEqual (Arg0, 0x04)) { If (LEqual (\_SB.PCI0.ISA0.JP1.EJX, 0x04)) { Store (0x00, \_SB.PCI0.ISA0.JP1.EJX) } Else { \_SB.PCI0.ISA0.HPSS (0x0C, 0x00) } } Store (\_SB.PCI0.ISA0.DKTP, \_SB.DCTM) If (ECOK ()) { Store (Arg0, \_SB.PCI0.ISA0.EC0.PTSV) \_SB.PCI0.ISA0.HPSS (0x1D, 0x00) } } Name (RSMC, 0x00) Name (WAKT, 0x00) Method (_WAK, 1, NotSerialized) { If (LNot (LEqual (\_SB.PCI0.OSNT, 0x01))) { Store (0x05, RSMC) } If (ECOK ()) { Store (\_SB.PCI0.ISA0.EC0.RSMT, Local0) Add (Local0, ShiftLeft (Local0, 0x02), WAKT) If (LAnd (LEqual (\_SB.PCI0.ISA0.DKTP, 0x04), LEqual (\_SB.DCTM, 0x04))) { \_SB.PCI0.FIDE._PS0 () If (LGreater (Arg0, 0x02)) { \_SB.PCI0.ISA0.HPSS (0x1C, 0x00) } Else { Store (0xC006, \_SB.PCI0.ISA0.EC0.EVTP) \_SB.PCI0.ISA0.EC0.OPB2 () \_SB.PCI0.ISA0.EC0.OPB1 () } } Store (0x00, \_SB.PCI0.ISA0.EC0.PTSV) If (\_SB.PCI0.ISA0.EC0.LIDS) { Store (0x00, \_SB.LID.LPOL) Store (0x00, \_SB.PCI0.PWR.BKLT) } Else { Store (0x01, \_SB.LID.LPOL) Store (0x01, \_SB.PCI0.PWR.BKLT) } If (LEqual (Arg0, 0x04)) { Store (\_SB.PCI0.ISA0.EC0.DCID, \_SB.CUDC) While (And (\_SB.CUDC, 0x80)) { Store (\_SB.PCI0.ISA0.EC0.DCID, \_SB.CUDC) } If (\_SB.PCI0.ISA0.EC0.DCWT) { Or (\_SB.DCKF, 0x08, \_SB.DCKF) } \_SB.PCI0.ISA0.HPSS (0x0D, 0x00) If (LEqual (\_SB.CUDC, 0x03)) { If (LEqual (\_SB.DCTM, 0x00)) { Or (\_SB.PCI0.ISA0.EC0.PQ8A, 0x08, \_SB.PCI0.ISA0.EC0.PQ8A) Store (0x30, \_SB.PCI0.ISA0.EC0.HPCB) Store (0x01, \_SB.PCI0.ISA0.EC0.ENCB) } Else { \_SB.PCI0.ISA0.JP1.DJP1 () } } Else { Store (0x00, \_SB.PCI0.ISA0.DKTP) } } If (LOr (LNot (LEqual (\_SB.PCI0.ISA0.BDST, \_SB.PCI0.ISA0.EC0.OBDS)), LNot (LEqual (\_SB.PCI0.ISA0.BAYI, \_SB.PCI0.ISA0.EC0.OBAY)))) { If (LNot (And (\_SB.PCI0.ISA0.EC0.PQ8A, 0x08))) { \_SB.PCI0.ISA0.EC0.SWAP () } } } If (LEqual (Arg0, 0x03)) { Store (0x01, \_SB.PCI0.ISA0.KBC.KBS3) } Store (0x01, \_SB.PCI0.AGP.VGA.VRSM) } Scope (\_TZ) { Name (THMD, Zero) Name (THID, Zero) Name (THOK, Zero) Name (SKUS, 0x04) Name (NOMV, 0x0C3A) Name (ACTV, 0x0CBC) Name (PASV, 0x0CF8) Name (CRTV, 0x0E06) Name (TBLI, Buffer (0x0C) { 0x10, 0xC0, 0x00, 0x11, 0xC1, 0x01, 0x12, 0xC2, 0x02, 0x13, 0xC3, 0x03 }) Name (TRPA, Buffer (0x10) { 0x46, 0x40, 0x4C, 0x56, 0x46, 0x40, 0x4C, 0x56, 0x46, 0x40, 0x4C, 0x69, 0x46, 0x40, 0x55, 0x69 }) Name (TRPP, Buffer (0x10) { 0x46, 0x40, 0x4C, 0x56, 0x46, 0x40, 0x4C, 0x56, 0x46, 0x40, 0x4C, 0x69, 0x46, 0x40, 0x55, 0x69 }) Method (GETI, 1, NotSerialized) { Store ("THERM: GETI - Value:", Debug) Store (Arg0, Local1) If (ECOK ()) { Store (\_SB.PCI0.ISA0.EC0.KBID, Local2) } Else { Store (0xC3, 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) Return (XOr (\_SB.PCI0.PWR.FANP, One)) } Method (_ON, 0, NotSerialized) { Store ("THERM: _ON - Fan TurnOn", Debug) If (ECOK ()) { Store (Zero, \_SB.PCI0.PWR.FANP) Store (Zero, \_SB.PCI0.PWR.FANL) 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 (One, \_SB.PCI0.PWR.FANP) 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 (LEqual (\_SB.PCI0.PWR.FANP, Zero)) { 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 ("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 (_L09, 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 (Or (And (Local0, 0x40), And (Local0, 0x0200))) { Store ("Notify Sleep Button(0x2)", Debug) Notify (\_SB.SLP, 0x02) } If (And (Local0, 0x0100)) { Notify (\_SB.LID, 0x80) \_SB.PCI0.ISA0.JP1.UNDK () } If (And (Local0, 0x80)) { If (\_SB.PCI0.ISA0.EC0.DCKS) { Notify (\_SB.LID, 0x80) \_SB.PCI0.ISA0.JP1.DOCK () } } If (And (Local0, 0x3000)) { Notify (\_SB.LID, 0x80) } } } Method (_L0A, 0, NotSerialized) { Notify (\_SB.PCI0.ISA0.SIO0.COMA, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0, 0x02) } } Scope (_SB) { Name (BIOS, 0x13) Name (QBST, 0x00) Name (DCTM, 0x00) Name (DCKF, 0x00) Name (CUDC, 0x00) 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 (0x01) } } 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) {} }) CreateWordField (BUFA, 0x01, 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 (0x01) } } 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) {} }) CreateWordField (BUFB, 0x01, 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 (0x01) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {15} }) 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) {} }) CreateWordField (BUFC, 0x01, 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 (0x01) } } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) 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) {} }) CreateWordField (BUFD, 0x01, 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) } } 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) { 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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) } 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) { 0x09, 0x04 }) } Device (SLP) { Name (_HID, EisaId ("PNP0C0E")) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Device (XROM) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x01) Method (_CRS, 0, NotSerialized) { Return (\_SB.PCI0.SROM ()) } Method (_STA, 0, NotSerialized) { If (LEqual (\_SB.PCI0.OSNT, 0x01)) { Return (0x0F) } Else { Return (0x00) } } } Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) 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) } } } Name (OSNT, 0x00) Method (_INI, 0, NotSerialized) { If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero)) { Store (0x01, OSNT) } If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero)) { Store (0x00, OSNT) } Store (\_SB.PCI0.ISA0.BDST, \_SB.PCI0.ISA0.EC0.OBDS) Store (\_SB.PCI0.ISA0.BAYI, \_SB.PCI0.ISA0.EC0.OBAY) } Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_PSW, 1, NotSerialized) { If (ECOK ()) { Store (Arg0, ^ISA0.EC0.PMEE) } } Name (_S3D, 0x02) OperationRegion (REGS, PCI_Config, 0x40, 0xC0) Field (REGS, DWordAcc, NoLock, Preserve) { Offset (0x19), PAM0, 8, PAM1, 8, PAM2, 8, PAM3, 8, PAM4, 8, PAM5, 8, PAM6, 8, DRB0, 8, DRB1, 8, DRB2, 8, DRB3, 8, DRB4, 8, DRB5, 8, DRB6, 8, DRB7, 8, Offset (0x33), T_EN, 1, T_SZ, 2, Offset (0x3A), CRST, 1 } Name (RSRC, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C0000, 0x000C3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C4000, 0x000C7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C8000, 0x000CBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000CC000, 0x000CFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D0000, 0x000D3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D4000, 0x000D7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D8000, 0x000DBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000DC000, 0x000DFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E0000, 0x000E3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E4000, 0x000E7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E8000, 0x000EBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000EC000, 0x000EFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, 0x00000000, 0x00000CF7, 0x00000000, 0x00000CF8, 0x00) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, 0x00000D00, 0x0000FFFF, 0x00000000, 0x0000F300, 0x00) }) Method (_CRS, 0, Serialized) { Store (Zero, Local1) If (T_EN) { ShiftLeft (T_SZ, 0x11, Local1) } CreateDWordField (RSRC, 0x0179, BTMN) CreateDWordField (RSRC, 0x017D, BTMX) CreateDWordField (RSRC, 0x0185, BTLN) Multiply (DRB7, 0x00800000, Local0) If (T_EN) { Subtract (Local0, Local1, Local2) Store (Local2, BTMN) Subtract (Add (Local0, 0x10000000), BTMN, BTLN) } Else { Store (Local0, BTMN) Subtract (0xFFE00000, Local0, BTLN) Subtract (Add (BTMN, BTLN), 0x01, BTMX) } CreateDWordField (RSRC, 0x0194, ATMN) CreateDWordField (RSRC, 0x0198, ATMX) CreateDWordField (RSRC, 0x01A0, ATLN) If (T_EN) { Add (Add (BTMN, BTLN), Local1, ATMN) Subtract (0xFFE00000, ATMN, ATLN) Subtract (Add (ATMN, ATLN), 0x01, ATMX) } Else { Store (Zero, ATLN) } CreateBitField (RSRC, 0x0180, C0RW) CreateDWordField (RSRC, 0x35, C0MN) CreateDWordField (RSRC, 0x39, C0MX) CreateDWordField (RSRC, 0x41, C0LN) Store (One, C0RW) If (LEqual (And (PAM1, 0x03), 0x01)) { Store (Zero, C0RW) } Store (Zero, C0LN) If (LNot (And (PAM1, 0x03))) { Store (0x4000, C0LN) } CreateBitField (RSRC, 0x0258, C4RW) CreateDWordField (RSRC, 0x50, C4MN) CreateDWordField (RSRC, 0x54, C4MX) CreateDWordField (RSRC, 0x5C, C4LN) Store (One, C4RW) If (LEqual (And (PAM1, 0x30), 0x10)) { Store (Zero, C4RW) } Store (Zero, C4LN) If (LNot (And (PAM1, 0x30))) { Store (0x4000, C4LN) } CreateBitField (RSRC, 0x0330, C8RW) CreateDWordField (RSRC, 0x6B, C8MN) CreateDWordField (RSRC, 0x6F, C8MX) CreateDWordField (RSRC, 0x77, C8LN) Store (One, C8RW) If (LEqual (And (PAM2, 0x03), 0x01)) { Store (Zero, C8RW) } Store (Zero, C8LN) If (LNot (And (PAM2, 0x03))) { Store (0x4000, C8LN) } CreateBitField (RSRC, 0x0408, CCRW) CreateDWordField (RSRC, 0x86, CCMN) CreateDWordField (RSRC, 0x8A, CCMX) CreateDWordField (RSRC, 0x92, CCLN) Store (One, CCRW) If (LEqual (And (PAM2, 0x30), 0x10)) { Store (Zero, CCRW) } Store (Zero, CCLN) If (LNot (And (PAM2, 0x30))) { Store (0x4000, CCLN) } CreateBitField (RSRC, 0x04E0, D0RW) CreateDWordField (RSRC, 0xA1, D0MN) CreateDWordField (RSRC, 0xA5, D0MX) CreateDWordField (RSRC, 0xAD, D0LN) Store (One, D0RW) If (LEqual (And (PAM3, 0x03), 0x01)) { Store (Zero, D0RW) } Store (Zero, D0LN) If (LNot (And (PAM3, 0x03))) { Store (0x4000, D0LN) } CreateBitField (RSRC, 0x05B8, D4RW) CreateDWordField (RSRC, 0xBC, D4MN) CreateDWordField (RSRC, 0xC0, D4MX) CreateDWordField (RSRC, 0xC8, D4LN) Store (One, D4RW) If (LEqual (And (PAM3, 0x30), 0x10)) { Store (Zero, D4RW) } Store (Zero, D4LN) If (LNot (And (PAM3, 0x30))) { Store (0x4000, D4LN) } CreateBitField (RSRC, 0x0690, D8RW) CreateDWordField (RSRC, 0xD7, D8MN) CreateDWordField (RSRC, 0xDB, D8MX) CreateDWordField (RSRC, 0xE3, D8LN) Store (One, D8RW) If (LEqual (And (PAM4, 0x03), 0x01)) { Store (Zero, D8RW) } Store (Zero, D8LN) If (LNot (And (PAM4, 0x03))) { Store (0x4000, D8LN) } CreateBitField (RSRC, 0x0768, DCRW) CreateDWordField (RSRC, 0xF2, DCMN) CreateDWordField (RSRC, 0xF6, DCMX) CreateDWordField (RSRC, 0xFE, DCLN) Store (One, DCRW) If (LEqual (And (PAM4, 0x30), 0x10)) { Store (Zero, DCRW) } Store (Zero, DCLN) If (LNot (And (PAM4, 0x30))) { Store (0x4000, DCLN) } CreateBitField (RSRC, 0x0840, E0RW) CreateDWordField (RSRC, 0x010D, E0MN) CreateDWordField (RSRC, 0x0111, E0MX) CreateDWordField (RSRC, 0x0119, E0LN) Store (One, E0RW) If (LEqual (And (PAM5, 0x03), 0x01)) { Store (Zero, E0RW) } Store (Zero, E0LN) If (LNot (And (PAM5, 0x03))) { Store (0x4000, E0LN) } CreateBitField (RSRC, 0x0918, E4RW) CreateDWordField (RSRC, 0x0128, E4MN) CreateDWordField (RSRC, 0x012C, E4MX) CreateDWordField (RSRC, 0x0134, E4LN) Store (One, E4RW) If (LEqual (And (PAM5, 0x30), 0x10)) { Store (Zero, E4RW) } Store (Zero, E4LN) If (LNot (And (PAM5, 0x30))) { Store (0x4000, E4LN) } CreateBitField (RSRC, 0x09F0, E8RW) CreateDWordField (RSRC, 0x0143, E8MN) CreateDWordField (RSRC, 0x0147, E8MX) CreateDWordField (RSRC, 0x014F, E8LN) Store (One, E8RW) If (LEqual (And (PAM6, 0x03), 0x01)) { Store (Zero, E8RW) } Store (Zero, E8LN) If (LNot (And (PAM6, 0x03))) { Store (0x4000, E8LN) } CreateBitField (RSRC, 0x0AC8, ECRW) CreateDWordField (RSRC, 0x015E, ECMN) CreateDWordField (RSRC, 0x0162, ECMX) CreateDWordField (RSRC, 0x016A, ECLN) Store (One, ECRW) If (LEqual (And (PAM6, 0x30), 0x10)) { Store (Zero, ECRW) } Store (Zero, ECLN) If (LNot (And (PAM6, 0x30))) { Store (0x4000, ECLN) } Return (RSRC) } Method (SROM, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { Memory32 (ReadOnly, 0x000C0000, 0x000C3FFF, 0x00000000, 0x00000000) Memory32 (ReadOnly, 0x000C4000, 0x000C7FFF, 0x00000000, 0x00000000) Memory32 (ReadOnly, 0x000C8000, 0x000CBFFF, 0x00000000, 0x00000000) Memory32 (ReadOnly, 0x000CC000, 0x000CFFFF, 0x00000000, 0x00000000) Memory32 (ReadOnly, 0x000D0000, 0x000D3FFF, 0x00000000, 0x00000000) Memory32 (ReadOnly, 0x000D4000, 0x000D7FFF, 0x00000000, 0x00000000) Memory32 (ReadOnly, 0x000D8000, 0x000DBFFF, 0x00000000, 0x00000000) Memory32 (ReadOnly, 0x000DC000, 0x000DFFFF, 0x00000000, 0x00000000) }) CreateDWordField (RSRC, 0x10, C0LN) CreateDWordField (RSRC, 0x24, C4LN) CreateDWordField (RSRC, 0x38, C8LN) CreateDWordField (RSRC, 0x4C, CCLN) CreateDWordField (RSRC, 0x60, D0LN) CreateDWordField (RSRC, 0x74, D4LN) CreateDWordField (RSRC, 0x88, D8LN) CreateDWordField (RSRC, 0x9C, DCLN) If (And (PAM1, 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) } Return (RSRC) } Name (_PRT, Package (0x0A) { Package (0x04) { 0x0007FFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x0007FFFF, 0x01, \_SB.LNKB, 0x00 }, Package (0x04) { 0x0007FFFF, 0x02, \_SB.LNKC, 0x00 }, Package (0x04) { 0x0007FFFF, 0x03, \_SB.LNKD, 0x00 }, Package (0x04) { 0x000AFFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x000BFFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x000BFFFF, 0x01, \_SB.LNKB, 0x00 }, Package (0x04) { 0x000CFFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x000DFFFF, 0x00, \_SB.LNKD, 0x00 }, Package (0x04) { 0x0011FFFF, 0x00, \_SB.LNKC, 0x00 } }) Device (ISA0) { Name (_ADR, 0x00070000) OperationRegion (PIRX, PCI_Config, 0x60, 0x04) Field (PIRX, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } OperationRegion (GEN, PCI_Config, 0xB0, 0x04) Field (GEN, ByteAcc, NoLock, Preserve) { ISEI, 1, POSD, 1, , 10, TRIS, 1 } Device (MBRD) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x00) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0010, 0x0010, 0x01, 0x10) IO (Decode16, 0x0024, 0x0024, 0x01, 0x02) IO (Decode16, 0x0028, 0x0028, 0x01, 0x02) IO (Decode16, 0x002C, 0x002C, 0x01, 0x02) IO (Decode16, 0x0038, 0x0038, 0x01, 0x02) IO (Decode16, 0x003C, 0x003C, 0x01, 0x02) IO (Decode16, 0x0050, 0x0050, 0x01, 0x04) IO (Decode16, 0x0072, 0x0072, 0x01, 0x06) IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) IO (Decode16, 0x0090, 0x0090, 0x01, 0x10) IO (Decode16, 0x00A4, 0x00A4, 0x01, 0x02) IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02) IO (Decode16, 0x00AC, 0x00AC, 0x01, 0x02) IO (Decode16, 0x00B0, 0x00B0, 0x01, 0x06) IO (Decode16, 0x00B8, 0x00B8, 0x01, 0x02) IO (Decode16, 0x00BC, 0x00BC, 0x01, 0x02) IO (Decode16, 0x0398, 0x0398, 0x01, 0x02) IO (Decode16, 0x2180, 0x2180, 0x00, 0x10) IO (Decode16, 0x3400, 0x3400, 0x00, 0x10) IO (Decode16, 0x8000, 0x8000, 0x00, 0x40) IO (Decode16, 0xFE00, 0xFE00, 0x00, 0x01) }) } Device (DMAA) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x10) IO (Decode16, 0x0081, 0x0081, 0x01, 0x0F) IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) DMA (Compatibility, NotBusMaster, Transfer16) {4} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x01, 0x02) IRQNoFlags () {8} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, 0x0020, 0x01, 0x02) IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02) IRQ (Edge, ActiveHigh, Exclusive) {2} }) } Device (FPU) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10) IRQ (Edge, ActiveHigh, Exclusive) {13} }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) IRQNoFlags () {0} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) }) } Device (KBC) { Name (_HID, EisaId ("PNP0303")) Name (KBS3, 0x00) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (KBS3) { Store (Zero, KBS3) Divide (\_SB.PCI0.PWR.ATMR, 0x0DFC, Local1, Local0) If (LLess (Local0, 0x044C)) { Sleep (Subtract (0x044C, Local0)) } } Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) 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} }) } OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x1FFFFE9C, 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), FMTB, 8, DAT1, 8, DAT2, 8, DAT3, 8, TIM1, 8, TIM2, 8, TIM3, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x105), BDST, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x106), DKSN, 32 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x10A), DKTP, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x10B), VGAB, 32 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x10F), MFLG, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x110), BAYI, 8 } Mutex (PSMX, 0x00) 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 (SIO0) { Name (_HID, EisaId ("PNP0A05")) OperationRegion (NSIO, SystemIO, 0x0398, 0x02) Field (NSIO, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { LPTE, 1, COME, 1, IRE, 1, FDCE, 1, Offset (0x02), PWDN, 1, , 6, BLPE, 1, Offset (0x04), EPPE, 1, , 1, ECPE, 1, Offset (0x18), , 3, LDMA, 3, Offset (0x1B), , 4, LIRQ, 4, CIRQ, 4, IIRQ, 4, Offset (0x41), FIRQ, 4, FDMA, 3, Offset (0x42), PBAL, 8, PBAH, 8, CBAL, 8, CBAH, 8, IBAL, 8, IBAH, 8, FBAL, 8, FBAH, 8, Offset (0x4F), IDMA, 3 } Name (IRQM, Package (0x10) { 0x00, 0x00, 0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x0200, 0x0400, 0x0800, 0x1000, 0x00, 0x00, 0x8000 }) Name (DMAM, Package (0x08) { 0x00, 0x01, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00 }) Name (_S1D, 0x00) Name (_S3D, 0x03) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (SIO1, 0x00) Name (SIO2, 0x00) Name (SIO3, 0x00) Name (SIO4, 0x00) Method (_INI, 0, NotSerialized) { Store (0x03, \_SB.PCI0.ISA0.SIO0.LPTA._PSC) Store (0x03, \_SB.PCI0.ISA0.SIO0.LPBI._PSC) Store (0x03, \_SB.PCI0.ISA0.SIO0.LECP._PSC) Store (0x03, \_SB.PCI0.ISA0.SIO0.LEPP._PSC) Store (0x03, \_SB.PCI0.ISA0.SIO0.COMA._PSC) Store (0x03, \_SB.PCI0.ISA0.SIO0.FDC._PSC) If (PBAL) { Store (0x01, SIO2) If (ECPE) { Store (0x00, \_SB.PCI0.ISA0.SIO0.LECP._PSC) } Else { If (EPPE) { Store (0x00, \_SB.PCI0.ISA0.SIO0.LEPP._PSC) } Else { If (BLPE) { Store (0x00, \_SB.PCI0.ISA0.SIO0.LPBI._PSC) } Else { Store (0x00, \_SB.PCI0.ISA0.SIO0.LPTA._PSC) } } } } If (COME) { Store (0x01, SIO1) Store (0x00, \_SB.PCI0.ISA0.SIO0.COMA._PSC) } If (FDCE) { Store (0x01, SIO3) Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC._PSC) } If (IRE) { Store (0x01, SIO4) If (IDMA) { Store (0x00, \_SB.PCI0.ISA0.SIO0.FIR._PSC) } Else { Store (0x00, \_SB.PCI0.ISA0.SIO0.IRDA._PSC) } } } Device (COMA) { Name (_HID, EisaId ("PNP0501")) Name (_EJD, "_SB_.PCI0.ISA0.JP1") Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x08, 0x08) IRQNoFlags () {} }) If (COME) { CreateByteField (RSRC, 0x02, IOV1) CreateByteField (RSRC, 0x03, IOV2) CreateByteField (RSRC, 0x04, IOV3) CreateByteField (RSRC, 0x05, IOV4) CreateWordField (RSRC, 0x09, IRQV) ShiftLeft (And (CBAL, 0xFE), 0x02, IOV1) Or (And (CBAH, 0xFC), ShiftRight (CBAL, 0x06), IOV2) Store (IOV1, IOV3) Store (IOV2, IOV4) Store (DerefOf (Index (IRQM, CIRQ)), IRQV) } Return (RSRC) } Method (_STA, 0, NotSerialized) { If (SIO1) { If (COME) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08) IRQNoFlags () {4} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOV1) CreateByteField (Arg0, 0x03, IOV2) CreateWordField (Arg0, 0x09, IRQV) Store (0x00, COME) Or (And (Or (ShiftRight (IOV1, 0x02), ShiftLeft (IOV2, 0x06)), 0xFE), And (CBAL, 0x01), CBAL) Or (And (CBAH, 0x03), And (IOV2, 0xFC), CBAH) Store (Match (IRQM, MEQ, IRQV, MTR, 0x00, 0x00), CIRQ) Store (0x01, COME) } Method (_DIS, 0, NotSerialized) { Store (0x00, COME) } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_PRW, Package (0x02) { 0x0A, 0x04 }) } Device (LPTA) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x00) Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x08, 0x08) IRQNoFlags () {} }) If (LPTE) { CreateByteField (RSRC, 0x02, IOV1) CreateByteField (RSRC, 0x03, IOV2) CreateByteField (RSRC, 0x04, IOV3) CreateByteField (RSRC, 0x05, IOV4) CreateWordField (RSRC, 0x09, IRQV) ShiftLeft (PBAL, 0x02, IOV1) Or (And (PBAH, 0xFC), ShiftRight (PBAL, 0x06), IOV2) Store (IOV1, IOV3) Store (IOV2, IOV4) Store (DerefOf (Index (IRQM, LIRQ)), IRQV) } Return (RSRC) } Method (_STA, 0, NotSerialized) { If (LAnd (SIO2, LAnd (LNot (ECPE), LAnd (LNot (EPPE), LNot (BLPE))))) { If (PBAL) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x03, 0x03) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x03, 0x03) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {5,7,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {5,7,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x03, 0x03) IRQNoFlags () {5,7,10,11} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOV1) CreateByteField (Arg0, 0x03, IOV2) CreateByteField (Arg0, 0x04, IOV3) CreateByteField (Arg0, 0x05, IOV4) CreateWordField (Arg0, 0x09, IRQV) Store (0x00, LPTE) Or (ShiftRight (IOV1, 0x02), ShiftLeft (IOV2, 0x06), PBAL) Or (And (PBAH, 0x03), And (IOV2, 0xFC), PBAH) Store (Match (IRQM, MEQ, IRQV, MTR, 0x00, 0x00), LIRQ) Store (0x00, BLPE) Store (0x00, ECPE) Store (0x00, EPPE) Store (0x01, LPTE) } Method (_DIS, 0, NotSerialized) { Store (0x00, PBAL) And (0xC1, LDMA, LDMA) And (0x08, LIRQ, LIRQ) } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } } Device (LPBI) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x01) Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x08, 0x08) IRQNoFlags () {} }) If (LPTE) { CreateByteField (RSRC, 0x02, IOV1) CreateByteField (RSRC, 0x03, IOV2) CreateByteField (RSRC, 0x04, IOV3) CreateByteField (RSRC, 0x05, IOV4) CreateWordField (RSRC, 0x09, IRQV) ShiftLeft (PBAL, 0x02, IOV1) Or (And (PBAH, 0xFC), ShiftRight (PBAL, 0x06), IOV2) Store (IOV1, IOV3) Store (IOV2, IOV4) Store (DerefOf (Index (IRQM, LIRQ)), IRQV) } Return (RSRC) } Method (_STA, 0, NotSerialized) { If (LAnd (SIO2, BLPE)) { If (PBAL) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x03, 0x03) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x03, 0x03) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {5,7,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {5,7,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x03, 0x03) IRQNoFlags () {5,7,10,11} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOV1) CreateByteField (Arg0, 0x03, IOV2) CreateByteField (Arg0, 0x04, IOV3) CreateByteField (Arg0, 0x05, IOV4) CreateWordField (Arg0, 0x09, IRQV) Store (0x00, LPTE) Or (ShiftRight (IOV1, 0x02), ShiftLeft (IOV2, 0x06), PBAL) Or (And (PBAH, 0x03), And (IOV2, 0xFC), PBAH) Store (Match (IRQM, MEQ, IRQV, MTR, 0x00, 0x00), LIRQ) Store (0x00, ECPE) Store (0x00, EPPE) Store (0x01, BLPE) Store (0x01, LPTE) } Method (_DIS, 0, NotSerialized) { Store (0x00, PBAL) And (0xC1, LDMA, LDMA) And (0x08, LIRQ, LIRQ) } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } } Device (LECP) { Name (_HID, EisaId ("PNP0401")) Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x08, 0x08) IO (Decode16, 0x0000, 0x0000, 0x08, 0x08) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) If (LPTE) { CreateByteField (RSRC, 0x02, IOV1) CreateByteField (RSRC, 0x03, IOV2) CreateByteField (RSRC, 0x04, IOV3) CreateByteField (RSRC, 0x05, IOV4) CreateByteField (RSRC, 0x07, LNV1) CreateByteField (RSRC, 0x0A, IOV5) CreateByteField (RSRC, 0x0B, IOV6) CreateByteField (RSRC, 0x0C, IOV7) CreateByteField (RSRC, 0x0D, IOV8) CreateByteField (RSRC, 0x0F, LNV2) CreateWordField (RSRC, 0x11, IRQV) CreateByteField (RSRC, 0x14, DMAV) ShiftLeft (PBAL, 0x02, IOV1) Or (And (PBAH, 0xFC), ShiftRight (PBAL, 0x06), IOV2) Store (IOV1, IOV3) Store (IOV2, IOV4) Store (IOV1, IOV5) Add (IOV2, 0x04, IOV6) Store (IOV1, IOV7) Add (IOV2, 0x04, IOV8) If (LEqual (IOV1, 0xBC)) { Store (0x03, LNV1) Store (0x03, LNV2) } Store (DerefOf (Index (IRQM, LIRQ)), IRQV) Store (DerefOf (Index (DMAM, LDMA)), DMAV) } Return (RSRC) } Method (_STA, 0, NotSerialized) { If (LAnd (SIO2, ECPE)) { If (PBAL) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IO (Decode16, 0x0778, 0x0778, 0x08, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {0,3} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IO (Decode16, 0x0778, 0x0778, 0x08, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {0,3} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IO (Decode16, 0x0678, 0x0678, 0x08, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {0,3} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IO (Decode16, 0x0678, 0x0678, 0x08, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {0,3} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x03, 0x03) IO (Decode16, 0x07BC, 0x07BC, 0x03, 0x03) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {0,3} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x03, 0x03) IO (Decode16, 0x07BC, 0x07BC, 0x03, 0x03) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {0,3} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IO (Decode16, 0x0778, 0x0778, 0x08, 0x08) IRQNoFlags () {5,7,10,11} DMA (Compatibility, NotBusMaster, Transfer8) {0,3} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IO (Decode16, 0x0678, 0x0678, 0x08, 0x08) IRQNoFlags () {5,7,10,11} DMA (Compatibility, NotBusMaster, Transfer8) {0,3} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x03, 0x03) IO (Decode16, 0x07BC, 0x07BC, 0x03, 0x03) IRQNoFlags () {5,7,10,11} DMA (Compatibility, NotBusMaster, Transfer8) {0,3} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOV1) CreateByteField (Arg0, 0x03, IOV2) CreateByteField (Arg0, 0x04, IOV3) CreateByteField (Arg0, 0x05, IOV4) CreateWordField (Arg0, 0x11, IRQV) CreateByteField (Arg0, 0x14, DMAV) Store (0x00, LPTE) Or (ShiftRight (IOV1, 0x02), ShiftLeft (IOV2, 0x06), PBAL) Or (And (PBAH, 0x03), And (IOV2, 0xFC), PBAH) Store (Match (IRQM, MEQ, IRQV, MTR, 0x00, 0x00), LIRQ) Store (Match (DMAM, MEQ, DMAV, MTR, 0x00, 0x00), LDMA) Store (0x00, BLPE) \_SB.PCI0.ISA0.HPSS (0x11, 0x00) Store (0x01, LPTE) } Method (_DIS, 0, NotSerialized) { Store (0x00, PBAL) And (0xC1, LDMA, LDMA) And (0x08, LIRQ, LIRQ) } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } } Device (LEPP) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x02) Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x08, 0x08) IRQNoFlags () {} }) If (LPTE) { CreateByteField (RSRC, 0x02, IOV1) CreateByteField (RSRC, 0x03, IOV2) CreateByteField (RSRC, 0x04, IOV3) CreateByteField (RSRC, 0x05, IOV4) CreateWordField (RSRC, 0x09, IRQV) ShiftLeft (PBAL, 0x02, IOV1) Or (And (PBAH, 0xFC), ShiftRight (PBAL, 0x06), IOV2) Store (IOV1, IOV3) Store (IOV2, IOV4) Store (DerefOf (Index (IRQM, LIRQ)), IRQV) } Return (RSRC) } Method (_STA, 0, NotSerialized) { If (LAnd (SIO2, EPPE)) { If (PBAL) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {5,7,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {5,7,10,11} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOV1) CreateByteField (Arg0, 0x03, IOV2) CreateByteField (Arg0, 0x04, IOV3) CreateByteField (Arg0, 0x05, IOV4) CreateWordField (Arg0, 0x09, IRQV) Store (0x00, LPTE) Or (ShiftRight (IOV1, 0x02), ShiftLeft (IOV2, 0x06), PBAL) Or (And (PBAH, 0x03), And (IOV2, 0xFC), PBAH) Store (Match (IRQM, MEQ, IRQV, MTR, 0x00, 0x00), LIRQ) Store (0x00, BLPE) Store (0x00, ECPE) Store (0x01, EPPE) Store (0x01, LPTE) } Method (_DIS, 0, NotSerialized) { Store (0x00, PBAL) And (0xC1, LDMA, LDMA) And (0x08, LIRQ, LIRQ) } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } } OperationRegion (FIFO, SystemIO, 0x03F2, 0x01) Field (FIFO, DWordAcc, NoLock, Preserve) { , 2, RSFD, 1 } Device (FDC) { Name (_HID, EisaId ("PNP0700")) Name (_EJD, "_SB_.PCI0.ISA0.JP1") Method (_INI, 0, NotSerialized) { If (And (\_SB.PCI0.ISA0.BDST, 0x22)) { Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC.IFDD._PSC) } Else { Store (0x03, \_SB.PCI0.ISA0.SIO0.FDC.IFDD._PSC) } If (And (\_SB.PCI0.ISA0.BDST, 0x01)) { Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC.EFDD._PSC) Store (0x03, \_SB.PCI0.ISA0.SIO0.FDC.IFDD._PSC) } Else { Store (0x03, \_SB.PCI0.ISA0.SIO0.FDC.EFDD._PSC) } } Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x08, 0x06) IO (Decode16, 0x0000, 0x0000, 0x01, 0x01) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) If (FDCE) { CreateByteField (RSRC, 0x02, IOV1) CreateByteField (RSRC, 0x03, IOV2) CreateByteField (RSRC, 0x04, IOV3) CreateByteField (RSRC, 0x05, IOV4) CreateWordField (RSRC, 0x0A, IOV5) CreateWordField (RSRC, 0x0C, IOV7) CreateWordField (RSRC, 0x11, IRQV) CreateByteField (RSRC, 0x14, DMAV) CreateWordField (RSRC, 0x02, FDIO) ShiftLeft (And (FBAL, 0xFE), 0x02, IOV1) Or (And (FBAH, 0xFC), ShiftRight (FBAL, 0x06), IOV2) Store (IOV1, IOV3) Store (IOV2, IOV4) If (LEqual (FDIO, 0x03F0)) { Store (0x03F7, IOV5) Store (0x03F7, IOV7) } Store (DerefOf (Index (IRQM, FIRQ)), IRQV) Store (DerefOf (Index (DMAM, FDMA)), DMAV) } Return (RSRC) } Method (_STA, 0, NotSerialized) { If (SIO3) { If (FDCE) { Return (0x0F) } Else { Return (0x0D) } } Else { Store (0x00, Local7) } Return (Local7) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F0, 0x03F0, 0x08, 0x06) IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { Store (0x01, FDCE) Store (0x00, PWDN) Store (0x01, RSFD) Sleep (0x32) Store (0x00, RSFD) Sleep (0x32) } Method (_DIS, 0, NotSerialized) { Store (0x00, FDCE) } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC.IFDD.STOP) Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC.EFDD.STOP) If (And (\_SB.PCI0.ISA0.EC0.PQ8A, 0x01)) { And (\_SB.PCI0.ISA0.EC0.PQ8A, Not (0x01), \_SB.PCI0.ISA0.EC0.PQ8A) \_SB.PCI0.ISA0.EC0.SWAP () } } 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.SIO0.FDC.EFDD._STA (), 0x01)) { Store (0x01, FD0) } Else { If (And (\_SB.PCI0.ISA0.SIO0.FDC.IFDD._STA (), 0x01)) { Store (0x01, FD0) } } Store (0x02, TAPE) Return (Local0) } Device (IFDD) { Method (_ADR, 0, NotSerialized) { If (And (\_SB.PCI0.ISA0.BDST, 0x01)) { Return (0x01) } Return (0x00) } Name (STOP, 0x00) Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.ISA0.BDST, 0x01)) { Return (0x00) } If (LAnd (And (BDST, 0x22), LNot (STOP))) { If (LEqual (\_SB.PCI0.ISA0.SIO0.FDC.IFDD._PSC, 0x00)) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } Name (_PSC, 0x03) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_EJ0, 1, NotSerialized) { If (And (\_SB.PCI0.ISA0.BDST, 0x01)) { \_SB.PCI0.ISA0.SIO0.FDC.EFDD._EJ0 (0x01) } Else { If (And (\_SB.PCI0.ISA0.BDST, 0x02)) { Store (0x00, \_SB.PCI0.ISA0.EC0.B1PW) } Else { If (And (\_SB.PCI0.ISA0.BDST, 0x20)) { Store (0x00, \_SB.PCI0.ISA0.EC0.B2PW) } } Store (0x03, _PSC) Store (0x01, 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 (LNot (And (\_SB.PCI0.ISA0.BDST, 0x01))) { Return (0x01) } Return (0x00) } Name (STOP, 0x00) Method (_STA, 0, NotSerialized) { If (LOr (LNot (And (\_SB.PCI0.ISA0.BDST, 0x01)), STOP)) { 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) } Method (_EJ0, 1, NotSerialized) { Store (0x03, _PSC) Store (0x01, STOP) } Name (_FDI, Package (0x10) { 0x00, 0x04, 0x4F, 0x12, 0x01, 0xDF, 0x02, 0x25, 0x02, 0x12, 0x1B, 0xFF, 0x6C, 0xF6, 0x0F, 0x05 }) } } Device (FIR) { Method (_HID, 0, NotSerialized) { If (\_SB.PCI0.OSNT) { Return (0x24C2F022) } Else { Return (0x0160633A) } } Name (_UID, 0x00) Name (_PSC, 0x03) Method (_STA, 0, NotSerialized) { If (LAnd (SIO4, IDMA)) { If (IRE) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } Method (_DIS, 0, NotSerialized) { Store (0x00, IRE) } Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x08, 0x08) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) CreateByteField (RSRC, 0x02, IOV1) CreateByteField (RSRC, 0x03, IOV2) CreateByteField (RSRC, 0x04, IOV3) CreateByteField (RSRC, 0x05, IOV4) CreateWordField (RSRC, 0x09, IRQV) CreateWordField (RSRC, 0x0C, DMAV) If (IRE) { ShiftLeft (And (IBAL, 0xFE), 0x02, IOV1) Or (And (IBAH, 0xFC), ShiftRight (IBAL, 0x06), IOV2) Store (IOV1, IOV3) Store (IOV2, IOV4) Store (DerefOf (Index (IRQM, IIRQ)), IRQV) Store (DerefOf (Index (DMAM, IDMA)), DMAV) } Return (RSRC) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08) IRQNoFlags () {3,4,10,11} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08) IRQNoFlags () {3,4,10,11} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08) IRQNoFlags () {3,4,10,11} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08) IRQNoFlags () {3,4,10,11} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOV1) CreateByteField (Arg0, 0x03, IOV2) CreateWordField (Arg0, 0x09, IRQV) CreateByteField (Arg0, 0x0C, DMAV) Store (0x00, IRE) Or (And (Or (ShiftRight (IOV1, 0x02), ShiftLeft (IOV2, 0x06)), 0xFE), And (IBAL, 0x01), IBAL) Or (And (IBAH, 0x03), And (IOV2, 0xFC), IBAH) Store (Match (IRQM, MEQ, IRQV, MTR, 0x00, 0x00), IIRQ) Store (Match (DMAM, MEQ, DMAV, MTR, 0x00, 0x00), IDMA) Store (0x01, IRE) } } Device (IRDA) { Name (_HID, EisaId ("PNP0510")) Name (_PSC, 0x03) Method (_STA, 0, NotSerialized) { If (LAnd (SIO4, LNot (IDMA))) { If (IRE) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } Method (_DIS, 0, NotSerialized) { Store (0x00, IRE) } Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x08, 0x08) IRQNoFlags () {} }) CreateByteField (RSRC, 0x02, IOV1) CreateByteField (RSRC, 0x03, IOV2) CreateByteField (RSRC, 0x04, IOV3) CreateByteField (RSRC, 0x05, IOV4) CreateWordField (RSRC, 0x09, IRQV) If (IRE) { ShiftLeft (And (IBAL, 0xFE), 0x02, IOV1) Or (And (IBAH, 0xFC), ShiftRight (IBAL, 0x06), IOV2) Store (IOV1, IOV3) Store (IOV2, IOV4) Store (DerefOf (Index (IRQM, IIRQ)), IRQV) } Return (RSRC) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08) IRQNoFlags () {4} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08) IRQNoFlags () {3} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08) IRQNoFlags () {4} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08) IRQNoFlags () {3} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08) IRQNoFlags () {3,4,10,11} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08) IRQNoFlags () {3,4,10,11} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08) IRQNoFlags () {3,4,10,11} } StartDependentFn (0x01, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08) IRQNoFlags () {3,4,10,11} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOV1) CreateByteField (Arg0, 0x03, IOV2) CreateWordField (Arg0, 0x09, IRQV) Store (0x00, IRE) Or (And (Or (ShiftRight (IOV1, 0x02), ShiftLeft (IOV2, 0x06)), 0xFE), And (IBAL, 0x01), IBAL) Or (And (IBAH, 0x03), And (IOV2, 0xFC), IBAH) Store (Match (IRQM, MEQ, IRQV, MTR, 0x00, 0x00), IIRQ) Store (0x01, IRE) } } } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, 0x0062, 0x01, 0x01) IO (Decode16, 0x0066, 0x0066, 0x01, 0x01) }) Name (_GPE, 0x00) 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, INS3, 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, BT3I, 16, BT3C, 16, BT3V, 16, BT3S, 8, KBID, 8, TTMP, 8, HPCB, 8, B1LC, 8, BT2I, 16, BT2C, 16, BT2V, 16, BT2S, 8, HP71, 8, RSMT, 16, HP74, 8, HP75, 8, B1PW, 1, B2PW, 1, B1QB, 1, B2QB, 1, FDQB, 1, Offset (0x77), SUSB, 1, SUSC, 1, CPWR, 1, CBTN, 1, FAN, 1, PFB5, 1, PFB6, 1, S4IN, 1, FANL, 16, QU7A, 8, QU7B, 8, QU7C, 8, QU7D, 8, QU7E, 8, QU7F, 8, Offset (0x94), , 7, BTON, 1 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x1C), SMW0, 16 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x1C), SMB0, 8 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x1C), FLD0, 64 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x1C), FLD1, 128 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x1C), FLD2, 192 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x1C), FLD3, 256 } Mutex (CMUT, 0x00) Method (CMC1, 2, NotSerialized) { Acquire (CMUT, 0xFFFF) Store (Arg1, CMD1) Store (Arg0, CMCM) Sleep (0x02) While (CMCM) { Sleep (0x02) } Release (CMUT) } Mutex (SMUT, 0x00) Method (CMC2, 4, NotSerialized) { Acquire (SMUT, 0xFFFF) Store (Arg3, SM3A) Store (Arg2, S2D1) Store (Arg1, S2D0) Store (Arg0, SM2A) Sleep (0x02) While (SM2A) { Sleep (0x02) } Release (SMUT) } Mutex (MUT0, 0x00) Mutex (MUT1, 0x00) Method (SMRD, 4, NotSerialized) { If (LNot (ECOK ())) { Return (0xFF) } If (LNot (LEqual (Arg0, 0x07))) { If (LNot (LEqual (Arg0, 0x09))) { If (LNot (LEqual (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 (LNot (LEqual (Arg0, 0x06))) { If (LNot (LEqual (Arg0, 0x08))) { If (LNot (LEqual (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 () \_SB.PCI0.ISA0.BAT3.IVBI () \_SB.PCI0.ISA0.BAT3.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) Store (\_SB.PCI0.ISA0.BAT3.CHBP (SEL0), Local4) Or (SEL0, 0x0FFF, Local0) And (SEL0, 0x0F, Local5) ShiftRight (SEL0, 0x0C, Local6) If (And (Local5, Local6)) { SMWR (0x08, 0x14, 0x01, Local0) } If (LAnd (Local1, \_SB.PCI0.ISA0.ACAD.ACP)) { Store ("CMBatt - Notify(ACAD,0x80): AC_Inserted", Debug) Notify (\_SB.PCI0.ISA0.ACAD, 0x80) Store (0x02, ACFL) } If (And (0x04, Local2)) { \_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)) { \_SB.PCI0.ISA0.BAT2.B2CK () } If (And (0x02, Local3)) { \_SB.PCI0.ISA0.BAT2.B2ST () } If (And (0x01, Local3)) { \_SB.PCI0.ISA0.BAT2.B2IF () } If (And (0x04, Local4)) { \_SB.PCI0.ISA0.BAT3.B3CK () } If (And (0x02, Local4)) { \_SB.PCI0.ISA0.BAT3.B3ST () } If (And (0x01, Local4)) { \_SB.PCI0.ISA0.BAT3.B3IF () } If (LAnd (Local1, LNot (\_SB.PCI0.ISA0.ACAD.ACP))) { Store ("CMBatt - Notify(ACAD, 0x80): AC_Removed", Debug) Notify (\_SB.PCI0.ISA0.ACAD, 0x80) Store (0x01, ACFL) } } Store (0x3C, Local4) If (\_SB.PCI0.ISA0.BAT1.REPT) { Store (0x02, Local4) } If (\_SB.PCI0.ISA0.BAT2.REPT) { Store (0x02, Local4) } If (\_SB.PCI0.ISA0.BAT3.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) CMC1 (0xE8, Local0) 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 (RBAT, 0, NotSerialized) { Store (BT2I, Local0) Store (BT2C, Local0) Store (BT2V, Local0) Store (BT3I, Local0) Store (BT3C, Local0) Store (BT3V, Local0) } Method (_Q09, 0, NotSerialized) { Store ("QUERY_09", Debug) If (ECOK ()) { SMSL () } } Method (_Q20, 0, NotSerialized) { Store ("QUERY_20", Debug) If (ECOK ()) { 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 (0x84, BFLG) Store (0x00, BPD) BPOL () } } } } } Method (_Q29, 0, NotSerialized) { Store ("QUERY_29", Debug) If (ECOK ()) { If (And (PQ8A, 0x08)) { And (PQ8A, Not (0x08), PQ8A) \_SB.PCI0.ISA0.JP1.DOCK () } Else { If (And (PQ8A, 0x04)) { And (PQ8A, Not (0x04), PQ8A) \_SB.PCI0.ISA0.EC0.SWAP () } } } } 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) } } Sleep (0x03E8) Notify (HPCI, 0x89) } Method (_Q04, 0, NotSerialized) { Notify (\_SB.PCI0.ISA0.HPCI, 0x86) } Method (_Q05, 0, NotSerialized) { } Method (_Q0A, 0, NotSerialized) { Store ("Brightness Down: _Q0A", Debug) If (ECOK ()) { Store (HPSS (0x08, 0x00), Local0) CMC1 (0xE8, Local0) } Notify (HPCI, 0x8A) } Method (_Q0B, 0, NotSerialized) { Store ("Brightness Up: _Q0B", Debug) If (ECOK ()) { Store (HPSS (0x08, 0x01), Local0) CMC1 (0xE8, Local0) Notify (HPCI, 0x8A) } } Method (_Q80, 0, NotSerialized) { Store ("THERM: _Q80 - Thermal Change", Debug) Store ("Current Temperature is ----------- ", Debug) If (LEqual (RSMC, 0x00)) { If (ECOK ()) { Notify (\_TZ.THRM, 0x80) } } } Method (_Q8A, 0, NotSerialized) { If (ECOK ()) { Store (EVTP, Local0) Store (Local0, EVTP) Store (Local0, Debug) If (And (Local0, 0x01)) { If (LIDS) { Store (0x00, \_SB.LID.LPOL) Store (0x00, \_SB.PCI0.PWR.BKLT) } Else { Store (0x01, \_SB.LID.LPOL) Store (0x01, \_SB.PCI0.PWR.BKLT) } Notify (\_SB.LID, 0x80) } If (And (Local0, 0x04)) { And (\_SB.PCI0.ISA0.BDST, 0xFE, Local1) Or (Local1, EXFD, \_SB.PCI0.ISA0.BDST) \_SB.PCI0.ISA0.EC0.SWAP () } If (And (Local0, 0x08)) { HPSS (0x13, BTON) } If (And (Local0, 0x20)) { \_SB.PCI0.AGP.VGA.DRUL (0x02) Sleep (0x03E8) Notify (HPCI, 0x89) } If (Or (And (Local0, 0x40), And (Local0, 0x0200))) { Store ("Notify Sleep Button(0x80)", Debug) Notify (\_SB.SLP, 0x80) } If (And (Local0, 0x80)) { If (DCKS) { \_SB.PCI0.ISA0.JP1.DOCK () } Else { \_SB.PCI0.ISA0.JP1.UDOK () } } If (And (Local0, 0x0100)) { \_SB.PCI0.ISA0.JP1.UNDK () } If (And (Local0, 0x8000)) { If (\_SB.PCI0.OSNT) { \_SB.PCI0.ISA0.EC0.OPB2 () \_SB.PCI0.ISA0.EC0.SWAP () } } If (And (Local0, 0x4000)) { If (\_SB.PCI0.OSNT) { \_SB.PCI0.ISA0.EC0.OPB1 () \_SB.PCI0.ISA0.EC0.SWAP () } } } } Method (_Q8D, 0, NotSerialized) { } Name (PQ8A, 0x00) Name (OBDS, 0x00) Name (PBDS, 0x00) Name (OBAY, 0xFF) Mutex (MUT2, 0x00) Method (OPB1, 0, NotSerialized) { Store (0x00, \_SB.PCI0.ISA0.EC0.B1QB) Store (0x01, \_SB.PCI0.ISA0.EC0.B1PW) \_SB.PCI0.ISA0.EC0.CMC1 (0x48, 0xF1) Store (\_SB.PCI0.ISA0.EC0.CMD1, Local0) Store (0x00, \_SB.PCI0.FIDE.EID1) If (LEqual (Local0, 0xFE)) { Or (\_SB.PCI0.ISA0.BAYI, 0x0F, \_SB.PCI0.ISA0.BAYI) And (\_SB.PCI0.ISA0.BDST, 0xF9, \_SB.PCI0.ISA0.BDST) Store (0x00, \_SB.PCI0.ISA0.EC0.B1PW) } Else { And (Local0, 0x07, Local0) If (LEqual (Local0, 0x07)) { And (\_SB.PCI0.ISA0.BAYI, 0xF0, \_SB.PCI0.ISA0.BAYI) Or (\_SB.PCI0.ISA0.BAYI, 0x07, \_SB.PCI0.ISA0.BAYI) And (\_SB.PCI0.ISA0.BDST, 0xF9, \_SB.PCI0.ISA0.BDST) Or (\_SB.PCI0.ISA0.BDST, 0x02, \_SB.PCI0.ISA0.BDST) If (And (\_SB.PCI0.ISA0.BDST, 0x20)) { Store (0x00, \_SB.PCI0.ISA0.EC0.B1PW) } Else { Store (0x01, \_SB.PCI0.ISA0.EC0.FDQB) } } Else { And (\_SB.PCI0.ISA0.BAYI, 0xF0, \_SB.PCI0.ISA0.BAYI) Or (\_SB.PCI0.ISA0.BAYI, Local0, \_SB.PCI0.ISA0.BAYI) And (\_SB.PCI0.ISA0.BDST, 0xF9, \_SB.PCI0.ISA0.BDST) Or (\_SB.PCI0.ISA0.BDST, 0x04, \_SB.PCI0.ISA0.BDST) Store (0x01, \_SB.PCI0.ISA0.EC0.B1QB) Sleep (0x09C4) Store (0x01, \_SB.PCI0.FIDE.EID1) \_SB.PCI0.ISA0.HPSS (0x1A, \_SB.PCI0.ISA0.BAYI) \_SB.PCI0.ISA0.HPSS (0x0E, 0x00) Return (0x00) } } \_SB.PCI0.ISA0.HPSS (0x1A, \_SB.PCI0.ISA0.BAYI) } Method (OPB2, 0, NotSerialized) { Store (0x00, \_SB.PCI0.ISA0.EC0.B2QB) Store (0x01, \_SB.PCI0.ISA0.EC0.B2PW) \_SB.PCI0.ISA0.EC0.CMC1 (0x48, 0xF2) Store (\_SB.PCI0.ISA0.EC0.CMD1, Local0) Store (0x00, \_SB.PCI0.FIDE.EID2) If (LEqual (Local0, 0xFE)) { Or (\_SB.PCI0.ISA0.BAYI, 0xF0, \_SB.PCI0.ISA0.BAYI) And (\_SB.PCI0.ISA0.BDST, 0x9F, \_SB.PCI0.ISA0.BDST) Store (0x00, \_SB.PCI0.ISA0.EC0.B2PW) } Else { And (Local0, 0x07, Local0) If (LEqual (Local0, 0x07)) { And (\_SB.PCI0.ISA0.BAYI, 0x0F, \_SB.PCI0.ISA0.BAYI) Or (\_SB.PCI0.ISA0.BAYI, 0x70, \_SB.PCI0.ISA0.BAYI) And (\_SB.PCI0.ISA0.BDST, 0x9F, \_SB.PCI0.ISA0.BDST) Or (\_SB.PCI0.ISA0.BDST, 0x20, \_SB.PCI0.ISA0.BDST) If (And (\_SB.PCI0.ISA0.BDST, 0x02)) { Store (0x00, \_SB.PCI0.ISA0.EC0.B1PW) } Store (0x01, \_SB.PCI0.ISA0.EC0.FDQB) } Else { And (\_SB.PCI0.ISA0.BAYI, 0x0F, \_SB.PCI0.ISA0.BAYI) Or (\_SB.PCI0.ISA0.BAYI, ShiftLeft (Local0, 0x04), \_SB.PCI0.ISA0.BAYI) And (\_SB.PCI0.ISA0.BDST, 0x9F, \_SB.PCI0.ISA0.BDST) Or (\_SB.PCI0.ISA0.BDST, 0x40, \_SB.PCI0.ISA0.BDST) Store (0x01, \_SB.PCI0.ISA0.EC0.B2QB) Sleep (0x09C4) Store (0x01, \_SB.PCI0.FIDE.EID2) \_SB.PCI0.ISA0.HPSS (0x1A, \_SB.PCI0.ISA0.BAYI) \_SB.PCI0.ISA0.HPSS (0x0E, 0x00) Return (0x00) } } \_SB.PCI0.ISA0.HPSS (0x1A, \_SB.PCI0.ISA0.BAYI) } Method (SWAP, 0, NotSerialized) { Acquire (\_SB.PCI0.ISA0.EC0.MUT2, 0xFFFF) If (LEqual (\_SB.PCI0.OSNT, 0x01)) { Store ("BDST------------", Debug) Store (\_SB.PCI0.ISA0.BDST, Debug) Store ("OBDS------------", Debug) Store (OBDS, Debug) Store (0x00, PBDS) If (LNot (LEqual (And (\_SB.PCI0.ISA0.EC0.OBDS, 0x01), And (\_SB.PCI0.ISA0.BDST, 0x01)))) { \_SB.PCI0.ISA0.HPSS (0x19, \_SB.PCI0.ISA0.BDST) If (And (\_SB.PCI0.ISA0.BDST, 0x01)) { If (LNot (\_SB.PCI0.ISA0.SIO0.FDC._PSC)) { \_SB.PCI0.ISA0.SIO0.FDC.EFDD._PS0 () Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC.EFDD.STOP) Notify (\_SB.PCI0.ISA0.SIO0.FDC, 0x00) } Else { Or (PQ8A, 0x01, PQ8A) Or (PBDS, 0x01, PBDS) } } Else { If (LNot (\_SB.PCI0.ISA0.SIO0.FDC._PSC)) { \_SB.PCI0.ISA0.SIO0.FDC.EFDD._PS3 () If (And (\_SB.PCI0.ISA0.BDST, 0x22)) { \_SB.PCI0.ISA0.SIO0.FDC.IFDD._PS0 () } Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC.EFDD.STOP) Notify (\_SB.PCI0.ISA0.SIO0.FDC, 0x00) } Else { Or (PQ8A, 0x01, PQ8A) Or (PBDS, 0x01, PBDS) } } } And (\_SB.PCI0.ISA0.BDST, 0x02, Local0) And (\_SB.PCI0.ISA0.EC0.OBDS, 0x02, Local1) If (LNot (LEqual (Local0, Local1))) { \_SB.PCI0.ISA0.HPSS (0x19, \_SB.PCI0.ISA0.BDST) If (Local0) { If (LNot (And (\_SB.PCI0.ISA0.EC0.OBDS, 0x20))) { If (LNot (\_SB.PCI0.ISA0.SIO0.FDC._PSC)) { If (LNot (And (\_SB.PCI0.ISA0.BDST, 0x01))) { \_SB.PCI0.ISA0.SIO0.FDC.IFDD._PS0 () Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC.IFDD.STOP) Notify (\_SB.PCI0.ISA0.SIO0.FDC.IFDD, 0x01) } } Else { Or (PQ8A, 0x01, PQ8A) Or (PBDS, 0x02, PBDS) } } } Else { If (LNot (And (\_SB.PCI0.ISA0.EC0.OBDS, 0x20))) { If (LNot (\_SB.PCI0.ISA0.SIO0.FDC._PSC)) { If (LNot (And (\_SB.PCI0.ISA0.BDST, 0x01))) { \_SB.PCI0.ISA0.SIO0.FDC.IFDD._PS3 () Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC.IFDD.STOP) Notify (\_SB.PCI0.ISA0.SIO0.FDC.IFDD, 0x01) } } Else { Or (PQ8A, 0x01, PQ8A) Or (PBDS, 0x02, PBDS) } } } } And (\_SB.PCI0.ISA0.BDST, 0x20, Local0) And (\_SB.PCI0.ISA0.EC0.OBDS, 0x20, Local1) If (LNot (LEqual (Local0, Local1))) { \_SB.PCI0.ISA0.HPSS (0x19, \_SB.PCI0.ISA0.BDST) If (Local0) { If (LNot (And (\_SB.PCI0.ISA0.EC0.OBDS, 0x02))) { If (LNot (\_SB.PCI0.ISA0.SIO0.FDC._PSC)) { If (LNot (And (\_SB.PCI0.ISA0.BDST, 0x01))) { \_SB.PCI0.ISA0.SIO0.FDC.IFDD._PS0 () Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC.IFDD.STOP) Notify (\_SB.PCI0.ISA0.SIO0.FDC.IFDD, 0x01) } } Else { Or (PQ8A, 0x01, PQ8A) Or (PBDS, 0x20, PBDS) } } } Else { If (LNot (And (\_SB.PCI0.ISA0.EC0.OBDS, 0x02))) { If (LNot (\_SB.PCI0.ISA0.SIO0.FDC._PSC)) { If (LNot (And (\_SB.PCI0.ISA0.BDST, 0x01))) { \_SB.PCI0.ISA0.SIO0.FDC.IFDD._PS3 () Store (0x00, \_SB.PCI0.ISA0.SIO0.FDC.IFDD.STOP) Notify (\_SB.PCI0.ISA0.SIO0.FDC.IFDD, 0x01) } } Else { Or (PQ8A, 0x01, PQ8A) Or (PBDS, 0x20, PBDS) } } Else { Store (0x01, \_SB.PCI0.ISA0.EC0.B1PW) } } } And (\_SB.PCI0.ISA0.BDST, 0x04, Local0) And (\_SB.PCI0.ISA0.EC0.OBDS, 0x04, Local1) If (LNot (LEqual (Local0, Local1))) { If (Local0) { If (LNot (\_SB.PCI0.FIDE._PSC)) { Store (0x01, \_SB.PCI0.FIDE.EID1) Notify (\_SB.PCI0.FIDE.PRIM.MAST, 0x00) } Else { Or (PQ8A, 0x02, PQ8A) Or (PBDS, 0x04, PBDS) } } Else { If (LNot (\_SB.PCI0.FIDE._PSC)) { If (\_SB.PCI0.FIDE.PRIM.EJ0F) { Store (0x00, \_SB.PCI0.FIDE.PRIM.EJ0F) Notify (\_SB.PCI0.FIDE.PRIM.MAST, 0x01) } Else { Store (0x00, \_SB.PCI0.FIDE.EID1) If (LNot (And (\_SB.PCI0.ISA0.BDST, 0x06))) { Store (0x00, \_SB.PCI0.ISA0.EC0.B1PW) } Notify (\_SB.PCI0.FIDE.PRIM.MAST, 0x01) } } Else { Or (PQ8A, 0x02, PQ8A) Or (PBDS, 0x04, PBDS) } } } And (\_SB.PCI0.ISA0.BDST, 0x40, Local0) And (\_SB.PCI0.ISA0.EC0.OBDS, 0x40, Local1) If (LNot (LEqual (Local0, Local1))) { If (Local0) { If (LNot (\_SB.PCI0.FIDE._PSC)) { Store (0x01, \_SB.PCI0.FIDE.EID2) Notify (\_SB.PCI0.FIDE.SECN.MAST, 0x00) } Else { Or (PQ8A, 0x02, PQ8A) Or (PBDS, 0x40, PBDS) } } Else { If (LNot (\_SB.PCI0.FIDE._PSC)) { If (\_SB.PCI0.FIDE.SECN.EJ0F) { Store (0x00, \_SB.PCI0.FIDE.SECN.EJ0F) Notify (\_SB.PCI0.FIDE.SECN.MAST, 0x01) } Else { Store (0x00, \_SB.PCI0.FIDE.EID2) If (LNot (And (\_SB.PCI0.ISA0.BDST, 0x60))) { Store (0x00, \_SB.PCI0.ISA0.EC0.B2PW) } Notify (\_SB.PCI0.FIDE.SECN.MAST, 0x01) } } Else { Or (PQ8A, 0x02, PQ8A) Or (PBDS, 0x40, PBDS) } } } } XOr (\_SB.PCI0.ISA0.BDST, PBDS, OBDS) Store (\_SB.PCI0.ISA0.BAYI, OBAY) Release (\_SB.PCI0.ISA0.EC0.MUT2) } } Device (ACAD) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { \_SB }) Name (ACP, Ones) Method (_PSR, 0, NotSerialized) { Store ("CMBatt - _PSR", Debug) If (ECOK ()) { Acquire (\_SB.PCI0.ISA0.EC0.MUT1, 0xFFFF) \_SB.PCI0.ISA0.EC0.CPOL () Release (\_SB.PCI0.ISA0.EC0.MUT1) } Store (ACP, Local0) If (Local0) { Store (0x01, Local1) } Else { Store (0x00, Local1) } Return (Local1) } Method (CHAC, 1, NotSerialized) { And (Arg0, 0xF0, Local0) If (LOr (LEqual (Local0, 0x70), LGreater (Local0, 0x80))) { Store (Ones, Local0) } Else { Store (Zero, Local0) } If (LNot (LEqual (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) { 0x00, 0x18, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 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 (LNot (LEqual (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 (LNot (LEqual (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 (LNot (LEqual (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 (LNot (LEqual (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), LNot (LEqual (UBIF, 0x1FFF)))) { Store (0x01, REPT) } Else { Store (0x00, REPT) } Return (Local0) } } Device (BAT2) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x03) 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) { 0x00, 0x18, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 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 (LNot (LEqual (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 (LNot (LEqual (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 (LNot (LEqual (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 (LNot (LEqual (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), LNot (LEqual (UBIF, 0x1FFF)))) { Store (0x01, REPT) } Else { Store (0x00, REPT) } Return (Local0) } } Device (BAT3) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x04) Name (_PCL, Package (0x01) { \_SB }) Name (PBIF, Package (0x0D) { 0x01, 0x0B40, 0x0B40, 0x01, 0x39D0, 0x012C, 0xC8, 0x20, 0x20, "BAT3", " ", " ", " " }) 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.BAT3", 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.BAT3", 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.BAT3", Debug) \_SB.PCI0.ISA0.EC0.CPOL () Release (\_SB.PCI0.ISA0.EC0.MUT1) Return (PBST) } Method (B3CK, 0, NotSerialized) { Store ("CMBatt - Notify(BAT3,0x81): B3CK", Debug) Notify (\_SB.PCI0.ISA0.BAT3, 0x81) } Method (B3ST, 0, NotSerialized) { Store ("CMBatt - Notify(BAT3,0x80): B3ST", Debug) Notify (\_SB.PCI0.ISA0.BAT3, 0x80) } Method (B3IF, 0, NotSerialized) { Store ("CMBatt - Notify(BAT3,0x81): B3IF", Debug) Notify (\_SB.PCI0.ISA0.BAT3, 0x81) } Method (UPBI, 0, NotSerialized) { Store ("CMBatt - UPBI.BAT3", Debug) Store (Zero, Local0) If (LNot (ECOK ())) { Return (Local0) } Store (0x0C, Local1) Store (Buffer (0x0D) { 0x00, 0x18, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00, 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.BAT3", Debug) Store (Zero, Local0) If (LNot (ECOK ())) { Return (Local0) } Store (\_SB.PCI0.ISA0.EC0.BT3S, Local5) Store (Local5, Local1) And (Local5, 0x07, Local5) If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x00))))) { Store ("CMBatt - BAT3 STATE CHANGE", Debug) Store (Local1, Debug) Store (Local5, Index (PBST, 0x00)) Store (Ones, Local0) } Store (\_SB.PCI0.ISA0.EC0.BT3C, Local5) If (LNot (And (Local5, 0x8000))) { ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x02))))) { Store (Local5, Index (PBST, 0x02)) Store (Ones, Local0) } } Store (\_SB.PCI0.ISA0.EC0.BT3V, Local5) If (LNot (And (Local5, 0x8000))) { ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x03))))) { Store (Local5, Index (PBST, 0x03)) Store (Ones, Local0) } } Store (\_SB.PCI0.ISA0.EC0.BT3I, Local5) If (And (Local1, 0x01)) { Store (\_SB.PCI0.ISA0.EC0.BT3V, 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 (LNot (LEqual (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.BAT3", 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 - BAT3 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 - BAT3 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 - BAT3 disconnected", Debug) Store (0x00, BP) IVBI () IVBS () Or (0x04, Local0, Local0) } } If (LAnd (And (Arg0, Local1), LNot (LEqual (UBIF, 0x1FFF)))) { Store (0x01, REPT) } Else { Store (0x00, REPT) } Return (Local0) } } Device (JP1) { Method (_HID, 0, NotSerialized) { If (\_SB.PCI0.OSNT) { Return (0x150CD041) } Else { Return (0x050AD041) } } Method (_UID, 0, NotSerialized) { If (LNot (LEqual (\_SB.PCI0.ISA0.DKTP, 0x00))) { If (And (\_SB.PCI0.ISA0.MFLG, 0x08)) { Return (0xFFFFFFFF) } Else { Return (\_SB.PCI0.ISA0.DKSN) } } Else { Return (Ones) } } Method (_BDN, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x04)) { Return (0x1DF6C21A) } Return (Ones) } Method (_INI, 0, NotSerialized) { If (LNot (LEqual (\_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) } Name (EJX, 0x00) Method (_EJ0, 1, NotSerialized) { Store (0x00, EJX) UJP1 () \_SB.PCI0.AGP.VGA.DRUL (0x04) Return (0x00) } Method (_EJ4, 1, NotSerialized) { Store (0x04, EJX) If (ECOK ()) { Store (0x01, \_SB.PCI0.ISA0.EC0.UDR5) } Return (0x00) } Method (_DCK, 1, NotSerialized) { If (Arg0) { DJP1 () \_SB.PCI0.AGP.VGA.DRUL (0x02) } Else { If (ECOK ()) { Store (0x00, \_SB.PCI0.ISA0.EC0.EQBF) Sleep (0x05) } } Return (0x01) } Method (_STA, 0, NotSerialized) { If (ECOK ()) { If (And (DCKF, 0x08)) { And (DCKF, Not (0x08), DCKF) UNDK () Return (0x0F) } If (LNot (LEqual (\_SB.PCI0.ISA0.DKTP, 0x00))) { Return (0x0F) } Else { Return (0x00) } } If (LNot (LEqual (\_SB.PCI0.ISA0.DKTP, 0x00))) { Return (0x0F) } Else { Return (0x00) } } Method (DOCK, 0, NotSerialized) { Notify (\_SB.PCI0.ISA0.JP1, 0x00) } Method (UNDK, 0, NotSerialized) { If (LAnd (\_SB.PCI0.ISA0.HPCI.Z000, LNot (And (\_SB.PCI0.ISA0.HPCI.Z000, 0x02)))) { Notify (\_SB.PCI0.ISA0.HPCI, 0x85) } Else { Notify (\_SB.PCI0.ISA0.JP1, 0x01) } } Method (UDOK, 0, NotSerialized) { } Method (UJP1, 0, NotSerialized) { If (ECOK ()) { Store (0x00, \_SB.PCI0.ISA0.EC0.DPWR) Sleep (0x05) Store (0x00, \_SB.PCI0.ISA0.EC0.DCWT) Store (0x00, \_SB.PCI0.ISA0.EC0.LDDS) Store (0x01, \_SB.PCI0.ISA0.EC0.UDR0) Store (0x00, \_SB.PCI0.ISA0.DKTP) Store (0x00, \_SB.PCI0.ISA0.BDST) } } Method (DJP1, 0, NotSerialized) { If (ECOK ()) { ENQB () \_SB.PCI0.ISA0.EC0.OPB1 () \_SB.PCI0.ISA0.EC0.OPB2 () Or (\_SB.PCI0.ISA0.EC0.PQ8A, 0x04, \_SB.PCI0.ISA0.EC0.PQ8A) Store (0x20, \_SB.PCI0.ISA0.EC0.HPCB) Store (0x01, \_SB.PCI0.ISA0.EC0.ENCB) } } Method (ENQB, 0, NotSerialized) { If (ECOK ()) { Store (0x00, \_SB.PCI0.ISA0.EC0.EQBF) Sleep (0x28) Store (0x01, \_SB.PCI0.ISA0.EC0.DPWR) Store (0x01, \_SB.PCI0.ISA0.EC0.CRST) Name (CNT1, 0x00) While (LNot (LGreater (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) \_SB.PCI0.FIDE.HPID () Store (0x00, \_SB.PCI0.ISA0.EC0.DCWT) Store (0x01, \_SB.PCI0.ISA0.EC0.LDDS) Store (0x04, \_SB.PCI0.ISA0.DKTP) UPTM () 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 (UPTM, 0, NotSerialized) { If (ECOK ()) { \_SB.PCI0.ISA0.HPSS (0x18, 0x00) \_SB.PCI0.ISA0.EC0.CMC2 (0x52, \_SB.PCI0.ISA0.FMTB, 0x00, 0x00) \_SB.PCI0.ISA0.EC0.CMC2 (0x51, \_SB.PCI0.ISA0.DAT1, \_SB.PCI0.ISA0.DAT2, \_SB.PCI0.ISA0.DAT3) \_SB.PCI0.ISA0.EC0.CMC2 (0x50, \_SB.PCI0.ISA0.TIM1, \_SB.PCI0.ISA0.TIM2, \_SB.PCI0.ISA0.TIM3) } } } Device (HPCI) { Name (_HID, EisaId ("HWPC209")) Name (Z000, 0x00) Method (STAT, 1, NotSerialized) { Store (Arg0, Z000) } 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.CMC1 (0xE8, Local0) } } 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 () } 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 (IDE) { Name (_ADR, 0x00070001) OperationRegion (PCI, PCI_Config, 0x40, 0x04) Field (PCI, DWordAcc, NoLock, Preserve) { Offset (0x03), , 7, SIDE, 1 } Field (PCI, DWordAcc, NoLock, Preserve) { R40, 32 } Field (PCI, DWordAcc, NoLock, Preserve) { ITM0, 16, ITM1, 16 } Field (PCI, DWordAcc, NoLock, Preserve) { Offset (0x02), TSEC, 16 } OperationRegion (PC2, PCI_Config, 0x20, 0x04) Field (PC2, DWordAcc, NoLock, Preserve) { R20, 32 } OperationRegion (PC3, PCI_Config, 0x04, 0x04) Field (PC3, DWordAcc, NoLock, Preserve) { R04, 32 } OperationRegion (REGS, PCI_Config, 0x44, 0x08) Field (REGS, DWordAcc, NoLock, Preserve) { SIT0, 4, SIT1, 4, Offset (0x04), UDC0, 2, UDC1, 2, Offset (0x06), UDT0, 8, UDT1, 8 } Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (GMBU, Buffer (0x14) { 0x00 }) Method (GTM, 4, NotSerialized) { Store (Buffer (0x14) {}, Local0) CreateDWordField (Local0, 0x00, PIO0) CreateDWordField (Local0, 0x04, DMA0) CreateDWordField (Local0, 0x08, PIO1) CreateDWordField (Local0, 0x0C, DMA1) CreateDWordField (Local0, 0x10, FLAG) If (LOr (And (Arg0, 0x08), LNot (And (Arg0, 0x01)))) { Store (0x0384, PIO0) } Else { Subtract (0x09, ShiftRight (And (Arg0, 0x0300), 0x08), Local1) Subtract (Local1, ShiftRight (And (Arg0, 0x3000), 0x0C), Local1) Multiply (Local1, 0x1E, PIO0) } If (And (Arg2, 0x01)) { Subtract (0x04, And (Arg3, 0x03), Local1) Multiply (Local1, 0x1E, DMA0) } Else { Subtract (0x09, ShiftRight (And (Arg0, 0x0300), 0x08), Local1) Subtract (Local1, ShiftRight (And (Arg0, 0x3000), 0x0C), Local1) Multiply (Local1, 0x1E, DMA0) } If (And (Arg0, 0x4000)) { If (LOr (And (Arg0, 0x80), LNot (And (Arg0, 0x10)))) { Store (0x0384, PIO1) } Else { Subtract (0x09, And (Arg1, 0x03), Local1) Subtract (Local1, ShiftRight (And (Arg1, 0x0C), 0x02), Local1) Multiply (Local1, 0x1E, PIO1) } } Else { Store (PIO0, PIO1) } If (And (Arg0, 0x4000)) { If (And (Arg2, 0x02)) { Subtract (0x04, ShiftRight (And (Arg3, 0x30), 0x04), Local1) Multiply (Local1, 0x1E, DMA1) } Else { Subtract (0x09, And (Arg1, 0x03), Local1) Subtract (Local1, ShiftRight (And (Arg1, 0x0C), 0x02), Local1) Multiply (Local1, 0x1E, DMA1) } } Else { Store (DMA0, DMA1) } Store (0x10, FLAG) If (And (Arg2, 0x01)) { Or (FLAG, 0x01, FLAG) } If (And (Arg0, 0x02)) { Or (FLAG, 0x02, FLAG) } If (And (Arg2, 0x02)) { Or (FLAG, 0x04, FLAG) } If (And (Arg0, 0x20)) { Or (FLAG, 0x08, FLAG) } Return (Local0) } Method (STMS, 1, NotSerialized) { CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (Buffer (0x10) {}, Local7) CreateDWordField (Local7, 0x00, ITM) CreateDWordField (Local7, 0x04, SIT) CreateDWordField (Local7, 0x08, UDC) CreateDWordField (Local7, 0x0C, UDT) Store (Or (Or (0x4000, 0x04), 0x40), Local0) If (And (FLAG, 0x02)) { Or (Local0, 0x02, Local0) } If (And (FLAG, 0x08)) { Or (Local0, 0x20, Local0) } If (LLess (DMA0, PIO0)) { Or (Local0, 0x08, Local0) } If (LLess (DMA1, PIO1)) { Or (Local0, 0x80, Local0) } If (LLess (PIO0, 0x0384)) { Or (Local0, 0x01, Local0) } If (LLess (PIO1, 0x0384)) { Or (Local0, 0x10, Local0) } If (And (FLAG, 0x01)) { Store (PIO0, Local1) } Else { Store (DMA0, Local1) } If (LNot (LGreater (Local1, 0x78))) { Or (Local0, 0x2300, Local0) } Else { If (LNot (LGreater (Local1, 0xB4))) { Or (Local0, 0x2100, Local0) } Else { If (LNot (LGreater (Local1, 0xF0))) { Or (Local0, 0x1000, Local0) } } } Store (Local0, ITM) Store (Zero, Local0) If (And (FLAG, 0x04)) { Store (PIO1, Local1) } Else { Store (DMA1, Local1) } If (LNot (LGreater (Local1, 0x78))) { Store (0x0B, Local0) } Else { If (LNot (LGreater (Local1, 0xB4))) { Store (0x09, Local0) } Else { If (LNot (LGreater (Local1, 0xF0))) { Store (0x04, Local0) } } } Store (Local0, SIT) Store (0x00, Local0) If (And (FLAG, 0x01)) { Or (Local0, 0x01, Local0) } If (And (FLAG, 0x04)) { Or (Local0, 0x02, Local0) } Store (Local0, UDC) Store (0x00, Local0) If (And (FLAG, 0x01)) { Divide (DMA0, 0x1E, Local1) And (Local1, 0x03, Local1) Subtract (0x04, Local1, Local0) } If (And (FLAG, 0x04)) { Divide (DMA1, 0x1E, Local1) And (Local1, 0x03, Local1) Subtract (0x04, Local1, Local1) ShiftLeft (Local1, 0x04, Local1) Or (Local0, Local1, Local0) } Store (Local0, UDT) Return (Local7) } Method (H15P, 1, NotSerialized) { Concatenate (Arg0, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Local7) CreateWordField (Local7, 0x02, CYL) CreateWordField (Local7, 0x06, HEAD) CreateWordField (Local7, 0x0C, SPT) If (LAnd (LNot (LLess (HEAD, 0x10)), LNot (LLess (CYL, 0x2000)))) { Return (SPT) } Else { Return (Zero) } } Method (GTF0, 5, 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 (And (Arg2, 0x01)) { And (Arg3, 0x03, Local0) Or (Local0, 0x40, MODE) } Else { Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (Arg0, 0x3000), 0x0C), Local0) If (LNot (LLess (Local0, 0x05))) { Store (0x22, MODE) } Else { If (LNot (LLess (Local0, 0x03))) { Store (0x21, MODE) } Else { Store (0x20, MODE) } } } Concatenate (Local7, Local7, Local6) Store (Zero, MODE) 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 (LNot (LLess (Local0, 0x05))) { Store (0x0C, MODE) } Else { If (LNot (LLess (Local0, 0x03))) { Store (0x0B, MODE) } Else { Store (0x0A, MODE) } } } Concatenate (Local6, Local7, Local5) If (Arg4) { Store (Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x91 }, Local4) CreateByteField (Local4, 0x01, SPT) Store (Arg4, SPT) Concatenate (Local5, Local4, Local6) Return (Local6) } Else { Return (Local5) } } 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 (LNot (LGreater (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) { Store (Buffer (0x14) { 0x00 }, Local0) Store (^^GTM (^^ITM0, ^^SIT0, ^^UDC0, ^^UDT0), Local0) Return (Local0) } Method (_STM, 3, NotSerialized) { Store (^^STMS (Arg0), Local0) CreateWordField (Local0, 0x00, ITM) CreateWordField (Local0, 0x04, SIT) CreateWordField (Local0, 0x08, UDC) CreateWordField (Local0, 0x0C, UDT) And (ITM0, 0x8000, Local1) Or (ITM, Local1, ITM0) Store (SIT, SIT0) Store (UDC, UDC0) Store (UDT, UDT0) Store (^^H15P (Arg1), ^MAST.H15F) } Device (MAST) { Name (_ADR, 0x00) Name (H15F, Zero) Method (_GTF, 0, NotSerialized) { Return (^^^GTF0 (^^^ITM0, ^^^SIT0, ^^^UDC0, ^^^UDT0, ^H15F)) } } Device (SLAV) { Name (_ADR, 0x01) Name (H15F, Zero) Method (_GTF, 0, NotSerialized) { Return (^^^GTF0 (^^^ITM0, ^^^SIT0, ^^^UDC0, ^^^UDT0, ^H15F)) } } } Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_PSC, 0x00) } Device (CB1) { Name (_ADR, 0x000A0000) 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 (FIDE) { Name (_ADR, 0x00110000) Name (_EJD, "_SB_.PCI0.ISA0.JP1") 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 (0x5B), RR5B, 8, Offset (0x64), CMPS, 2, 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 } Field (FIDR, ByteAcc, NoLock, Preserve) { Offset (0x51), , 2, EID1, 1, EID2, 1 } Name (TIM0, Package (0x04) { Package (0x05) { 0x78, 0xB4, 0xF0, 0x0186, 0x0258 }, Package (0x05) { 0x3F, 0x32, 0xAF, 0xA2, 0xA9 }, Package (0x05) { 0x40, 0x40, 0x40, 0x40, 0x80 }, Package (0x05) { 0x3F, 0x32, 0x43, 0x57, 0x6D } }) Name (TIM1, Package (0x02) { Package (0x03) { 0x78, 0x96, 0x01FE }, Package (0x03) { 0x3F, 0x31, 0x88 } }) Name (TIM2, Package (0x03) { Package (0x05) { 0x1E, 0x2D, 0x3C, 0x5A, 0x78 }, Package (0x05) { 0x14, 0x24, 0x10, 0x20, 0x30 }, Package (0x05) { 0x48, 0x88, 0x40, 0x80, 0xC0 } }) Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 }) Name (ATA0, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, 0x00, CMDC) Method (GTFB, 3, Serialized) { Multiply (CMDC, 0x38, Local0) Add (Local0, 0x08, Local1) CreateField (ATAB, Local1, 0x38, CMDX) Multiply (CMDC, 0x07, Local0) CreateByteField (ATAB, Add (Local0, 0x02), A001) CreateByteField (ATAB, Add (Local0, 0x06), A005) Store (Arg0, CMDX) Store (Arg1, A001) Store (Arg2, A005) Increment (CMDC) } Mutex (GTFM, 0x00) Method (GTF, 3, Serialized) { Acquire (GTFM, 0xFFFF) CreateDWordField (Arg2, 0x00, PIO0) CreateDWordField (Arg2, 0x04, DMA0) CreateDWordField (Arg2, 0x08, PIO1) CreateDWordField (Arg2, 0x0C, DMA1) CreateDWordField (Arg2, 0x10, CHNF) Store (Arg1, Debug) Store (0x00, CMDC) Name (ID00, 0x80) Name (ID49, 0x0C00) Name (ID59, 0x00) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, 0x01) Name (PIOT, 0x00) Name (DMAT, 0x00) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateByteField (Arg1, 0x00, IB00) Store (IB00, ID00) CreateWordField (Arg1, 0x02, IW02) CreateByteField (Arg1, 0x06, ID03) CreateByteField (Arg1, 0x0C, ID06) CreateWordField (Arg1, 0x62, IW49) Store (IW49, ID49) CreateWordField (Arg1, 0x6A, IW53) Store (IW53, ID53) CreateWordField (Arg1, 0x7E, IW63) Store (IW63, ID63) CreateWordField (Arg1, 0x76, IW59) Store (IW59, ID59) CreateWordField (Arg1, 0xB0, IW88) Store (IW88, ID88) } Else { Return (ATAB) } Store (0xA0, Local7) If (Arg0) { Store (0xB0, Local7) And (CHNF, 0x08, IRDY) If (And (CHNF, 0x10)) { Store (PIO1, PIOT) } Else { Store (PIO0, PIOT) } If (And (CHNF, 0x04)) { If (And (CHNF, 0x10)) { Store (DMA1, DMAT) } Else { Store (DMA0, DMAT) } } } Else { And (CHNF, 0x02, IRDY) Store (PIO0, PIOT) If (And (CHNF, 0x01)) { Store (DMA0, DMAT) } } If (And (ID00, 0x80)) {} Else { If (LAnd (LGreater (ID03, 0x0F), LNot (LLess (IW02, 0x2000)))) { Or (0x0E, Local7, Local1) GTFB (AT04, ID06, Local1) } } If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT)) { Store (Match (DerefOf (Index (TIM2, 0x00)), MGE, DMAT, MTR, 0x00, 0x00), Local1) If (LEqual (Local1, Ones)) { Store (0x04, Local1) } Subtract (0x04, Local1, Local1) GTFB (AT01, Or (0x40, Local1), Local7) } Else { } If (IRDY) { Store (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), Local1) If (LEqual (Local1, Ones)) { Store (0x04, Local1) } Subtract (0x04, Local1, Local1) GTFB (AT01, Or (0x08, Local1), Local7) } Else { If (And (ID49, 0x0400)) { GTFB (AT01, 0x01, Local7) } } Release (GTFM) Store (ATAB, Debug) Return (ATAB) } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, 0x00, CMDN) Multiply (CMDN, 0x38, Local0) CreateField (Arg0, 0x08, Local0, RETB) Store (RETB, Debug) Return (RETB) } Name (REGF, 0x01) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } Method (_STA, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x04)) { Return (0x0F) } Else { Return (0x00) } } Name (_PSC, 0x03) Method (_INI, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA0.DKTP, 0x04)) { Store (0x00, _PSC) If (And (\_SB.PCI0.ISA0.BDST, 0x04)) { \_SB.PCI0.FIDE.PRIM._PS0 () Store (0x01, EID1) } Else { Store (0x00, \_SB.PCI0.FIDE.EID1) } If (And (\_SB.PCI0.ISA0.BDST, 0x40)) { \_SB.PCI0.FIDE.SECN._PS0 () Store (0x01, EID2) } Else { Store (0x00, \_SB.PCI0.FIDE.EID2) } } Else { Store (0x03, _PSC) } } Method (DGTM, 6, NotSerialized) { Store (Buffer (0x14) { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 }, Local0) CreateDWordField (Local0, 0x00, PIO0) CreateDWordField (Local0, 0x04, DMA0) CreateDWordField (Local0, 0x08, PIO1) CreateDWordField (Local0, 0x0C, DMA1) CreateDWordField (Local0, 0x10, CHNF) Store (0x10, CHNF) If (LNot (REGF)) { Return (Local0) } Store (Match (DerefOf (Index (TIM0, 0x03)), MEQ, Arg1, MTR, 0x00, 0x00), Local6) If (LEqual (Local6, Ones)) { Store (0x04, Local6) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) If (And (Arg5, 0x01)) { Store (Match (DerefOf (Index (TIM2, 0x01)), MEQ, And (Arg5, 0x34), MTR, 0x00, 0x00), Local6) If (LEqual (Local6, Ones)) { Store (0x04, Local6) } Store (DerefOf (Index (DerefOf (Index (TIM2, 0x00)), Local6)), DMA0) Or (CHNF, 0x01, CHNF) } Else { If (And (Arg4, 0x20)) { Store (Match (DerefOf (Index (TIM1, 0x01)), MEQ, Arg1, MTR, 0x00, 0x00), Local6) If (LEqual (Local6, Ones)) { Store (0x02, Local6) } Store (DerefOf (Index (DerefOf (Index (TIM1, 0x00)), Local6)), DMA0) } } Store (Match (DerefOf (Index (TIM0, 0x03)), MEQ, Arg3, MTR, 0x00, 0x00), Local6) If (LEqual (Local6, Ones)) { Store (0x04, Local6) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (And (Arg5, 0x02)) { Store (Match (DerefOf (Index (TIM2, 0x02)), MEQ, And (Arg5, 0xC8), MTR, 0x00, 0x00), Local6) If (LEqual (Local6, Ones)) { Store (0x04, Local6) } Store (DerefOf (Index (DerefOf (Index (TIM2, 0x00)), Local6)), DMA1) Or (CHNF, 0x04, CHNF) } Else { If (And (Arg4, 0x40)) { Store (Match (DerefOf (Index (TIM1, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local6) If (LEqual (Local6, Ones)) { Store (0x02, Local6) } Store (DerefOf (Index (DerefOf (Index (TIM1, 0x00)), Local6)), DMA1) } } Store ("DGTM - Return", Debug) Store (Local0, Debug) 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, CHNF) Store (Buffer (0x06) {}, Local7) CreateByteField (Local7, 0x00, TMP0) CreateByteField (Local7, 0x01, TMP1) CreateByteField (Local7, 0x02, TMP2) CreateByteField (Local7, 0x03, TMP3) CreateByteField (Local7, 0x04, TMP4) CreateByteField (Local7, 0x05, TMP5) Store ("DMA0", Debug) Store (DMA0, Debug) Store (Arg1, TMP0) Store (Arg2, TMP1) Store (Arg3, TMP2) Store (Arg4, TMP3) Store (Arg5, TMP4) Store (Arg6, TMP5) If (LNot (REGF)) { Return (Local7) } If (And (CHNF, 0x01)) { Or (TMP5, 0x01, TMP5) Or (TMP4, 0x20, TMP4) Store (Match (DerefOf (Index (TIM2, 0x00)), MGE, DMA0, MTR, 0x00, 0x00), Local0) If (LEqual (Local0, Ones)) { Store (0x04, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), TMP0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0)), TMP1) Store (DerefOf (Index (DerefOf (Index (TIM2, 0x01)), Local0)), Local1) And (TMP5, 0xCB, TMP5) Or (TMP5, Local1, TMP5) } Else { If (LOr (LEqual (PIO0, Ones), LEqual (PIO0, 0x00))) { And (TMP5, 0xFE, TMP5) Or (TMP4, 0x20, TMP4) Store (Match (DerefOf (Index (TIM1, 0x00)), MGE, DMA0, MTR, 0x00, 0x00), Local0) If (LEqual (Local0, Ones)) { Store (0x02, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), TMP0) Store (DerefOf (Index (DerefOf (Index (TIM1, 0x01)), Local0)), TMP1) } Else { And (TMP5, 0xFE, TMP5) And (TMP4, 0xDF, TMP4) Store (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), Local0) If (LEqual (Local0, Ones)) { Store (0x04, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), TMP0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0)), TMP1) } } If (And (CHNF, 0x04)) { Or (TMP5, 0x02, TMP5) Or (TMP4, 0x40, TMP4) Store (Match (DerefOf (Index (TIM2, 0x00)), MGE, DMA1, MTR, 0x00, 0x00), Local0) If (LEqual (Local0, Ones)) { Store (0x04, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), TMP2) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0)), TMP3) Store (DerefOf (Index (DerefOf (Index (TIM2, 0x02)), Local0)), Local1) And (TMP5, 0x37, TMP5) Or (TMP5, Local1, TMP5) } Else { If (LOr (LEqual (PIO0, Ones), LEqual (PIO0, 0x00))) { And (TMP5, 0xFD, TMP5) Or (TMP4, 0x40, TMP4) Store (Match (DerefOf (Index (TIM1, 0x00)), MGE, DMA1, MTR, 0x00, 0x00), Local0) If (LEqual (Local0, Ones)) { Store (0x02, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), TMP2) Store (DerefOf (Index (DerefOf (Index (TIM1, 0x01)), Local0)), TMP3) } Else { And (TMP5, 0xFD, TMP5) And (TMP4, 0xBF, TMP4) Store (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), Local0) If (LEqual (Local0, Ones)) { Store (0x04, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), TMP2) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0)), TMP3) } } Return (Local7) } Device (PRIM) { Name (_ADR, 0x00) Method (_STA, 0, NotSerialized) { If (LAnd (And (\_SB.PCI0.ISA0.BDST, 0x04), LNot (EJ0F))) { Return (0x0F) } Else { Return (0x0D) } } Method (_GTM, 0, NotSerialized) { Return (^^DGTM (RR53, RR54, RR55, RR56, RR72, RR73)) } Method (_STM, 3, NotSerialized) { Store (^^DSTM (Arg0, RR53, RR54, RR55, RR56, RR72, RR73), Local1) CreateByteField (Local1, 0x00, TMP0) CreateByteField (Local1, 0x01, TMP1) CreateByteField (Local1, 0x02, TMP2) CreateByteField (Local1, 0x03, TMP3) CreateByteField (Local1, 0x04, TMP4) CreateByteField (Local1, 0x05, TMP5) Store (TMP0, RR53) Store (TMP1, RR54) Store (TMP2, RR55) Store (TMP3, RR56) Store (TMP4, RR72) Store (TMP5, RR73) Store (GTF (0x00, Arg1, Arg0), ATA0) } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (EJ0F, 0x00) Device (MAST) { Name (_ADR, 0x00) Method (_EJ0, 1, NotSerialized) { If (ECOK ()) { Store (0x01, ^^EJ0F) Store (0x00, \_SB.PCI0.FIDE.EID1) Store (0x00, \_SB.PCI0.ISA0.EC0.B1PW) } } Method (_GTF, 0, NotSerialized) { Return (RATA (ATA0)) } Method (_STA, 0, NotSerialized) { If (LAnd (And (\_SB.PCI0.ISA0.BDST, 0x04), LNot (\_SB.PCI0.FIDE.PRIM.EJ0F))) { Return (0x0F) } Else { Return (0x00) } } } } Device (SECN) { Name (_ADR, 0x01) Method (_STA, 0, NotSerialized) { If (LAnd (And (\_SB.PCI0.ISA0.BDST, 0x40), LNot (\_SB.PCI0.FIDE.SECN.EJ0F))) { Return (0x0F) } Else { Return (0x0D) } } Method (_GTM, 0, NotSerialized) { Return (^^DGTM (RR57, RR58, RR57, RR5B, RR7A, RR7B)) } Method (_STM, 3, NotSerialized) { Store (^^DSTM (Arg0, RR57, RR58, RR57, RR5B, RR7A, RR7B), Local1) CreateByteField (Local1, 0x00, TMP0) CreateByteField (Local1, 0x01, TMP1) CreateByteField (Local1, 0x02, TMP2) CreateByteField (Local1, 0x03, TMP3) CreateByteField (Local1, 0x04, TMP4) CreateByteField (Local1, 0x05, TMP5) And (RR57, 0x3F, Local0) Or (Local0, TMP0, RR57) Store (TMP1, RR58) Store (TMP3, RR5B) Store (TMP4, RR7A) Store (TMP5, RR7B) Store (GTF (0x00, Arg1, Arg0), ATA2) } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (EJ0F, 0x00) Device (MAST) { Name (_ADR, 0x00) Method (_EJ0, 1, NotSerialized) { If (ECOK ()) { Store (0x01, ^^EJ0F) Store (0x00, \_SB.PCI0.FIDE.EID2) Store (0x00, \_SB.PCI0.ISA0.EC0.B2PW) } } Method (_GTF, 0, NotSerialized) { Return (RATA (ATA2)) } Method (_STA, 0, NotSerialized) { If (LAnd (And (\_SB.PCI0.ISA0.BDST, 0x40), LNot (\_SB.PCI0.FIDE.SECN.EJ0F))) { Return (0x0F) } Else { Return (0x00) } } } } Method (_PS0, 0, NotSerialized) { If (_PSC) { Store (0x00, _PSC) If (ECOK ()) { 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) } Else { } HPID () Store (0x60, RR72) Store (0x60, RR7A) If (And (\_SB.PCI0.ISA0.EC0.PQ8A, 0x02)) { And (\_SB.PCI0.ISA0.EC0.PQ8A, Not (0x02), \_SB.PCI0.ISA0.EC0.PQ8A) \_SB.PCI0.ISA0.EC0.SWAP () } Store (0x00, \_SB.PCI0.FIDE.PRIM.EJ0F) Store (0x00, \_SB.PCI0.FIDE.SECN.EJ0F) } } } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_S1D, 0x00) Name (_S3D, 0x03) Method (HPID, 0, NotSerialized) { Store (0x00, CMPS) Sleep (0x32) Store (0x01, R4F1) Store (0x3C, RR2C) Store (0x10, RR2D) Store (0x11, RR2E) Store (0x00, RR2F) Store (0x00, R4F1) } } Device (PX42) { Name (_ADR, 0x00070002) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_PSC, 0x00) Name (_S1D, 0x00) Name (_S3D, 0x03) Name (_PRW, Package (0x02) { 0x08, 0x01 }) Device (RHUB) { Name (_ADR, 0x00) Method (_EJD, 0, NotSerialized) { If (And (\_SB.PCI0.ISA0.MFLG, 0x10)) { Return ("_SB_.PCI0.PX42") } Else { Return ("_SB_.PCI0.ISA0.JP1_") } } Device (USB0) { Name (_ADR, 0x00) } Device (USB1) { Name (_ADR, 0x01) Method (_EJD, 0, NotSerialized) { If (And (\_SB.PCI0.ISA0.MFLG, 0x10)) { Return ("_SB_.PCI0.ISA0.JP1") } Else { Return ("_SB_.PCI0.PX42.RHUB") } } } } } Device (PWR) { Name (_ADR, 0x00070003) OperationRegion (PMIO, SystemIO, 0x8000, 0x38) Field (PMIO, DWordAcc, NoLock, Preserve) { Offset (0x08), ATMR, 32 } OperationRegion (PCTL, SystemIO, 0x8010, 0x04) Field (PCTL, DWordAcc, NoLock, Preserve) { Offset (0x01), , 5, CRUN, 1 } OperationRegion (GPO, SystemIO, 0x8034, 0x04) Field (GPO, DWordAcc, NoLock, Preserve) { GO00, 1, FANL, 1, GO02, 1, FANP, 1, GO04, 1, GO05, 1, BKLT, 1, GO07, 1, GO08, 1, GO09, 1, GO10, 1, GO11, 1, SDPW, 1, GO13, 1, GO14, 1, GO15, 1, GO16, 1, GO17, 1, GO18, 1, GO19, 1, GO20, 1, GO21, 1, GO22, 1, GO23, 1, GO24, 1, GO25, 1, GO26, 1, GO27, 1, GO28, 1, GO29, 1, GO30, 1 } OperationRegion (GLBL, SystemIO, 0x8028, 0x04) Field (GLBL, DWordAcc, NoLock, Preserve) { Offset (0x03), , 1, LPOL, 1 } OperationRegion (GPI, SystemIO, 0x8030, 0x04) Field (GPI, DWordAcc, NoLock, Preserve) { GI00, 1, GI01, 1, GI02, 1, GI03, 1, GI04, 1, GI05, 1, GI06, 1, GI07, 1, GI08, 1, GI09, 1, GI10, 1, GI11, 1, GI12, 1, GI13, 3, GI16, 1, GI17, 1, GI18, 1, GI19, 1, GI20, 1, GI21, 1 } OperationRegion (SMB, SystemIO, 0x2180, 0x0D) Field (SMB, ByteAcc, NoLock, Preserve) { HSTS, 8, LVTS, 8, CTLR, 8, CMDR, 8, ADDR, 8, DAT0, 8, DAT1, 8 } OperationRegion (PCI, PCI_Config, 0x50, 0x30) Field (PCI, DWordAcc, NoLock, Preserve) { Offset (0x01), , 4, FDCM, 1, , 1, U1M, 1, Offset (0x02), U2M, 1, , 1, LPTM, 1, Offset (0x0C), MDIE, 1, MDIA, 2, SBE, 1, , 1, SBA, 2, MSSE, 1, MSSA, 2, Offset (0x0F), , 1, AUDM, 1, , 2, KBCM, 1, G12M, 1, G13M, 1, LPTE, 1, G09A, 16, G09L, 4, , 1, G09M, 1, G09E, 1, Offset (0x13), , 1, LPTA, 2, , 1, FDCA, 1, FDCE, 1, KBCE, 1, Offset (0x14), G10A, 16, G10L, 4, , 1, G10M, 1, G10E, 1, Offset (0x17), U1A, 3, U1E, 1, U2A, 3, U2E, 1, G12A, 16, G12L, 4, G12E, 1, Offset (0x20), G13A, 16, G13L, 4, G13E, 1, Offset (0x28), G14A, 16, G14L, 4, G14E, 1, Offset (0x2C), G15A, 16, G15L, 4, G15E, 1 } } Device (AGP) { Name (_ADR, 0x00010000) Name (_S3D, 0x02) Name (_PRT, Package (0x01) { Package (0x04) { 0xFFFF, 0x00, \_SB.LNKB, 0x00 } }) Device (VGA) { Name (_ADR, 0x00) OperationRegion (PMR, PCI_Config, 0x60, 0x04) Field (PMR, DWordAcc, NoLock, Preserve) { PMRG, 32 } Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, PMRG) While (LNot (LEqual (PMRG, 0x00))) {} Store (0x00, _PSC) Store (0x00, RSMC) } Method (_PS1, 0, NotSerialized) { While (LNot (LEqual (PMRG, 0x01))) {} Store (0x01, _PSC) } Method (_PS2, 0, NotSerialized) { While (LNot (LEqual (PMRG, 0x02))) {} Store (0x02, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_S3D, 0x02) 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) Or (Local0, ShiftLeft (And (^TV._DGS, 0x01), 0x02), Local0) Store (DerefOf (Index (DerefOf (Index (TGLT, TGLP)), Local0)), Local1) And (Local1, 0x01, ^LCD._DGS) ShiftRight (And (Local1, 0x02), 0x01, ^CRT._DGS) ShiftRight (And (Local1, 0x04), 0x02, ^TV._DGS) } OperationRegion (ATIB, PCI_Config, 0x14, 0x04) Field (ATIB, AnyAcc, NoLock, Preserve) { ABAS, 32 } OperationRegion (XATI, SystemIO, Add (\_SB.PCI0.ISA0.VGAB, 0xA4), 0x05) Field (XATI, ByteAcc, NoLock, Preserve) { AIDX, 8, Offset (0x02), Offset (0x03), Offset (0x04), ADAT, 8 } Method (POFF, 0, NotSerialized) { Store (0x01, AIDX) If (And (ADAT, 0x03)) { And (ADAT, 0xFC, ADAT) } } Method (USTS, 0, 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 (0x02, TGLP) } Else { If (LEqual (Local1, 0x07)) { Store (0x03, TGLP) } Else { Store (0x00, TGLP) } } } Return (Local0) } Method (_INI, 0, NotSerialized) { Store (USTS (), 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) { Store (Arg0, DISW) } Method (_DOD, 0, NotSerialized) { Return (Package (0x03) { 0x00010100, 0x00010110, 0x00010200 }) } Method (DRUL, 1, NotSerialized) { Store (USTS (), Local2) Store (^CRT._DCS, Local1) Or (ShiftLeft (And (Local2, 0x02), 0x03), And (^CRT._DCS, 0x0F), ^CRT._DCS) Store (^TV._DCS, Local3) Or (ShiftLeft (And (Local2, 0x04), 0x02), And (^TV._DCS, 0x0F), ^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 (LNot (LEqual (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) } Notify (VGA, 0x80) } } } Device (LCD) { Name (_ADR, 0x0110) Name (_PSC, 0x00) Name (_S3D, 0x03) Method (_PS0, 0, NotSerialized) { If (LAnd (VRSM, LNot (^^CRT._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 (LNot (LEqual (Local0, 0x00))) { 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 () NDGS () } } Name (_DGS, 0x00) } Device (CRT) { Name (_ADR, 0x0100) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (LAnd (VRSM, LNot (^^LCD._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 (LNot (LEqual (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 () NDGS () } } Name (_DGS, 0x00) } Device (TV) { Name (_ADR, 0x0200) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { 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 (LNot (LEqual (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 () NDGS () } } Name (_DGS, 0x00) } } } Device (ESSA) { Name (_ADR, 0x000D0000) Name (_S3D, 0x03) } Device (ESSM) { Name (_ADR, 0x000D0001) Name (_S3D, 0x03) } Device (PCIM) { Name (_ADR, 0x000B0001) Name (_S3D, 0x03) } Device (PCIL) { Name (_ADR, 0x000B0000) Name (_S3D, 0x03) } } } }