Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Jul 2004 10:42:05 +0200
From:      Andrea Campi <andrea+acpi@webcom.it>
To:        freebsd-acpi@FreeBSD.org
Subject:   CPU Cx states not working with recent kernel on Thinkpad
Message-ID:  <20040706084203.GB19813@webcom.it>

next in thread | raw e-mail | index | archive | help
Hi all,

I upgraded my Thinkpad 570E from a beginning of June kernel to new
sources cvsup'd after the recent changes (ACPICA import etc) a couple
of days ago. I now get this:

...
cpu0: <ACPI CPU (3 Cx states)> port 0x530-0x537 on acpi0
cpu0: Failed to attach throttling P_CNT
...

whereas it used to work:

cpu0: <ACPI CPU (3 Cx states)> on acpi0
...
acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%

andrea@brian:~$ sysctl hw.acpi
hw.acpi.supported_sleep_state: S1 S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S4
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 1
hw.acpi.verbose: 1
hw.acpi.reset_video: 1
hw.acpi.cpu.cx_supported: C1/0
hw.acpi.cpu.cx_lowest: C1
hw.acpi.cpu.cx_usage: 100.00%
hw.acpi.thermal.min_runtime: 300
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.tz0.temperature: 3300
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: 3632
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 3732
hw.acpi.thermal.tz0._ACx: 3422 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.acline: 1
hw.acpi.battery.life: 96
hw.acpi.battery.time: -1
hw.acpi.battery.state: 0
hw.acpi.battery.units: 2
hw.acpi.battery.info_expire: 5


The weird part is that I'm not seeing any P_CNT in the ASL; but I'm
sure it's simply that I have no clue.

Is this expected or would it be useful for me to try and restrict the
breakage to one change?

Bye,
	Andrea


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*
  RSD PTR: OEM=PTLTD, ACPI_Rev=1.0x (0)
	RSDT=0x0bffaa70, cksum=21
 */
/*
  RSDT: Length=44, Revision=1, Checksum=207,
	OEMID=PTLTD, OEM Table ID=  RSDT, OEM Revision=0x6040000,
	Creator ID= LTP, Creator Revision=0x0
	Entries={ 0x0bfffb65, 0x0bfffbd9 }
 */
/*
  FACP: Length=116, Revision=1, Checksum=96,
	OEMID=IBM, OEM Table ID=VIPER, OEM Revision=0x6040000,
	Creator ID=PTL, Creator Revision=0xf4240
 	FACS=0xbffffc0, DSDT=0xbffaa9c
	INT_MODEL=PIC
	Preferred_PM_Profile=Unspecified (0)
	SCI_INT=9
	SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0xf2
	PSTATE_CNT=0x0
	PM1a_EVT_BLK=0x1000-0x1003
	PM1a_CNT_BLK=0x1004-0x1005
	PM2_CNT_BLK=0x22-0x22
	PM_TMR_BLK=0x1008-0x100b
	GPE0_BLK=0x100c-0x100f
	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=S4BIOS
	Version=0
 */
/*
  DSDT: Length=20681, Revision=1, Checksum=250,
	OEMID=IBM, OEM Table ID=VIPER, OEM Revision=0x6040000,
	Creator ID=MSFT, Creator Revision=0x1000004
 */
/*
  BOOT: Length=39, Revision=1, Checksum=165,
	OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000,
	Creator ID= LTP, Creator Revision=0x1
 */
/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20040527
 *
 * Disassembly of /tmp/acpidump.7qY1Ny, Tue Jul  6 10:38:11 2004
 */
DefinitionBlock ("DSDT.aml", "DSDT", 1, "IBM   ", "VIPER   ", 100925440)
{
    Name (_S0, Package (0x02)
    {
        0x05, 
        0x05
    })
    Name (_S1, Package (0x02)
    {
        0x04, 
        0x04
    })
    Name (_S3, Package (0x02)
    {
        0x01, 
        0x01
    })
    Name (_S4, Package (0x02)
    {
        0x00, 
        0x00
    })
    Name (_S5, Package (0x02)
    {
        0x00, 
        0x00
    })
    Scope (_PR)
    {
        Processor (CPU, 0x00, 0x00001010, 0x06) {}
    }

    Scope (_SI)
    {
        Method (_SST, 1, NotSerialized)
        {
            If (LEqual (Arg0, 0x00))
            {
                If (LEqual (\SSLV, 0x00))
                {
                    \_SB.PCI.ISA.EC.SLED (0x80, 0x00)
                    \_SB.PCI.ISA.EC.SLED (0x01, 0x00)
                }

                \_SB.PCI.ISA.EC.BEEP (0x07, 0x00)
            }

            If (LEqual (Arg0, 0x01))
            {
                \_SB.PCI.ISA.EC.SLED (0x80, 0x00)
                \_SB.PCI.ISA.EC.SLED (0x01, 0x01)
                If (LNot (LEqual (\SSLV, 0x00)))
                {
                    \_SB.PCI.ISA.EC.BEEP (0x05, 0x00)
                }
            }

            If (LEqual (Arg0, 0x03))
            {
                If (LOr (LEqual (\SSLV, 0x03), LEqual (\SSLV, 0x00)))
                {
                    \_SB.PCI.ISA.EC.SLED (0x01, 0x00)
                }

                \_SB.PCI.ISA.EC.SLED (0x80, 0x01)
                \_SB.PCI.ISA.EC.BEEP (0x03, 0x00)
            }

            If (LEqual (Arg0, 0x04))
            {
                If (LOr (LEqual (\SSLV, 0x03), LEqual (\SSLV, 0x00)))
                {
                    \_SB.PCI.ISA.EC.SLED (0x01, 0x00)
                }

                \_SB.PCI.ISA.EC.SLED (0x80, 0x00)
                \_SB.PCI.ISA.EC.BEEP (0x03, 0x00)
            }
        }
    }

    Scope (_TZ)
    {
        ThermalZone (THM0)
        {
            Name (_TC1, 0x01)
            Name (_TC2, 0x03)
            Name (_TSP, 0x012C)
            Method (_CRT, 0, NotSerialized)
            {
                Return (CRTL)
            }

            Method (_PSV, 0, NotSerialized)
            {
                If (\_SB.PCI.PWR.THTE)
                {
                    Return (PSVL)
                }
                Else
                {
                    Return (PSVH)
                }
            }

            Method (_AC0, 0, NotSerialized)
            {
                If (And (\_SB.PCI.ISA.EC.GFAN (), 0x07))
                {
                    Return (AC0L)
                }
                Else
                {
                    Return (AC0H)
                }
            }

            Method (_TMP, 0, NotSerialized)
            {
                Store (\_SB.PCI.ISA.EC.GH8A (), Local0)
                Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x04), Local0)
                CreateWordField (Local0, 0x00, TMP0)
                Store (TMP0, Local0)
                Store (\_SB.PCI.ISA.EC.GTHZ (), Local1)
                If (LEqual (Local1, 0x00))
                {
                    If (LNot (LLess (Local0, AC0L)))
                    {
                        Store (AC0L, Local0)
                        Subtract (Local0, 0x05)
                    }
                }

                If (And (Local1, 0x01))
                {
                    If (LNot (LGreater (Local0, AC0L)))
                    {
                        Store (AC0H, Local0)
                        Add (Local0, 0x05)
                    }
                }

                If (And (Local1, 0x02))
                {
                    If (LNot (LGreater (Local0, PSVL)))
                    {
                        Store (PSVH, Local0)
                        Add (Local0, 0x05)
                    }
                }

                Return (Local0)
            }

            Method (_SCP, 1, NotSerialized)
            {
                Notify (\_TZ.THM0, 0x81)
            }

            Name (_AL0, Package (0x01)
            {
                FAN
            })
            Name (_PSL, Package (0x01)
            {
                \_PR.CPU
            })
            Name (CRTL, 0x0E94)
            Name (PSVH, 0x0E30)
            Name (PSVL, 0x0E30)
            Name (AC0H, 0x0D5E)
            Name (AC0L, 0x0D36)
        }

        PowerResource (FANP, 0x00, 0x0000)
        {
            Method (_STA, 0, NotSerialized)
            {
                If (And (\_SB.PCI.ISA.EC.GFAN (), 0x07))
                {
                    Return (0x01)
                }
                Else
                {
                    Return (0x00)
                }
            }

            Method (_ON, 0, NotSerialized)
            {
                \_SB.PCI.ISA.EC.SFAN (0x07)
            }

            Method (_OFF, 0, NotSerialized)
            {
                \_SB.PCI.ISA.EC.SFAN (0x00)
            }
        }

        Device (FAN)
        {
            Name (_HID, EisaId ("PNP0C0B"))
            Name (_PR0, Package (0x01)
            {
                FANP
            })
        }
    }

    Scope (_GPE)
    {
        Method (_L00, 0, NotSerialized)
        {
            Not (\_SB.PCI.PWR.TPOL, \_SB.PCI.PWR.TPOL)
        }

        Method (_L08, 0, NotSerialized)
        {
            Notify (\_SB.PCI.USB, 0x02)
        }

        Method (_L09, 0, NotSerialized)
        {
            Store (\_SB.PCI.ISA.EC.ECQE (), Local0)
            While (Local0)
            {
                If (LEqual (Local0, 0x11))
                {
                    \_SB.PCI.ISA.EC._Q11 ()
                }

                If (LEqual (Local0, 0x13))
                {
                    \_SB.PCI.ISA.EC._Q13 ()
                }

                If (LEqual (Local0, 0x16))
                {
                    \_SB.PCI.ISA.EC._Q16 ()
                }

                If (LEqual (Local0, 0x17))
                {
                    \_SB.PCI.ISA.EC._Q17 ()
                }

                If (LEqual (Local0, 0x1B))
                {
                    \_SB.PCI.ISA.EC._Q1B ()
                }

                If (LEqual (Local0, 0x1C))
                {
                    \_SB.PCI.ISA.EC._Q1C ()
                }

                If (LEqual (Local0, 0x1D))
                {
                    \_SB.PCI.ISA.EC._Q1D ()
                }

                If (LEqual (Local0, 0x1E))
                {
                    \_SB.PCI.ISA.EC._Q1E ()
                }

                If (LEqual (Local0, 0x20))
                {
                    \_SB.PCI.ISA.EC._Q20 ()
                }

                If (LEqual (Local0, 0x21))
                {
                    \_SB.PCI.ISA.EC._Q21 ()
                }

                If (LEqual (Local0, 0x22))
                {
                    \_SB.PCI.ISA.EC._Q22 ()
                }

                If (LEqual (Local0, 0x23))
                {
                    \_SB.PCI.ISA.EC._Q23 ()
                }

                If (LEqual (Local0, 0x24))
                {
                    \_SB.PCI.ISA.EC._Q24 ()
                }

                If (LEqual (Local0, 0x25))
                {
                    \_SB.PCI.ISA.EC._Q25 ()
                }

                If (LEqual (Local0, 0x26))
                {
                    \_SB.PCI.ISA.EC._Q26 ()
                }

                If (LEqual (Local0, 0x27))
                {
                    \_SB.PCI.ISA.EC._Q27 ()
                }

                If (LEqual (Local0, 0x2A))
                {
                    \_SB.PCI.ISA.EC._Q2A ()
                }

                If (LEqual (Local0, 0x2B))
                {
                    \_SB.PCI.ISA.EC._Q2B ()
                }

                If (LEqual (Local0, 0x30))
                {
                    \_SB.PCI.ISA.EC._Q30 ()
                }

                If (LEqual (Local0, 0x31))
                {
                    \_SB.PCI.ISA.EC._Q31 ()
                }

                If (LEqual (Local0, 0x32))
                {
                    \_SB.PCI.ISA.EC._Q32 ()
                }

                If (LEqual (Local0, 0x37))
                {
                    \_SB.PCI.ISA.EC._Q37 ()
                }

                If (LEqual (Local0, 0x39))
                {
                    \_SB.PCI.ISA.EC._Q39 ()
                }

                If (LEqual (Local0, 0x3E))
                {
                    \_SB.PCI.ISA.EC._Q3E ()
                }

                If (LEqual (Local0, 0x40))
                {
                    \_SB.PCI.ISA.EC._Q40 ()
                }

                If (LEqual (Local0, 0x50))
                {
                    \_SB.PCI.ISA.EC._Q50 ()
                }

                If (LEqual (Local0, 0x51))
                {
                    \_SB.PCI.ISA.EC._Q51 ()
                }

                If (LEqual (Local0, 0x52))
                {
                    \_SB.PCI.ISA.EC._Q52 ()
                }

                If (LEqual (Local0, 0x53))
                {
                    \_SB.PCI.ISA.EC._Q53 ()
                }

                Store (\_SB.PCI.ISA.EC.ECQE (), Local0)
            }
        }

        Method (_L0B, 0, NotSerialized)
        {
            Store (\_SB.PCI.ISA.EC.GWES (), Local0)
            If (And (Local0, 0x01))
            {
                Notify (\_SB.PCI, 0x02)
                \_SB.PCI.ISA.EC.GWES ()
            }

            If (And (Local0, 0x02))
            {
                Notify (\_SB.LID, 0x80)
            }

            If (And (Local0, 0x04))
            {
                Notify (\_SB.SLPB, 0x02)
            }

            If (And (Local0, 0x08))
            {
                Notify (\_SB.PCI.MODM, 0x02)
            }

            If (And (Local0, 0x10))
            {
                Notify (\_SB.SLPB, 0x02)
                \_SB.PCI.ISA.EC._Q50 ()
            }

            If (And (Local0, 0x20))
            {
                Notify (\_SB.SLPB, 0x02)
                \_SB.PCI.ISA.EC._Q51 ()
            }
        }
    }

    Scope (_SB)
    {
        OperationRegion (PHSD, SystemMemory, 0x0BFFFEBC, 0x00000100)
        Field (PHSD, AnyAcc, NoLock, Preserve)
        {
            BCMD,   8, 
            DID,    32, 
            INFO,   2000
        }

        Field (PHSD, AnyAcc, NoLock, Preserve)
        {
            Offset (0x05), 
            INF,    8
        }

        Field (PHSD, AnyAcc, NoLock, Preserve)
        {
            Offset (0x05), 
            INF2,   1024
        }

        OperationRegion (PHSI, SystemIO, 0x0000FE00, 0x00000002)
        Field (PHSI, AnyAcc, NoLock, Preserve)
        {
            SMIC,   8
        }

        Mutex (MPHS, 0x00)
        Method (PSCS, 1, Serialized)
        {
            Acquire (MPHS, 0xFFFF)
            Store (Zero, INFO)
            Store (0x00, BCMD)
            Store (Arg0, DID)
            Store (Zero, SMIC)
            While (Not (DID))
            {
                Sleep (0x02)
            }

            Store (Zero, BCMD)
            Store (Zero, DID)
            Store (INFO, Local0)
            Release (MPHS)
            Return (Local0)
        }

        Method (PSSS, 2, Serialized)
        {
            Acquire (MPHS, 0xFFFF)
            Store (0x01, BCMD)
            Store (Arg0, DID)
            Store (Arg1, INFO)
            Store (Zero, SMIC)
            While (Not (DID))
            {
                Sleep (0x02)
            }

            Store (Zero, BCMD)
            Store (Zero, DID)
            Release (MPHS)
        }

        Method (PSPS, 1, Serialized)
        {
            Acquire (MPHS, 0xFFFF)
            Store (0x00, INFO)
            Store (0x02, BCMD)
            Store (Arg0, DID)
            Store (Zero, SMIC)
            While (Not (DID))
            {
                Sleep (0x02)
            }

            Store (Zero, BCMD)
            Store (Zero, DID)
            Store (INFO, Local0)
            Release (MPHS)
            Return (Local0)
        }

        Method (PSDI, 1, Serialized)
        {
            Acquire (MPHS, 0xFFFF)
            Store (0x03, BCMD)
            Store (Arg0, DID)
            Store (Zero, SMIC)
            While (Not (DID))
            {
                Sleep (0x02)
            }

            Store (Zero, BCMD)
            Store (Zero, DID)
            Release (MPHS)
        }

        Method (PSST, 1, Serialized)
        {
            Acquire (MPHS, 0xFFFF)
            Store (0x00, INF)
            Store (0x04, BCMD)
            Store (Arg0, DID)
            Store (Zero, SMIC)
            While (Not (DID))
            {
                Sleep (0x02)
            }

            Store (Zero, BCMD)
            Store (Zero, DID)
            Store (INF, Local0)
            Release (MPHS)
            Return (Local0)
        }

        Method (PHS, 1, Serialized)
        {
            Acquire (MPHS, 0xFFFF)
            Store (Arg0, BCMD)
            Store (Zero, DID)
            Store (Zero, SMIC)
            While (Not (DID))
            {
                Sleep (0x02)
            }

            Store (Zero, BCMD)
            Store (Zero, DID)
            Store (INF, Local0)
            Release (MPHS)
            Return (Local0)
        }

        Method (PHS2, 2, Serialized)
        {
            Acquire (MPHS, 0xFFFF)
            Store (Arg0, BCMD)
            Store (Arg1, INF)
            Store (Zero, DID)
            Store (Zero, SMIC)
            While (Not (DID))
            {
                Sleep (0x02)
            }

            Store (Zero, BCMD)
            Store (Zero, DID)
            Store (INF2, Local0)
            Release (MPHS)
            Return (Local0)
        }

        Device (AC)
        {
            Name (_HID, "ACPI0003")
            Name (_STA, 0x0F)
            Name (_PCL, Package (0x01)
            {
                \_SB
            })
            Method (_PSR, 0, NotSerialized)
            {
                Return (\_SB.PCI.ISA.EC.ACST ())
            }
        }

        Device (BAT1)
        {
            Name (_HID, EisaId ("PNP0C0A"))
            Name (_UID, 0x01)
            Name (BIFB, Package (0x0D)
            {
                0x00, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0x01, 
                0x2A30, 
                0x00, 
                0x00, 
                0x00, 
                0x01, 
                "", 
                "", 
                "", 
                ""
            })
            Name (BSTB, Package (0x04)
            {
                0x00, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0xFFFFFFFF
            })
            Name (_PCL, Package (0x01)
            {
                \_SB
            })
            Name (_STA, 0x0F)
            Method (_BIF, 0, NotSerialized)
            {
                Store (\_SB.PCI.ISA.EC.GH8A (), Local0)
                Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x10), Local0)
                CreateByteField (Local0, 0x00, PWUT)
                CreateDWordField (Local0, 0x04, DCAP)
                CreateDWordField (Local0, 0x08, FCAP)
                CreateWordField (Local0, 0x10, VOLT)
                If (LEqual (PWUT, 0xFF))
                {
                    Store (0x00, Index (BIFB, 0x00))
                    Store (0xFFFFFFFF, Index (BIFB, 0x01))
                    Store (0xFFFFFFFF, Index (BIFB, 0x02))
                    Store (0x00, Index (BIFB, 0x05))
                    Store (0x00, Index (BIFB, 0x06))
                }
                Else
                {
                    Store (PWUT, Index (BIFB, 0x00))
                    Store (DCAP, Index (BIFB, 0x01))
                    Store (FCAP, Index (BIFB, 0x02))
                    Store (Divide (DCAP, 0x0A, ), Index (BIFB, 0x05))
                    Store (Divide (DCAP, 0x14, ), Index (BIFB, 0x06))
                }

                Store ("LION", Index (BIFB, 0x0B))
                Return (BIFB)
            }

            Method (_BST, 0, NotSerialized)
            {
                Store (Zero, Local0)
                If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x40))
                {
                    Or (0x01, Local0, Local0)
                }

                If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x20))
                {
                    Or (0x02, Local0, Local0)
                }

                If (LNot (LGreater (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x0F), 0x03)))
                {
                    Or (0x04, Local0, Local0)
                }

                Store (Local0, Index (BSTB, 0x00))
                Store (\_SB.PCI.ISA.EC.GH8A (), Local0)
                Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x10), Local0)
                CreateByteField (Local0, 0x00, PWUT)
                CreateDWordField (Local0, 0x0C, CAPA)
                CreateWordField (Local0, 0x10, VOLT)
                CreateWordField (Local0, 0x12, CURR)
                And (CURR, 0xFF00, Local1)
                If (LNot (LLess (Local1, 0x8000)))
                {
                    Subtract (0x00010000, Local1, Local1)
                }

                If (LEqual (PWUT, 0x00))
                {
                    Store (Divide (Multiply (Local1, VOLT), 0x03E8, ), Index (BSTB, 0x01))
                }
                Else
                {
                    If (LEqual (PWUT, 0x01))
                    {
                        Store (Local1, Index (BSTB, 0x01))
                    }
                    Else
                    {
                        If (LEqual (PWUT, 0xFF))
                        {
                            Store (0xFFFFFFFF, Index (BSTB, 0x01))
                        }
                    }
                }

                Store (CAPA, Index (BSTB, 0x02))
                Store (VOLT, Index (BSTB, 0x03))
                Return (BSTB)
            }

            Method (_INI, 0, NotSerialized)
            {
                If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x80))
                {
                    Store (0x1F, \_SB.BAT1._STA)
                }
            }
        }

        Device (BAT2)
        {
            Name (_HID, EisaId ("PNP0C0A"))
            Name (_UID, 0x02)
            Name (BIFB, Package (0x0D)
            {
                0x00, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0x01, 
                0x2A30, 
                0x00, 
                0x00, 
                0x00, 
                0x01, 
                "", 
                "", 
                "", 
                ""
            })
            Name (BSTB, Package (0x04)
            {
                0x00, 
                0xFFFFFFFF, 
                0xFFFFFFFF, 
                0xFFFFFFFF
            })
            Name (_PCL, Package (0x01)
            {
                \_SB
            })
            Name (_STA, 0x0F)
            Method (_BIF, 0, NotSerialized)
            {
                Store (\_SB.PCI.ISA.EC.GH8A (), Local0)
                Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x11), Local0)
                CreateByteField (Local0, 0x00, PWUT)
                CreateDWordField (Local0, 0x04, DCAP)
                CreateDWordField (Local0, 0x08, FCAP)
                CreateWordField (Local0, 0x10, VOLT)
                If (LEqual (PWUT, 0xFF))
                {
                    Store (0x00, Index (BIFB, 0x00))
                    Store (0xFFFFFFFF, Index (BIFB, 0x01))
                    Store (0xFFFFFFFF, Index (BIFB, 0x02))
                    Store (0x00, Index (BIFB, 0x05))
                    Store (0x00, Index (BIFB, 0x06))
                }
                Else
                {
                    Store (PWUT, Index (BIFB, 0x00))
                    Store (DCAP, Index (BIFB, 0x01))
                    Store (FCAP, Index (BIFB, 0x02))
                    Store (Divide (DCAP, 0x0A, ), Index (BIFB, 0x05))
                    Store (Divide (DCAP, 0x14, ), Index (BIFB, 0x06))
                }

                Store ("LION", Index (BIFB, 0x0B))
                Return (BIFB)
            }

            Method (_BST, 0, NotSerialized)
            {
                Store (Zero, Local0)
                If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x40))
                {
                    Or (0x01, Local0, Local0)
                }

                If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x20))
                {
                    Or (0x02, Local0, Local0)
                }

                If (LNot (LGreater (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x0F), 0x03)))
                {
                    Or (0x04, Local0, Local0)
                }

                Store (Local0, Index (BSTB, 0x00))
                Store (\_SB.PCI.ISA.EC.GH8A (), Local0)
                Store (\_SB.PCI.ISA.EC.SMRA (Local0, 0x11), Local0)
                CreateByteField (Local0, 0x00, PWUT)
                CreateDWordField (Local0, 0x0C, CAPA)
                CreateWordField (Local0, 0x10, VOLT)
                CreateWordField (Local0, 0x12, CURR)
                If (LNot (LLess (CURR, 0x8000)))
                {
                    Store (Subtract (0x00010000, CURR), Local1)
                }
                Else
                {
                    Store (CURR, Local1)
                }

                If (LEqual (PWUT, 0x00))
                {
                    Store (Divide (Multiply (Local1, VOLT), 0x03E8, ), Index (BSTB, 0x01))
                }
                Else
                {
                    If (LEqual (PWUT, 0x01))
                    {
                        Store (Local1, Index (BSTB, 0x01))
                    }
                    Else
                    {
                        If (LEqual (PWUT, 0xFF))
                        {
                            Store (0xFFFFFFFF, Index (BSTB, 0x01))
                        }
                    }
                }

                Store (CAPA, Index (BSTB, 0x02))
                Store (VOLT, Index (BSTB, 0x03))
                Return (BSTB)
            }

            Method (_INI, 0, NotSerialized)
            {
                If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80))
                {
                    Store (0x1F, \_SB.BAT2._STA)
                }
            }
        }

        Device (LID)
        {
            Name (_HID, EisaId ("PNP0C0D"))
            Name (_STA, 0x0F)
            Name (_PRW, Package (0x02)
            {
                0x0B, 
                0x04
            })
            Method (_LID, 0, NotSerialized)
            {
                Return (\_SB.PCI.ISA.EC.GLID ())
            }
        }

        Device (SLPB)
        {
            Name (_HID, EisaId ("PNP0C0E"))
            Name (_STA, 0x0F)
            Name (_PRW, Package (0x02)
            {
                0x0B, 
                0x04
            })
        }

        Device (PCI)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_BBN, 0x00)
            Name (_ADR, 0x00)
            OperationRegion (REGS, PCI_Config, 0x40, 0xC0)
            Field (REGS, DWordAcc, NoLock, Preserve)
            {
                Offset (0x19), 
                PAM0,   8, 
                PAM1,   8, 
                PAM2,   8, 
                PAM3,   8, 
                PAM4,   8, 
                PAM5,   8, 
                PAM6,   8, 
                DRB0,   8, 
                DRB1,   8, 
                DRB2,   8, 
                DRB3,   8, 
                DRB4,   8, 
                DRB5,   8, 
                DRB6,   8, 
                DRB7,   8, 
                    ,   6, 
                HEN,    2, 
                Offset (0x33), 
                T_EN,   1, 
                T_SZ,   2, 
                Offset (0x3A), 
                CRST,   1
            }

            Name (RSRC, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,
                    0x0000,
                    0x00FF,
                    0x0000,
                    0x0100, 0x00)
                IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0x0000,
                    0x0CF7,
                    0x0000,
                    0x0CF8, 0x00)
                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)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                    0x0000,
                    0x0D00,
                    0xFFFF,
                    0x0000,
                    0xF300, 0x00)
            })
            Method (_CRS, 0, Serialized)
            {
                Store (Zero, Local1)
                If (T_EN)
                {
                    ShiftLeft (0x01, Add (T_SZ, 0x11), Local1)
                }

                CreateDWordField (RSRC, 0x0193, BTMN)
                CreateDWordField (RSRC, 0x0197, BTMX)
                CreateDWordField (RSRC, 0x019F, 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, 0x01AE, ATMN)
                CreateDWordField (RSRC, 0x01B2, ATMX)
                CreateDWordField (RSRC, 0x01BA, 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, 0x0250, C0RW)
                CreateDWordField (RSRC, 0x4F, C0MN)
                CreateDWordField (RSRC, 0x53, C0MX)
                CreateDWordField (RSRC, 0x5B, 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, 0x0328, C4RW)
                CreateDWordField (RSRC, 0x6A, C4MN)
                CreateDWordField (RSRC, 0x6E, C4MX)
                CreateDWordField (RSRC, 0x76, 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, 0x0400, C8RW)
                CreateDWordField (RSRC, 0x85, C8MN)
                CreateDWordField (RSRC, 0x89, C8MX)
                CreateDWordField (RSRC, 0x91, 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, 0x04D8, CCRW)
                CreateDWordField (RSRC, 0xA0, CCMN)
                CreateDWordField (RSRC, 0xA4, CCMX)
                CreateDWordField (RSRC, 0xAC, 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, 0x05B0, D0RW)
                CreateDWordField (RSRC, 0xBB, D0MN)
                CreateDWordField (RSRC, 0xBF, D0MX)
                CreateDWordField (RSRC, 0xC7, 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, 0x0688, D4RW)
                CreateDWordField (RSRC, 0xD6, D4MN)
                CreateDWordField (RSRC, 0xDA, D4MX)
                CreateDWordField (RSRC, 0xE2, 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, 0x0760, D8RW)
                CreateDWordField (RSRC, 0xF1, D8MN)
                CreateDWordField (RSRC, 0xF5, D8MX)
                CreateDWordField (RSRC, 0xFD, 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, 0x0838, DCRW)
                CreateDWordField (RSRC, 0x010C, DCMN)
                CreateDWordField (RSRC, 0x0110, DCMX)
                CreateDWordField (RSRC, 0x0118, 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, 0x0910, E0RW)
                CreateDWordField (RSRC, 0x0127, E0MN)
                CreateDWordField (RSRC, 0x012B, E0MX)
                CreateDWordField (RSRC, 0x0133, 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, 0x09E8, E4RW)
                CreateDWordField (RSRC, 0x0142, E4MN)
                CreateDWordField (RSRC, 0x0146, E4MX)
                CreateDWordField (RSRC, 0x014E, 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, 0x0AC0, E8RW)
                CreateDWordField (RSRC, 0x015D, E8MN)
                CreateDWordField (RSRC, 0x0161, E8MX)
                CreateDWordField (RSRC, 0x0169, 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, 0x0B98, ECRW)
                CreateDWordField (RSRC, 0x0178, ECMN)
                CreateDWordField (RSRC, 0x017C, ECMX)
                CreateDWordField (RSRC, 0x0184, 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)
            }

            Name (_PRT, Package (0x08)
            {
                Package (0x04)
                {
                    0x0001FFFF, 
                    0x00, 
                    \_SB.PCI.ISA.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0001FFFF, 
                    0x01, 
                    \_SB.PCI.ISA.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x00, 
                    \_SB.PCI.ISA.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0002FFFF, 
                    0x01, 
                    \_SB.PCI.ISA.LNKB, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0005FFFF, 
                    0x00, 
                    \_SB.PCI.ISA.LNKA, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0006FFFF, 
                    0x03, 
                    \_SB.PCI.ISA.LNKD, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0007FFFF, 
                    0x00, 
                    \_SB.PCI.ISA.LNKC, 
                    0x00
                }, 

                Package (0x04)
                {
                    0x0007FFFF, 
                    0x01, 
                    \_SB.PCI.ISA.LNKD, 
                    0x00
                }
            })
            Device (AGP)
            {
                Name (_ADR, 0x00010000)
                Device (VGA)
                {
                    Name (_ADR, 0x00)
                    Method (_INI, 0, NotSerialized)
                    {
                        Store (And (\_SB.PHS (0x87), 0x0F), \_SB.PCI.AGP.VGA.GDCS)
                        Store (And (\_SB.PCI.AGP.VGA.GDCS, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS)
                        Store (ShiftRight (And (\_SB.PCI.AGP.VGA.GDCS, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DCS)
                    }

                    Method (_DOS, 1, NotSerialized)
                    {
                        Store (Arg0, SWIT)
                    }

                    Name (_DOD, Package (0x02)
                    {
                        0x00010100, 
                        0x00010110
                    })
                    Method (SRVO, 1, NotSerialized)
                    {
                        If (And (\_SB.PHS (0x87), 0x30))
                        {
                            If (Arg0)
                            {
                                If (LNot (LEqual (DDGS, 0x00)))
                                {
                                    Store (And (DDGS, 0x01), \_SB.PCI.AGP.VGA.LCD._DGS)
                                    Store (ShiftRight (And (DDGS, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DGS)
                                    Notify (\_SB.PCI.AGP.VGA, 0x80)
                                }
                            }
                            Else
                            {
                                Store (Or (ShiftLeft (\_SB.PCI.AGP.VGA.CRT._DCS, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS), DDGS)
                                Store (One, \_SB.PCI.AGP.VGA.LCD._DGS)
                                Store (Zero, \_SB.PCI.AGP.VGA.CRT._DGS)
                                Notify (\_SB.PCI.AGP.VGA, 0x80)
                            }
                        }
                    }

                    Device (CRT)
                    {
                        Name (_ADR, 0x0100)
                        Name (_DCS, 0x1F)
                        Name (_DGS, 0x00)
                        Method (_DDC, 1, NotSerialized)
                        {
                            If (LEqual (Arg0, 0x01))
                            {
                                Return (\_SB.PHS2 (0x8A, 0x00))
                            }

                            If (LEqual (Arg0, 0x02))
                            {
                                Concatenate (\_SB.PHS2 (0x8A, 0x00), DDC0, Local0)
                                Return (Local0)
                            }
                        }

                        Method (_DSS, 1, NotSerialized)
                        {
                            Or (And (\_SB.PCI.AGP.VGA.GDGS, 0x01), ShiftLeft (And (Arg0, 0x01), 0x01), \_SB.PCI.AGP.VGA.GDGS)
                            If (And (Arg0, 0xC0000000))
                            {
                                Store (GDGS, GDCS)
                                If (LEqual (And (Arg0, 0x40000000), 0x00))
                                {
                                    \_SB.PHS2 (0x8B, Or (GDCS, 0x80))
                                    Store (And (\_SB.PHS (0x87), 0x0F), Local0)
                                    Store (And (Local0, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS)
                                    Store (ShiftRight (And (Local0, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DCS)
                                }
                                Else
                                {
                                    \_SB.PHS2 (0x8B, GDCS)
                                }
                            }
                        }
                    }

                    Device (LCD)
                    {
                        Name (_ADR, 0x0110)
                        Name (_DCS, 0x1F)
                        Name (_DGS, 0x01)
                        Method (_DDC, 1, NotSerialized)
                        {
                            If (LEqual (Arg0, 0x01))
                            {
                                If (And (\_SB.PHS (0x87), 0x40))
                                {
                                    Return (DDC1)
                                }
                                Else
                                {
                                    Return (DDC2)
                                }
                            }

                            If (LEqual (Arg0, 0x02))
                            {
                                If (And (\_SB.PHS (0x87), 0x40))
                                {
                                    Concatenate (DDC1, DDC0, Local0)
                                    Return (Local0)
                                }
                                Else
                                {
                                    Concatenate (DDC2, DDC0, Local0)
                                    Return (Local0)
                                }
                            }

                            Return (0x00)
                        }

                        Method (_DSS, 1, NotSerialized)
                        {
                            Or (And (\_SB.PCI.AGP.VGA.GDGS, 0x02), And (Arg0, 0x01), \_SB.PCI.AGP.VGA.GDGS)
                            If (And (Arg0, 0xC0000000))
                            {
                                Store (GDGS, GDCS)
                                If (LEqual (And (Arg0, 0x40000000), 0x00))
                                {
                                    \_SB.PHS2 (0x8B, Or (GDCS, 0x80))
                                    Store (And (\_SB.PHS (0x87), 0x0F), Local0)
                                    Store (And (Local0, 0x01), \_SB.PCI.AGP.VGA.LCD._DCS)
                                    Store (ShiftRight (And (Local0, 0x02), 0x01), \_SB.PCI.AGP.VGA.CRT._DCS)
                                }
                                Else
                                {
                                    \_SB.PHS2 (0x8B, GDCS)
                                }
                            }
                        }
                    }

                    Name (SWIT, 0x01)
                    Name (GDCS, 0x02)
                    Name (GDGS, 0x02)
                    Name (DDGS, 0x00)
                    Name (DDC0, Buffer (0x80)
                    {
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                    })
                    Name (DDC1, Buffer (0x80)
                    {
                        0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 
                        0x24, 0x4D, 0x55, 0x0A, 0x01, 0x01, 0x01, 0x01, 
                        0x23, 0x09, 0x01, 0x02, 0x80, 0x21, 0x18, 0x00, 
                        0xEA, 0x0D, 0xFB, 0xA0, 0x57, 0x47, 0x98, 0x27, 
                        0x12, 0x4D, 0x51, 0xA1, 0x08, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x19, 
                        0x00, 0x40, 0x41, 0x00, 0x26, 0x30, 0x18, 0x88, 
                        0x36, 0x00, 0x0E, 0xCB, 0x10, 0x00, 0x00, 0x1A, 
                        0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69, 
                        0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x4C, 0x43, 
                        0x44, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x31, 
                        0x30, 0x32, 0x34, 0x78, 0x37, 0x36, 0x38, 0x20, 
                        0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33
                    })
                    Name (DDC2, Buffer (0x80)
                    {
                        0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 
                        0x24, 0x4D, 0x4B, 0x0A, 0x01, 0x01, 0x01, 0x01, 
                        0x23, 0x09, 0x01, 0x02, 0x80, 0x21, 0x18, 0x00, 
                        0xEA, 0x0D, 0xFB, 0xA0, 0x57, 0x47, 0x98, 0x27, 
                        0x12, 0x4D, 0x51, 0xA1, 0x08, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 
                        0x20, 0x00, 0x31, 0x58, 0x1C, 0x20, 0x28, 0x80, 
                        0x01, 0x00, 0xF6, 0xB8, 0x00, 0x00, 0x00, 0x1A, 
                        0x00, 0x00, 0x00, 0xFC, 0x00, 0x54, 0x68, 0x69, 
                        0x6E, 0x6B, 0x50, 0x61, 0x64, 0x20, 0x4C, 0x43, 
                        0x44, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x38, 
                        0x30, 0x30, 0x78, 0x36, 0x30, 0x30, 0x20, 0x20, 
                        0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1
                    })
                }
            }

            Device (CRD0)
            {
                Name (_ADR, 0x00020000)
                Name (_PRW, Package (0x02)
                {
                    0x0B, 
                    0x04
                })
                OperationRegion (PCIC, PCI_Config, 0x00, 0x0100)
                Field (PCIC, DWordAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    CMD,    16, 
                    Offset (0x10), 
                    ADD0,   32, 
                    Offset (0x3C), 
                    INTL,   8, 
                    Offset (0x44), 
                    LADD,   32, 
                    Offset (0x80), 
                    PMRI,   1, 
                    Offset (0xA4), 
                    PWRS,   2, 
                    Offset (0xA5), 
                        ,   7, 
                    PMES,   1
                }

                Method (_INI, 0, NotSerialized)
                {
                    Or (INTL, 0xFF, INTL)
                    And (LADD, 0xFFFF0000, LADD)
                }

                Method (_PS0, 0, NotSerialized)
                {
                    Store (Zero, PWRS)
                    Store (One, PMRI)
                    Store (One, PMES)
                }

                Method (_PS3, 0, NotSerialized)
                {
                    Store (Zero, PMRI)
                }
            }

            Device (CRD1)
            {
                Name (_ADR, 0x00020001)
                OperationRegion (PCIC, PCI_Config, 0x00, 0x0100)
                Field (PCIC, DWordAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    CMD,    16, 
                    Offset (0x10), 
                    ADD0,   32, 
                    Offset (0x3C), 
                    INTL,   8, 
                    Offset (0x44), 
                    LADD,   32, 
                    Offset (0x80), 
                    PMRI,   1, 
                    Offset (0xA4), 
                    PWRS,   2, 
                    Offset (0xA5), 
                        ,   7, 
                    PMES,   1
                }

                Name (_PRW, Package (0x02)
                {
                    0x0B, 
                    0x04
                })
                Method (_INI, 0, NotSerialized)
                {
                    Or (INTL, 0xFF, INTL)
                    And (LADD, 0xFFFF0000, LADD)
                }

                Method (_PS0, 0, NotSerialized)
                {
                    Store (Zero, PWRS)
                    Store (One, PMRI)
                    Store (One, PMES)
                }

                Method (_PS3, 0, NotSerialized)
                {
                    Store (Zero, PMRI)
                }
            }

            Device (OAK)
            {
                Name (_ADR, 0x00040000)
                Name (_EJD, "_SB_.PCI_.ISA_.SLCE")
                Name (_PRT, Package (0x03)
                {
                    Package (0x04)
                    {
                        0xFFFF, 
                        0x00, 
                        \_SB.PCI.ISA.LNKA, 
                        0x00
                    }, 

                    Package (0x04)
                    {
                        0xFFFF, 
                        0x01, 
                        \_SB.PCI.ISA.LNKA, 
                        0x00
                    }, 

                    Package (0x04)
                    {
                        0x0001FFFF, 
                        0x00, 
                        \_SB.PCI.ISA.LNKB, 
                        0x00
                    }
                })
                OperationRegion (PCI, PCI_Config, 0x00, 0x0100)
                Field (PCI, DWordAcc, NoLock, Preserve)
                {
                    VID,    32
                }

                Method (_BDN, 0, NotSerialized)
                {
                    Return (0x43004D24)
                }

                Method (_UID, 0, NotSerialized)
                {
                    Store (Zero, Local0)
                    Or (Local0, \_SB.PCI.PWR.RE2R (0x02), Local0)
                    ShiftLeft (Local0, 0x08, Local0)
                    Or (Local0, \_SB.PCI.PWR.RE2R (0x01), Local0)
                    ShiftLeft (Local0, 0x08, Local0)
                    Or (Local0, \_SB.PCI.PWR.RE2R (0x00), Local0)
                    Return (Local0)
                }

                Method (_DCK, 1, NotSerialized)
                {
                    Store (Zero, \_SB.PCI.ISA.PMGA.LOKE)
                    If (Arg0)
                    {
                        Store (Zero, \_SB.PCI.ISA.PMGA.DOKC)
                    }
                    Else
                    {
                        Store (One, \_SB.PCI.ISA.PMGA.DOKC)
                    }

                    \_SB.PCI.AGP.VGA.SRVO (Arg0)
                    Return (Arg0)
                }

                Method (_EJ0, 1, NotSerialized)
                {
                    Store (One, \_SB.PCI.ISA.PMGA.UDOC)
                    While (\_SB.PCI.ISA.PMGA.DOKS)
                    {
                        Sleep (0x01)
                    }

                    Store (Zero, \_SB.PCI.ISA.PMGA.UDOC)
                }

                Method (_STA, 0, NotSerialized)
                {
                    Store (0x00, Local0)
                    If (\_SB.PCI.ISA.PMGA.DOKS)
                    {
                        If (LEqual (\_SB.PCI.PWR.RE2R (0x03), 0x20))
                        {
                            Store (0x0F, Local0)
                        }
                    }

                    If (Local0)
                    {
                        Store (Zero, \_SB.PCI.ISA.PMGA.LOKE)
                    }
                    Else
                    {
                        Store (One, \_SB.PCI.ISA.PMGA.LOKE)
                    }

                    Store (Zero, \_SB.PCI.ISA.PMGA.DOKC)
                    Return (Local0)
                }

                Method (SDCK, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        If (\_SB.PCI.ISA.PMGA.EXPS)
                        {
                            If (LEqual (\_SB.PCI.PWR.RE2R (0x03), 0x20))
                            {
                                \_SB.PHS (0x86)
                            }
                        }
                    }
                }

                Device (CRD0)
                {
                    Name (_ADR, 0x00)
                    Name (_PRW, Package (0x02)
                    {
                        0x0B, 
                        0x04
                    })
                    OperationRegion (PCIC, PCI_Config, 0x00, 0x0100)
                    Field (PCIC, DWordAcc, NoLock, Preserve)
                    {
                        Offset (0x04), 
                        CMD,    16, 
                        Offset (0x10), 
                        ADD0,   32, 
                        Offset (0x3C), 
                        INTL,   8, 
                        Offset (0x44), 
                        LADD,   32, 
                        Offset (0x80), 
                        PMRI,   1, 
                        Offset (0xA4), 
                        PWRS,   2, 
                        Offset (0xA5), 
                            ,   7, 
                        PMES,   1
                    }

                    Method (_INI, 0, NotSerialized)
                    {
                        Or (INTL, 0xFF, INTL)
                        And (LADD, 0xFFFF0000, LADD)
                    }

                    Method (_PS0, 0, NotSerialized)
                    {
                        Store (Zero, PWRS)
                        Store (One, PMRI)
                        Store (One, PMES)
                    }

                    Method (_PS3, 0, NotSerialized)
                    {
                        Store (Zero, PMRI)
                    }
                }

                Device (CRD1)
                {
                    Name (_ADR, 0x01)
                    Name (_PSC, 0x00)
                    Name (_PRW, Package (0x02)
                    {
                        0x0B, 
                        0x04
                    })
                    OperationRegion (PCIC, PCI_Config, 0x00, 0x0100)
                    Field (PCIC, DWordAcc, NoLock, Preserve)
                    {
                        Offset (0x04), 
                        CMD,    16, 
                        Offset (0x10), 
                        ADD0,   32, 
                        Offset (0x3C), 
                        INTL,   8, 
                        Offset (0x44), 
                        LADD,   32, 
                        Offset (0x80), 
                        PMRI,   1, 
                        Offset (0xA4), 
                        PWRS,   2, 
                        Offset (0xA5), 
                            ,   7, 
                        PMES,   1
                    }

                    Method (_INI, 0, NotSerialized)
                    {
                        Or (INTL, 0xFF, INTL)
                        And (LADD, 0xFFFF0000, LADD)
                    }

                    Method (_PS0, 0, NotSerialized)
                    {
                        Store (Zero, PWRS)
                        Store (One, PMRI)
                        Store (One, PMES)
                    }

                    Method (_PS3, 0, NotSerialized)
                    {
                        Store (Zero, PMRI)
                    }
                }

                Device (LAN)
                {
                    Name (_ADR, 0x00010000)
                    Name (_PRW, Package (0x02)
                    {
                        0x0B, 
                        0x04
                    })
                }
            }

            Device (AUD)
            {
                Name (_ADR, 0x00050000)
            }

            Device (ISA)
            {
                Name (_ADR, 0x00060000)
                Device (DMAC)
                {
                    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 (PIC)
                {
                    Name (_HID, EisaId ("PNP0001"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
                        IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
                        IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
                        IRQ (Edge, ActiveHigh, Exclusive) {2}
                    })
                }

                Device (TIME)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
                        IRQNoFlags () {0}
                    })
                }

                Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0070, 0x0070, 0x01, 0x02)
                        IRQNoFlags () {8}
                    })
                }

                Device (SPKR)
                {
                    Name (_HID, EisaId ("PNP0800"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
                    })
                }

                Device (MATH)
                {
                    Name (_HID, EisaId ("PNP0C04"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10)
                        IRQ (Edge, ActiveHigh, Exclusive) {13}
                    })
                }

                Device (MEM)
                {
                    Name (_HID, EisaId ("PNP0C01"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
                        Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000)
                        Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000)
                    })
                }

                Device (KBC)
                {
                    Name (_HID, EisaId ("PNP0303"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
                        IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
                        IRQNoFlags () {1}
                    })
                }

                Device (MOUS)
                {
                    Name (_HID, EisaId ("IBM3780"))
                    Name (_CID, 0x130FD041)
                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (PSCS (0x16))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        PSSS (0x16, Arg0)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (PSPS (0x16))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        PSDI (0x16)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        Return (PSST (0x16))
                    }
                }

                OperationRegion (GEN, PCI_Config, 0xB0, 0x04)
                Field (GEN, DWordAcc, NoLock, Preserve)
                {
                    Offset (0x01), 
                        ,   4, 
                    SIDE,   1
                }

                Device (LNKA)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x01)
                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15}
                    })
                    Name (RSRC, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    Method (_DIS, 0, NotSerialized)
                    {
                        Or (PIRA, 0x80, PIRA)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (RSRC, 0x01, IRQ0)
                        And (PIRA, 0x0F, Local0)
                        ShiftLeft (0x01, Local0, IRQ0)
                        Store (RSRC, Debug)
                        Return (RSRC)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        Store (Arg0, Debug)
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Or (Local0, And (PIRA, 0x70), PIRA)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (And (PIRA, 0x80))
                        {
                            Return (0x09)
                        }

                        Return (0x0B)
                    }
                }

                Device (LNKB)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x02)
                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15}
                    })
                    Name (RSRC, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    Method (_DIS, 0, NotSerialized)
                    {
                        Or (PIRB, 0x80, PIRB)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (RSRC, 0x01, IRQ0)
                        And (PIRB, 0x0F, Local0)
                        ShiftLeft (0x01, Local0, IRQ0)
                        Return (RSRC)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Or (Local0, And (PIRB, 0x70), PIRB)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (And (PIRB, 0x80))
                        {
                            Return (0x09)
                        }

                        Return (0x0B)
                    }
                }

                Device (LNKC)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x03)
                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15}
                    })
                    Name (RSRC, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    Method (_DIS, 0, NotSerialized)
                    {
                        Or (PIRC, 0x80, PIRC)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (RSRC, 0x01, IRQ0)
                        And (PIRC, 0x0F, Local0)
                        ShiftLeft (0x01, Local0, IRQ0)
                        Return (RSRC)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Or (Local0, And (PIRC, 0x70), PIRC)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (And (PIRC, 0x80))
                        {
                            Return (0x09)
                        }

                        Return (0x0B)
                    }
                }

                Device (LNKD)
                {
                    Name (_HID, EisaId ("PNP0C0F"))
                    Name (_UID, 0x04)
                    Name (_PRS, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,15}
                    })
                    Name (RSRC, ResourceTemplate ()
                    {
                        IRQ (Level, ActiveLow, Shared) {}
                    })
                    Method (_DIS, 0, NotSerialized)
                    {
                        Or (PIRD, 0x80, PIRD)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (RSRC, 0x01, IRQ0)
                        And (PIRD, 0x0F, Local0)
                        ShiftLeft (0x01, Local0, IRQ0)
                        Return (RSRC)
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        CreateWordField (Arg0, 0x01, IRQ0)
                        FindSetRightBit (IRQ0, Local0)
                        Decrement (Local0)
                        Or (Local0, And (PIRD, 0x70), PIRD)
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        If (And (PIRD, 0x80))
                        {
                            Return (0x09)
                        }

                        Return (0x0B)
                    }
                }

                OperationRegion (PIRX, PCI_Config, 0x60, 0x04)
                Field (PIRX, DWordAcc, NoLock, Preserve)
                {
                    AccessAs (ByteAcc, 0x00), 
                    PIRA,   8, 
                    PIRB,   8, 
                    PIRC,   8, 
                    PIRD,   8
                }

                Device (PMGA)
                {
                    Name (_HID, EisaId ("PNP0A05"))
                    Name (_UID, 0x01)
                    OperationRegion (GAIO, SystemIO, 0x15EE, 0x02)
                    Field (GAIO, ByteAcc, NoLock, Preserve)
                    {
                        PMIX,   8, 
                        PMDA,   8
                    }

                    IndexField (PMIX, PMDA, ByteAcc, NoLock, Preserve)
                    {
                            ,   6, 
                        BREN,   1, 
                        Offset (0x2D), 
                        UDOC,   1, 
                        DOKC,   1, 
                        LOKE,   1, 
                            ,   1, 
                        DOKS,   1, 
                        EXPS,   1, 
                        Offset (0x2F), 
                        BAYE,   1, 
                        BAYP,   1, 
                        BAYR,   1
                    }

                    Name (_STA, 0x0B)
                    Method (SBAY, 1, NotSerialized)
                    {
                        If (Arg0)
                        {
                            Store (Zero, BAYR)
                            Store (Zero, BAYP)
                            Sleep (0x0A)
                            Store (Zero, BAYE)
                            Store (One, BAYR)
                        }
                        Else
                        {
                            Store (One, BAYE)
                            Store (One, BAYP)
                        }
                    }

                    Method (GBAY, 0, NotSerialized)
                    {
                        Return (Not (BAYE))
                    }
                }

                Device (SIO)
                {
                    Name (_HID, EisaId ("PNP0A05"))
                    Name (_UID, 0x02)
                    Name (_STA, 0x0B)
                    Name (RDE1, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
                        IRQNoFlags () {}
                    })
                    Name (RDE2, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
                        IRQNoFlags () {}
                        DMA (Compatibility, NotBusMaster, Transfer8) {}
                    })
                    Name (RDE3, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
                        IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
                        IRQNoFlags () {}
                        DMA (Compatibility, NotBusMaster, Transfer8) {}
                    })
                    Device (COMA)
                    {
                        Name (_HID, EisaId ("PNP0501"))
                        Name (_UID, 0x01)
                        Name (_EJD, "_SB_.PCI_.OAK_")
                        Method (_CRS, 0, NotSerialized)
                        {
                            Return (PSCS (0x12))
                        }

                        Method (_SRS, 1, NotSerialized)
                        {
                            PSSS (0x12, Arg0)
                        }

                        Method (_PRS, 0, NotSerialized)
                        {
                            Return (PSPS (0x12))
                        }

                        Method (_DIS, 0, NotSerialized)
                        {
                            PSDI (0x12)
                        }

                        Method (_STA, 0, NotSerialized)
                        {
                            Return (PSST (0x12))
                        }

                        Name (_PRW, Package (0x02)
                        {
                            0x0B, 
                            0x03
                        })
                    }

                    Device (FIR)
                    {
                        Name (_HID, EisaId ("IBM0071"))
                        Name (_CID, 0x1105D041)
                        Method (_CRS, 0, NotSerialized)
                        {
                            Return (PSCS (0x13))
                        }

                        Method (_SRS, 1, NotSerialized)
                        {
                            PSSS (0x13, Arg0)
                        }

                        Method (_PRS, 0, NotSerialized)
                        {
                            Return (PSPS (0x13))
                        }

                        Method (_DIS, 0, NotSerialized)
                        {
                            PSDI (0x13)
                        }

                        Method (_STA, 0, NotSerialized)
                        {
                            Return (PSST (0x13))
                        }
                    }

                    Device (LPT)
                    {
                        Name (_HID, EisaId ("PNP0400"))
                        Name (_UID, 0x01)
                        Name (MCD, 0x17)
                        Name (_STA, 0x00)
                        Name (B_PR, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                                IRQNoFlags () {7}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                                IRQNoFlags () {5}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                                IRQNoFlags () {7}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                                IRQNoFlags () {5}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                                IRQNoFlags () {7}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                                IRQNoFlags () {5}
                            }
                            EndDependentFn ()
                        })
                        Name (CRSB, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
                            IRQNoFlags () {}
                        })
                        Method (_CRS, 0, NotSerialized)
                        {
                            Acquire (\_SB.MPHS, 0xFFFF)
                            If (LEqual (_STA, 0x0F))
                            {
                                CreateWordField (CRSB, 0x02, IO1B)
                                CreateWordField (CRSB, 0x04, IO2B)
                                CreateWordField (CRSB, 0x06, IO3B)
                                CreateWordField (CRSB, 0x09, IRQB)
                                Or (ShiftLeft (And (R430, 0xFC), 0x08), ShiftLeft (R420, 0x02), IO1B)
                                Store (IO1B, IO2B)
                                If (LEqual (IO1B, 0x03BC))
                                {
                                    Store (0x0401, IO3B)
                                }

                                Store (Zero, IRQB)
                                ShiftRight (READ (0x1B, 0xF0), 0x04, Local0)
                                If (Local0)
                                {
                                    ShiftLeft (0x01, Local0, IRQB)
                                }

                                Return (CRSB)
                            }
                            Else
                            {
                                Return (RDE1)
                            }

                            Release (\_SB.MPHS)
                        }

                        Method (B_SR, 1, NotSerialized)
                        {
                            Acquire (\_SB.MPHS, 0xFFFF)
                            Name (XRFI, Package (0x10)
                            {
                                0x00, 
                                0x00, 
                                0x00, 
                                0x00, 
                                0x00, 
                                0x07, 
                                0x00, 
                                0x01, 
                                0x00, 
                                0x02, 
                                0x03, 
                                0x04, 
                                0x00, 
                                0x00, 
                                0x05, 
                                0x06
                            })
                            CreateWordField (Arg0, 0x02, IO1A)
                            CreateWordField (Arg0, 0x09, IRQB)
                            WRIT (0x00, 0xFE, 0x00)
                            PRDC (Ones)
                            WRIT (0x42, 0x00, ShiftRight (IO1A, 0x02))
                            WRIT (0x43, 0x03, ShiftRight (IO1A, 0x08))
                            FindSetRightBit (IRQB, Local0)
                            If (Local0)
                            {
                                Decrement (Local0)
                                WRIT (0x1B, 0x0F, ShiftLeft (Local0, 0x04))
                                WRIT (0x1B, 0xF8, DerefOf (Index (XRFI, Local0)))
                            }
                            Else
                            {
                                WRIT (0x1B, 0x08, 0x00)
                            }

                            WRIT (0x00, 0xFE, 0x01)
                            PRDC (IO1A)
                            Store (0x0F, _STA)
                            Release (\_SB.MPHS)
                        }

                        Method (B_DI, 0, NotSerialized)
                        {
                            Acquire (\_SB.MPHS, 0xFFFF)
                            WRIT (0x00, 0xFE, 0x00)
                            PRDC (Ones)
                            Store (0x0D, _STA)
                            Release (\_SB.MPHS)
                        }

                        Name (_EJD, "_SB_.PCI_.OAK_")
                    }

                    Device (LPTB)
                    {
                        Name (_HID, EisaId ("PNP0400"))
                        Name (_UID, 0x02)
                        Name (MCD, 0x18)
                        Name (_STA, 0x0D)
                        Name (_PRS, ResourceTemplate ()
                        {
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                                IRQ (Edge, ActiveHigh, Exclusive) {7}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
                                IRQ (Edge, ActiveHigh, Exclusive) {5}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                                IRQ (Edge, ActiveHigh, Exclusive) {7}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
                                IRQ (Edge, ActiveHigh, Exclusive) {5}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                                IRQ (Edge, ActiveHigh, Exclusive) {7}
                            }
                            StartDependentFnNoPri ()
                            {
                                IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
                                IRQ (Edge, ActiveHigh, Exclusive) {5}
                            }
                            EndDependentFn ()
                        })
                        Name (CRSB, ResourceTemplate ()
                        {
                            IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
                            IRQNoFlags () {}
                        })
                        Method (_CRS, 0, NotSerialized)
                        {
                            Acquire (\_SB.MPHS, 0xFFFF)
                            If (LEqual (_STA, 0x0F))
                            {
                                CreateWordField (CRSB, 0x02, IO1B)
                                CreateWordField (CRSB, 0x04, IO2B)
                                CreateWordField (CRSB, 0x06, IO3B)
                                CreateWordField (CRSB, 0x09, IRQB)
                                Or (ShiftLeft (And (R430, 0xFC), 0x08), ShiftLeft (R420, 0x02), IO1B)
                                Store (IO1B, IO2B)
                                If (LEqual (IO1B, 0x03BC))
                                {
                                    Store (0x0401, IO3B)
                                }

                                Store (Zero, IRQB)
                                ShiftRight (READ (0x1B, 0xF0), 0x04, Local0)
                                If (Local0)
                                {
                                    ShiftLeft (0x01, Local0, IRQB)
                                }

                                Return (CRSB)
                            }
                            Else
                            {
                                Return (RDE1)
                            }

                            Release (\_SB.MPHS)
                        }

                        Method (_SRS, 1, NotSerialized)
                        {
                            Acquire (\_SB.MPHS, 0xFFFF)
                            Name (XRFI, Package (0x10)
                            {
                                0x00, 
                                0x00, 
                                0x00, 
                                0x00, 
                                0x00, 
                                0x07, 
                                0x00, 
                                0x01, 
                                0x00, 
                                0x02, 
                                0x03, 
                                0x04, 
                                0x00, 
                                0x00, 
                                0x05, 
                                0x06
                            })
                            CreateWordField (Arg0, 0x02, IO1A)
                            CreateWordField (Arg0, 0x09, IRQB)
                            WRIT (0x00, 0xFE, 0x00)
                            PRDC (Ones)
                            WRIT (0x42, 0x00, ShiftRight (IO1A, 0x02))
                            WRIT (0x43, 0x03, ShiftRight (IO1A, 0x08))
                            FindSetRightBit (IRQB, Local0)
                            If (Local0)
                            {
                                Decrement (Local0)
                                WRIT (0x1B, 0x0F, ShiftLeft (Local0, 0x04))
                                WRIT (0x1B, 0xF8, DerefOf (Index (XRFI, Local0)))
                            }
                            Else
                            {
                                WRIT (0x1B, 0x08, 0x00)
                            }

                            WRIT (0x00, 0xFE, 0x01)
                            PRDC (IO1A)
                            Store (0x0F, _STA)
                            Release (\_SB.MPHS)
                        }

                        Method (_DIS, 0, NotSerialized)
                        {
                            Acquire (\_SB.MPHS, 0xFFFF)
                            WRIT (0x00, 0xFE, 0x00)
                            PRDC (Ones)
                            Store (0x0D, _STA)
                            Release (\_SB.MPHS)
                        }

                        Name (_EJD, "_SB_.PCI_.OAK_")
                    }

                    Device (ECP)
                    {
                        Name (_HID, EisaId ("PNP0401"))
                        Method (_CRS, 0, NotSerialized)
                        {
                            If (LEqual (_STA (), 0x0F))
                            {
                                Return (PSCS (0x14))
                            }
                            Else
                            {
                                Return (RDE3)
                            }
                        }

                        Method (_SRS, 1, NotSerialized)
                        {
                            PSSS (0x14, Arg0)
                        }

                        Method (_PRS, 0, NotSerialized)
                        {
                            Return (PSPS (0x14))
                        }

                        Method (_DIS, 0, NotSerialized)
                        {
                            PSDI (0x14)
                        }

                        Method (_STA, 0, NotSerialized)
                        {
                            Return (PSST (0x14))
                        }

                        Name (_EJD, "_SB_.PCI_.OAK_")
                    }

                    Device (EPP)
                    {
                        Name (_HID, EisaId ("PNP0400"))
                        Name (_UID, 0x03)
                        Method (_CRS, 0, NotSerialized)
                        {
                            If (LEqual (_STA (), 0x0F))
                            {
                                Return (PSCS (0x15))
                            }
                            Else
                            {
                                Return (RDE1)
                            }
                        }

                        Method (_SRS, 1, NotSerialized)
                        {
                            PSSS (0x15, Arg0)
                        }

                        Method (_PRS, 0, NotSerialized)
                        {
                            Return (PSPS (0x15))
                        }

                        Method (_DIS, 0, NotSerialized)
                        {
                            PSDI (0x15)
                        }

                        Method (_STA, 0, NotSerialized)
                        {
                            Return (PSST (0x15))
                        }

                        Name (_EJD, "_SB_.PCI_.OAK_")
                    }

                    Device (FDC)
                    {
                        Name (_HID, EisaId ("PNP0700"))
                        OperationRegion (FDCR, SystemIO, 0x03F0, 0x07)
                        Field (FDCR, ByteAcc, NoLock, Preserve)
                        {
                            Offset (0x03), 
                            TDR,    8
                        }

                        Method (_CRS, 0, NotSerialized)
                        {
                            Return (PSCS (0x11))
                        }

                        Method (_SRS, 1, NotSerialized)
                        {
                            PSSS (0x11, Arg0)
                            If (LNot (\_SB.PCI.PWR.GI13))
                            {
                                If (\_SB.PCI.ISA.PMGA.GBAY ())
                                {
                                    And (TDR, 0xF3, TDR)
                                }
                                Else
                                {
                                    Or (And (TDR, 0xF3), 0x04, TDR)
                                }
                            }
                            Else
                            {
                                Or (And (TDR, 0xF3), 0x04, TDR)
                            }
                        }

                        Method (_PRS, 0, NotSerialized)
                        {
                            Return (PSPS (0x11))
                        }

                        Method (_DIS, 0, NotSerialized)
                        {
                            PSDI (0x11)
                        }

                        Method (_STA, 0, NotSerialized)
                        {
                            Return (PSST (0x11))
                        }
                    }

                    OperationRegion (SIOR, SystemIO, 0x2E, 0x02)
                    Field (SIOR, ByteAcc, NoLock, Preserve)
                    {
                        INDX,   8, 
                        DATA,   8
                    }

                    IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
                    {
                        R000,   8, 
                        Offset (0x02), 
                        R020,   8, 
                        Offset (0x04), 
                        R040,   8, 
                        Offset (0x42), 
                        R420,   8, 
                        R430,   8, 
                        R440,   8, 
                        R450,   8, 
                        R460,   8, 
                        R470,   8, 
                        R480,   8, 
                        R490,   8, 
                        Offset (0x4F), 
                        R4F0,   8
                    }

                    Method (READ, 2, NotSerialized)
                    {
                        Store (Arg0, INDX)
                        Return (And (DATA, Arg1))
                    }

                    Method (WRIT, 3, NotSerialized)
                    {
                        Store (Arg0, INDX)
                        Or (And (DATA, Arg1), Arg2, Local0)
                        Store (Arg0, INDX)
                        Store (Local0, DATA)
                        Store (Local0, DATA)
                    }

                    Name (LPT1, Package (0x03)
                    {
                        0x03BC, 
                        0x0378, 
                        0x0278
                    })
                    Method (PRDC, 1, NotSerialized)
                    {
                        If (LEqual (Arg0, Ones))
                        {
                            Store (Zero, \_SB.PCI.PWR.LPTE)
                        }
                        Else
                        {
                            Store (SizeOf (LPT1), Local0)
                            While (Local0)
                            {
                                Decrement (Local0)
                                If (LEqual (Arg0, DerefOf (Index (LPT1, Local0))))
                                {
                                    Store (Local0, \_SB.PCI.PWR.LPTA)
                                    Store (One, \_SB.PCI.PWR.LPTE)
                                    Store (One, \_SB.PCI.PWR.LPTM)
                                }
                            }
                        }
                    }
                }

                Device (EC)
                {
                    Name (_HID, EisaId ("PNP0A05"))
                    Name (_UID, 0x03)
                    Name (BEJP, 0x00)
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16, 0x0062, 0x0062, 0x01, 0x01)
                        IO (Decode16, 0x0066, 0x0066, 0x01, 0x01)
                    })
                    Name (_GPE, 0x09)
                    OperationRegion (ECP0, SystemIO, 0x62, 0x01)
                    Field (ECP0, ByteAcc, NoLock, Preserve)
                    {
                        ECDA,   8
                    }

                    OperationRegion (ECP1, SystemIO, 0x66, 0x01)
                    Field (ECP1, ByteAcc, NoLock, Preserve)
                    {
                        ECST,   8
                    }

                    Field (ECP1, ByteAcc, NoLock, Preserve)
                    {
                        ECCM,   8
                    }

                    Mutex (ECMB, 0x00)
                    Method (WIBE, 0, Serialized)
                    {
                        While (And (ECST, 0x02))
                        {
                            Stall (0x01)
                        }
                    }

                    Method (WOBF, 0, Serialized)
                    {
                        While (LNot (And (ECST, 0x01)))
                        {
                            Stall (0x01)
                        }
                    }

                    Method (ECRD, 1, Serialized)
                    {
                        Acquire (ECMB, 0xFFFF)
                        WIBE ()
                        Store (0xD2, ECCM)
                        WIBE ()
                        Store (0x80, ECCM)
                        WIBE ()
                        Store (Arg0, ECDA)
                        WIBE ()
                        WOBF ()
                        Store (ECDA, Local0)
                        Store (0xD3, ECCM)
                        WIBE ()
                        Release (ECMB)
                        Return (Local0)
                    }

                    Method (ECWR, 2, Serialized)
                    {
                        Acquire (ECMB, 0xFFFF)
                        WIBE ()
                        Store (0xD2, ECCM)
                        WIBE ()
                        Store (0x81, ECCM)
                        WIBE ()
                        Store (Arg0, ECDA)
                        WIBE ()
                        Store (Arg1, ECDA)
                        WIBE ()
                        Store (0xD3, ECCM)
                        WIBE ()
                        Release (ECMB)
                    }

                    Method (ECQE, 0, Serialized)
                    {
                        Acquire (ECMB, 0xFFFF)
                        Store (0x64, Local1)
                        While (Local1)
                        {
                            Decrement (Local1)
                            And (ECST, 0x20, Local0)
                            If (Local0)
                            {
                                Store (Zero, Local1)
                            }
                            Else
                            {
                                Sleep (0x01)
                            }
                        }

                        If (Local0)
                        {
                            WIBE ()
                            Store (0xD2, ECCM)
                            WIBE ()
                            Store (0x84, ECCM)
                            WIBE ()
                            WOBF ()
                            Store (ECDA, Local0)
                            Store (0xD3, ECCM)
                            WIBE ()
                        }

                        Release (ECMB)
                        Return (Local0)
                    }

                    Method (_Q11, 0, NotSerialized)
                    {
                        \_SB.PHS (0x80)
                    }

                    Method (_Q13, 0, NotSerialized)
                    {
                        Notify (\_SB.SLPB, 0x80)
                    }

                    Method (_Q16, 0, NotSerialized)
                    {
                        Store ("===== FnF7 =====", Debug)
                        If (LEqual (\_SB.PCI.AGP.VGA.SWIT, 0x00))
                        {
                            If (LEqual (\_SB.PCI.AGP.VGA.GDCS, 0x01))
                            {
                                Store (Zero, \_SB.PCI.AGP.VGA.LCD._DGS)
                                Store (One, \_SB.PCI.AGP.VGA.CRT._DGS)
                            }

                            If (LEqual (\_SB.PCI.AGP.VGA.GDCS, 0x02))
                            {
                                Store (One, \_SB.PCI.AGP.VGA.LCD._DGS)
                                Store (One, \_SB.PCI.AGP.VGA.CRT._DGS)
                            }

                            If (LEqual (\_SB.PCI.AGP.VGA.GDCS, 0x03))
                            {
                                Store (One, \_SB.PCI.AGP.VGA.LCD._DGS)
                                Store (Zero, \_SB.PCI.AGP.VGA.CRT._DGS)
                            }

                            Notify (\_SB.PCI.AGP.VGA, 0x80)
                        }

                        If (LEqual (\_SB.PCI.AGP.VGA.SWIT, 0x01))
                        {
                            \_SB.PHS (0x81)
                        }
                    }

                    Method (_Q17, 0, NotSerialized)
                    {
                        \_SB.PHS (0x82)
                    }

                    Method (_Q1B, 0, NotSerialized)
                    {
                    }

                    Method (_Q1C, 0, NotSerialized)
                    {
                        \_SB.PHS (0x83)
                    }

                    Method (_Q1D, 0, NotSerialized)
                    {
                        \_SB.PHS (0x84)
                    }

                    Method (_Q1E, 0, NotSerialized)
                    {
                        \_SB.PHS (0x85)
                    }

                    Method (_Q20, 0, NotSerialized)
                    {
                        Notify (\_SB.BAT1, 0x80)
                        Notify (\_SB.BAT2, 0x80)
                    }

                    Method (_Q21, 0, NotSerialized)
                    {
                        Notify (\_SB.BAT1, 0x80)
                        Notify (\_SB.BAT2, 0x80)
                    }

                    Method (_Q22, 0, NotSerialized)
                    {
                        Notify (\_SB.BAT1, 0x80)
                        Notify (\_SB.BAT2, 0x80)
                    }

                    Method (_Q23, 0, NotSerialized)
                    {
                        Store (Zero, Local0)
                        If (And (\_SB.PCI.ISA.EC.BTST (0x00), 0x80))
                        {
                            If (LEqual (\_SB.BAT1._STA, 0x0F))
                            {
                                Store (\_SB.PCI.ISA.EC.GH8A (), Local1)
                                Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x10), Local2)
                                CreateByteField (Local2, 0x20, BST1)
                                While (LEqual (BST1, 0x00))
                                {
                                    Sleep (0x0A)
                                    Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x10), Local2)
                                }

                                Store (0x1F, \_SB.BAT1._STA)
                                Or (0x01, Local0, Local0)
                            }
                        }
                        Else
                        {
                            If (LEqual (\_SB.BAT1._STA, 0x1F))
                            {
                                Store (0x0F, \_SB.BAT1._STA)
                                Or (0x01, Local0, Local0)
                            }
                        }

                        If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80))
                        {
                            If (LEqual (\_SB.BAT2._STA, 0x0F))
                            {
                                Store (\_SB.PCI.ISA.EC.GH8A (), Local1)
                                Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x11), Local2)
                                CreateByteField (Local2, 0x20, BST2)
                                While (LEqual (BST2, 0x00))
                                {
                                    Sleep (0x0A)
                                    Store (\_SB.PCI.ISA.EC.SMRA (Local1, 0x11), Local2)
                                }

                                Store (0x1F, \_SB.BAT2._STA)
                                Or (0x02, Local0, Local0)
                            }
                        }
                        Else
                        {
                            If (LEqual (\_SB.BAT2._STA, 0x1F))
                            {
                                Store (0x0F, \_SB.BAT2._STA)
                                Or (0x02, Local0, Local0)
                            }
                        }

                        If (LEqual (Local0, 0x00))
                        {
                            Notify (\_SB.BAT1, 0x80)
                            Notify (\_SB.BAT2, 0x80)
                        }
                        Else
                        {
                            If (And (Local0, 0x01))
                            {
                                Notify (\_SB.BAT1, 0x00)
                            }

                            If (And (Local0, 0x02))
                            {
                                Notify (\_SB.BAT2, 0x00)
                            }
                        }
                    }

                    Method (_Q24, 0, NotSerialized)
                    {
                        Notify (\_SB.BAT1, 0x80)
                    }

                    Method (_Q25, 0, NotSerialized)
                    {
                        Notify (\_SB.BAT2, 0x80)
                    }

                    Method (_Q26, 0, NotSerialized)
                    {
                        Store (One, \_SB.PCI.ISA.PMGA.BREN)
                        Notify (\_SB.AC, 0x80)
                    }

                    Method (_Q27, 0, NotSerialized)
                    {
                        Store (Zero, \_SB.PCI.ISA.PMGA.BREN)
                        Notify (\_SB.AC, 0x80)
                    }

                    Method (_Q2A, 0, NotSerialized)
                    {
                        Notify (\_SB.LID, 0x80)
                    }

                    Method (_Q2B, 0, NotSerialized)
                    {
                        Notify (\_SB.LID, 0x80)
                    }

                    Method (_Q30, 0, NotSerialized)
                    {
                        \_SB.PHS (0x8C)
                    }

                    Method (_Q31, 0, NotSerialized)
                    {
                        \_SB.PHS (0x8D)
                    }

                    Method (_Q32, 0, NotSerialized)
                    {
                        \_SB.PHS (0x8E)
                    }

                    Method (_Q37, 0, NotSerialized)
                    {
                        If (LNot (\_SB.PCI.ISA.PMGA.DOKS))
                        {
                            If (LEqual (\_SB.PCI.ISA.SLCE._STA (), 0x0F))
                            {
                                \_SB.PCI.OAK.SDCK (One)
                                Notify (\_SB.PCI.OAK, 0x00)
                            }
                        }
                    }

                    Method (_Q39, 0, NotSerialized)
                    {
                        Notify (\_SB.SLPB, 0x02)
                    }

                    Method (_Q3E, 0, NotSerialized)
                    {
                        If (\_SB.PCI.CRD0.PMES)
                        {
                            \_SB.PCI.CRD0._PS0 ()
                        }

                        If (\_SB.PCI.CRD1.PMES)
                        {
                            \_SB.PCI.CRD1._PS0 ()
                        }

                        If (\_SB.PCI.OAK._STA ())
                        {
                            If (\_SB.PCI.OAK.CRD0.PMES)
                            {
                                \_SB.PCI.OAK.CRD0._PS0 ()
                            }

                            If (\_SB.PCI.OAK.CRD1.PMES)
                            {
                                \_SB.PCI.OAK.CRD1._PS0 ()
                            }
                        }
                    }

                    Method (_Q40, 0, NotSerialized)
                    {
                        Notify (\_TZ.THM0, 0x80)
                        Sleep (0x2710)
                        Notify (\_TZ.THM0, 0x81)
                    }

                    Method (_Q50, 0, NotSerialized)
                    {
                        Notify (\_SB.PCI.OAK, 0x01)
                    }

                    Method (_Q51, 0, NotSerialized)
                    {
                        If (LEqual (\_SB.PCI.ISA.PMGA.BAYP, Zero))
                        {
                            \_SB.HKEY.MHKF ()
                            Notify (\_SB.PCI.ISA.SLCE, 0x01)
                        }
                    }

                    Method (_Q52, 0, NotSerialized)
                    {
                        \_SB.PCI.ISA.SLCE.SSLC (Zero)
                        \_SB.PCI.OAK.SDCK (One)
                        Notify (\_SB.PCI, 0x01)
                    }

                    Method (_Q53, 0, NotSerialized)
                    {
                        Store (0x53, Debug)
                    }

                    Mutex (SMMB, 0x00)
                    Method (SMRA, 2, NotSerialized)
                    {
                        Acquire (SMMB, 0xFFFF)
                        Name (INVB, Buffer (0x21)
                        {
                            0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                            0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                            0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                            0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
                            0x00
                        })
                        Store (SMBP (0x0B, Arg0, Arg1), Local0)
                        If (Local0)
                        {
                            Store (INVB, Local0)
                        }
                        Else
                        {
                            Store (0x00, Local1)
                            While (LLess (Local1, 0x21))
                            {
                                PUTB (INVB, Local1, ECRD (Add (0x54, Local1)))
                                Increment (Local1)
                            }

                            Store (INVB, Local0)
                        }

                        Release (SMMB)
                        Return (Local0)
                    }

                    Method (SMBP, 3, Serialized)
                    {
                        Store (0x01, Local0)
                        While (Local0)
                        {
                            ECWR (0x53, Arg2)
                            ECWR (0x52, Arg1)
                            ECWR (0x50, Arg0)
                            While (ECRD (0x50))
                            {
                                Sleep (0x02)
                            }

                            While (LNot (And (ECRD (0x51), 0xBF, Local1)))
                            {
                                Sleep (0x02)
                            }

                            And (Local1, 0x1F, Local1)
                            If (LNot (LEqual (Local1, 0x11)))
                            {
                                Store (0x00, Local0)
                            }
                        }

                        Return (Local1)
                    }

                    Method (PUTB, 3, NotSerialized)
                    {
                        CreateByteField (Arg0, Arg1, TIDX)
                        Store (Arg2, TIDX)
                    }

                    Method (GETB, 2, NotSerialized)
                    {
                        CreateByteField (Arg0, Arg1, TIDX)
                        Return (TIDX)
                    }

                    Method (GH8A, 0, NotSerialized)
                    {
                        Store (ECRD (0x0F), Local0)
                        Return (Local0)
                    }

                    Method (ACST, 0, NotSerialized)
                    {
                        And (ShiftRight (ECRD (0x36), 0x04), 0x01, Local0)
                        Return (Local0)
                    }

                    Method (BTST, 1, NotSerialized)
                    {
                        Store (ECRD (Add (Arg0, 0x38)), Local0)
                        Return (Local0)
                    }

                    Method (SB1I, 1, NotSerialized)
                    {
                        If (Arg0)
                        {
                            ECWR (0x3A, And (ECRD (0x3A), 0x7F))
                        }
                        Else
                        {
                            ECWR (0x3A, Or (ECRD (0x3A), 0x80))
                        }
                    }

                    Method (BEEP, 2, NotSerialized)
                    {
                        Store (ECRD (0x07), Local0)
                        ECWR (0x07, Arg1)
                        ShiftLeft (0x01, Arg0, Local1)
                        If (LNot (LGreater (Arg0, 0x07)))
                        {
                            Store (ECRD (0x04), Local2)
                        }
                        Else
                        {
                            ShiftRight (Local1, 0x08, Local1)
                            Store (ECRD (0x05), Local2)
                        }

                        If (And (Local2, Local1))
                        {
                            ECWR (0x06, Arg0)
                            While (LNot (And (ECRD (0x34), 0x02))) {}
                            While (And (ECRD (0x34), 0x02)) {}
                        }

                        ECWR (0x07, Local0)
                    }

                    Method (GFAN, 0, NotSerialized)
                    {
                        And (ECRD (0x2F), 0x07, Local0)
                        Return (Local0)
                    }

                    Method (SFAN, 1, NotSerialized)
                    {
                        ECWR (0x2F, Or (And (ECRD (0x2F), 0xF8), Arg0))
                    }

                    Method (SLED, 2, NotSerialized)
                    {
                        Store (ECRD (0x0D), Local0)
                        And (Local0, Not (Arg0), Local0)
                        If (And (Arg1, 0x02))
                        {
                            Or (Local0, Arg0, Local0)
                        }

                        ECWR (0x0D, Local0)
                        Store (ECRD (0x0C), Local0)
                        And (Local0, Not (Arg0), Local0)
                        If (And (Arg1, 0x01))
                        {
                            Or (Local0, Arg0, Local0)
                        }

                        ECWR (0x0C, Local0)
                    }

                    Method (GLED, 1, NotSerialized)
                    {
                        Store (Zero, Local0)
                        Store (ECRD (0x0C), Local1)
                        If (And (Local1, Arg0))
                        {
                            Or (Local0, 0x01, Local0)
                            Store (ECRD (0x0D), Local1)
                            If (And (Local1, Arg0))
                            {
                                Or (Local0, 0x02, Local0)
                            }
                        }

                        Return (Local0)
                    }

                    Method (GLID, 0, NotSerialized)
                    {
                        And (ShiftRight (ECRD (0x36), 0x02), 0x01, Local0)
                        Return (Local0)
                    }

                    Method (GSST, 0, NotSerialized)
                    {
                        ShiftRight (ECRD (0x37), 0x07, Local0)
                        Return (Local0)
                    }

                    Method (GDID, 0, NotSerialized)
                    {
                        ECWR (0x28, 0x80)
                        While (And (ECRD (0x28), 0x80))
                        {
                            Stall (0x01)
                        }

                        And (ECRD (0x28), 0x7F, Local0)
                        Return (Local0)
                    }

                    Method (SISM, 1, NotSerialized)
                    {
                        If (Arg0)
                        {
                            Store (0x03, Local0)
                        }
                        Else
                        {
                            Store (0x00, Local0)
                        }

                        ECWR (0x3B, Or (And (ECRD (0x3B), 0xFC), Local0))
                    }

                    Method (GWES, 0, NotSerialized)
                    {
                        Store (ECRD (0x4E), Local0)
                        Return (Local0)
                    }

                    Method (GTHZ, 0, NotSerialized)
                    {
                        And (ECRD (0x20), 0x83, Local0)
                        Return (Local0)
                    }
                }

                Device (SLCE)
                {
                    Name (_HID, EisaId ("PNP0C15"))
                    Name (_UID, 0x04)
                    Method (_STA, 0, NotSerialized)
                    {
                        If (\_SB.PCI.ISA.EC.GSST ())
                        {
                            If (LEqual (\_SB.PCI.ISA.PMGA.BAYP, 0x00))
                            {
                                Return (0x0F)
                            }
                        }

                        Return (0x00)
                    }

                    Method (_DCK, 1, NotSerialized)
                    {
                        If (\_SB.PCI.OAK._STA ())
                        {
                            Store (Zero, \_SB.PCI.ISA.PMGA.LOKE)
                            If (Arg0)
                            {
                                Store (Zero, \_SB.PCI.ISA.PMGA.DOKC)
                            }
                            Else
                            {
                                Store (One, \_SB.PCI.ISA.PMGA.DOKC)
                                Store (One, \_SB.PCI.ISA.EC.BEJP)
                            }
                        }

                        If (Arg0)
                        {
                            SSLC (Zero)
                            Return (One)
                        }
                        Else
                        {
                            SSLC (One)
                            Return (Zero)
                        }
                    }

                    Method (_EJ0, 1, NotSerialized)
                    {
                        If (\_SB.PCI.ISA.EC.BEJP)
                        {
                            Store (One, \_SB.PCI.ISA.PMGA.UDOC)
                            While (\_SB.PCI.ISA.PMGA.DOKS)
                            {
                                Sleep (0x01)
                            }

                            Store (Zero, \_SB.PCI.ISA.PMGA.UDOC)
                            Store (Zero, \_SB.PCI.ISA.EC.BEJP)
                        }

                        \_SB.HKEY.MHKQ (0x4003)
                    }

                    Method (SSLC, 1, NotSerialized)
                    {
                        If (Arg0)
                        {
                            Store (One, \_SB.PCI.ISA.SIDE)
                            If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80))
                            {
                                \_SB.PCI.ISA.EC.SB1I (Zero)
                            }

                            If (LEqual (\_SB.PCI.ISA.SIO.FDC._STA (), 0x0F))
                            {
                                Or (And (\_SB.PCI.ISA.SIO.FDC.TDR, 0xF3), 0x04, \_SB.PCI.ISA.SIO.FDC.TDR)
                            }

                            \_SB.PCI.ISA.PMGA.SBAY (0x00)
                            Store (One, \_SB.PCI.PWR.GO27)
                            \_SB.PCI.ISA.EC.SISM (Zero)
                            \_SB.PCI.ISA.EC.SLED (0x10, 0x00)
                        }
                        Else
                        {
                            \_SB.PCI.ISA.PMGA.SBAY (0x01)
                            Store (Zero, \_SB.PCI.ISA.SIDE)
                            If (And (\_SB.PCI.ISA.EC.BTST (0x01), 0x80))
                            {
                                \_SB.PCI.ISA.EC.SB1I (One)
                            }

                            If (LNot (\_SB.PCI.PWR.GI13))
                            {
                                If (LEqual (\_SB.PCI.ISA.SIO.FDC._STA (), 0x0F))
                                {
                                    And (\_SB.PCI.ISA.SIO.FDC.TDR, 0xF3, \_SB.PCI.ISA.SIO.FDC.TDR)
                                }
                            }

                            \_SB.PCI.ISA.EC.SISM (One)
                            Store (Zero, \_SB.PCI.PWR.GO27)
                            \_SB.PCI.ISA.EC.SLED (0x10, 0x01)
                            Sleep (0x03E8)
                        }
                    }

                    Method (_INI, 0, NotSerialized)
                    {
                        If (\_SB.PCI.ISA.EC.GSST ())
                        {
                            If (LEqual (\_SB.PCI.ISA.PMGA.BAYP, 0x01))
                            {
                                \_SB.PCI.ISA.PMGA.SBAY (0x01)
                                \_SB.PCI.ISA.EC.SISM (One)
                                Store (Zero, \_SB.PCI.PWR.GO27)
                                \_SB.PCI.ISA.EC.SLED (0x10, 0x01)
                            }
                        }
                    }
                }

                Device (MBRD)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x01)
                    Name (RSRC, 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, 0x002E, 0x002E, 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, 0x0100, 0x0100, 0x01, 0x40)
                        IO (Decode16, 0x0140, 0x0140, 0x01, 0x10)
                        IO (Decode16, 0x15EA, 0x15EA, 0x01, 0x06)
                        IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x10)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (RSRC, 0x8A, PMMN)
                        CreateWordField (RSRC, 0x8C, PMMX)
                        And (^^^PWR.PMBA, 0xFFFFFFFE, PMMN)
                        Store (PMMN, PMMX)
                        CreateWordField (RSRC, 0x92, SMMN)
                        CreateWordField (RSRC, 0x94, SMMX)
                        And (^^^PWR.SBBA, 0xFFFFFFFE, SMMN)
                        Store (SMMN, SMMX)
                        Return (RSRC)
                    }
                }

                Device (ROM)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x02)
                    Name (_CRS, ResourceTemplate ()
                    {
                        DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                            0x00000000,
                            0x000C0000,
                            0x000CFFFF,
                            0x00000000,
                            0x00010000, 0x00)
                    })
                }

                Method (_INI, 0, NotSerialized)
                {
                    \_SB.PCI.ISA.SLCE._INI ()
                }
            }

            Device (IDE)
            {
                Name (_ADR, 0x00060001)
                Name (_PSC, 0x00)
                OperationRegion (PCIC, PCI_Config, 0x00, 0x0100)
                Field (PCIC, DWordAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    IOSE,   1, 
                    Offset (0x41), 
                        ,   7, 
                    PIDE,   1, 
                    Offset (0x43), 
                        ,   7, 
                    SIDE,   1
                }

                Field (PCIC, DWordAcc, NoLock, Preserve)
                {
                    Offset (0x04), 
                    R04,    32, 
                    Offset (0x20), 
                    R20,    32, 
                    Offset (0x40), 
                    R40,    32, 
                    R44,    32, 
                    R48,    32
                }

                Name (PCMD, 0x00)
                Name (BMIB, 0x00)
                Name (IDET, 0x00)
                Name (SIDT, 0x00)
                Name (UDMA, 0x00)
                Name (CRSF, 0x00)
                Method (_INI, 0, NotSerialized)
                {
                    Store (Zero, CRSF)
                    Store (One, \_SB.PCI.IDE.SIDE)
                    Store (Zero, \_SB.PCI.ISA.SIDE)
                    \_SB.PHS (0x88)
                }

                Method (_PS0, 0, NotSerialized)
                {
                    If (LEqual (_PSC, 0x03))
                    {
                        If (LEqual (IOSE, Zero))
                        {
                            Store (PCMD, R04)
                            Store (BMIB, R20)
                        }

                        Store (IDET, R40)
                        Store (SIDT, R44)
                        Store (UDMA, R48)
                        \_SB.PHS (0x89)
                    }

                    Store (Zero, CRSF)
                    Store (Zero, _PSC)
                }

                Method (_PS3, 0, NotSerialized)
                {
                    If (LAnd (LEqual (_PSC, Zero), LEqual (CRSF, Zero)))
                    {
                        Store (R04, PCMD)
                        Store (R20, BMIB)
                        Store (R40, IDET)
                        Store (R44, SIDT)
                        Store (R48, UDMA)
                        Store (One, CRSF)
                    }

                    Store (0x03, _PSC)
                }

                Device (PRIM)
                {
                    Name (_ADR, 0x00)
                    Method (_STA, 0, NotSerialized)
                    {
                        If (PIDE)
                        {
                            Return (0x0F)
                        }
                        Else
                        {
                            Return (0x0D)
                        }
                    }

                    Device (MAST)
                    {
                        Name (_ADR, 0x00)
                    }

                    Device (SLAV)
                    {
                        Name (_ADR, 0x01)
                    }
                }

                Device (SECN)
                {
                    Name (_ADR, 0x01)
                    Method (_STA, 0, NotSerialized)
                    {
                        If (SIDE)
                        {
                            Return (0x0F)
                        }
                        Else
                        {
                            Return (0x0D)
                        }
                    }

                    Device (MAST)
                    {
                        Name (_ADR, 0x00)
                        Name (_EJD, "_SB_.PCI_.ISA_.SLCE")
                        Method (_STA, 0, NotSerialized)
                        {
                            If (LEqual (\_SB.PCI.ISA.SLCE._STA (), 0x0F))
                            {
                                Store (\_SB.PCI.ISA.EC.GDID (), Local0)
                                If (LNot (LEqual (Local0, 0x0F)))
                                {
                                    Return (0x0F)
                                }
                            }

                            Return (0x00)
                        }
                    }

                    Device (SLAV)
                    {
                        Name (_ADR, 0x01)
                    }
                }
            }

            Device (USB)
            {
                Name (_ADR, 0x00060002)
                Name (_PRW, Package (0x02)
                {
                    0x08, 
                    0x01
                })
            }

            Device (PWR)
            {
                Name (_ADR, 0x00060003)
                OperationRegion (PMC, SystemIO, 0x00001000, 0x00000038)
                Field (PMC, DWordAcc, NoLock, Preserve)
                {
                    Offset (0x10), 
                        ,   4, 
                    THTE,   1, 
                    Offset (0x28), 
                        ,   2, 
                    TPOL,   1, 
                    Offset (0x31), 
                        ,   5, 
                    GI13,   1, 
                    Offset (0x37), 
                        ,   3, 
                    GO27,   1
                }

                OperationRegion (SMB, SystemIO, 0x00001040, 0x0000000C)
                Field (SMB, ByteAcc, NoLock, Preserve)
                {
                    HSTS,   8, 
                    LVTS,   8, 
                    CTLR,   8, 
                    CMDR,   8, 
                    ADDR,   8, 
                    DAT0,   8, 
                    DAT1,   8
                }

                OperationRegion (PCI, PCI_Config, 0x40, 0x60)
                Field (PCI, DWordAcc, NoLock, Preserve)
                {
                    PMBA,   32, 
                    Offset (0x12), 
                        ,   2, 
                    LPTM,   1, 
                    Offset (0x1F), 
                        ,   7, 
                    LPTE,   1, 
                    Offset (0x23), 
                        ,   1, 
                    LPTA,   2, 
                    Offset (0x50), 
                    SBBA,   32
                }

                Mutex (SMMB, 0x00)
                Method (RE2R, 1, NotSerialized)
                {
                    Acquire (SMMB, 0xFFFF)
                    Store (Arg0, CMDR)
                    Store (0x08, CTLR)
                    Store (0x00, DAT0)
                    Store (0xA3, ADDR)
                    Store (0x48, CTLR)
                    While (LNot (And (HSTS, 0x06, Local0)))
                    {
                        Stall (0x01)
                    }

                    Store (HSTS, HSTS)
                    Release (SMMB)
                    If (And (Local0, 0x04))
                    {
                        Return (0xFF)
                    }
                    Else
                    {
                        Return (DAT0)
                    }
                }
            }

            Device (MODM)
            {
                Name (_ADR, 0x00070000)
                Name (_PRW, Package (0x02)
                {
                    0x0B, 
                    0x04
                })
            }
        }

        Device (HKEY)
        {
            Name (_HID, EisaId ("IBM0068"))
            Name (_STA, 0x0F)
            Name (DHKC, 0x00)
            Name (DHKB, 0x01)
            Name (DHKF, 0x00)
            Mutex (XDHK, 0x00)
            Name (DHKW, 0x00)
            Name (DHKD, 0x00)
            Method (MHKC, 1, NotSerialized)
            {
                Store (Arg0, DHKC)
            }

            Method (MHKP, 0, NotSerialized)
            {
                Acquire (XDHK, 0xFFFF)
                Store (Zero, Local1)
                If (DHKW)
                {
                    Store (DHKW, Local1)
                    Store (Zero, DHKW)
                }
                Else
                {
                    If (DHKD)
                    {
                        Store (DHKD, Local1)
                        Store (Zero, DHKD)
                    }
                }

                Release (XDHK)
                Return (Local1)
            }

            Method (MHKE, 1, NotSerialized)
            {
                Acquire (XDHK, 0xFFFF)
                Store (Arg0, DHKB)
                If (LEqual (DHKB, 0x00))
                {
                    Store (Zero, DHKW)
                    Store (Zero, DHKD)
                    Store (Zero, DHKF)
                }

                Release (XDHK)
            }

            Method (MHKQ, 1, NotSerialized)
            {
                Acquire (XDHK, 0xFFFF)
                If (DHKB)
                {
                    If (DHKC)
                    {
                        If (LAnd (LNot (LLess (Arg0, 0x2000)), LLess (Arg0, 0x3000)))
                        {
                            If (DHKF)
                            {
                                Store (Zero, DHKF)
                                Store (Arg0, DHKW)
                            }
                        }

                        If (LAnd (LNot (LLess (Arg0, 0x4000)), LLess (Arg0, 0x5000)))
                        {
                            Store (Arg0, DHKD)
                        }

                        Notify (HKEY, 0x80)
                    }
                }

                Release (XDHK)
            }

            Method (MHKF, 0, NotSerialized)
            {
                Acquire (XDHK, 0xFFFF)
                If (LEqual (DHKB, 0x00))
                {
                    If (DHKC)
                    {
                        Store (One, DHKF)
                    }
                }

                Release (XDHK)
            }
        }
    }

    Name (SSLV, 0x00)
    Name (DOKS, 0x00)
    Name (SSST, 0x0F)
    Method (_WAK, 1, NotSerialized)
    {
        Store (0x00, \SSLV)
        Store (Zero, Local0)
        \_SB.PHS2 (0x8F, Or (Arg0, 0x80))
        If (\_SB.PCI.ISA.EC.ACST ())
        {
            Store (One, \_SB.PCI.ISA.PMGA.BREN)
        }
        Else
        {
            Store (Zero, \_SB.PCI.ISA.PMGA.BREN)
        }

        If (\_SB.PCI.ISA.EC.GSST ())
        {
            If (LNot (\SSST))
            {
                \_SB.PCI.ISA.SLCE.SSLC (Zero)
                Store (One, Local0)
            }
        }

        If (LNot (LEqual (\_SB.PCI.OAK._STA (), \DOKS)))
        {
            Store (One, Local0)
        }

        \_SB.PCI.OAK.SDCK (One)
        If (Local0)
        {
            Notify (\_SB.PCI, 0x01)
        }

        If (LEqual (Arg0, 0x04))
        {
            Store (One, \_SB.PCI.IDE.SIDE)
            Store (Zero, \_SB.PCI.ISA.SIDE)
            Notify (\_SB.SLPB, 0x02)
        }

        If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x03)))
        {
            \_SB.HKEY.MHKE (0x01)
            \_SB.HKEY.MHKQ (Or (ShiftLeft (Or (Arg0, 0x20), 0x08), 0x04))
        }

        Return (Package (0x02)
        {
            0x00, 
            0x00
        })
    }

    Method (_PTS, 1, NotSerialized)
    {
        Store (Arg0, \SSLV)
        If (LEqual (\_SB.PCI.IDE.CRSF, Zero))
        {
            Store (\_SB.PCI.IDE.R04, \_SB.PCI.IDE.PCMD)
            Store (\_SB.PCI.IDE.R20, \_SB.PCI.IDE.BMIB)
            Store (\_SB.PCI.IDE.R40, \_SB.PCI.IDE.IDET)
            Store (\_SB.PCI.IDE.R44, \_SB.PCI.IDE.SIDT)
            Store (\_SB.PCI.IDE.R48, \_SB.PCI.IDE.UDMA)
            Store (One, \_SB.PCI.IDE.CRSF)
        }

        If (LAnd (LNot (LLess (Arg0, 0x01)), LNot (LGreater (Arg0, 0x04))))
        {
            Store (\_SB.PCI.OAK._STA (), \DOKS)
            Store (LNot (\_SB.PCI.ISA.PMGA.BAYP), \SSST)
            \_SB.PCI.ISA.EC.SLED (0x80, 0x03)
            If (LNot (LLess (Arg0, 0x03)))
            {
                \_SB.PCI.ISA.EC.SLED (0x01, 0x00)
            }
        }

        If (LOr (LEqual (Arg0, 0x01), LEqual (Arg0, 0x03)))
        {
            \_SB.HKEY.MHKE (0x00)
        }

        \_SB.PHS2 (0x8F, Arg0)
    }
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



-- 
               Speak softly and carry a cellular phone.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040706084203.GB19813>