From owner-acpi-jp@jp.FreeBSD.org Thu Sep 26 05:17:09 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g8PKH9Q86935;
	Thu, 26 Sep 2002 05:17:09 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from mx2.freebsd.org (mx2.FreeBSD.org [216.136.204.119])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g8PKH6386930
	for <acpi-jp@jp.FreeBSD.org>; Thu, 26 Sep 2002 05:17:06 +0900 (JST)
	(envelope-from jmallett@FreeBSD.ORG)
Received: from hub.freebsd.org (hub.FreeBSD.org [216.136.204.18])
	by mx2.freebsd.org (Postfix) with ESMTP id A71A855A7A
	for <acpi-jp@jp.FreeBSD.org>; Wed, 25 Sep 2002 13:17:04 -0700 (PDT)
	(envelope-from jmallett@FreeBSD.ORG)
Received: by hub.freebsd.org (Postfix, from userid 931)
	id A2B0837B401; Wed, 25 Sep 2002 13:17:04 -0700 (PDT)
From: Juli Mallett <jmallett@freebsd.org>
To: acpi-jp@jp.FreeBSD.org
Message-ID: <20020925131704.A40592@FreeBSD.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="17pEHd4RhPHOinZp"
Content-Disposition: inline
User-Agent: Mutt/1.2.5.1i
Organisation: The FreeBSD Project <http://FreeBSD.org>
X-Alternate-Addresses: <jmallett@NewGold.NET>, <jmallett@xMach.org>, <juli@jerkcity.com>, <flata@toxic.magnesium.net>, <jmallett@OpenDarwin.org>
X-Towel: Yes
X-LiveJournal: flata, jmallett
X-Negacore: Yes
Reply-To: acpi-jp@jp.FreeBSD.org
Precedence: list
Date: Wed, 25 Sep 2002 13:17:04 -0700
X-Sequence: acpi-jp 1846
Subject: [acpi-jp 1846] Toshiba Satellite with strange ACPI
Errors-To: owner-acpi-jp@jp.FreeBSD.org
Sender: owner-acpi-jp@jp.FreeBSD.org
X-Originator: jmallett@FreeBSD.ORG
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020902


--17pEHd4RhPHOinZp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi,

I have a Toshiba Satellite that was recently given to me.  It's got a
lot of strange hardware from Acer but the most annoying things are the
failed ACPI support, and USB.  I've run my ACPI stuff by a few people
on IRC, to not much of a result.  Here are the ACPI related lines of
my FreeBSD 5.0-CURRENT<JPSNAP> dmesg(8), and my acpidump(8) output is
attached.

%%%
acpi0: <PTLTD    RSDT  > on motherboard
    ACPI-0466: *** Error: GPE0 block overlaps the GPE1 block
acpi0: could not enable ACPI: AE_BAD_VALUE
device_probe_and_attach: acpi0 attach returned 6
%%%

Thanks,
juli.
-- 
Juli Mallett <jmallett@FreeBSD.org>       | FreeBSD: The Power To Serve
Will break world for fulltime employment. | finger jmallett@FreeBSD.org
http://people.FreeBSD.org/~jmallett/      | Support my FreeBSD hacking!

--17pEHd4RhPHOinZp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="luna.acpidump"
Content-Transfer-Encoding: quoted-printable

/*
RSD PTR: Checksum=3D41, OEMID=3DPTLTD, RsdtAddress=3D0x03ffbf4f
 */
/*
RSDT: Length=3D40, Revision=3D1, Checksum=3D146,
	OEMID=3DPTLTD, OEM Table ID=3D  RSDT, OEM Revision=3D0x6040000,
	Creator ID=3D LTP, Creator Revision=3D0x0
 */
/*
	Entries=3D{ 0x03fffb8c }
 */
/*
	DSDT=3D0x3ffbf77
	INT_MODEL=3DPIC
	SCI_INT=3D9
	SMI_CMD=3D0xb1, ACPI_ENABLE=3D0xf0, ACPI_DISABLE=3D0xf1, S4BIOS_REQ=3D0x0
	PM1a_EVT_BLK=3D0x1000-0x1003
	PM1a_CNT_BLK=3D0x1004-0x1005
	PM2_CNT_BLK=3D0x1030-0x1030
	PM2_TMR_BLK=3D0x1008-0x100b
	PM2_GPE0_BLK=3D0x1018-0x101b
	P_LVL2_LAT=3D200ms, P_LVL3_LAT=3D2000ms
	FLUSH_SIZE=3D0, FLUSH_STRIDE=3D0
	DUTY_OFFSET=3D1, DUTY_WIDTH=3D3
	DAY_ALRM=3D72, MON_ALRM=3D73, CENTURY=3D50
	Flags=3D{WBINVD,PROC_C1,SLP_BUTTON,TMR_VAL_EXT}
 */
/*
DSDT: Length=3D15381, Revision=3D1, Checksum=3D113,
	OEMID=3DCompal, OEM Table ID=3DN30B2, OEM Revision=3D0x6040000,
	Creator ID=3DMSFT, Creator Revision=3D0x1000007
 */
DefinitionBlock (
    "acpi_dsdt.aml",	//Output filename
    "DSDT",		//Signature
    0x1,		//DSDT Revision
    "Compal",		//OEMID
    "N30B2",		//TABLE ID
    0x6040000		//OEM Revision
)

{
Scope(_PR_) {
    Processor(CPU0, 0, 0x1010, 0x6) {
    }
}
Name(ECDY, 0x3)
Name(SLST, 0x0)
Method(_PTS, 1) {
    Store(0x3, ECDY)
    Store(Arg0, SLST)
    If(LEqual(Arg0, 0x1)) {
        Store(0x82, \_SB_.BCMD)
        Store(\_SB_.PCI0.PM__.GP14, Local0)
        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
    }
    If(LEqual(Arg0, 0x3)) {
        Store(0x84, \_SB_.BCMD)
        Store(\_SB_.PCI0.PM__.GP14, Local0)
        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
    }
}
Method(_WAK, 1) {
    Store("=3D=3D=3D=3D=3D WAK =3D=3D=3D=3D=3D", Debug)
    Store(\_SB_.PCI0.ISA_.SIO_.FDST, Local0)
    Store(0x3, ECDY)
    Notify(\_SB_.AC__, 0x80)
    If(LEqual(Arg0, 0x1)) {
        Store(0x83, \_SB_.BCMD)
        Store(\_SB_.PCI0.PM__.GP14, Local0)
        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
    }
    If(LEqual(Arg0, 0x3)) {
        Store(0x85, \_SB_.BCMD)
        Store(\_SB_.PCI0.PM__.GP14, Local0)
        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
    }
    If(LEqual(Arg0, 0x4)) {
        Notify(\_SB_.PCI0, 0x80)
    }
    Notify(\_SB_.LID_, 0x80)
    Return(0x0)
}
Name(_S0_, Package(0x2) {
    0x4,
    0x4,
})
Name(_S1_, Package(0x2) {
    0x3,
    0x3,
})
Name(_S4_, Package(0x2) {
    0x1,
    0x1,
})
Name(_S5_, Package(0x2) {
    0x0,
    0x0,
})
Scope(_GPE) {
    Method(_L0B) {
        Notify(\_SB_.PCI0.ISA_.SIO_.COMA, 0x2)
    }
    Method(_L0C) {
        Store(0x3, ECDY)
        Notify(\_SB_.LID_, 0x80)
    }
}
Scope(\_SI_) {
    Method(_MSG, 1) {
        If(LAnd(\_SB_.PCI0.ISA_.ECOK(), LEqual(ECDY, 0x0))) {
            If(LEqual(Arg0, 0x0)) {
                Store(0x0, \_SB_.PCI0.ISA_.EC0_.S1LD)
            }
            If(LEqual(Arg0, 0x1)) {
                Store(0x1, \_SB_.PCI0.ISA_.EC0_.S1LD)
            }
            If(LEqual(Arg0, 0x2)) {
                Store(0x1, \_SB_.PCI0.ISA_.EC0_.S1LD)
            }
        }
        Store("SI_MSG", Debug)
    }
    Method(_SST, 1) {
        If(LEqual(Arg0, 0x0)) {
            If(LNot(LEqual(SLST, 0x5))) {
                Store(0x86, \_SB_.BCMD)
                Store(\_SB_.PCI0.PM__.GP14, Local0)
                Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
            }
            Store(0x0, SLST)
        }
        If(LEqual(Arg0, 0x1)) {
            Store(0x88, \_SB_.BCMD)
            Store(\_SB_.PCI0.PM__.GP14, Local0)
            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
        }
        If(LEqual(Arg0, 0x2)) {
            Store(0x87, \_SB_.BCMD)
            Store(\_SB_.PCI0.PM__.GP14, Local0)
            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
        }
        If(LEqual(Arg0, 0x3)) {
            Store(0x87, \_SB_.BCMD)
            Store(\_SB_.PCI0.PM__.GP14, Local0)
            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
        }
        If(LEqual(Arg0, 0x4)) {
            Store(0x86, \_SB_.BCMD)
            Store(\_SB_.PCI0.PM__.GP14, Local0)
            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
        }
    }
}
Scope(\_TZ_) {
    Method(KELV, 1) {
        If(And(Arg0, 0x80, )) {
            Store(0xffffff00, Local1)
        }
        Else {
            Store(Zero, Local1)
        }
        Or(Local1, Arg0, Local1)
        Add(Local1, 0x0111, Local1)
        Add(ShiftLeft(Local1, 0x1, ), ShiftLeft(Local1, 0x3, ), Local0)
        Return(Local0)
    }
    Name(TZOK, 0x0)
    Name(TMPT, 0x28)
    PowerResource(PFAN, 0, 0) {
        Method(_STA) {
            If(LAnd(\_SB_.PCI0.ISA_.ECOK(), LEqual(ECDY, 0x0))) {
                If(LNot(LLess(TZOK, 0x3))) {
                    Return(\_SB_.PCI0.ISA_.EC0_.FAN_)
                }
                Else {
                    Return(0x0)
                }
            }
            Else {
                Return(0x0)
            }
        }
        Method(_ON_) {
            If(LAnd(\_SB_.PCI0.ISA_.ECOK(), LEqual(ECDY, 0x0))) {
                If(LNot(LLess(TZOK, 0x3))) {
                    Store(One, \_SB_.PCI0.ISA_.EC0_.FAN_)
                }
                Else {
                }
            }
        }
        Method(_OFF) {
            If(LAnd(\_SB_.PCI0.ISA_.ECOK(), LEqual(ECDY, 0x0))) {
                If(LEqual(TZOK, 0xb)) {
                    Store(Zero, \_SB_.PCI0.ISA_.EC0_.FAN_)
                }
                Else {
                }
            }
        }
    }
    Device(FAN_) {
        Name(_HID, 0x0b0cd041)
        Name(_PR0, Package(0x1) {
            PFAN,
        })
    }
    ThermalZone(THRM) {
        Name(_AL0, Package(0x1) {
            FAN_,
        })
        Name(_PSL, Package(0x1) {
            \_PR_.CPU0,
        })
        Method(_TMP) {
            If(LLess(TZOK, 0xb)) {
                Increment(TZOK)
            }
            If(LAnd(\_SB_.PCI0.ISA_.ECOK(), LEqual(ECDY, 0x0))) {
                If(LNot(LLess(TZOK, 0x3))) {
                    Store(\_SB_.PCI0.ISA_.EC0_.TMP_, Local0)
                    Store(Local0, TMPT)
                    Return(KELV(Local0))
                }
                Else {
                    Return(KELV(TMPT))
                }
            }
            Else {
                Return(KELV(TMPT))
            }
        }
        Method(_AC0) {
            Return(KELV(0x39))
        }
        Method(_PSV) {
            Return(KELV(0x52))
        }
        Method(_CRT) {
            Return(KELV(0x5a))
        }
        Method(_SCP, 1) {
            If(LAnd(\_SB_.PCI0.ISA_.ECOK(), LEqual(ECDY, 0x0))) {
            }
        }
        Name(_TC1, 0x4)
        Name(_TC2, 0x3)
        Name(_TSP, 0x012c)
    }
}
Scope(_SB_) {
    OperationRegion(ACB_, SystemMemory, 0x03fffebc, 0x00000100)
    Field(ACB_, AnyAcc, NoLock, Preserve) {
        BCMD,	8,
        DID_,	32,
        INFO,	2000
    }
    Field(ACB_, AnyAcc, NoLock, Preserve) {
        Offset(0x5),
        INF_,	8
    }
    Field(ACB_, AnyAcc, NoLock, Preserve) {
        Offset(0xff),
        MFLG,	8
    }
    Mutex(PSMX, 0)
    Device(LID_) {
        Name(_HID, 0x0d0cd041)
        Method(_LID) {
            Store("LID STATE", Debug)
            Store(\_SB_.PCI0.PM__.LDST, Local1)
            If(LEqual(Local1, 0x0)) {
                Store(0x89, \_SB_.BCMD)
                Store(\_SB_.PCI0.PM__.GP14, Local0)
                Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
            }
            Return(Local1)
        }
    }
    Name(BATS, 0x2)
    Name(BATR, 0x0)
    Name(BATC, 0x0900)
    Name(BATV, 0x1fff)
    Name(BSTS, 0x1f)
    Device(BAT0) {
        Name(_HID, 0x0a0cd041)
        Name(PCL_, Package(0x1) {
            \_SB_,
        })
        Method(_STA) {
            If(LAnd(\_SB_.PCI0.ISA_.ECOK(), LEqual(ECDY, 0x0))) {
                If(\_SB_.PCI0.ISA_.EC0_.BAT0) {
                    Store(0x1f, BSTS)
                }
                Else {
                    Store(0xf, BSTS)
                }
            }
            Return(BSTS)
        }
        Method(_BIF) {
            Return(Package(0xd) {
                0x1,
                0x1194,
                0x1194,
                0x1,
                0x3840,
                0x01a4,
                0x9c,
                0x0108,
                0x0ec4,
                "N5168 ",
                "3658Q",
                "NiMH ",
                "TOSHIBA",
            })
        }
        Method(_BST) {
            Store(0x1, Local0)
            Store(0x01ff, Local1)
            Store(0x0900, Local2)
            Store(0x1fff, Local3)
            Name(STAT, Package(0x4) {
            })
            If(LGreater(ECDY, 0x0)) {
                Decrement(ECDY)
            }
            If(LAnd(\_SB_.PCI0.ISA_.ECOK(), LEqual(ECDY, 0x0))) {
                Store(\_SB_.PCI0.ISA_.EC0_.BST0, Local0)
                Store(\_SB_.PCI0.ISA_.EC0_.BPR0, Local1)
                Store(\_SB_.PCI0.ISA_.EC0_.BRC0, Local2)
                Store(\_SB_.PCI0.ISA_.EC0_.BPV0, Local3)
                Store(Local0, BATS)
                Store(Local1, BATR)
                Store(Local2, BATC)
                Store(Local3, BATV)
            }
            Else {
                Store(BATS, Local0)
                Store(BATR, Local1)
                Store(BATC, Local2)
                Store(BATV, Local3)
            }
            If(\_SB_.PCI0.PM__.ACPW) {
                If(LEqual(BATC, 0x1194)) {
                }
                Else {
                    Store(0x2, Local0)
                }
            }
            Else {
                And(Local0, 0x5, Local0)
                Or(Local0, 0x1, Local0)
            }
            Store(Local0, Index(STAT, 0x0, ))
            Store(Local1, Index(STAT, 0x1, ))
            Store(Local2, Index(STAT, 0x2, ))
            Store(Local3, Index(STAT, 0x3, ))
            Return(STAT)
        }
    }
    Device(AC__) {
        Name(_HID, "ACPI0003")
        Name(_PCL, Package(0x1) {
            \_SB_,
        })
        Method(_PSR) {
            If(\_SB_.PCI0.PM__.ACPW) {
                Return(0x1)
            }
            Else {
                Return(0x0)
            }
        }
    }
    Device(PCI0) {
        Method(_INI) {
            Store(" __________________ ", Debug)
            Store("|                  |", Debug)
            Store("|  _SB.PCI0._INI  |", Debug)
            Store("|__________________|", Debug)
        }
        Name(_HID, 0x030ad041)
        Name(_BBN, 0x0)
        Name(_ADR, 0x0)
        Method(_STA) {
            Return(0xf)
        }
        OperationRegion(REGS, PCI_Config, 0x50, 0x20)
        Field(REGS, DWordAcc, NoLock, Preserve) {
            Offset(0x6),
            SR56,	8,
            SR57,	8,
            SR58,	8,
            SR59,	8,
            SR5A,	8,
            SR5B,	8,
            Offset(0x1e),
            DB6E,	8,
            DB6F,	8
        }
        Name(RSRC, Buffer(0x01b7) {0x88, 0xe, 0x0, 0x2, 0xe, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0=
x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x=
0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x=
0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40=
, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0=
x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x=
0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc,=
 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0=
x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff=
, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18,=
 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0=
xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0=
, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, =
0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x=
3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0,=
 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0=
x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0,=
 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0=
x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4=
0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, =
0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0=
x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe=
, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, =
0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0=
, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0x=
f8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xe, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0,=
 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x88, 0xe, 0x0, 0x1, 0xc, 0x3, 0=
x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x79, 0x0 })
        Method(_CRS, 0, Serialized) {
            CreateBitField(RSRC, 0x0188, C0RW)
            CreateDWordField(RSRC, 0x42, C0LN)
            CreateBitField(RSRC, 0x0189, C0MM)
            Store(One, C0RW)
            Store(0x4000, C0LN)
            If(And(SR56, 0x1, )) {
                Store(0x0, C0LN)
                If(LNot(And(SR58, 0x1, ))) {
                    Store(Zero, C0RW)
                }
            }
            Store(Zero, C0MM)
            If(And(SR5A, 0x1, )) {
                Store(One, C0MM)
            }
            CreateBitField(RSRC, 0x0260, C4RW)
            CreateDWordField(RSRC, 0x5d, C4LN)
            CreateBitField(RSRC, 0x0261, C4MM)
            Store(One, C4RW)
            Store(0x4000, C4LN)
            If(And(SR56, 0x2, )) {
                Store(0x0, C4LN)
                If(LNot(And(SR58, 0x2, ))) {
                    Store(Zero, C4RW)
                }
            }
            Store(Zero, C4MM)
            If(And(SR5A, 0x2, )) {
                Store(One, C4MM)
            }
            CreateBitField(RSRC, 0x0338, C8RW)
            CreateDWordField(RSRC, 0x78, C8LN)
            CreateBitField(RSRC, 0x0339, C8MM)
            Store(One, C8RW)
            Store(0x4000, C8LN)
            If(And(SR56, 0x4, )) {
                Store(0x0, C8LN)
                If(LNot(And(SR58, 0x4, ))) {
                    Store(Zero, C8RW)
                }
            }
            Store(Zero, C8MM)
            If(And(SR5A, 0x4, )) {
                Store(One, C8MM)
            }
            CreateBitField(RSRC, 0x0410, CCRW)
            CreateDWordField(RSRC, 0x93, CCLN)
            CreateBitField(RSRC, 0x0411, CCMM)
            Store(One, CCRW)
            Store(0x4000, CCLN)
            If(And(SR56, 0x8, )) {
                Store(0x0, CCLN)
                If(LNot(And(SR58, 0x8, ))) {
                    Store(Zero, CCRW)
                }
            }
            Store(Zero, CCMM)
            If(And(SR5A, 0x8, )) {
                Store(One, CCMM)
            }
            CreateBitField(RSRC, 0x04e8, D0RW)
            CreateDWordField(RSRC, 0xae, D0LN)
            CreateBitField(RSRC, 0x04e9, D0MM)
            Store(One, D0RW)
            Store(0x4000, D0LN)
            If(And(SR56, 0x10, )) {
                Store(0x0, D0LN)
                If(LNot(And(SR58, 0x10, ))) {
                    Store(Zero, D0RW)
                }
            }
            Store(Zero, D0MM)
            If(And(SR5A, 0x10, )) {
                Store(One, D0MM)
            }
            CreateBitField(RSRC, 0x05c0, D4RW)
            CreateDWordField(RSRC, 0xc9, D4LN)
            CreateBitField(RSRC, 0x05c1, D4MM)
            Store(One, D4RW)
            Store(0x4000, D4LN)
            If(And(SR56, 0x20, )) {
                Store(0x0, D4LN)
                If(LNot(And(SR58, 0x20, ))) {
                    Store(Zero, D4RW)
                }
            }
            Store(Zero, D4MM)
            If(And(SR5A, 0x20, )) {
                Store(One, D4MM)
            }
            CreateBitField(RSRC, 0x0698, D8RW)
            CreateDWordField(RSRC, 0xe4, D8LN)
            CreateBitField(RSRC, 0x0699, D8MM)
            Store(One, D8RW)
            Store(0x4000, D8LN)
            If(And(SR56, 0x40, )) {
                Store(0x0, D8LN)
                If(LNot(And(SR58, 0x40, ))) {
                    Store(Zero, D8RW)
                }
            }
            Store(Zero, D8MM)
            If(And(SR5A, 0x40, )) {
                Store(One, D8MM)
            }
            CreateBitField(RSRC, 0x0770, DCRW)
            CreateDWordField(RSRC, 0xff, DCLN)
            CreateBitField(RSRC, 0x0771, DCMM)
            Store(One, DCRW)
            Store(0x4000, DCLN)
            If(And(SR56, 0x80, )) {
                Store(0x0, DCLN)
                If(LNot(And(SR58, 0x80, ))) {
                    Store(Zero, DCRW)
                }
            }
            Store(Zero, DCMM)
            If(And(SR5A, 0x80, )) {
                Store(One, DCMM)
            }
            CreateBitField(RSRC, 0x0848, E0RW)
            CreateDWordField(RSRC, 0x011a, E0LN)
            CreateBitField(RSRC, 0x0849, E0MM)
            Store(One, E0RW)
            Store(0x4000, E0LN)
            If(And(SR57, 0x1, )) {
                Store(0x0, E0LN)
                If(LNot(And(SR59, 0x1, ))) {
                    Store(Zero, E0RW)
                }
            }
            Store(Zero, E0MM)
            If(And(SR5B, 0x1, )) {
                Store(One, E0MM)
            }
            CreateBitField(RSRC, 0x0920, E4RW)
            CreateDWordField(RSRC, 0x0135, E4LN)
            CreateBitField(RSRC, 0x0921, E4MM)
            Store(One, E4RW)
            Store(0x4000, E4LN)
            If(And(SR57, 0x2, )) {
                Store(0x0, E4LN)
                If(LNot(And(SR59, 0x2, ))) {
                    Store(Zero, E4RW)
                }
            }
            Store(Zero, E4MM)
            If(And(SR5B, 0x2, )) {
                Store(One, E4MM)
            }
            CreateBitField(RSRC, 0x09f8, E8RW)
            CreateDWordField(RSRC, 0x0150, E8LN)
            CreateBitField(RSRC, 0x09f9, E8MM)
            Store(One, E8RW)
            Store(0x4000, E8LN)
            If(And(SR57, 0x4, )) {
                Store(0x0, E8LN)
                If(LNot(And(SR59, 0x4, ))) {
                    Store(Zero, E8RW)
                }
            }
            Store(Zero, E8MM)
            If(And(SR5B, 0x4, )) {
                Store(One, E8MM)
            }
            CreateBitField(RSRC, 0x0ad0, ECRW)
            CreateDWordField(RSRC, 0x016b, ECLN)
            CreateBitField(RSRC, 0x0ad1, ECMM)
            Store(One, ECRW)
            Store(0x4000, ECLN)
            If(And(SR57, 0x8, )) {
                Store(0x0, ECLN)
                If(LNot(And(SR59, 0x8, ))) {
                    Store(Zero, ECRW)
                }
            }
            Store(Zero, ECMM)
            If(And(SR5B, 0x8, )) {
                Store(One, ECMM)
            }
            CreateDWordField(RSRC, 0x017a, BTMN)
            CreateDWordField(RSRC, 0x017e, BTMX)
            CreateDWordField(RSRC, 0x0186, BTLN)
            Store(DB6F, Local0)
            And(Local0, 0xf, Local0)
            ShiftLeft(Local0, 0x4, Local0)
            Add(Local0, DB6E, Local0)
            Increment(Local0)
            Multiply(Local0, 0x00100000, Local0)
            Store(Local0, BTMN)
            Subtract(0xffe00000, Local0, BTLN)
            Subtract(Add(BTMN, BTLN, ), 0x1, BTMX)
            Return(RSRC)
        }
        Name(_PRT, Package(0x5) {
            Package(0x4) {
                0x0004ffff,
                0x0,
                \_SB_.PCI0.ISA_.LNK1,
                0x0,
            },
            Package(0x4) {
                0x0004ffff,
                0x1,
                \_SB_.PCI0.ISA_.LNK2,
                0x0,
            },
            Package(0x4) {
                0x0013ffff,
                0x0,
                \_SB_.PCI0.ISA_.LNK5,
                0x0,
            },
            Package(0x4) {
                0x0008ffff,
                0x0,
                \_SB_.PCI0.ISA_.LNK3,
                0x0,
            },
            Package(0x4) {
                0x0010ffff,
                0x0,
                \_SB_.PCI0.ISA_.LNK4,
                0x0,
            },
        })
        Device(ISA_) {
            Name(_ADR, 0x00070000)
            Device(LNK1) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x1)
                Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xce, 0x18, 0x79, 0x0 })
                Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                Method(_DIS) {
                    Store(0x0, PIR1)
                }
                Method(_CRS) {
                    CreateWordField(RSRC, 0x1, IRQ0)
                    Store(PIR1, Local0)
                    Store(DerefOf(Index(PIRI, Local0, )), Local1)
                    If(Local1) {
                        ShiftLeft(0x1, Local1, IRQ0)
                    }
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x1, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(DerefOf(Index(PIIR, Local0, )), PIR1)
                }
                Method(_STA) {
                    If(PIR1) {
                        Return(0xb)
                    }
                    Return(0x9)
                }
            }
            Device(LNK2) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x2)
                Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xce, 0x18, 0x79, 0x0 })
                Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                Method(_DIS) {
                    Store("LNK2_DIS", Debug)
                    Store(0x0, PIR2)
                }
                Method(_CRS) {
                    Store("LNK2_CRS", Debug)
                    CreateWordField(RSRC, 0x1, IRQ0)
                    Store(PIR2, Local0)
                    Store(DerefOf(Index(PIRI, Local0, )), Local1)
                    If(Local1) {
                        ShiftLeft(0x1, Local1, IRQ0)
                    }
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    Store("LNK2_SRS", Debug)
                    CreateWordField(Arg0, 0x1, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(DerefOf(Index(PIIR, Local0, )), PIR2)
                }
                Method(_STA) {
                    Store("LNK2_STA", Debug)
                    If(PIR2) {
                        Return(0xb)
                    }
                    Return(0x9)
                }
            }
            Device(LNK3) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x3)
                Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xce, 0x18, 0x79, 0x0 })
                Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                Method(_DIS) {
                    Store("LNK3_DIS", Debug)
                    Store(0x0, PIR3)
                }
                Method(_CRS) {
                    Store("LNK3_CRS", Debug)
                    CreateWordField(RSRC, 0x1, IRQ0)
                    Store(PIR3, Local0)
                    Store(DerefOf(Index(PIRI, Local0, )), Local1)
                    If(Local1) {
                        ShiftLeft(0x1, Local1, IRQ0)
                    }
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    Store("LNK3_SRS", Debug)
                    CreateWordField(Arg0, 0x1, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(DerefOf(Index(PIIR, Local0, )), PIR3)
                }
                Method(_STA) {
                    Store("LNK3_STA", Debug)
                    If(PIR3) {
                        Return(0xb)
                    }
                    Return(0x9)
                }
            }
            Device(LNK4) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x4)
                Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xcc, 0x18, 0x79, 0x0 })
                Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                Method(_DIS) {
                    Store("LNK4_DIS", Debug)
                    Store(0x0, PIR4)
                }
                Method(_CRS) {
                    Store("LNK4_CRS", Debug)
                    CreateWordField(RSRC, 0x1, IRQ0)
                    Store(PIR4, Local0)
                    Store(DerefOf(Index(PIRI, Local0, )), Local1)
                    If(Local1) {
                        ShiftLeft(0x1, Local1, IRQ0)
                    }
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    Store("LNK4_SRS", Debug)
                    CreateWordField(Arg0, 0x1, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(DerefOf(Index(PIIR, Local0, )), PIR4)
                }
                Method(_STA) {
                    Store("LNK4_STA", Debug)
                    If(PIR4) {
                        Return(0xb)
                    }
                    Return(0x9)
                }
            }
            Device(LNK5) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x5)
                Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xce, 0x18, 0x79, 0x0 })
                Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                Method(_DIS) {
                    Store(0x0, PUSB)
                }
                Method(_CRS) {
                    CreateWordField(RSRC, 0x1, IRQ0)
                    Store(PUSB, Local0)
                    Store(DerefOf(Index(PIRI, Local0, )), Local1)
                    If(Local1) {
                        ShiftLeft(0x1, Local1, IRQ0)
                    }
                    Return(RSRC)
                }
                Method(_SRS, 1) {
                    CreateWordField(Arg0, 0x1, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(DerefOf(Index(PIIR, Local0, )), PUSB)
                }
                Method(_STA) {
                    If(PUSB) {
                        Return(0xb)
                    }
                    Return(0x9)
                }
            }
            OperationRegion(PIRX, PCI_Config, 0x48, 0x4)
            Field(PIRX, DWordAcc, Lock, Preserve) {
                AccessAs(ByteAcc, 0),
                PIR1,	4,
                PIR2,	4,
                PIR3,	4,
                PIR4,	4,
                PIR5,	4,
                PIR6,	4,
                PIR7,	4,
                PIR8,	4
            }
            OperationRegion(PIRY, PCI_Config, 0x74, 0x4)
            Field(PIRY, DWordAcc, Lock, Preserve) {
                AccessAs(ByteAcc, 0),
                PUSB,	4
            }
            Name(PIRI, Package(0x10) {
                0x0,
                0x9,
                0x3,
                0xa,
                0x4,
                0x5,
                0x7,
                0x6,
                0x1,
                0xb,
                0x0,
                0xc,
                0x0,
                0xe,
                0x0,
                0xf,
            })
            Name(PIIR, Package(0x10) {
                0x0,
                0x8,
                0x0,
                0x2,
                0x4,
                0x5,
                0x7,
                0x6,
                0x0,
                0x1,
                0x3,
                0x9,
                0xb,
                0x0,
                0xd,
                0xf,
            })
            Device(SIO_) {
                Name(_HID, 0x050ad041)
                OperationRegion(F3F4, SystemIO, 0x03f4, 0x1)
                Field(F3F4, ByteAcc, NoLock, Preserve) {
                    FDST,	8
                }
                OperationRegion(NSCS, SystemIO, 0x2e, 0x2)
                Field(NSCS, ByteAcc, NoLock, Preserve) {
                    INDX,	8,
                    DATA,	8
                }
                IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
                    FER0,	8
                }
                Device(LPT_) {
                    Name(MCD_, 0x12)
                    Name(_HID, 0x0004d041)
                    Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, =
0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        If(And(_STA(), 0x2, )) {
                            Acquire(PSMX, 0xffff)
                            Store(0x0, BCMD)
                            Store(MCD_, DID_)
                            Store(\_SB_.PCI0.PM__.GP14, Local0)
                            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                            Store(INFO, Local0)
                            Release(PSMX)
                            Return(Local0)
                        }
                        Return(RSRC)
                    }
                    Method(B_SR, 1) {
                        Acquire(PSMX, 0xffff)
                        Store(0x1, BCMD)
                        Store(MCD_, DID_)
                        Store(Arg0, INFO)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(B_PR) {
                        Acquire(PSMX, 0xffff)
                        Store(0x2, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INFO, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(B_DI) {
                        Acquire(PSMX, 0xffff)
                        Store(0x3, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_STA) {
                        Acquire(PSMX, 0xffff)
                        Store(0x4, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INF_, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_PS0) {
                        Store("ECP_PS0", Debug)
                        Or(FER0, 0x1, FER0)
                        Store(FDST, Local0)
                    }
                    Method(_PS3) {
                        Store("ECP_PS3", Debug)
                        And(FER0, 0xfe, FER0)
                    }
                }
                Device(LPTB) {
                    Name(MCD_, 0x13)
                    Name(_HID, 0x0004d041)
                    Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, =
0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        If(And(_STA(), 0x2, )) {
                            Acquire(PSMX, 0xffff)
                            Store(0x0, BCMD)
                            Store(MCD_, DID_)
                            Store(\_SB_.PCI0.PM__.GP14, Local0)
                            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                            Store(INFO, Local0)
                            Release(PSMX)
                            Return(Local0)
                        }
                        Return(RSRC)
                    }
                    Method(B_SR, 1) {
                        Acquire(PSMX, 0xffff)
                        Store(0x1, BCMD)
                        Store(MCD_, DID_)
                        Store(Arg0, INFO)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(B_PR) {
                        Acquire(PSMX, 0xffff)
                        Store(0x2, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INFO, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(B_DI) {
                        Acquire(PSMX, 0xffff)
                        Store(0x3, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_STA) {
                        Acquire(PSMX, 0xffff)
                        Store(0x4, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INF_, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_PS0) {
                        Store("ECP_PS0", Debug)
                        Or(FER0, 0x1, FER0)
                        Store(FDST, Local0)
                    }
                    Method(_PS3) {
                        Store("ECP_PS3", Debug)
                        And(FER0, 0xfe, FER0)
                    }
                }
                Device(ECP_) {
                    Name(MCD_, 0x14)
                    Name(_HID, 0x0104d041)
                    Name(RSRC, Buffer(0x18) {0x2a, 0x0, 0x0, 0x47, 0x1, 0x0=
, 0x1, 0x0, 0x1, 0x1, 0x8, 0x47, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x8, 0x22, 0=
x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        If(And(_STA(), 0x2, )) {
                            Acquire(PSMX, 0xffff)
                            Store(0x0, BCMD)
                            Store(MCD_, DID_)
                            Store(\_SB_.PCI0.PM__.GP14, Local0)
                            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                            Store(INFO, Local0)
                            Release(PSMX)
                            Return(Local0)
                        }
                        Return(RSRC)
                    }
                    Method(_SRS, 1) {
                        Acquire(PSMX, 0xffff)
                        Store(0x1, BCMD)
                        Store(MCD_, DID_)
                        Store(Arg0, INFO)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_PRS) {
                        Acquire(PSMX, 0xffff)
                        Store(0x2, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INFO, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_DIS) {
                        Acquire(PSMX, 0xffff)
                        Store(0x3, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_STA) {
                        Acquire(PSMX, 0xffff)
                        Store(0x4, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INF_, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_PS0) {
                        Store("ECP_PS0", Debug)
                        Or(FER0, 0x1, FER0)
                        Store(FDST, Local0)
                    }
                    Method(_PS3) {
                        Store("ECP_PS3", Debug)
                        And(FER0, 0xfe, FER0)
                    }
                }
                Device(EPP_) {
                    Name(MCD_, 0x15)
                    Name(_HID, 0x0004d041)
                    Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, =
0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        If(And(_STA(), 0x2, )) {
                            Acquire(PSMX, 0xffff)
                            Store(0x0, BCMD)
                            Store(MCD_, DID_)
                            Store(\_SB_.PCI0.PM__.GP14, Local0)
                            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                            Store(INFO, Local0)
                            Release(PSMX)
                            Return(Local0)
                        }
                        Return(RSRC)
                    }
                    Method(B_SR, 1) {
                        Acquire(PSMX, 0xffff)
                        Store(0x1, BCMD)
                        Store(MCD_, DID_)
                        Store(Arg0, INFO)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(B_PR) {
                        Acquire(PSMX, 0xffff)
                        Store(0x2, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INFO, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(B_DI) {
                        Acquire(PSMX, 0xffff)
                        Store(0x3, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_STA) {
                        Acquire(PSMX, 0xffff)
                        Store(0x4, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INF_, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_PS0) {
                        Store("ECP_PS0", Debug)
                        Or(FER0, 0x1, FER0)
                        Store(FDST, Local0)
                    }
                    Method(_PS3) {
                        Store("ECP_PS3", Debug)
                        And(FER0, 0xfe, FER0)
                    }
                }
                Device(COMA) {
                    Name(MCD_, 0xe)
                    Name(_HID, 0x0105d041)
                    Name(_UID, 0x1)
                    Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, =
0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        If(And(_STA(), 0x2, )) {
                            Acquire(PSMX, 0xffff)
                            Store(0x0, BCMD)
                            Store(MCD_, DID_)
                            Store(\_SB_.PCI0.PM__.GP14, Local0)
                            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                            Store(INFO, Local0)
                            Release(PSMX)
                            Return(Local0)
                        }
                        Return(RSRC)
                    }
                    Method(_SRS, 1) {
                        Acquire(PSMX, 0xffff)
                        Store(0x1, BCMD)
                        Store(MCD_, DID_)
                        Store(Arg0, INFO)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_PRS) {
                        Acquire(PSMX, 0xffff)
                        Store(0x2, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INFO, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_DIS) {
                        Acquire(PSMX, 0xffff)
                        Store(0x3, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_STA) {
                        Acquire(PSMX, 0xffff)
                        Store(0x4, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INF_, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_PSC) {
                        If(LAnd(FER0, 0x2)) {
                            Store(0x0, Local0)
                        }
                        Else {
                            Store(0x3, Local0)
                        }
                        Return(Local0)
                    }
                    Method(_PS0) {
                        Store("COMA_PS0", Debug)
                        Or(FER0, 0x2, FER0)
                        Store(FDST, Local0)
                    }
                    Method(_PS3) {
                        Store("COMA_PS3", Debug)
                        And(FER0, 0xfd, FER0)
                    }
                }
                Device(COMB) {
                    Name(MCD_, 0xf)
                    Name(_HID, 0x0105d041)
                    Name(_UID, 0x2)
                    Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, =
0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        If(And(_STA(), 0x2, )) {
                            Acquire(PSMX, 0xffff)
                            Store(0x0, BCMD)
                            Store(MCD_, DID_)
                            Store(\_SB_.PCI0.PM__.GP14, Local0)
                            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                            Store(INFO, Local0)
                            Release(PSMX)
                            Return(Local0)
                        }
                        Return(RSRC)
                    }
                    Method(B_SR, 1) {
                        Acquire(PSMX, 0xffff)
                        Store(0x1, BCMD)
                        Store(MCD_, DID_)
                        Store(Arg0, INFO)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(B_PR) {
                        Acquire(PSMX, 0xffff)
                        Store(0x2, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INFO, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(B_DI) {
                        Acquire(PSMX, 0xffff)
                        Store(0x3, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_STA) {
                        Acquire(PSMX, 0xffff)
                        Store(0x4, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INF_, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_PS0) {
                        Store("COMB_PS0", Debug)
                        Or(FER0, 0x4, FER0)
                        Store(FDST, Local0)
                    }
                    Method(_PS3) {
                        Store("COMB_PS3", Debug)
                        And(FER0, 0xfb, FER0)
                    }
                }
                Device(IRDA) {
                    Name(MCD_, 0x10)
                    Name(_HID, 0x1005d041)
                    Name(_UID, 0x1)
                    Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, =
0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        If(And(_STA(), 0x2, )) {
                            Acquire(PSMX, 0xffff)
                            Store(0x0, BCMD)
                            Store(MCD_, DID_)
                            Store(\_SB_.PCI0.PM__.GP14, Local0)
                            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                            Store(INFO, Local0)
                            Release(PSMX)
                            Return(Local0)
                        }
                        Return(RSRC)
                    }
                    Method(B_SR, 1) {
                        Acquire(PSMX, 0xffff)
                        Store(0x1, BCMD)
                        Store(MCD_, DID_)
                        Store(Arg0, INFO)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(B_PR) {
                        Acquire(PSMX, 0xffff)
                        Store(0x2, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INFO, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(B_DI) {
                        Acquire(PSMX, 0xffff)
                        Store(0x3, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_STA) {
                        Acquire(PSMX, 0xffff)
                        Store(0x4, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INF_, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_PS0) {
                        Store("ComBIrDA_PS0", Debug)
                        Or(FER0, 0x4, FER0)
                        Store(FDST, Local0)
                    }
                    Method(_PS3) {
                        Store("ComBIrDA_PS3", Debug)
                        And(FER0, 0xfb, FER0)
                    }
                }
                Device(BASK) {
                    Name(MCD_, 0x11)
                    Name(_HID, 0x1005d041)
                    Name(_UID, 0x2)
                    Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, =
0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        If(And(_STA(), 0x2, )) {
                            Acquire(PSMX, 0xffff)
                            Store(0x0, BCMD)
                            Store(MCD_, DID_)
                            Store(\_SB_.PCI0.PM__.GP14, Local0)
                            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                            Store(INFO, Local0)
                            Release(PSMX)
                            Return(Local0)
                        }
                        Return(RSRC)
                    }
                    Method(B_SR, 1) {
                        Acquire(PSMX, 0xffff)
                        Store(0x1, BCMD)
                        Store(MCD_, DID_)
                        Store(Arg0, INFO)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(B_PR) {
                        Acquire(PSMX, 0xffff)
                        Store(0x2, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INFO, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(B_DI) {
                        Acquire(PSMX, 0xffff)
                        Store(0x3, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_STA) {
                        Acquire(PSMX, 0xffff)
                        Store(0x4, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INF_, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_PS0) {
                        Store("ComBAskIr_PS0", Debug)
                        Or(FER0, 0x4, FER0)
                        Store(FDST, Local0)
                    }
                    Method(_PS3) {
                        Store("ComBAskIr_PS3", Debug)
                        And(FER0, 0xfb, FER0)
                    }
                }
                Device(FIR_) {
                    Name(MCD_, 0xb)
                    Name(_HID, 0x0160633a)
                    Name(_UID, 0x2)
                    Name(RSRC, Buffer(0x10) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1,=
 0x1, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        If(And(_STA(), 0x2, )) {
                            Acquire(PSMX, 0xffff)
                            Store(0x0, BCMD)
                            Store(MCD_, DID_)
                            Store(\_SB_.PCI0.PM__.GP14, Local0)
                            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                            Store(INFO, Local0)
                            Release(PSMX)
                            Return(Local0)
                        }
                        Return(RSRC)
                    }
                    Method(B_SR, 1) {
                        Acquire(PSMX, 0xffff)
                        Store(0x1, BCMD)
                        Store(MCD_, DID_)
                        Store(Arg0, INFO)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(B_PR) {
                        Acquire(PSMX, 0xffff)
                        Store(0x2, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INFO, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(B_DI) {
                        Acquire(PSMX, 0xffff)
                        Store(0x3, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_STA) {
                        Acquire(PSMX, 0xffff)
                        Store(0x4, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INF_, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_PS0) {
                        Store("ComBFir_PS0", Debug)
                        Or(FER0, 0x4, FER0)
                        Store(FDST, Local0)
                    }
                    Method(_PS3) {
                        Store("ComBFir_PS3", Debug)
                        And(FER0, 0xfb, FER0)
                    }
                }
                Device(FDC_) {
                    Name(MCD_, 0xc)
                    Name(_HID, 0x0007d041)
                    Name(RSRC, Buffer(0x18) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1,=
 0x1, 0x6, 0x47, 0x1, 0x7, 0x1, 0x7, 0x1, 0x1, 0x1, 0x22, 0x0, 0x0, 0x2a, 0=
x0, 0x0, 0x79, 0x0 })
                    Method(_CRS) {
                        If(And(_STA(), 0x2, )) {
                            Acquire(PSMX, 0xffff)
                            Store(0x0, BCMD)
                            Store(MCD_, DID_)
                            Store(\_SB_.PCI0.PM__.GP14, Local0)
                            Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                            Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                            Store(INFO, Local0)
                            Release(PSMX)
                            Return(Local0)
                        }
                        Return(RSRC)
                    }
                    Method(_SRS, 1) {
                        Acquire(PSMX, 0xffff)
                        Store(0x1, BCMD)
                        Store(MCD_, DID_)
                        Store(Arg0, INFO)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_PRS) {
                        Acquire(PSMX, 0xffff)
                        Store(0x2, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INFO, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_DIS) {
                        Acquire(PSMX, 0xffff)
                        Store(0x3, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Release(PSMX)
                    }
                    Method(_STA) {
                        Acquire(PSMX, 0xffff)
                        Store(0x4, BCMD)
                        Store(MCD_, DID_)
                        Store(\_SB_.PCI0.PM__.GP14, Local0)
                        Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                        Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                        Store(INF_, Local0)
                        Release(PSMX)
                        Return(Local0)
                    }
                    Method(_PS0) {
                        Store("FDC_PS0", Debug)
                        Or(FER0, 0x8, FER0)
                        Store(FDST, Local0)
                    }
                    Method(_PS3) {
                        Store("FDC_PS3", Debug)
                        And(FER0, 0xf7, FER0)
                    }
                }
            }
            Device(DMAC) {
                Name(_HID, 0x0002d041)
                Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1=
, 0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0xc0, 0x0, 0x=
c0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x2, 0x79, 0x0 })
            }
            Device(PIC_) {
                Name(_HID, 0xd041)
                Name(_CRS, Buffer(0x16) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0=
x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x23, 0x4, 0x0, 0x1, 0x=
79, 0x0 })
            }
            Device(TIME) {
                Name(_HID, 0x0001d041)
                Name(_CRS, Buffer(0xe) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x=
1, 0x4, 0x23, 0x1, 0x0, 0x1, 0x79, 0x0 })
            }
            Device(RTC_) {
                Name(_HID, 0x000bd041)
                Name(_CRS, Buffer(0xe) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x=
1, 0x2, 0x23, 0x0, 0x1, 0x1, 0x79, 0x0 })
            }
            Device(MATH) {
                Name(_HID, 0x040cd041)
                Name(_CRS, Buffer(0xe) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x=
1, 0xf, 0x23, 0x0, 0x20, 0x1, 0x79, 0x0 })
            }
            Device(SPKR) {
                Name(_HID, 0x0008d041)
                Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x=
1, 0x1, 0x79, 0x0 })
            }
            Device(KBC0) {
                Name(_HID, 0x0303d041)
                Name(_CRS, Buffer(0x16) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0=
x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x23, 0x2, 0x0, 0x1, 0x=
79, 0x0 })
            }
            Device(MSE0) {
                Name(_HID, 0x130fd041)
                Name(_CRS, Buffer(0x6) {0x23, 0x0, 0x10, 0x1, 0x79, 0x0 })
            }
            Device(SYSR) {
                Name(_HID, 0x020cd041)
                Name(_CRS, Buffer(0x5e) {0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0=
x1, 0x1, 0x47, 0x1, 0x22, 0x0, 0x22, 0x0, 0x1, 0x1, 0x47, 0x1, 0xb1, 0x0, 0=
xb1, 0x0, 0x1, 0x1, 0x47, 0x1, 0x92, 0x0, 0x92, 0x0, 0x1, 0x1, 0x47, 0x1, 0=
x10, 0x38, 0x10, 0x38, 0x1, 0x10, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2=
, 0x47, 0x1, 0x0, 0x10, 0x0, 0x10, 0x1, 0x60, 0x47, 0x1, 0xd6, 0x4, 0xd6, 0=
x4, 0x1, 0x1, 0x47, 0x1, 0x80, 0x4, 0x80, 0x4, 0x1, 0x10, 0x47, 0x1, 0xb, 0=
x4, 0xb, 0x4, 0x1, 0x1, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xff, 0x0, 0x0=
, 0x4, 0x0, 0x79, 0x0 })
            }
            Method(ECOK) {
                If(LAnd(And(\_SB_.PCI0.ISA_.EC0_.OPRG, 0x8, ), And(MFLG, 0x=
1, ))) {
                    Return(0x1)
                }
                Else {
                    Return(0x0)
                }
            }
            Device(EC0_) {
                Name(_HID, 0x090cd041)
                Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0=
x1, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 })
                Name(_GPE, 0x6)
                Name(OPRG, 0x17)
                Method(_REG, 2) {
                    If(LEqual(Arg0, 0x3)) {
                        If(LEqual(Arg1, 0x0)) {
                            And(OPRG, Not(0x8, ), OPRG)
                        }
                        Else {
                            Or(OPRG, 0x8, OPRG)
                        }
                    }
                }
                OperationRegion(RAM_, EmbeddedControl, 0x28, 0x3f)
                Field(RAM_, AnyAcc, Lock, Preserve) {
                    TMP_,	8,
                    TMPC,	8,
                    TMPA,	8,
                    TMPP,	8,
                    DCID,	8,
                    Offset(0x6),
                    FAN_,	1,
                    MODE,	1,
                    TME0,	1,
                    TME1,	1,
                    ,	1,
                    PHDD,	1,
                    SHDD,	1,
                    FDD_,	1,
                    DPWR,	1,
                    UDR0,	1,
                    UDR5,	1,
                    EQBF,	1,
                    LDDS,	1,
                    ,	1,
                    DCWT,	1,
                    Offset(0x8),
                    S1LD,	1,
                    S2LD,	1,
                    VGAQ,	1,
                    LIDS,	1,
                    LWAK,	1,
                    MWAK,	1,
                    ADP_,	1,
                    POLL,	1,
                    Offset(0xa),
                    Offset(0xb),
                    ,	1,
                    ,	1,
                    ACDY,	1,
                    Offset(0x16),
                    BAT0,	1,
                    BAT1,	1,
                    BAT2,	1,
                    BAT3,	1,
                    Offset(0x17),
                    Offset(0x18),
                    BDC0,	16,
                    BDV0,	16,
                    BTY0,	1,
                    Offset(0x1d),
                    BST0,	8,
                    BPR0,	16,
                    BRC0,	16,
                    BPV0,	16,
                    BTP0,	16,
                    Offset(0x28),
                    BDC1,	16,
                    BDV1,	16,
                    BTY1,	1,
                    Offset(0x2d),
                    BST1,	8,
                    BPR1,	16,
                    BRC1,	16,
                    BPV1,	16,
                    BTP1,	16,
                    Offset(0x38)
                }
                Method(_Q03) {
                    Notify(\_TZ_.THRM, 0x80)
                }
                Method(_Q08) {
                    Store(0x3, ECDY)
                    Notify(\_SB_.AC__, 0x0)
                }
                Method(_Q09) {
                    If(\_SB_.PCI0.ISA_.EC0_.BAT0) {
                        Notify(\_SB_.BAT0, 0x0)
                    }
                    Else {
                        Notify(\_SB_.BAT0, 0x1)
                    }
                }
                Method(_Q0B) {
                    Store(0x8a, \_SB_.BCMD)
                    Store(\_SB_.PCI0.PM__.GP14, Local0)
                    Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                    Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                    Notify(\_SB_.BAT0, 0x80)
                }
            }
        }
        Device(IDE_) {
            Name(_ADR, 0x000f0000)
            Device(PRIM) {
                Name(_ADR, 0x0)
                Method(_STA) {
                    Store("PCI IDE Primary _STA", Debug)
                    Return(0xf)
                }
                Device(MAST) {
                    Name(_ADR, 0x0)
                }
                Device(SLAV) {
                    Name(_ADR, 0x1)
                }
            }
            Device(SECN) {
                Name(_ADR, 0x1)
                Method(_STA) {
                    Store("PCI IDE Secondary _STA", Debug)
                    Return(0xf)
                }
                Device(MAST) {
                    Name(_ADR, 0x0)
                }
                Device(SLAV) {
                    Name(_ADR, 0x1)
                }
            }
            Method(_PS0) {
                Store("IDE_PS0", Debug)
                Store(0x81, BCMD)
                Store(\_SB_.PCI0.PM__.GP14, Local0)
                Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                Store(0x0, _PSC)
            }
            Method(_PS3) {
                Store("IDE_PS3", Debug)
                Store(0x80, BCMD)
                Store(\_SB_.PCI0.PM__.GP14, Local0)
                Store(And(Local0, 0xef, ), \_SB_.PCI0.PM__.GP14)
                Store(Or(Local0, 0x10, ), \_SB_.PCI0.PM__.GP14)
                Store(0x3, _PSC)
            }
            Name(_PSC, 0x0)
        }
        Device(PM__) {
            Name(_ADR, 0x00110000)
            OperationRegion(PMUR, PCI_Config, 0x0, 0xe3)
            Field(PMUR, ByteAcc, NoLock, Preserve) {
                Offset(0x84),
                GP08,	8,
                GP09,	8,
                GP10,	8,
                GP11,	8,
                GP12,	8,
                GP13,	8,
                GP14,	8,
                GP15,	8,
                Offset(0x8d),
                ,	3,
                ACPW,	1,
                ,	1,
                LPOL,	2,
                LDST,	1,
                Offset(0x90),
                GP16,	8,
                GP17,	8,
                GP18,	8,
                GP19,	8
            }
        }
        Device(AUD_) {
            Name(_ADR, 0x00080000)
            Method(_STA) {
                Store("AUD_STA", Debug)
                Return(0xf)
            }
        }
        Device(MODM) {
            Name(_ADR, 0x00100000)
            Method(_PS0) {
                Store("MDM_PS0", Debug)
                Store(0x0, _PSC)
            }
            Method(_PS3) {
                Store("MDM_PS3", Debug)
                Store(0x3, _PSC)
            }
            Name(_PSC, 0x0)
            Method(_STA) {
                Store("MDM_STA", Debug)
                Return(0xf)
            }
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
        }
        Device(AGP_) {
            Name(_ADR, 0x00010000)
            Name(_PRT, Package(0x1) {
                Package(0x4) {
                    0xffff,
                    0x0,
                    \_SB_.PCI0.ISA_.LNK1,
                    0x0,
                },
            })
            Device(VGA_) {
                Name(_ADR, 0x0)
                Method(_PS0) {
                    Store("VGA_PS0", Debug)
                    Store(0x0, _PSC)
                }
                Method(_PS3) {
                    Store("VGA_PS3", Debug)
                    Store(0x3, ECDY)
                    Store(0x3, _PSC)
                }
                Name(_PSC, 0x0)
                Method(_STA) {
                    Store("VGA_STA", Debug)
                    Return(0xf)
                }
            }
        }
    }
}

}


--17pEHd4RhPHOinZp--
