From owner-acpi-jp@jp.FreeBSD.org Tue Oct  1 07:16:00 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g8UMG0E52756;
	Tue, 1 Oct 2002 07:16:00 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from dragon.nuxi.com (root@trang.nuxi.com [66.92.13.169])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g8UMFv352751
	for <acpi-jp@jp.FreeBSD.org>; Tue, 1 Oct 2002 07:15:58 +0900 (JST)
	(envelope-from obrien@NUXI.com)
Received: from dragon.nuxi.com (obrien@localhost [127.0.0.1])
	by dragon.nuxi.com (8.12.6/8.12.2) with ESMTP id g8UMFuq2049230
	for <acpi-jp@jp.FreeBSD.org>; Mon, 30 Sep 2002 15:15:56 -0700 (PDT)
	(envelope-from obrien@dragon.nuxi.com)
Received: (from obrien@localhost)
	by dragon.nuxi.com (8.12.6/8.12.5/Submit) id g8UMFtiA049229
	for acpi-jp@jp.FreeBSD.org; Mon, 30 Sep 2002 15:15:55 -0700 (PDT)
From: "David O'Brien" <obrien@freebsd.org>
To: acpi-jp@jp.FreeBSD.org
Message-ID: <20020930221555.GA49168@dragon.nuxi.com>
References: <20020928011422.GA53408@dragon.nuxi.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20020928011422.GA53408@dragon.nuxi.com>
User-Agent: Mutt/1.4i
X-Operating-System: FreeBSD 5.0-CURRENT
Organization: The NUXI BSD Group
X-Pgp-Rsa-Fingerprint: B7 4D 3E E9 11 39 5F A3  90 76 5D 69 58 D9 98 7A
X-Pgp-Rsa-Keyid: 1024/34F9F9D5
Reply-To: obrien@freebsd.org
Precedence: list
Date: Mon, 30 Sep 2002 15:15:55 -0700
X-Sequence: acpi-jp 1855
Subject: [acpi-jp 1855] Re: (FWD) no floppy drive with acpi.ko loaded
Errors-To: owner-acpi-jp@jp.FreeBSD.org
Sender: owner-acpi-jp@jp.FreeBSD.org
X-Originator: obrien@FreeBSD.org
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020902

On Fri, Sep 27, 2002 at 06:14:22PM -0700, David O'Brien wrote:
> ----- Forwarded message from David O'Brien <obrien@FreeBSD.org> -----
> Date: Fri, 13 Sep 2002 16:14:10 -0700
> To: current@freebsd.org
> 
> If I load ACPI on my Gigabyte GA-7VTXE+ rev 1.0 motherboard I have no
> floppy drive support (ie. no fdc or fd0 devices).  Below is the verbose
> dmesg.boot both with and followed by w/o ACPI:

Here is the ACPI DSDT dump (w/o acpi.ko loaded) for this machine.



/*
RSD PTR: Checksum=156, OEMID=AMI, RsdtAddress=0x0fff0000
 */
/*
RSDT: Length=44, Revision=1, Checksum=245,
	OEMID=AMIINT, OEM Table ID=VIA_K7, OEM Revision=0x11,
	Creator ID=MSFT, Creator Revision=0x97
 */
/*
	Entries={ 0x0fff0030, 0x0fff00b0 }
 */
/*
	DSDT=0xfff0110
	INT_MODEL=APIC
	SCI_INT=9
	SMI_CMD=0x82f, ACPI_ENABLE=0xe1, ACPI_DISABLE=0x1e, S4BIOS_REQ=0x1f
	PM1a_EVT_BLK=0x800-0x803
	PM1a_CNT_BLK=0x804-0x805
	PM2_CNT_BLK=0x22-0x22
	PM2_TMR_BLK=0x808-0x80b
	PM2_GPE0_BLK=0x820-0x823
	P_LVL2_LAT=101ms, P_LVL3_LAT=1001ms
	FLUSH_SIZE=1024, FLUSH_STRIDE=16
	DUTY_OFFSET=0, DUTY_WIDTH=4
	DAY_ALRM=125, MON_ALRM=126, CENTURY=50
	Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
 */
/*
DSDT: Length=12015, Revision=1, Checksum=250,
	OEMID=VIA, OEM Table ID=VIA_K7, OEM Revision=0x1000,
	Creator ID=MSFT, Creator Revision=0x100000d
 */
DefinitionBlock (
    "acpi_dsdt.aml",	//Output filename
    "DSDT",		//Signature
    0x1,		//DSDT Revision
    "VIA",		//OEMID
    "VIA_K7",		//TABLE ID
    0x1000		//OEM Revision
)

{
Name(APIC, 0x0)
Method(\_PIC, 1) {
    Store(Arg0, APIC)
}
Scope(\_PR_) {
    Processor(CPU1, 1, 0x810, 0x6) {
    }
}
Name(\_S0_, Package(0x4) {
    0x0,
    0x0,
    0x0,
    0x0,
})
Name(\_S1_, Package(0x4) {
    0x4,
    0x0,
    0x0,
    0x0,
})
Name(\_S4_, Package(0x4) {
    0x2,
    0x0,
    0x0,
    0x0,
})
Name(\_S5_, Package(0x4) {
    0x2,
    0x0,
    0x0,
    0x0,
})
Name(PTBF, Buffer(0x3) {0x0, 0x0, 0x0 })
CreateByteField(PTBF, 0x0, PTB0)
CreateByteField(PTBF, 0x1, PTB1)
CreateByteField(PTBF, 0x2, PTB2)
Method(MCTH, 2) {
    If(LLess(SizeOf(Arg0), SizeOf(Arg1))) {
        Return(0x0)
    }
    Add(SizeOf(Arg0), 0x1, Local0)
    Name(BUF0, Buffer(Local0) { })
    Name(BUF1, Buffer(Local0) { })
    Store(Arg0, BUF0)
    Store(Arg1, BUF1)
    While(Local0) {
        Decrement(Local0)
        If(LEqual(DerefOf(Index(BUF0, Local0, )), DerefOf(Index(BUF1, Local0, )))) {
        }
        Else {
            Return(Zero)
        }
    }
    Return(One)
}
Scope(\_SB_) {
    Device(PWRB) {
        Name(_HID, 0x0c0cd041)
        Method(_STA) {
            Return(0xb)
        }
    }
    Device(PCI0) {
        Name(_HID, 0x030ad041)
        Name(_ADR, 0x0)
        Name(_BBN, 0x0)
        Method(_S1D) {
            Return(One)
        }
        Name(CRS_, Buffer(0xa2) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0xff, 0xff, 0xdf, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xdf, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0xe0, 0xfe, 0xff, 0xff, 0xdf, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0x0, 0x79, 0x0 })
        OperationRegion(GART, PCI_Config, 0x80, 0x1)
        Field(GART, ByteAcc, NoLock, Preserve) {
            ,	1,
            TLBC,	1
        }
        OperationRegion(TTBR, PCI_Config, 0x88, 0x1)
        Field(TTBR, ByteAcc, NoLock, Preserve) {
            ,	1,
            GATR,	1
        }
        OperationRegion(BSR0, PCI_Config, 0xf4, 0x1)
        Field(BSR0, ByteAcc, NoLock, Preserve) {
            SPLV,	3,
            W2FG,	2,
            Offset(0x1)
        }
        OperationRegion(TMEM, PCI_Config, 0x57, 0x1)
        Field(TMEM, ByteAcc, NoLock, Preserve) {
            MEMT,	8
        }
        Name(TOM_, 0x0)
        Method(MDET) {
            If(TOM_) {
            }
            Else {
                If(FLAG) {
                    ShiftLeft(MEMT, 0x18, TOM_)
                }
                Else {
                    Return(0x20000000)
                }
            }
            Return(TOM_)
        }
        Method(TFCS) {
            Subtract(MDET(), 0x7fc0, Local0)
            Return(Local0)
        }
        Name(FLAG, 0x1)
        Name(OSFL, 0x0)
        Method(_INI) {
            \_SB_.PCI0.IODT()
            If(MCTH(\_OS_, "Microsoft Windows NT")) {
                Store(0x0, OSFL)
            }
            Else {
                If(MCTH(\_OS_, "Microsoft Windows")) {
                    Store(0x1, OSFL)
                }
                Else {
                    If(MCTH(\_OS_, "Microsoft WindowsME: Millennium Edition")) {
                        Store(0x2, OSFL)
                    }
                    Else {
                        Store(0x3, OSFL)
                    }
                }
            }
        }
        Method(_REG, 2) {
            If(LEqual(Arg0, 0x2)) {
                Store(Arg1, FLAG)
            }
        }
        Method(_CRS) {
            CreateDWordField(CRS_, 0x76, TMEM)
            CreateDWordField(CRS_, 0x82, TLEN)
            Store(MDET(), TMEM)
            Subtract(0xfec00000, TMEM, TLEN)
            Return(CRS_)
        }
        Method(_PRT) {
            If(APIC) {
                Return(PIC0)
            }
            Else {
                Return(PIC1)
            }
        }
        Name(PIC0, Package(0x1e) {
            Package(0x4) {
                0x0001ffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0001ffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0011ffff,
                0x2,
                0x0,
                0x16,
            },
            Package(0x4) {
                0x0011ffff,
                0x3,
                0x0,
                0x15,
            },
            Package(0x4) {
                0x0009ffff,
                0x0,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0009ffff,
                0x1,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0009ffff,
                0x2,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x0009ffff,
                0x3,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x000affff,
                0x0,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x000affff,
                0x1,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x000affff,
                0x2,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x000affff,
                0x3,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x000bffff,
                0x0,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x000bffff,
                0x1,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x000bffff,
                0x2,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x000bffff,
                0x3,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x000cffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x000cffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x000cffff,
                0x2,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x000cffff,
                0x3,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x000dffff,
                0x0,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x000dffff,
                0x1,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x000dffff,
                0x2,
                0x0,
                0x13,
            },
            Package(0x4) {
                0x000dffff,
                0x3,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0010ffff,
                0x0,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0013ffff,
                0x0,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0012ffff,
                0x0,
                0x0,
                0x10,
            },
            Package(0x4) {
                0x0012ffff,
                0x1,
                0x0,
                0x11,
            },
            Package(0x4) {
                0x0012ffff,
                0x2,
                0x0,
                0x12,
            },
            Package(0x4) {
                0x0012ffff,
                0x3,
                0x0,
                0x13,
            },
        })
        Name(PIC1, Package(0x1e) {
            Package(0x4) {
                0x0001ffff,
                0x0,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0001ffff,
                0x1,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0011ffff,
                0x2,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0011ffff,
                0x3,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x0,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x1,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x2,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x0009ffff,
                0x3,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x0,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x1,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x2,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x000affff,
                0x3,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x000bffff,
                0x0,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x000bffff,
                0x1,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x000bffff,
                0x2,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x000bffff,
                0x3,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x000cffff,
                0x0,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x000cffff,
                0x1,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x000cffff,
                0x2,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x000cffff,
                0x3,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x000dffff,
                0x0,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x000dffff,
                0x1,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x000dffff,
                0x2,
                \_SB_.LNKD,
                0x0,
            },
            Package(0x4) {
                0x000dffff,
                0x3,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0010ffff,
                0x0,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0013ffff,
                0x0,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0012ffff,
                0x0,
                \_SB_.LNKA,
                0x0,
            },
            Package(0x4) {
                0x0012ffff,
                0x1,
                \_SB_.LNKB,
                0x0,
            },
            Package(0x4) {
                0x0012ffff,
                0x2,
                \_SB_.LNKC,
                0x0,
            },
            Package(0x4) {
                0x0012ffff,
                0x3,
                \_SB_.LNKD,
                0x0,
            },
        })
        Name(SPIO, 0x2e)
        OperationRegion(WIN1, SystemIO, SPIO, 0x2)
        Field(WIN1, ByteAcc, NoLock, Preserve) {
            INDX,	8,
            DATA,	8
        }
        IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
            Offset(0x2),
            CFG_,	8,
            Offset(0x7),
            LDN_,	8,
            Offset(0x30),
            ACTR,	1,
            Offset(0x31),
            Offset(0x60),
            IOAH,	8,
            IOAL,	8,
            IOEH,	8,
            IOEL,	8,
            Offset(0x70),
            INTR,	8,
            Offset(0x72),
            INT1,	8,
            Offset(0x74),
            DMCH,	8,
            Offset(0xf0),
            OPT1,	8,
            OPT2,	8,
            OPT3,	8,
            OPT4,	8,
            OPT5,	8,
            OPT6,	8,
            OPT7,	8
        }
        Method(ENFG) {
            Store(0x87, INDX)
            Store(0x1, INDX)
            Store(0x55, INDX)
            Store(0x55, INDX)
        }
        Method(EXFG) {
            Store(0x2, INDX)
            Store(0x2, DATA)
        }
        Name(LDFD, 0x0)
        Name(LDU1, 0x1)
        Name(LDU2, 0x2)
        Name(LDIR, 0x7)
        Name(LDLP, 0x3)
        Name(LDGM, 0x6)
        Name(LDMD, 0x8)
        Device(FDC0) {
            Name(_HID, 0x0007d041)
            Method(_STA) {
                If(FDST) {
                    Return(GSTA(LDFD))
                }
                Return(0x0)
            }
            Method(_DIS) {
                DDIS(LDFD)
            }
            Method(_CRS) {
                Return(FCRS)
            }
            Method(_PRS) {
                Return(FPRS)
            }
            Method(_SRS, 1) {
                DENB(LDFD)
            }
        }
        Device(UAR1) {
            Name(_HID, 0x0105d041)
            Name(_UID, 0x1)
            Method(_STA) {
                If(U1ST) {
                    Return(GSTA(LDU1))
                }
                Return(0x0)
            }
            Method(_DIS) {
                DDIS(LDU1)
            }
            Method(_CRS) {
                Return(PCRS(LDU1, 0x1, 0x8))
            }
            Method(_SRS, 1) {
                PSRS(Arg0, LDU1)
            }
            Method(_PRS) {
                Return(C1PR)
            }
        }
        Device(UAR2) {
            Method(_HID) {
                ENFG()
                Store(LDU2, LDN_)
                And(OPT2, 0x3, Local0)
                EXFG()
                If(Local0) {
                    Return(0x1005d041)
                }
                Else {
                    Return(0x0105d041)
                }
            }
            Name(_UID, 0x2)
            Method(_STA) {
                If(U2ST) {
                    Return(GSTA(LDU2))
                }
                Return(0x0)
            }
            Method(_DIS) {
                DDIS(LDU2)
            }
            Method(_CRS) {
                Return(PCRS(LDU2, 0x1, 0x8))
            }
            Method(_SRS, 1) {
                PSRS(Arg0, LDU2)
            }
            Method(_PRS) {
                Return(C2PR)
            }
        }
        Device(IRDA) {
            Name(_HID, 0x1005d041)
            Method(_STA) {
                If(IRST) {
                    Return(GSTA(LDIR))
                }
                Return(0x0)
            }
            Method(_DIS) {
                DDIS(LDIR)
            }
            Method(_CRS) {
                Name(BUF6, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
                CreateByteField(BUF6, 0x2, IOLO)
                CreateByteField(BUF6, 0x3, IOHI)
                CreateByteField(BUF6, 0x4, IORL)
                CreateByteField(BUF6, 0x5, IORH)
                CreateWordField(BUF6, 0x9, IRQM)
                ENFG()
                Store(LDIR, LDN_)
                If(ACTR) {
                    Store(0x10, IOLO)
                    Store(0x3, IOHI)
                }
                Else {
                    Store(0x0, IOLO)
                    Store(0x0, IOHI)
                }
                Store(IOLO, IORL)
                Store(IOHI, IORH)
                ShiftLeft(0x1, INTR, IRQM)
                EXFG()
                Return(BUF6)
            }
            Method(_SRS, 1) {
                PSRS(Arg0, LDIR)
            }
            Name(_PRS, Buffer(0xf) {0x30, 0x47, 0x1, 0x10, 0x3, 0x0, 0x10, 0x8, 0x8, 0x22, 0x18, 0xc, 0x38, 0x79, 0x0 })
        }
        Device(LPT_) {
            Name(_HID, 0x0004d041)
            Method(_STA) {
                ENFG()
                Store(LDLP, LDN_)
                And(OPT1, 0x2, Local0)
                EXFG()
                If(Or(Local0, And(Not(LPST, ), 0x1, ), )) {
                    Return(Zero)
                }
                Else {
                    Return(GSTA(LDLP))
                }
            }
            Method(_DIS) {
                DDIS(LDLP)
            }
            Method(_CRS) {
                Return(PCRS(LDLP, 0x1, 0x8))
            }
            Method(_SRS, 1) {
                PSRS(Arg0, LDLP)
            }
            Method(_PRS) {
                Return(LPPR)
            }
        }
        Device(ECP_) {
            Name(_HID, 0x0104d041)
            Method(_STA) {
                ENFG()
                Store(LDLP, LDN_)
                And(OPT1, 0x2, Local0)
                EXFG()
                If(LAnd(Local0, LPST)) {
                    Return(GSTA(LDLP))
                }
                Else {
                    Return(Zero)
                }
            }
            Method(_DIS) {
                DDIS(LDLP)
            }
            Method(_CRS) {
                Return(ECRS(LDLP))
            }
            Method(_SRS, 1) {
                ESRS(Arg0, LDLP)
            }
            Method(_PRS) {
                Return(EPRS)
            }
        }
        Device(GAME) {
            Name(_HID, 0x2fb0d041)
            Method(_STA) {
                Return(GSTA(LDGM))
            }
            Method(_DIS) {
                DDIS(LDGM)
            }
            Method(_CRS) {
                Name(BUF6, Buffer(0xa) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x79, 0x0 })
                CreateByteField(BUF6, 0x2, IOLO)
                CreateByteField(BUF6, 0x3, IOHI)
                CreateByteField(BUF6, 0x4, IORL)
                CreateByteField(BUF6, 0x5, IORH)
                ENFG()
                Store(LDGM, LDN_)
                If(LEqual(IOAL, 0x1)) {
                    Store(0x1, IOLO)
                    Store(0x2, IOHI)
                }
                Else {
                    Store(0x9, IOLO)
                    Store(0x2, IOHI)
                }
                Store(IOLO, IORL)
                Store(IOHI, IORH)
                EXFG()
                Return(BUF6)
            }
            Name(_PRS, Buffer(0x15) {0x30, 0x47, 0x1, 0x1, 0x2, 0x1, 0x2, 0x0, 0x1, 0x30, 0x47, 0x1, 0x9, 0x2, 0x9, 0x2, 0x0, 0x1, 0x38, 0x79, 0x0 })
            Method(_SRS, 1) {
                CreateByteField(Arg0, 0x2, IOLO)
                CreateByteField(Arg0, 0x3, IOHI)
                ENFG()
                Store(LDGM, LDN_)
                If(LEqual(IOLO, 0x1)) {
                    Store(0x2, IOAH)
                    Store(0x1, IOAL)
                }
                Else {
                    Store(0x2, IOAH)
                    Store(0x9, IOAL)
                }
                DENB(LDGM)
            }
        }
        Device(MIDI) {
            Name(_HID, 0x06b0d041)
            Method(_STA) {
                Return(GSTA(LDMD))
            }
            Method(_DIS) {
                DDIS(LDMD)
            }
            Method(_CRS) {
                Name(BUF6, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10, 0x4, 0x22, 0x0, 0x0, 0x79, 0x0 })
                CreateByteField(BUF6, 0x2, IOLO)
                CreateByteField(BUF6, 0x3, IOHI)
                CreateByteField(BUF6, 0x4, IORL)
                CreateByteField(BUF6, 0x5, IORH)
                CreateWordField(BUF6, 0x9, IRQM)
                ENFG()
                Store(LDMD, LDN_)
                Store(IOAL, IOLO)
                Store(IOAH, IOHI)
                Store(IOLO, IORL)
                Store(IOHI, IORH)
                ShiftLeft(0x1, INTR, IRQM)
                EXFG()
                Return(BUF6)
            }
            Name(_PRS, Buffer(0x33) {0x30, 0x47, 0x1, 0x30, 0x3, 0x30, 0x3, 0x10, 0x4, 0x22, 0x20, 0xc, 0x30, 0x47, 0x1, 0x0, 0x3, 0x0, 0x3, 0x10, 0x4, 0x22, 0x20, 0xc, 0x30, 0x47, 0x1, 0x10, 0x3, 0x10, 0x3, 0x10, 0x4, 0x22, 0x20, 0xc, 0x30, 0x47, 0x1, 0x20, 0x3, 0x20, 0x3, 0x10, 0x4, 0x22, 0x20, 0xc, 0x38, 0x79, 0x0 })
            Method(_SRS, 1) {
                CreateByteField(Arg0, 0x2, IOLO)
                CreateByteField(Arg0, 0x3, IOHI)
                CreateWordField(Arg0, 0x9, IRQM)
                ENFG()
                Store(LDMD, LDN_)
                Store(IOLO, IOAL)
                Store(IOHI, IOAH)
                FindSetRightBit(IRQM, Local0)
                Subtract(Local0, 0x1, INTR)
                DENB(LDMD)
            }
        }
        Name(FDST, 0x0)
        Name(U1ST, 0x0)
        Name(U2ST, 0x0)
        Name(IRST, 0x0)
        Name(LPST, 0x0)
        Method(IODT) {
            If(LNot(LEqual(GSTA(LDFD), 0x0))) {
                Store(0x1, FDST)
            }
            If(LNot(LEqual(GSTA(LDU1), 0x0))) {
                Store(0x1, U1ST)
            }
            If(LNot(LEqual(GSTA(LDU2), 0x0))) {
                Store(0x1, U2ST)
            }
            If(LNot(LEqual(GSTA(LDIR), 0x0))) {
                Store(0x1, IRST)
            }
            If(LNot(LEqual(GSTA(LDLP), 0x0))) {
                Store(0x1, LPST)
            }
        }
        Method(GSTA, 1) {
            ENFG()
            Store(Arg0, LDN_)
            If(ACTR) {
                Store(0xf, Local0)
            }
            Else {
                If(Or(IOAH, IOAL, )) {
                    Store(0xd, Local0)
                }
                Else {
                    Store(0x0, Local0)
                }
            }
            EXFG()
            Return(Local0)
        }
        Method(DDIS, 1) {
            ENFG()
            Store(Arg0, LDN_)
            Store(Zero, ACTR)
            EXFG()
        }
        Method(DENB, 1) {
            ENFG()
            Store(Arg0, LDN_)
            Store(One, ACTR)
            EXFG()
        }
        Method(PCRS, 3) {
            CreateByteField(PBUF, 0x2, IOLO)
            CreateByteField(PBUF, 0x3, IOHI)
            CreateWordField(PBUF, 0x2, IOHL)
            CreateWordField(PBUF, 0x4, IORL)
            CreateByteField(PBUF, 0x6, ALMN)
            CreateByteField(PBUF, 0x7, LENG)
            CreateByteField(PBUF, 0x9, IRQL)
            ENFG()
            Store(Arg0, LDN_)
            Store(IOAH, IOHI)
            Store(IOAL, IOLO)
            Store(IOHL, IORL)
            Store(Arg1, ALMN)
            If(LEqual(IOLO, 0xbc)) {
                Store(0x4, LENG)
            }
            Else {
                Store(Arg2, LENG)
            }
            Store(One, Local0)
            ShiftLeft(Local0, INTR, IRQL)
            EXFG()
            Return(PBUF)
        }
        Method(PSRS, 2) {
            CreateByteField(Arg0, 0x2, POLB)
            CreateByteField(Arg0, 0x3, POHB)
            CreateByteField(Arg0, 0x9, PIRQ)
            ENFG()
            Store(Arg1, LDN_)
            Store(POLB, IOAL)
            Store(POHB, IOAH)
            FindSetRightBit(PIRQ, Local0)
            Subtract(Local0, 0x1, INTR)
            Store(One, ACTR)
            EXFG()
        }
        Method(ECRS, 1) {
            CreateByteField(EBUF, 0x2, EPLO)
            CreateByteField(EBUF, 0x3, EPHI)
            CreateWordField(EBUF, 0x2, EPHL)
            CreateWordField(EBUF, 0x4, EPRL)
            CreateWordField(EBUF, 0x6, ALM1)
            CreateWordField(EBUF, 0xa, E4LO)
            CreateWordField(EBUF, 0xc, E4RL)
            CreateWordField(EBUF, 0x11, EIRQ)
            CreateWordField(EBUF, 0x14, EDMA)
            ENFG()
            Store(Arg0, LDN_)
            Store(IOAH, EPHI)
            Store(IOAL, EPLO)
            Store(EPHL, EPRL)
            Add(EPHL, 0x0400, E4LO)
            Store(E4LO, E4RL)
            If(LEqual(EPHL, 0x03bc)) {
                Store(0x0401, ALM1)
            }
            Else {
                Store(0x0801, ALM1)
            }
            Store(One, Local0)
            Store(INTR, Local1)
            ShiftLeft(Local0, Local1, EIRQ)
            Store(DMCH, Local1)
            If(LGreater(Local1, 0x3)) {
                Store(0x0, EDMA)
            }
            Else {
                Store(One, Local0)
                ShiftLeft(Local0, Local1, EDMA)
            }
            EXFG()
            Return(EBUF)
        }
        Method(ESRS, 2) {
            CreateByteField(Arg0, 0x2, LOEP)
            CreateByteField(Arg0, 0x3, HIEP)
            CreateWordField(Arg0, 0x11, IRQE)
            CreateWordField(Arg0, 0x14, DMAE)
            ENFG()
            Store(Arg1, LDN_)
            Store(LOEP, IOAL)
            Store(HIEP, IOAH)
            FindSetRightBit(IRQE, Local0)
            Subtract(Local0, 0x1, INTR)
            If(DMAE) {
                FindSetRightBit(DMAE, Local0)
                Subtract(Local0, 0x1, DMCH)
            }
            Else {
                Store(0x4, DMCH)
            }
            Store(One, ACTR)
            EXFG()
        }
        Name(CNBF, Buffer(0x2) {0xf8, 0x3 })
        Method(UABS, 1) {
            ENFG()
            Store(Arg0, LDN_)
            CreateByteField(CNBF, 0x0, IOLO)
            CreateByteField(CNBF, 0x1, IOHI)
            CreateWordField(CNBF, 0x0, IOAD)
            Store(IOAL, IOLO)
            Store(IOAH, IOHI)
            EXFG()
            Return(IOAD)
        }
        Name(CSCP, 0x0)
        PowerResource(URP1, 1, 0) {
            Method(_STA) {
                Return(CSCP)
            }
            Method(_ON_) {
                Store(0x1, CSCP)
            }
            Method(_OFF) {
                Store(0x0, CSCP)
            }
        }
        PowerResource(URP2, 1, 0) {
            Method(_STA) {
                Return(CSCP)
            }
            Method(_ON_) {
                Store(0x1, CSCP)
            }
            Method(_OFF) {
                Store(0x0, CSCP)
            }
        }
        PowerResource(FDDP, 0, 0) {
            Method(_STA) {
                Return(CSCP)
            }
            Method(_ON_) {
                Store(0x1, CSCP)
            }
            Method(_OFF) {
                Store(0x0, CSCP)
            }
        }
        PowerResource(LPTP, 0, 0) {
            Method(_STA) {
                Return(CSCP)
            }
            Method(_ON_) {
                Store(0x1, CSCP)
            }
            Method(_OFF) {
                Store(0x0, CSCP)
            }
        }
        Name(FCRS, Buffer(0x20) {0x47, 0x1, 0xf2, 0x3, 0xf2, 0x3, 0x1, 0x2, 0x47, 0x1, 0xf4, 0x3, 0xf4, 0x3, 0x1, 0x2, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 })
        Name(PBUF, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x1, 0x0, 0x79, 0x0 })
        Name(EBUF, Buffer(0x18) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x4, 0x22, 0x80, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 })
        Name(FPRS, Buffer(0x23) {0x31, 0x0, 0x47, 0x1, 0xf2, 0x3, 0xf2, 0x3, 0x1, 0x2, 0x47, 0x1, 0xf4, 0x3, 0xf4, 0x3, 0x1, 0x2, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x38, 0x79, 0x0 })
        Name(C1PR, Buffer(0x40) {0x31, 0x0, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x4, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x38, 0x79, 0x0 })
        Name(C2PR, Buffer(0x40) {0x31, 0x0, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x4, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x4, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x4, 0x8, 0x22, 0x18, 0xc, 0x38, 0x79, 0x0 })
        Name(LPPR, Buffer(0x34) {0x31, 0x0, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0xa0, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x38, 0x79, 0x0 })
        Name(EPRS, Buffer(0xa5) {0x31, 0x0, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x4, 0x22, 0x80, 0x0, 0x2a, 0x2, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x38, 0x79, 0x0 })
        Name(UAR1._PR0, Package(0x1) {
            URP1,
        })
        Name(UAR1._PRW, Package(0x2) {
            0x8,
            0x4,
        })
        Scope(\_GPE) {
            Method(_L08) {
                Notify(\_SB_.PCI0.UAR1, 0x2)
            }
        }
        Device(SBRG) {
            Name(_ADR, 0x00110000)
            OperationRegion(SBID, PCI_Config, 0x2, 0x2)
            Field(SBID, WordAcc, NoLock, Preserve) {
                D147,	16
            }
            Name(\_SB_.IPRS, Buffer(0x8) {0x30, 0x23, 0xf8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSA, Buffer(0x8) {0x30, 0x23, 0xf8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSB, Buffer(0x8) {0x30, 0x23, 0xf8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSC, Buffer(0x8) {0x30, 0x23, 0xf8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            Name(\_SB_.PRSD, Buffer(0x8) {0x30, 0x23, 0xf8, 0xdc, 0x18, 0x38, 0x79, 0x0 })
            OperationRegion(PIX0, PCI_Config, 0x55, 0x4)
            OperationRegion(PIX1, PCI_Config, 0x50, 0x2)
            OperationRegion(PIX2, PCI_Config, 0x44, 0x4)
            OperationRegion(PIX3, PCI_Config, 0x67, 0x3)
            OperationRegion(PIX4, PCI_Config, 0x6c, 0x4)
            Scope(\_SB_) {
                Field(PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve) {
                    ,	4,
                    PIRA,	4,
                    PIRB,	4,
                    PIRC,	4,
                    ,	4,
                    PIRD,	4,
                    ,	4
                }
                Field(PCI0.SBRG.PIX1, ByteAcc, NoLock, Preserve) {
                    ,	1,
                    EP3C,	1,
                    EN3C,	1,
                    ,	6,
                    KBFG,	1
                }
                Field(PCI0.SBRG.PIX2, ByteAcc, NoLock, Preserve) {
                    FLDA,	2,
                    LPDA,	2,
                    IRD1,	2,
                    IRD2,	2,
                    FLIR,	4,
                    LPIR,	4,
                    U1IR,	4,
                    Offset(0x3),
                    IRIR,	4,
                    Offset(0x4)
                }
                Field(PCI0.SBRG.PIX3, ByteAcc, NoLock, Preserve) {
                    ENIR,	1,
                    IRSD,	1,
                    Offset(0x2),
                    IRBA,	8
                }
                Field(PCI0.SBRG.PIX4, ByteAcc, NoLock, Preserve) {
                    PS0E,	1,
                    PS1E,	1,
                    ROME,	1,
                    APCE,	1,
                    LPMS,	2,
                    MSEN,	1,
                    IXEN,	1,
                    LPMD,	2,
                    MDEN,	1,
                    GMEN,	1,
                    LPLP,	2,
                    LPEN,	1,
                    FDEN,	1,
                    LPCA,	3,
                    CAEN,	1,
                    LPCB,	3,
                    CBEN,	1,
                    LPSB,	2,
                    SBEN,	1,
                    FDSE,	1,
                    Offset(0x4)
                }
                Name(IRQA, 0x0)
                Name(IRQB, 0x0)
                Name(IRQC, 0x0)
                Name(IRQD, 0x0)
                Name(ICRS, Buffer(0x6) {0x23, 0x0, 0x80, 0x18, 0x79, 0x0 })
                Device(LNKA) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x1)
                    Method(_STA) {
                        Store(PIRA, IRQA)
                        If(PIRA) {
                            Return(0xb)
                        }
                        Else {
                            Return(0x9)
                        }
                    }
                    Method(_PRS) {
                        Return(PRSA)
                    }
                    Method(_DIS) {
                        Store(0x0, PIRA)
                    }
                    Method(_CRS) {
                        CreateWordField(ICRS, 0x1, IRA0)
                        Store(One, Local1)
                        ShiftLeft(Local1, IRQA, IRA0)
                        Return(ICRS)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, PIRA)
                        Store(PIRA, IRQA)
                    }
                }
                Device(LNKB) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x2)
                    Method(_STA) {
                        Store(PIRB, IRQB)
                        If(PIRB) {
                            Return(0xb)
                        }
                        Else {
                            Return(0x9)
                        }
                    }
                    Method(_PRS) {
                        Return(PRSB)
                    }
                    Method(_DIS) {
                        Store(0x0, PIRB)
                    }
                    Method(_CRS) {
                        CreateWordField(ICRS, 0x1, IRA0)
                        Store(One, Local1)
                        ShiftLeft(Local1, IRQB, IRA0)
                        Return(ICRS)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, PIRB)
                        Store(PIRB, IRQB)
                    }
                }
                Device(LNKC) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x3)
                    Method(_STA) {
                        Store(PIRC, IRQC)
                        If(PIRC) {
                            Return(0xb)
                        }
                        Else {
                            Return(0x9)
                        }
                    }
                    Method(_PRS) {
                        Return(PRSC)
                    }
                    Method(_DIS) {
                        Store(0x0, PIRC)
                    }
                    Method(_CRS) {
                        CreateWordField(ICRS, 0x1, IRA0)
                        Store(One, Local1)
                        ShiftLeft(Local1, IRQC, IRA0)
                        Return(ICRS)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, PIRC)
                        Store(PIRC, IRQC)
                    }
                }
                Device(LNKD) {
                    Name(_HID, 0x0f0cd041)
                    Name(_UID, 0x4)
                    Method(_STA) {
                        Store(PIRD, IRQD)
                        If(PIRD) {
                            Return(0xb)
                        }
                        Else {
                            Return(0x9)
                        }
                    }
                    Method(_PRS) {
                        Return(PRSD)
                    }
                    Method(_DIS) {
                        Store(0x0, PIRD)
                    }
                    Method(_CRS) {
                        CreateWordField(ICRS, 0x1, IRA0)
                        Store(One, Local1)
                        ShiftLeft(Local1, IRQD, IRA0)
                        Return(ICRS)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x1, IRA_)
                        FindSetRightBit(IRA_, Local0)
                        Decrement(Local0)
                        Store(Local0, PIRD)
                        Store(PIRD, IRQD)
                    }
                }
            }
            Device(SYSR) {
                Name(_HID, 0x020cd041)
                Method(_STA) {
                    If(OSFL) {
                        Return(0xf)
                    }
                    Return(0x0)
                }
                Name(IORG, Buffer(0x62) {0x4b, 0x10, 0x0, 0x10, 0x4b, 0x22, 0x0, 0x1e, 0x4b, 0x44, 0x0, 0x1c, 0x4b, 0x62, 0x0, 0x2, 0x4b, 0x65, 0x0, 0xb, 0x4b, 0x72, 0x0, 0xe, 0x4b, 0x80, 0x0, 0x1, 0x4b, 0x84, 0x0, 0x3, 0x4b, 0x88, 0x0, 0x1, 0x4b, 0x8c, 0x0, 0x3, 0x4b, 0x90, 0x0, 0x10, 0x4b, 0xa2, 0x0, 0x1e, 0x4b, 0xe0, 0x0, 0x10, 0x4b, 0x90, 0x2, 0x8, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x0, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x0, 0x2, 0x47, 0x1, 0x0, 0x4, 0x0, 0x4, 0x0, 0x10, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x0, 0x80, 0x47, 0x1, 0x0, 0x6, 0x0, 0x6, 0x0, 0x10, 0x79, 0x0 })
                Method(_CRS) {
                    Return(IORG)
                }
            }
            Device(\_SB_.MEM_) {
                Name(_HID, 0x010cd041)
                Method(_STA) {
                    If(\_SB_.PCI0.OSFL) {
                        Return(0xf)
                    }
                    Return(0x0)
                }
                Name(MEM1, Buffer(0x56) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0x0, 0x0, 0x1, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0xf0, 0x1f, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0x0, 0x0, 0x8, 0x0, 0x79, 0x0 })
                Method(_CRS) {
                    CreateDWordField(MEM1, 0x2c, TOP1)
                    Subtract(\_SB_.PCI0.MDET(), 0x00100000, TOP1)
                    Return(MEM1)
                }
            }
            Device(PIC_) {
                Name(_HID, 0xd041)
                Method(_STA) {
                    If(OSFL) {
                        Return(0xf)
                    }
                    Return(0x0)
                }
                Name(_CRS, Buffer(0xd) {0x4b, 0x20, 0x0, 0x2, 0x4b, 0xa0, 0x0, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
            }
            Device(DMAD) {
                Name(_HID, 0x0002d041)
                Name(_CRS, Buffer(0x1d) {0x2a, 0x10, 0x4, 0x4b, 0x0, 0x0, 0x10, 0x4b, 0x81, 0x0, 0x3, 0x4b, 0x87, 0x0, 0x1, 0x4b, 0x89, 0x0, 0x3, 0x4b, 0x8f, 0x0, 0x1, 0x4b, 0xc0, 0x0, 0x20, 0x79, 0x0 })
            }
            Device(TMR_) {
                Name(_HID, 0x0001d041)
                Name(_CRS, Buffer(0x9) {0x4b, 0x40, 0x0, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
            }
            Device(RTC_) {
                Name(_HID, 0x000bd041)
                Name(_CRS, Buffer(0x9) {0x4b, 0x70, 0x0, 0x2, 0x22, 0x0, 0x1, 0x79, 0x0 })
            }
            Device(SPKR) {
                Name(_HID, 0x0008d041)
                Name(_CRS, Buffer(0x6) {0x4b, 0x61, 0x0, 0x1, 0x79, 0x0 })
            }
            Device(COPR) {
                Name(_HID, 0x040cd041)
                Name(_CRS, Buffer(0x9) {0x4b, 0xf0, 0x0, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 })
            }
            OperationRegion(PSRG, SystemMemory, 0x0412, 0x1)
            Field(PSRG, ByteAcc, NoLock, Preserve) {
                ,	6,
                PM2E,	1,
                PK2E,	1
            }
            Device(PS2M) {
                Name(_HID, 0x130fd041)
                Method(_STA) {
                    If(PM2E) {
                        Return(0xf)
                    }
                    Else {
                        Return(0x0)
                    }
                }
                Name(M2R0, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
                Name(M2R1, Buffer(0xd) {0x4b, 0x60, 0x0, 0x1, 0x4b, 0x64, 0x0, 0x1, 0x22, 0x0, 0x10, 0x79, 0x0 })
                Method(_CRS) {
                    If(PK2E) {
                        Return(M2R0)
                    }
                    Else {
                        Return(M2R1)
                    }
                }
            }
            Device(PS2K) {
                Name(_HID, 0x0303d041)
                Name(_CID, 0x0b03d041)
                Method(_STA) {
                    If(PK2E) {
                        Return(0xf)
                    }
                    Else {
                        Return(0x0)
                    }
                }
                Name(_CRS, Buffer(0xd) {0x4b, 0x60, 0x0, 0x1, 0x4b, 0x64, 0x0, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 })
            }
            Name(PS2K._PRW, Package(0x2) {
                0x2,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L02) {
                    Notify(\_SB_.PCI0.SBRG.PS2K, 0x2)
                }
            }
            Name(PS2M._PRW, Package(0x2) {
                0x2,
                0x4,
            })
            Method(RRIO, 4) {
                Noop
            }
            Method(RGNR, 4) {
                Noop
            }
            Method(RDMA, 3) {
                Noop
            }
        }
        Device(IDE0) {
            Name(_ADR, 0x00110001)
            Name(REGF, 0x1)
            Method(_REG, 2) {
                If(LEqual(Arg0, 0x2)) {
                    Store(Arg1, REGF)
                }
            }
            Name(TIM0, Package(0xa) {
                Package(0x5) {
                    0x3c,
                    0x78,
                    0xb4,
                    0xf0,
                    0x0384,
                },
                Package(0x5) {
                    0x11,
                    0x20,
                    0x31,
                    0x65,
                    0xa8,
                },
                Package(0x8) {
                    0x5,
                    0x4,
                    0x3,
                    0x2,
                    0x2,
                    0x1,
                    0x1,
                    0x0,
                },
                Package(0x7) {
                    0x70,
                    0x49,
                    0x36,
                    0x27,
                    0x19,
                    0x11,
                    0xc,
                },
                Package(0x6) {
                    0x7,
                    0x6,
                    0x4,
                    0x2,
                    0x1,
                    0x0,
                },
                Package(0x7) {
                    0x0,
                    0x0,
                    0x0,
                    0x1,
                    0x1,
                    0x1,
                    0x1,
                },
                Package(0x5) {
                    0x5,
                    0x4,
                    0x3,
                    0x2,
                    0x0,
                },
                Package(0x4) {
                    0x2,
                    0x1,
                    0x0,
                    0x0,
                },
                Package(0xf) {
                    0x6,
                    0x5,
                    0x4,
                    0x4,
                    0x3,
                    0x3,
                    0x2,
                    0x2,
                    0x1,
                    0x1,
                    0x1,
                    0x1,
                    0x0,
                    0x0,
                    0x0,
                },
                Package(0x7) {
                    0xe,
                    0x8,
                    0x6,
                    0x4,
                    0x2,
                    0x1,
                    0x0,
                },
            })
            Name(TMD0, Buffer(0x14) { })
            CreateDWordField(TMD0, 0x0, PIO0)
            CreateDWordField(TMD0, 0x4, DMA0)
            CreateDWordField(TMD0, 0x8, PIO1)
            CreateDWordField(TMD0, 0xc, DMA1)
            CreateDWordField(TMD0, 0x10, CHNF)
            OperationRegion(CFG2, PCI_Config, 0x40, 0x20)
            Field(CFG2, DWordAcc, NoLock, Preserve) {
                Offset(0x8),
                SSPT,	8,
                SMPT,	8,
                PSPT,	8,
                PMPT,	8,
                Offset(0x10),
                SSUT,	3,
                ,	1,
                SSCR,	1,
                SSUE,	3,
                SMUT,	3,
                ,	1,
                SMCR,	1,
                SMUE,	3,
                PSUT,	3,
                ,	1,
                PSCR,	1,
                PSUE,	3,
                PMUT,	3,
                ,	1,
                PMCR,	1,
                PMUE,	3
            }
            Name(GMPT, 0x0)
            Name(GMUE, 0x0)
            Name(GMUT, 0x0)
            Name(GMCR, 0x0)
            Name(GSPT, 0x0)
            Name(GSUE, 0x0)
            Name(GSUT, 0x0)
            Name(GSCR, 0x0)
            Device(CHN0) {
                Name(_ADR, 0x0)
                Method(_GTM) {
                    ShiftLeft(PSCR, 0x1, Local1)
                    Or(PMCR, Local1, Local0)
                    Return(GTM_(PMPT, PMUE, PMUT, PSPT, PSUE, PSUT, Local0))
                }
                Method(_STM, 3) {
                    Store(Arg0, Debug)
                    Store(Arg0, TMD0)
                    Store(PMPT, GMPT)
                    Store(PMUE, GMUE)
                    Store(PMUT, GMUT)
                    Store(PMCR, GMCR)
                    Store(PSPT, GSPT)
                    Store(PSUE, GSUE)
                    Store(PSUT, GSUT)
                    Store(PSCR, GSCR)
                    STM_()
                    Store(GMPT, PMPT)
                    Store(GMUE, PMUE)
                    Store(GMUT, PMUT)
                    Store(GMCR, PMCR)
                    Store(GSPT, PSPT)
                    Store(GSUE, PSUE)
                    Store(GSUT, PSUT)
                    Store(GSCR, PSCR)
                    Store(GTF_(0x0, Arg1), ATA0)
                    Store(GTF_(0x1, Arg2), ATA1)
                }
                Device(DRV0) {
                    Name(_ADR, 0x0)
                    Method(_GTF) {
                        Return(RATA(ATA0))
                    }
                }
                Device(DRV1) {
                    Name(_ADR, 0x1)
                    Method(_GTF) {
                        Return(RATA(ATA1))
                    }
                }
            }
            Device(CHN1) {
                Name(_ADR, 0x1)
                Method(_GTM) {
                    ShiftLeft(SSCR, 0x1, Local1)
                    Or(SMCR, Local1, Local0)
                    Return(GTM_(SMPT, SMUE, SMUT, SSPT, SSUE, SSUT, Local0))
                }
                Method(_STM, 3) {
                    Store(Arg0, Debug)
                    Store(Arg0, TMD0)
                    Store(SMPT, GMPT)
                    Store(SMUE, GMUE)
                    Store(SMUT, GMUT)
                    Store(SMCR, GMCR)
                    Store(SSPT, GSPT)
                    Store(SSUE, GSUE)
                    Store(SSUT, GSUT)
                    Store(SSCR, GSCR)
                    STM_()
                    Store(GMPT, SMPT)
                    Store(GMUE, SMUE)
                    Store(GMUT, SMUT)
                    Store(GMCR, SMCR)
                    Store(GSPT, SSPT)
                    Store(GSUE, SSUE)
                    Store(GSUT, SSUT)
                    Store(GSCR, SSCR)
                    Store(GTF_(0x0, Arg1), ATA2)
                    Store(GTF_(0x1, Arg2), ATA3)
                }
                Device(DRV0) {
                    Name(_ADR, 0x0)
                    Method(_GTF) {
                        Return(RATA(ATA2))
                    }
                }
                Device(DRV1) {
                    Name(_ADR, 0x1)
                    Method(_GTF) {
                        Return(RATA(ATA3))
                    }
                }
            }
            Method(GTM_, 7, Serialized) {
                Store(Ones, PIO0)
                Store(Ones, PIO1)
                Store(Ones, DMA0)
                Store(Ones, DMA1)
                Store(0x10, CHNF)
                If(REGF) {
                }
                Else {
                    Return(TMD0)
                }
                Store(Match(DerefOf(Index(TIM0, 0x1, )), MEQ, Arg0, MTR, 0x0, 0x0), Local6)
                Store(DerefOf(Index(DerefOf(Index(TIM0, 0x0, )), Local6, )), Local7)
                Store(Local7, DMA0)
                Store(Local7, PIO0)
                Store(Match(DerefOf(Index(TIM0, 0x1, )), MEQ, Arg3, MTR, 0x0, 0x0), Local6)
                Store(DerefOf(Index(DerefOf(Index(TIM0, 0x0, )), Local6, )), Local7)
                Store(Local7, DMA1)
                Store(Local7, PIO1)
                If(Arg1) {
                    If(LEqual(\_SB_.PCI0.SBRG.D147, 0x3147)) {
                        Store(DerefOf(Index(DerefOf(Index(TIM0, 0x8, )), Arg2, )), Local5)
                    }
                    Else {
                        Store(DerefOf(Index(DerefOf(Index(TIM0, 0x2, )), Arg2, )), Local5)
                    }
                    Store(DerefOf(Index(DerefOf(Index(TIM0, 0x3, )), Local5, )), DMA0)
                    Or(CHNF, 0x1, CHNF)
                }
                If(Arg4) {
                    If(LEqual(\_SB_.PCI0.SBRG.D147, 0x3147)) {
                        Store(DerefOf(Index(DerefOf(Index(TIM0, 0x8, )), Arg5, )), Local5)
                    }
                    Else {
                        Store(DerefOf(Index(DerefOf(Index(TIM0, 0x2, )), Arg5, )), Local5)
                    }
                    Store(DerefOf(Index(DerefOf(Index(TIM0, 0x3, )), Local5, )), DMA1)
                    Or(CHNF, 0x4, CHNF)
                }
                Store(TMD0, Debug)
                Return(TMD0)
            }
            Method(STM_, 0, Serialized) {
                If(REGF) {
                }
                Else {
                    Return(TMD0)
                }
                Store(0x0, GMUE)
                Store(0x7, GMUT)
                Store(0x0, GSUE)
                Store(0x7, GSUT)
                If(And(CHNF, 0x1, )) {
                    Store(Match(DerefOf(Index(TIM0, 0x3, )), MLE, DMA0, MTR, 0x0, 0x0), Local0)
                    If(LGreater(Local0, 0x5)) {
                        Store(0x5, Local0)
                    }
                    If(LEqual(\_SB_.PCI0.SBRG.D147, 0x3147)) {
                        Store(DerefOf(Index(DerefOf(Index(TIM0, 0x9, )), Local0, )), GMUT)
                    }
                    Else {
                        Store(DerefOf(Index(DerefOf(Index(TIM0, 0x4, )), Local0, )), GMUT)
                    }
                    Or(GMUE, 0x7, GMUE)
                }
                Else {
                    If(Or(LEqual(PIO0, Ones), LEqual(PIO0, 0x0), )) {
                        If(And(LLess(DMA0, Ones), LGreater(DMA0, 0x0), )) {
                            Store(DMA0, PIO0)
                        }
                    }
                }
                If(And(CHNF, 0x4, )) {
                    Store(Match(DerefOf(Index(TIM0, 0x3, )), MLE, DMA1, MTR, 0x0, 0x0), Local0)
                    If(LGreater(Local0, 0x5)) {
                        Store(0x5, Local0)
                    }
                    If(LEqual(\_SB_.PCI0.SBRG.D147, 0x3147)) {
                        Store(DerefOf(Index(DerefOf(Index(TIM0, 0x9, )), Local0, )), GSUT)
                    }
                    Else {
                        Store(DerefOf(Index(DerefOf(Index(TIM0, 0x4, )), Local0, )), GSUT)
                    }
                    Or(GSUE, 0x7, GSUE)
                }
                Else {
                    If(Or(LEqual(PIO1, Ones), LEqual(PIO1, 0x0), )) {
                        If(And(LLess(DMA1, Ones), LGreater(DMA1, 0x0), )) {
                            Store(DMA1, PIO1)
                        }
                    }
                }
                And(Match(DerefOf(Index(TIM0, 0x0, )), MGE, PIO0, MTR, 0x0, 0x0), 0x7, Local0)
                Store(DerefOf(Index(DerefOf(Index(TIM0, 0x1, )), Local0, )), Local1)
                Store(Local1, GMPT)
                And(Match(DerefOf(Index(TIM0, 0x0, )), MGE, PIO1, MTR, 0x0, 0x0), 0x7, Local0)
                Store(DerefOf(Index(DerefOf(Index(TIM0, 0x1, )), Local0, )), Local1)
                Store(Local1, GSPT)
            }
            Name(AT01, Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef })
            Name(AT02, Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x90 })
            Name(AT03, Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc6 })
            Name(AT04, Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x91 })
            Name(ATA0, Buffer(0x1d) { })
            Name(ATA1, Buffer(0x1d) { })
            Name(ATA2, Buffer(0x1d) { })
            Name(ATA3, Buffer(0x1d) { })
            Name(ATAB, Buffer(0x1d) { })
            CreateByteField(ATAB, 0x0, CMDC)
            Method(GTFB, 3, Serialized) {
                Multiply(CMDC, 0x38, Local0)
                Add(Local0, 0x8, Local1)
                CreateField(ATAB, Local1, 0x38, CMDX)
                Multiply(CMDC, 0x7, Local0)
                CreateByteField(ATAB, Add(Local0, 0x2, ), A001)
                CreateByteField(ATAB, Add(Local0, 0x6, ), A005)
                Store(Arg0, CMDX)
                Store(Arg1, A001)
                Store(Arg2, A005)
                Increment(CMDC)
            }
            Method(GTF_, 2, Serialized) {
                Store(Arg1, Debug)
                Store(0x0, CMDC)
                Name(ID49, 0x0c00)
                Name(ID59, 0x0)
                Name(ID53, 0x4)
                Name(ID63, 0x0f00)
                Name(ID88, 0x0f00)
                Name(IRDY, 0x1)
                Name(PIOT, 0x0)
                Name(DMAT, 0x0)
                If(LEqual(SizeOf(Arg1), 0x0200)) {
                    CreateWordField(Arg1, 0x62, IW49)
                    Store(IW49, ID49)
                    CreateWordField(Arg1, 0x6a, IW53)
                    Store(IW53, ID53)
                    CreateWordField(Arg1, 0x7e, IW63)
                    Store(IW63, ID63)
                    CreateWordField(Arg1, 0x76, IW59)
                    Store(IW59, ID59)
                    CreateWordField(Arg1, 0xb0, IW88)
                    Store(IW88, ID88)
                }
                Store(0xa0, Local7)
                If(Arg0) {
                    Store(0xb0, Local7)
                    And(CHNF, 0x8, IRDY)
                    If(And(CHNF, 0x10, )) {
                        Store(PIO1, PIOT)
                    }
                    Else {
                        Store(PIO0, PIOT)
                    }
                    If(And(CHNF, 0x4, )) {
                        If(And(CHNF, 0x10, )) {
                            Store(DMA1, DMAT)
                        }
                        Else {
                            Store(DMA0, DMAT)
                        }
                    }
                }
                Else {
                    And(CHNF, 0x2, IRDY)
                    Store(PIO0, PIOT)
                    If(And(CHNF, 0x1, )) {
                        Store(DMA0, DMAT)
                    }
                }
                If(LAnd(LAnd(And(ID53, 0x4, ), And(ID88, 0xff00, )), DMAT)) {
                    Store(Match(DerefOf(Index(TIM0, 0x3, )), MLE, DMAT, MTR, 0x0, 0x0), Local1)
                    If(LGreater(Local1, 0x5)) {
                        Store(0x5, Local1)
                    }
                    GTFB(AT01, Or(0x40, Local1, ), Local7)
                }
                Else {
                    If(LAnd(And(ID63, 0xff00, ), PIOT)) {
                        And(Match(DerefOf(Index(TIM0, 0x0, )), MGE, PIOT, MTR, 0x0, 0x0), 0x3, Local0)
                        Or(0x20, DerefOf(Index(DerefOf(Index(TIM0, 0x7, )), Local0, )), Local1)
                        GTFB(AT01, Local1, Local7)
                    }
                }
                If(IRDY) {
                    And(Match(DerefOf(Index(TIM0, 0x0, )), MGE, PIOT, MTR, 0x0, 0x0), 0x7, Local0)
                    Or(0x8, DerefOf(Index(DerefOf(Index(TIM0, 0x6, )), Local0, )), Local1)
                    GTFB(AT01, Local1, Local7)
                }
                Else {
                    If(And(ID49, 0x0400, )) {
                        GTFB(AT01, 0x1, Local7)
                    }
                }
                If(LAnd(And(ID59, 0x0100, ), And(ID59, 0xff, ))) {
                    GTFB(AT03, And(ID59, 0xff, ), Local7)
                }
                Store(ATAB, Debug)
                Return(ATAB)
            }
            Method(RATA, 1) {
                CreateByteField(Arg0, 0x0, CMDN)
                Multiply(CMDN, 0x38, Local0)
                CreateField(Arg0, 0x8, Local0, RETB)
                Store(RETB, Debug)
                Return(RETB)
            }
        }
        Device(USB_) {
            Name(_ADR, 0x00110002)
            Method(_S1D) {
                Return(One)
            }
            Name(_PRW, Package(0x2) {
                0x9,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L09) {
                    Notify(\_SB_.PCI0.USB_, 0x2)
                }
            }
        }
        Device(USB1) {
            Name(_ADR, 0x00110003)
            Method(_S1D) {
                Return(One)
            }
            Name(_PRW, Package(0x2) {
                0x9,
                0x4,
            })
        }
        Device(USB2) {
            Name(_ADR, 0x00110004)
            Method(_STA) {
                If(LEqual(\_SB_.PCI0.SBRG.D147, 0x3147)) {
                    Return(Zero)
                }
                Else {
                    Return(0xf)
                }
            }
            Method(_S1D) {
                Return(One)
            }
            Name(_PRW, Package(0x2) {
                0x9,
                0x4,
            })
        }
        Device(AC9_) {
            Name(_ADR, 0x00110005)
            Name(_PRW, Package(0x2) {
                0xd,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L0D) {
                    Notify(\_SB_.PCI0.AC9_, 0x2)
                }
            }
        }
        Device(MC9_) {
            Name(_ADR, 0x00110006)
            OperationRegion(ACLK, PCI_Config, 0x41, 0x1)
            Field(ACLK, ByteAcc, NoLock, Preserve) {
                ,	6,
                MC9P,	2
            }
            Name(_PRW, Package(0x2) {
                0xd,
                0x4,
            })
        }
        Device(ILAN) {
            Name(_ADR, 0x00120000)
            Name(_PRW, Package(0x2) {
                0x3,
                0x4,
            })
            Scope(\_GPE) {
                Method(_L03) {
                    Notify(\_SB_.PCI0.ILAN, 0x2)
                }
            }
        }
        Device(SLT1) {
            Name(_ADR, 0x0009ffff)
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
        }
        Device(SLT2) {
            Name(_ADR, 0x000affff)
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
        }
        Device(SLT3) {
            Name(_ADR, 0x000bffff)
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
        }
        Device(SLT4) {
            Name(_ADR, 0x000cffff)
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
        }
        Device(SLT5) {
            Name(_ADR, 0x000dffff)
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
        }
        Device(SLT6) {
            Name(_ADR, 0x0010ffff)
            Name(_PRW, Package(0x2) {
                0xb,
                0x4,
            })
        }
        Scope(\_GPE) {
            Method(_L0B) {
                Notify(\_SB_.PCI0, 0x2)
            }
        }
        Name(_PRW, Package(0x2) {
            0x5,
            0x4,
        })
        Scope(\_GPE) {
            Method(_L05) {
                Notify(\_SB_.PCI0, 0x2)
            }
        }
    }
}
OperationRegion(FNOR, SystemIO, 0x084c, 0x4)
OperationRegion(SIOR, SystemIO, 0x0370, 0x2)
Field(SIOR, ByteAcc, NoLock, Preserve) {
    SIND,	8,
    SDTA,	8
}
OperationRegion(WIN1, SystemIO, 0x2e, 0x2)
Field(WIN1, ByteAcc, NoLock, Preserve) {
    INDX,	8,
    DATA,	8
}
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
    Offset(0x2),
    CFG_,	8,
    Offset(0x7),
    LDN_,	8,
    Offset(0xb4),
    GPP5,	8,
    GPP6,	8,
    Offset(0xf7),
    GPLM,	8,
    GPLB,	8
}
Method(ENFG) {
    Store(0x87, INDX)
    Store(0x1, INDX)
    Store(0x55, INDX)
    Store(0x55, INDX)
}
Method(EXFG) {
    Store(0x2, INDX)
    Store(0x2, DATA)
}
Scope(_SI_) {
    Method(_SST, 1) {
        If(Arg0) {
            If(LEqual(Arg0, 0x1)) {
                ENFG()
                Store(0x5, LDN_)
                Store(0x0, GPP5)
                Store(0x0, GPLM)
                Store(0x0, GPLB)
                EXFG()
            }
            If(LEqual(Arg0, 0x2)) {
                ENFG()
                Store(0x5, LDN_)
                Store(0x0, GPP5)
                Store(0x0, GPLM)
                Store(0x0, GPLB)
                EXFG()
            }
            If(LEqual(Arg0, 0x3)) {
                ENFG()
                Store(0x5, LDN_)
                Store(0x90, GPP5)
                Store(0x33, GPLM)
                Store(0x2, GPLB)
                EXFG()
            }
            If(LEqual(Arg0, 0x4)) {
                ENFG()
                Store(0x5, LDN_)
                Store(0x80, GPP5)
                EXFG()
            }
        }
        Else {
        }
    }
    Method(_MSG, 1) {
        Noop
    }
}
Method(_PTS, 1) {
    Store(Arg0, DBG8)
    If(LAnd(LEqual(Arg0, 0x4), LEqual(\_SB_.PCI0.OSFL, 0x2))) {
        Sleep(0x0bb8)
    }
    If(LAnd(LEqual(Arg0, 0x1), LEqual(\_SB_.PCI0.OSFL, 0x1))) {
        Sleep(0x0bb8)
    }
    If(LEqual(Arg0, 0x1)) {
        While(WAKS) {
            Stall(0x50)
            Store(0x1, WAKS)
        }
    }
    If(LNot(\_SB_.PCI0.OSFL)) {
        Store(\_SB_.PCI0.TLBC, PTB1)
    }
    Store(\_SB_.PCI0.MC9_.MC9P, PTB0)
    Store(0x0, \_SB_.PCI0.MC9_.MC9P)
    Store(Arg0, \_SB_.PCI0.SPLV)
    While(PS1S) {
        Stall(0x50)
        Store(0x1, PS1S)
    }
    Store(0x1, PS1E)
    If(LNot(\_SB_.PCI0.OSFL)) {
        Store(0x3, \_SB_.PCI0.W2FG)
    }
}
Method(_WAK, 1) {
    ShiftLeft(Arg0, 0x4, DBG8)
    If(LNot(RTCS)) {
        Notify(\_SB_.PWRB, 0x2)
        Sleep(0x0294)
    }
    Store(0x1, PWBT)
    If(LNot(\_SB_.PCI0.OSFL)) {
        If(\_SB_.PCI0.GATR) {
            Store(PTB1, \_SB_.PCI0.TLBC)
        }
        Else {
            Store(0x0, \_SB_.PCI0.TLBC)
        }
    }
    Store(PTB0, \_SB_.PCI0.MC9_.MC9P)
    Store(0x0, PS1E)
    Store(0x0, \_SB_.PCI0.W2FG)
}
OperationRegion(PMS0, SystemIO, 0x0800, 0x4)
Field(PMS0, ByteAcc, NoLock, Preserve) {
    ,	10,
    RTCS,	1,
    Offset(0x3),
    PWBT,	1,
    Offset(0x4)
}
OperationRegion(IOTP, SystemIO, 0x0828, 0x4)
Field(IOTP, ByteAcc, NoLock, Preserve) {
    ,	7,
    WAKS,	1,
    ,	7,
    PS1S,	1,
    ,	15,
    PS1E,	1
}
OperationRegion(TEMP, SystemIO, 0x80, 0x1)
Field(TEMP, ByteAcc, NoLock, Preserve) {
    DBG8,	8
}
OperationRegion(DEB0, SystemIO, 0x90, 0x2)
Field(DEB0, WordAcc, NoLock, Preserve) {
    DBG9,	16
}

}
/*
APIC: Length=84, Revision=1, Checksum=1,
	OEMID=AMIINT, OEM Table ID=, OEM Revision=0x9,
	Creator ID=MSFT, Creator Revision=0x97
 */
