NetBSD Problem Report #42895

From rhialto@falu.nl  Sun Feb 28 00:23:09 2010
Return-Path: <rhialto@falu.nl>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 4E9C363B89F
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 28 Feb 2010 00:23:09 +0000 (UTC)
Message-Id: <201002280022.o1S0MnAB022157@radl.falu.nl>
Date: Sun, 28 Feb 2010 01:22:49 +0100 (CET)
From: rhialto@falu.nl
Reply-To: rhialto@falu.nl
To: gnats-bugs@gnats.NetBSD.org
Cc: rhialto@falu.nl
Subject: Weird ACPI messages every 30 seconds on the console
X-Send-Pr-Version: 3.95

>Number:         42895
>Category:       port-amd64
>Synopsis:       Weird ACPI messages every 30 seconds on the console
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-amd64-maintainer
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 28 00:25:00 +0000 2010
>Closed-Date:    Tue Jun 14 19:57:05 +0000 2011
>Last-Modified:  Tue Jun 14 19:57:05 +0000 2011
>Originator:     Rhialto
>Release:        NetBSD 5.0.1
>Organization:

>Environment:


System: NetBSD vargaz.falu.nl 5.99.24 NetBSD 5.99.24 (VARGAZ) #1: Tue Feb 16 23:05:19 CET 2010  rhialto@vargaz.falu.nl:/home/rhialto/tmp/obj.amd64/sys/arch/amd64/compile/VARGAZ amd64
Architecture: x86_64
Machine: amd64
>Description:
	Every 30 seconds some ACPI error messages appear on the console,
	related to thermal zone 0. Also, ACPI sleep doesn't wake up properly,
	although this may be unrelated.

    ACPI Error (psargs-0464): [\_PR_.CPU0._PPC] Namespace lookup failure,       
AE_NOT_FOUND                                                                    
    ACPI Error (psparse-0627): Method parse/execution failed [\CPUL] (Node      
0xffff800007b26700), AE_NOT_FOUND                                               
    ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01.OTHD]  
(Node 0xffff800007b26960), AE_NOT_FOUND                                         
    ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01._TMP]  
(Node 0xffff800007b26a40), AE_NOT_FOUND                                         
    acpitz0: failed to evaluate _TMP                                            

	There are various warnings already during booting:

    NetBSD 5.0.1 (GENERIC) #0: Thu Jul 30 00:08:07 UTC 2009                         
    builds@b7.netbsd.org:/home/builds/ab/netbsd-5-0-1-RELEASE/amd64/200907292356Z-obj/home/builds/ab/netbsd-5-0-1-RELEASE/src/sys/arch/amd64/compile/GENERIC
    total memory = 3998 MB 
    avail memory = 3861 MB
    timecounter: Timecounters tick every 10.000 msec                   
    RTC BIOS diagnostic error 80<clock_battery>                 
    timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100     
    SMBIOS rev. 2.4 @ 0xe8290 (26 entries)                     
    Hewlett-Packard Compaq Presario CQ71 Notebook PC (Rev 1)              
    mainbus0 (root)                                                       
    cpu0 at mainbus0 apid 0: Intel 686-class, 2095MHz, id 0x1067a
    cpu1 at mainbus0 apid 1: Intel 686-class, 2095MHz, id 0x1067a
    ioapic0 at mainbus0 apid 4: pa 0xfec00000, version 20, 24 pins 
    acpi0 at mainbus0: Intel ACPICA 20080321
    acpi0: X/RSDT: OemId <HPQOEM,SLIC-MPC,00000001>, AslId <    ,01000013>
    ACPI Error (evregion-0427): No handler for Region [ERAM] (0xffff800007b3aa80) [EmbeddedControl] [20080321]                                              
    ACPI Error (exfldio-0390): Region EmbeddedControl(3) has no handler [20080321]
    ACPI Error (psparse-0627): Method parse/execution failed [\_SB_.PCI0._INI] (Node 0xffff800007b43100), AE_NOT_EXIST               
    acpi0: SCI interrupting at int 9                              
    acpi0: fixed-feature power button present
    timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
    ACPI-Fast 24-bit timer
    acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
    acpilid0 at acpi0 (LID0, PNP0C0D): ACPI Lid Switch
    acpibut1 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
    acpiacad0 at acpi0 (ACAD, ACPI0003): ACPI AC Adapter
    acpibat0 at acpi0 (BAT0, PNP0C0A-1): ACPI Battery (Control Method)
    hpet0 at acpi0 (HPET, PNP0103)
    hpet0: mem 0xfed00000-0xfed003ff irq 0,8
    timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
    attimer1 at acpi0 (TIMR, PNP0100): AT Timer
    attimer1: io 0x40-0x43,0x50-0x53
    FWHD (INT0800) at acpi0 not configured
    pckbc1 at acpi0 (KBC, PNP0303): kbd port
    pckbc1: io 0x60,0x64 irq 1
    pckbc2 at acpi0 (MOUE, SYN1E08): aux port
    pckbc2: irq 12
    acpiec0 at acpi0 (EC0, PNP0C09-1): ACPI Embedded Controller
    acpiec0: io 0x62,0x66
    WMID (PNP0C14) at acpi0 not configured
    acpitz0 at acpi0 (TZ01):ACPI Error (psargs-0464): [\_PR_.CPU0._PPC] Namespace lookup failure, AE_NOT_FOUND
    ACPI Error (psparse-0627): Method parse/execution failed [\CPUL] (Node 0xffff800007b43700), AE_NOT_FOUND
    ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01.OTHD] (Node 0xffff800007b43960), AE_NOT_FOUND
    ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01._TMP] (Node 0xffff800007b43a40), AE_NOT_FOUND
    critical 110.0C passive -273.-3C, passive cooling
    ACPI Error (psargs-0464): [\_PR_.CPU0._PPC] Namespace lookup failure, AE_NOT_FOUND
    ACPI Error (psparse-0627): Method parse/execution failed [\CPUL] (Node 0xffff800007b43700), AE_NOT_FOUND
    ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01.OTHD] (Node 0xffff800007b43960), AE_NOT_FOUND
    ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01._TMP] (Node 0xffff800007b43a40), AE_NOT_FOUND
    acpitz0: failed to evaluate _TMP
    pckbd0 at pckbc1 (kbd slot)

	These boot messages are from GENERIC but the results from my
	slimmed down kernel don't differ.

	It seems there is no ECDT, at least xubuntu's acpidump didn't
	show a table by that name. The DSDT disassembly (from NetBSD's
	acpidump, which differs somewhat in layout) is appended at the
	end, in full.

	I have attached everything that results from that acpidump at
	http://www.falu.nl/~rhialto/pressario-cq71-acpi.tar.gz .
	See also the thread starting at
	http://mail-index.netbsd.org/current-users/2010/02/07/msg012464.html
	.

>How-To-Repeat:
	Buy a laptop without having time to do full research on it.

>Fix:
	Curse PC industry, wish they would make real computers.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert    -- You author it, and I'll reader it.
\X/ rhialto/at/xs4all.nl      -- Cetero censeo "authored" delendum esse.

/*
RSD PTR: Checksum=81, OEMID=HPQOEM, RsdtAddress=0xb9ff60ac
 */
/*
RSDT: Length=68, Revision=1, Checksum=170,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
	Creator ID=, Creator Revision=0x1000013
 */
/*
	Entries={ 0xb9ff5000, 0xb9ff4000, 0xb9ff3000, 0xb9ff2000, 0xb9ff1000, 0xb9fe4000, 0xb9fe3000, 0xb9fe2000 }
 */
/*
	DSDT=0xb9fe5000
	INT_MODEL=PIC
	SCI_INT=9
	SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0
	PM1a_EVT_BLK=0x400-0x403
	PM1a_CNT_BLK=0x404-0x405
	PM2_CNT_BLK=0x450-0x450
	PM2_TMR_BLK=0x408-0x40b
	PM2_GPE0_BLK=0x420-0x42f
	P_LVL2_LAT=101ms, P_LVL3_LAT=1001ms
	FLUSH_SIZE=0, FLUSH_STRIDE=0
	DUTY_OFFSET=1, DUTY_WIDTH=3
	DAY_ALRM=13, MON_ALRM=0, CENTURY=0
	Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
 */
/*
DSDT: Length=48912, Revision=1, Checksum=197,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
	Creator ID=MSFT, Creator Revision=0x1000013
 */
DefinitionBlock ("acpi_dst.aml", "DSDT", 0x1, "HPQOEM", "SLIC-MPC", 0x1)
{
Name(SP2O, 0x4e)
Name(SP1O, 0x164e)
Name(IO1B, 0x0600)
Name(IO1L, 0x70)
Name(IO2B, 0x0680)
Name(IO2L, 0x20)
Name(IO3B, 0x0290)
Name(IO3L, 0x10)
Name(MCHB, 0xfed10000)
Name(MCHL, 0x4000)
Name(EGPB, 0xfed19000)
Name(EGPL, 0x1000)
Name(DMIB, 0xfed18000)
Name(DMIL, 0x1000)
Name(IFPB, 0xfed14000)
Name(IFPL, 0x1000)
Name(PEBS, 0xe0000000)
Name(PELN, 0x10000000)
Name(TTTB, 0xfed20000)
Name(TTTL, 0x00020000)
Name(SMBS, 0xefa0)
Name(PBLK, 0x0410)
Name(PMBS, 0x0400)
Name(PMLN, 0x80)
Name(LVL2, 0x0414)
Name(LVL3, 0x0415)
Name(LVL4, 0x0416)
Name(SMIP, 0xb2)
Name(GPBS, 0x0500)
Name(GPLN, 0x40)
Name(APCB, 0xfec00000)
Name(APCL, 0x1000)
Name(PM30, 0x0430)
Name(SRCB, 0xfed1c000)
Name(SRCL, 0x4000)
Name(SUSW, 0xff)
Name(ACPH, 0xde)
Name(ASSB, Zero)
Name(AOTB, Zero)
Name(AAXB, Zero)
Name(PEHP, One)
Name(SHPC, One)
Name(PEPM, One)
Name(PEER, One)
Name(PECS, One)
Name(ITKE, Zero)
Name(TRTP, One)
Name(TRTD, 0x02)
Name(TRTI, 0x03)
Name(TRTO, 0x04)
Name(GCDD, One)
Name(DSTA, 0x0a)
Name(DSLO, 0x0c)
Name(DSLC, 0x0e)
Name(PITS, 0x10)
Name(SBCS, 0x12)
Name(SALS, 0x13)
Name(LSSS, 0x2a)
Name(PSSS, 0x2b)
Name(SOOT, 0x35)
Name(ESCS, 0x48)
Name(PDBR, 0x4d)
Name(SMBL, 0x10)
Name(PEHS, 0xf4)
Name(KBWK, Zero)
Name(MUWK, Zero)
Name(LAWK, Zero)
Name(WA40, Zero)
OperationRegion(GPIO, SystemIO, 0x0500, 0x10)
Field(GPIO, ByteAcc, NoLock, Preserve) {
    Offset(0xe),
    ,	1,
    ,	1,
    HLED,	1
}
OperationRegion(PMBA, SystemIO, 0x0400, 0x80)
Field(PMBA, ByteAcc, NoLock, Preserve) {
    Offset(0x28),
    ,	2,
    SPST,	1,
    Offset(0x42),
    ,	1,
    GPEC,	1,
    Offset(0x64),
    ,	9,
    SCIS,	1,
    Offset(0x66)
}
OperationRegion(RCRB, SystemMemory, 0xfed1c000, 0x4000)
Field(RCRB, DWordAcc, Lock, Preserve) {
    Offset(0x1000),
    Offset(0x3000),
    Offset(0x3404),
    HPAS,	2,
    ,	5,
    HPAE,	1,
    Offset(0x3418),
    ,	1,
    PATD,	1,
    SATD,	1,
    SMBD,	1,
    HDAD,	1,
    Offset(0x341a),
    RP1D,	1,
    RP2D,	1,
    RP3D,	1,
    RP4D,	1,
    RP5D,	1,
    RP6D,	1
}
OperationRegion(MBOX, SystemMemory, 0xb9fbec18, 0x000002bc)
Field(MBOX, AnyAcc, NoLock, Preserve) {
    PCI1,	8,
    PCI2,	8,
    PCI3,	8,
    PCI4,	8,
    PCI5,	8,
    PCI6,	8,
    PCI7,	8,
    PCI8,	8,
    NLCK,	8,
    ZIPE,	8,
    COMA,	8,
    CAIO,	8,
    CAIP,	8,
    CAMD,	8,
    CADA,	8,
    COMB,	8,
    CBIO,	8,
    CBIP,	8,
    CBMD,	8,
    CBDA,	8,
    FHSD,	8,
    COMC,	8,
    CCIO,	8,
    CCIP,	8,
    CCMD,	8,
    CCDA,	8,
    COMD,	8,
    CDIO,	8,
    CDIP,	8,
    CDMD,	8,
    CDDA,	8,
    LPT1,	8,
    L1IO,	8,
    L1IP,	8,
    L1MD,	8,
    L1DA,	8,
    LPT2,	8,
    L2IO,	8,
    L2IP,	8,
    L2MD,	8,
    L2DA,	8,
    LPT3,	8,
    L3IO,	8,
    L3IP,	8,
    L3MD,	8,
    L3DA,	8,
    FDDC,	8,
    FDWP,	8,
    HGMP,	8,
    LGMP,	8,
    MIDI,	8,
    AZLA,	8,
    AUDO,	8,
    MODM,	8,
    IDEC,	8,
    SSED,	8,
    PACT,	8,
    SCFG,	8,
    AMOD,	8,
    IMOD,	8,
    LCFG,	8,
    IDLY,	8,
    PMTP,	8,
    PMIO,	8,
    PMBM,	8,
    PMTM,	8,
    PSTP,	8,
    PSIO,	8,
    PSBM,	8,
    PSTM,	8,
    IDE0,	8,
    IDE1,	8,
    IDE2,	8,
    IDE3,	8,
    IDE4,	8,
    IDE5,	8,
    IDE6,	8,
    IDE7,	8,
    HIUB,	8,
    LUBS,	8,
    PLYT,	8,
    EDCG,	8,
    SDFY,	8,
    SDTC,	8,
    SDRP,	8,
    SDCL,	8,
    SDRC,	8,
    SDRE,	8,
    FC2L,	8,
    FC3L,	8,
    FCS4,	8,
    APIM,	8,
    HPTS,	8,
    HPTA,	8,
    EMAS,	8,
    VGAO,	8,
    SOFF,	8,
    KBPO,	8,
    MSPO,	8,
    USBB,	8,
    EVTL,	8,
    SYBE,	8,
    ETLC,	8,
    AC30,	8,
    TPMD,	8,
    TPMO,	8,
    TPMC,	8,
    TPMM,	8,
    TPCC,	8,
    TPLC,	8,
    TPLR,	32,
    QBOT,	8,
    BOTQ,	8,
    PBOT,	8,
    M256,	8,
    PEGF,	8,
    OSYS,	16,
    BMTP,	8,
    BNPT,	8,
    LNMT,	8,
    NBTO,	8,
    NABD,	8,
    NEBD,	8,
    NLBD,	8,
    DFBT,	16,
    NPSP,	16,
    LANG,	8,
    UACL,	8,
    SUPS,	8,
    DVET,	8,
    S3RS,	8,
    DAS1,	8,
    DAS3,	8,
    WKPM,	8,
    WKMD,	8,
    WKS5,	8,
    HOUR,	8,
    MINS,	8,
    SECS,	8,
    DOFM,	8,
    NBTV,	64,
    BTOD,	64,
    SPVP,	16,
    POPW,	16,
    USPW,	16,
    HDPW,	16,
    SAHP,	16,
    SAHF,	8,
    SUVF,	8,
    USRF,	8,
    UMPW,	8,
    SMHP,	16,
    SAMP,	16,
    SAMF,	8,
    SPFA,	8,
    SPFB,	8,
    SPFC,	8,
    SPFD,	8,
    SPFE,	8,
    SPFF,	8,
    SPFG,	8,
    SPFH,	8,
    SPFI,	8,
    SPFJ,	8,
    SPFK,	8,
    SPFL,	8,
    SPFM,	8,
    SPFN,	8,
    SPFO,	8,
    SPFP,	8,
    SPFQ,	8,
    SPFR,	8,
    SPFS,	8,
    SPFT,	8,
    SPFU,	8,
    SPFV,	8,
    SPFW,	8,
    SPFX,	8,
    SPFY,	8,
    SPFZ,	8,
    SPF0,	8,
    SPF1,	8,
    SPF2,	8,
    SPF3,	8,
    SPF4,	8,
    SPF5,	8,
    KRSV,	136,
    LANE,	8,
    AORS,	8,
    P0HP,	8,
    P1HP,	8,
    P4HP,	8,
    P5HP,	8,
    P0IL,	8,
    P1IL,	8,
    P2IL,	8,
    PEGS,	8,
    D2F1,	8,
    IGMT,	8,
    DTSZ,	8,
    CLKC,	8,
    CKSC,	8,
    BOTT,	8,
    PANT,	8,
    TVTP,	8,
    U201,	8,
    U202,	8,
    U111,	8,
    U112,	8,
    U113,	8,
    U114,	8,
    U115,	8,
    UPPC,	8,
    UP00,	8,
    UP01,	8,
    UP02,	8,
    UP03,	8,
    UP04,	8,
    UP05,	8,
    UP06,	8,
    UP07,	8,
    UP08,	8,
    UP09,	8,
    UP10,	8,
    UP11,	8,
    P80R,	8,
    WDOG,	8,
    WDTO,	16,
    WDTB,	16,
    MASF,	8,
    MAMT,	8,
    ABXP,	8,
    SPIL,	8,
    PWDW,	8,
    HETO,	8,
    AWTR,	16,
    EOPT,	8,
    ASFB,	8,
    MBTX,	8,
    IDER,	8,
    SOLE,	8,
    PRE0,	8,
    PRE1,	8,
    PRE2,	8,
    PRE3,	8,
    PRE4,	8,
    PRE5,	8,
    PRA0,	8,
    PRA1,	8,
    PRA2,	8,
    PRA3,	8,
    PRA4,	8,
    PRA5,	8,
    PRV0,	8,
    PRV1,	8,
    PRV2,	8,
    PRV3,	8,
    PRV4,	8,
    PRV5,	8,
    PAA0,	8,
    PAA1,	8,
    PAA2,	8,
    PAA3,	8,
    PAA4,	8,
    PAA5,	8,
    L0S0,	8,
    L0S1,	8,
    L0S2,	8,
    L0S3,	8,
    L0S4,	8,
    L0S5,	8,
    AL10,	8,
    AL11,	8,
    AL12,	8,
    AL13,	8,
    AL14,	8,
    AL15,	8,
    PES0,	8,
    PES1,	8,
    PES2,	8,
    PES3,	8,
    PES4,	8,
    PES5,	8,
    PRU0,	8,
    PRU1,	8,
    PRU2,	8,
    PRU3,	8,
    PRU4,	8,
    PRU5,	8,
    PRF0,	8,
    PRF1,	8,
    PRF2,	8,
    PRF3,	8,
    PRF4,	8,
    PRF5,	8,
    PRN0,	8,
    PRN1,	8,
    PRN2,	8,
    PRN3,	8,
    PRN4,	8,
    PRN5,	8,
    PRC0,	8,
    PRC1,	8,
    PRC2,	8,
    PRC3,	8,
    PRC4,	8,
    PRC5,	8,
    CTD0,	8,
    CTD1,	8,
    CTD2,	8,
    CTD3,	8,
    CTD4,	8,
    CTD5,	8,
    PIE0,	8,
    PIE1,	8,
    PIE2,	8,
    PIE3,	8,
    PIE4,	8,
    PIE5,	8,
    SFE0,	8,
    SFE1,	8,
    SFE2,	8,
    SFE3,	8,
    SFE4,	8,
    SFE5,	8,
    SNE0,	8,
    SNE1,	8,
    SNE2,	8,
    SNE3,	8,
    SNE4,	8,
    SNE5,	8,
    SCE0,	8,
    SCE1,	8,
    SCE2,	8,
    SCE3,	8,
    SCE4,	8,
    SCE5,	8,
    MCE0,	8,
    MCE1,	8,
    MCE2,	8,
    MCE3,	8,
    MCE4,	8,
    MCE5,	8,
    PCE0,	8,
    PCE1,	8,
    PCE2,	8,
    PCE3,	8,
    PCE4,	8,
    PCE5,	8,
    PTC0,	8,
    PTC1,	8,
    PTC2,	8,
    PTC3,	8,
    PTC4,	8,
    PTC5,	8,
    DAPM,	8,
    DPMA,	8,
    DL0S,	8,
    DAL1,	8,
    PEGA,	8,
    PGAA,	8,
    PGL0,	8,
    PL0A,	8,
    PGL1,	8,
    PGES,	8,
    ISTC,	8,
    TRML,	8,
    FNON,	8,
    TRON,	8,
    NXMD,	8,
    PCRR,	8,
    C4EN,	8,
    C43D,	8,
    EMTT,	8,
    PROH,	8,
    DFSB,	8,
    TUBM,	8,
    TSTE,	8,
    BPST,	8,
    QKS4,	8,
    POPU,	8,
    POPD,	8,
    NXFE,	8,
    VTST,	8,
    VTFE,	8,
    S5FG,	8,
    CSTS,	8,
    ENCS,	8,
    DEC4,	8,
    HC4E,	8,
    ENC6,	8,
    CSTR,	8,
    CMPE,	8,
    CSMD,	8,
    DTSE,	8,
    DTSC,	8,
    RAID,	8,
    PSHM,	8,
    PEXC,	8,
    DTST,	8,
    TXTS,	8,
    VTDE,	8,
    C4ET,	8,
    SMRR,	8,
    CART,	8,
    CATT,	8,
    PAVP,	8,
    ITPM,	8,
    STBE,	8,
    PEBE,	8,
    PCBE,	8,
    EHBE,	8,
    UHBE,	8,
    HABE,	8,
    MTME,	8,
    MTSD,	8,
    MTML,	8,
    ERS2,	8,
    GLPM,	8,
    SMFQ,	8,
    UPFF,	8,
    UPFT,	8,
    GRTT,	8,
    CRID,	8,
    CRSV,	480,
    HPOP,	16,
    FKDY,	8,
    CDRB,	8,
    FLYB,	8,
    FK11,	8,
    ACPT,	8,
    OSFG,	8,
    VTDT,	8,
    C4DT,	8,
    C6DT,	8,
    BAT1,	8,
    ORSV,	464,
    BTND,	8,
    LPSD,	8,
    CRPS,	8,
    MCID,	8,
    CFCR,	8,
    DIC2,	8,
    CKPF,	8,
    CHPL,	8,
    DRSV,	736
}
OperationRegion(IO_T, SystemIO, 0x0800, 0x10)
Field(IO_T, ByteAcc, NoLock, Preserve) {
    Offset(0x2),
    Offset(0x4),
    Offset(0x6),
    Offset(0x8),
    TRP0,	8,
    Offset(0xa),
    Offset(0xb),
    Offset(0xc),
    Offset(0xd),
    Offset(0xe),
    Offset(0xf),
    Offset(0x10)
}
OperationRegion(IO_D, SystemIO, 0x0810, 0x08)
Field(IO_D, ByteAcc, NoLock, Preserve) {
    TRPD,	8
}
OperationRegion(IO_H, SystemIO, 0x0820, 0x04)
Field(IO_H, ByteAcc, NoLock, Preserve) {
    TRPH,	8
}
OperationRegion(NVST, SystemMemory, 0xb9fbeed4, 0x000000ff)
Field(NVST, AnyAcc, Lock, Preserve) {
    SMIF,	8,
    PRM0,	8,
    PRM1,	8,
    SCIF,	8,
    PRM2,	8,
    PRM3,	8,
    LCKF,	8,
    PRM4,	8,
    PRM5,	8,
    P80D,	32,
    LIDS,	8,
    PWRS,	8,
    DBGS,	8,
    THOF,	8,
    ACT1,	8,
    ACTT,	8,
    CRTT,	8,
    Offset(0x15),
    DTS1,	8,
    DTS2,	8,
    DTSF,	8,
    BNUM,	8,
    APIC,	8,
    PCP0,	8,
    PCP1,	8,
    PPCM,	8,
    PPMF,	32,
    IGDS,	8,
    TLST,	8,
    CADL,	8,
    PADL,	8,
    CSTE,	16,
    NSTE,	16,
    SSTE,	16,
    NDID,	8,
    DID1,	32,
    DID2,	32,
    DID3,	32,
    DID4,	32,
    DID5,	32,
    BDSP,	8,
    PTY1,	8,
    PTY2,	8,
    PSCL,	8,
    TVF1,	8,
    TVF2,	8,
    GETM,	8,
    BLCS,	8,
    BRTL,	8,
    ALSE,	8,
    ALAF,	8,
    LLOW,	8,
    LHIH,	8,
    EMAE,	8,
    EMAP,	16,
    EMAL,	16,
    MEFE,	8,
    DSTS,	8,
    TPMP,	8,
    TPME,	8,
    GTF0,	56,
    GTF2,	56,
    IDEM,	8,
    GTF1,	56,
    BID,	8,
    ASLB,	32,
    IBTT,	8,
    IPAT,	8,
    ITVF,	8,
    ITVM,	8,
    IPSC,	8,
    IBLC,	8,
    IBIA,	8,
    ISSC,	8,
    I409,	8,
    I509,	8,
    I609,	8,
    I709,	8,
    IPC,	8,
    IDMS,	8,
    IF1E,	8,
    HVCO,	8,
    NXD1,	32,
    NXD2,	32,
    NXD3,	32,
    NXD4,	32,
    NXD5,	32,
    NXD6,	32,
    NXD7,	32,
    NXD8,	32,
    GSMI,	8,
    DSEN,	8,
    ECON,	8,
    GPIC,	8,
    CTYP,	8,
    L01C,	8,
    VFN0,	8,
    VFN1,	8,
    LCDA,	16,
    BVAL,	32,
    KSV0,	32,
    KSV1,	8,
    WMIA,	8,
    WMIO,	8,
    ACPS,	8,
    HPBD,	8,
    IVIM,	8,
    EXTM,	8,
    WDI0,	8,
    WDI1,	8,
    WDI2,	8,
    WDI3,	8,
    WSI0,	8,
    WSI1,	8,
    WSI2,	8,
    WSI3,	8,
    NCDD,	8,
    NCAD,	8,
    NNDD,	8,
    EXCM,	8,
    VBTL,	8,
    SID0,	8,
    SID1,	8,
    SID2,	8,
    SID3,	8,
    SID4,	8,
    SID5,	8,
    SID6,	8,
    SID7,	8,
    WBLC,	8,
    WLD0,	8,
    WLD1,	8,
    WLD2,	8,
    WLD3,	8,
    WLD4,	8,
    WLD5,	8,
    WLD6,	8,
    WLD7,	8,
    WBD0,	8,
    WBD1,	8,
    WBD2,	8,
    WBD3,	8,
    WWD0,	8,
    WWD1,	8,
    WWD2,	8,
    WWD3,	8,
    WAB0,	8,
    WAB1,	8,
    WAB2,	8,
    WAB3,	8,
    WAB4,	8,
    WAB5,	8,
    PSTN,	8,
    DBGD,	8,
    MCHD,	8,
    LCDD,	32,
    RTID,	8,
    HSV0,	32,
    HSV1,	8,
    CMTF,	8,
    CMTI,	32,
    CMTO,	8,
    TJMX,	8,
    EIST,	8,
    CHPF,	8,
    USBW,	8,
    CKPL,	8,
    MSRA,	8
}
Scope(_PR) {
    Processor(CPU0, 1, 0x410, 0x6) {
    }
    Processor(CPU1, 2, 0x410, 0x6) {
    }
    Processor(CPU2, 3, 0x410, 0x6) {
    }
    Processor(CPU3, 4, 0x410, 0x6) {
    }
}
Name(DQ30, Zero)
Name(ECOK, Zero)
Name(WAOK, Zero)
Name(RTL0, Zero)
Name(BCLT, Package(0x0d) {
    0x64,
    0x32,
    Zero,
    0x0a,
    0x14,
    0x1e,
    0x28,
    0x32,
    0x3c,
    0x46,
    0x50,
    0x5a,
    0x64,
})
Name(BCT1, Package(0x0b) {
    0x07,
    0x09,
    0x0d,
    0x12,
    0x16,
    0x1a,
    0x1f,
    0x2c,
    0x39,
    0x46,
    0x4f,
})
Name(BCT2, Package(0x0b) {
    0x07,
    0x09,
    0x0d,
    0x11,
    0x18,
    0x1a,
    0x1e,
    0x2b,
    0x39,
    0x46,
    0x57,
})
Name(BCT3, Package(0x0b) {
    0x15,
    0x1a,
    0x20,
    0x25,
    0x2a,
    0x2f,
    0x35,
    0x3e,
    0x46,
    0x56,
    0x5d,
})
Name(BCL1, Package(0x0d) {
    0x4f,
    0x1a,
    0x06,
    0x09,
    0x0d,
    0x12,
    0x16,
    0x1a,
    0x1f,
    0x2c,
    0x39,
    0x46,
    0x4f,
})
Name(BCL2, Package(0x0d) {
    0x57,
    0x1a,
    0x07,
    0x09,
    0x0d,
    0x11,
    0x18,
    0x1a,
    0x1e,
    0x2b,
    0x39,
    0x46,
    0x57,
})
Name(BCL3, Package(0x0d) {
    0x5d,
    0x2f,
    0x15,
    0x1a,
    0x20,
    0x25,
    0x2a,
    0x2f,
    0x35,
    0x3e,
    0x46,
    0x56,
    0x5d,
})
Name(CCBL, Zero)
OperationRegion(PRT0, SystemIO, 0x80, One)
Field(PRT0, ByteAcc, Lock, Preserve) {
    P80H,	8
}
Method(P8XH, 2, Serialized) {
    If(LEqual(Arg0, Zero)) {
        Store(Or(And(P80D, 0xffffff00, ), Arg1, ), P80D)
    }
    If(LEqual(Arg0, One)) {
        Store(Or(And(P80D, 0xffff00ff, ), ShiftLeft(Arg1, 0x08, ), ), P80D)
    }
    If(LEqual(Arg0, 0x02)) {
        Store(Or(And(P80D, 0xff00ffff, ), ShiftLeft(Arg1, 0x10, ), ), P80D)
    }
    If(LEqual(Arg0, 0x03)) {
        Store(Or(And(P80D, 0x00ffffff, ), ShiftLeft(Arg1, 0x18, ), ), P80D)
    }
    Store(P80D, P80H)
}
OperationRegion(SPRT, SystemIO, 0xb2, 0x02)
Field(SPRT, ByteAcc, Lock, Preserve) {
    SSMP,	8
}
Method(TRAP, 2, Serialized) {
    Store(Arg1, SMIF)
    If(LEqual(Arg0, TRTP)) {
        Store(Zero, TRP0)
    }
    If(LEqual(Arg0, TRTD)) {
        Store(Arg1, DTSF)
        Store(Zero, TRPD)
        Return(DTSF)
    }
    If(LEqual(Arg0, TRTI)) {
        Store(Zero, TRPH)
    }
    Return(SMIF)
}
OperationRegion(CMS1, SystemIO, 0x72, 0x02)
Field(CMS1, ByteAcc, NoLock, Preserve) {
    CMSI,	8,
    CMSD,	8
}
Method(CMSW, 2) {
    Store(Arg0, CMSI)
    Store(Arg1, CMSD)
}
Method(CMSR, 1) {
    Store(Arg0, CMSI)
    Return(CMSD)
}
Method(_PTS, 1) {
    Store(Zero, \_SB.PCI0.LPC.EC0.RFLE)
    Store(Zero, DQ30)
    Store(0xe4, DBGD)
    TRAP(TRTI, 0x21)
    TRAP(TRTI, 0x22)
    Store(0x90, DBGD)
    TRAP(TRTI, 0x21)
    If(LEqual(Arg0, 0x04)) {
        CMSW(0x6e, 0x6e)
    }
    Store(0x91, DBGD)
    TRAP(TRTI, 0x21)
    If(LEqual(Arg0, 0x03)) {
        If(ECOK) {
            Store(KBWK, \_SB.PCI0.LPC.EC0.PSKB)
            Store(MUWK, \_SB.PCI0.LPC.EC0.PSTP)
        }
    }
    Else {
        If(ECOK) {
            Store(Zero, \_SB.PCI0.LPC.EC0.PSKB)
            Store(Zero, \_SB.PCI0.LPC.EC0.PSTP)
        }
    }
    Store(0x92, DBGD)
    TRAP(TRTI, 0x21)
    If(ECOK) {
        Store(LAWK, \_SB.PCI0.LPC.EC0.PWOL)
    }
    Store(0x93, DBGD)
    TRAP(TRTI, 0x21)
    If(LAnd(LNot(LLess(MCHD, 0x04)), LEqual(LPSD, One))) {
        Store(One, \_SB.PCI0.LPC.EC0.NICD)
    }
    Store(0x94, DBGD)
    TRAP(TRTI, 0x21)
}
Method(_WAK, 1) {
    Store(Zero, Local0)
    Store(0xf6, DBGD)
    TRAP(TRTI, 0x21)
    CMSW(0x6e, Zero)
    If(LEqual(RP1D, Zero)) {
        If(LEqual(\_SB.PCI0.EXP1.PDSX, One)) {
            Notify(\_SB.PCI0.EXP1, Zero)
            Store(One, PRM0)
            Store(PEHS, SSMP)
        }
    }
    If(LEqual(RP2D, Zero)) {
        If(LEqual(\_SB.PCI0.EXP2.PDSX, One)) {
            Notify(\_SB.PCI0.EXP2, Zero)
            Store(0x02, PRM0)
            Store(PEHS, SSMP)
        }
    }
    If(LEqual(RP3D, Zero)) {
        If(LEqual(\_SB.PCI0.EXP3.PDSX, One)) {
            Notify(\_SB.PCI0.EXP3, Zero)
            Store(0x03, PRM0)
            Store(PEHS, SSMP)
        }
    }
    If(LEqual(RP4D, Zero)) {
        If(LEqual(\_SB.PCI0.EXP4.PDSX, One)) {
            Notify(\_SB.PCI0.EXP4, Zero)
            Store(0x04, PRM0)
            Store(PEHS, SSMP)
        }
    }
    If(LEqual(RP5D, Zero)) {
        If(LEqual(\_SB.PCI0.EXP5.PDSX, One)) {
            Notify(\_SB.PCI0.EXP5, Zero)
            Store(0x05, PRM0)
            Store(PEHS, SSMP)
        }
    }
    If(LEqual(Arg0, 0x03)) {
        If(LAnd(LEqual(CRPS, One), LNot(LLess(MCHD, 0x04)))) {
            If(LNot(IGDS)) {
                Notify(\_SB.PCI0.EXP5, Zero)
            }
        }
        If(ECOK) {
            If(LNot(LLess(OSYS, 0x07d9))) {
                Store(One, \_SB.PCI0.LPC.EC0.W7OS)
            }
            Else {
                Store(Zero, \_SB.PCI0.LPC.EC0.W7OS)
            }
        }
        If(ECOK) {
            If(LEqual(\_SB.PCI0.LPC.EC0.W7OS, One)) {
                If(LEqual(\_SB.PCI0.LPC.EC0.BACR, One)) {
                    Notify(\_SB.BAT0, 0x80)
                }
                If(LEqual(\_SB.PCI0.LPC.EC0.BACR, Zero)) {
                }
            }
        }
    }
    Store(0x95, DBGD)
    TRAP(TRTI, 0x21)
    If(LEqual(Arg0, 0x03)) {
        Store(Zero, \_SB.PCI0.LPC.EC0.RTCW)
    }
    If(LOr(LEqual(Arg0, 0x03), LEqual(Arg0, 0x04))) {
        Store(CMSR(0x70), Local0)
        If(LEqual(Local0, One)) {
            Notify(\_SB.PWRB, 0x02)
        }
    }
    Store(0x96, DBGD)
    TRAP(TRTI, 0x21)
    If(LOr(LEqual(Arg0, 0x03), LEqual(Arg0, 0x04))) {
        If(LEqual(EIST, One)) {
            Store(Zero, THR0)
            Store(Zero, Q8E0)
            Store(Zero, CUPS)
            Store(CUPS, \_PR.CPU0._PPC)
            If(CMPE) {
                Notify(\_PR.CPU0, 0x80)
                Notify(\_PR.CPU1, 0x80)
            }
            Else {
                Notify(\_PR.CPU0, 0x80)
            }
        }
        Store(0x97, DBGD)
        TRAP(TRTI, 0x21)
        If(ECOK) {
            Store(Zero, \_SB.PCI0.LPC.EC0.CLOW)
        }
        If(ECOK) {
            If(LNot(LLess(OSYS, 0x07d9))) {
                Store(One, \_SB.PCI0.LPC.EC0.W7OS)
            }
            Else {
                Store(Zero, \_SB.PCI0.LPC.EC0.W7OS)
            }
        }
        Store(0x98, DBGD)
        TRAP(TRTI, 0x21)
        Store(0x99, DBGD)
        TRAP(TRTI, 0x21)
        If(LAnd(LNot(LLess(MCHD, 0x04)), LEqual(LPSD, One))) {
            If(ECOK) {
                If(LNot(LEqual(DQ30, One))) {
                    If(LGreater(Arg0, 0x03)) {
                        \_SB.PCI0.LPC.EC0._Q30()
                    }
                    Store(One, DQ30)
                }
            }
        }
    }
    Store(0x9a, DBGD)
    TRAP(TRTI, 0x21)
    Return(Package(0x02) {
        Zero,
        Zero,
    })
}
Name(_S0, Package(0x04) {
    Zero,
    Zero,
    Zero,
    Zero,
})
If(LEqual(DAS3, One)) {
    Name(_S3, Package(0x04) {
        0x05,
        0x05,
        Zero,
        Zero,
    })
}
Name(_S4, Package(0x04) {
    0x06,
    0x06,
    Zero,
    Zero,
})
Name(_S5, Package(0x04) {
    0x07,
    0x07,
    Zero,
    Zero,
})
Scope(_GPE) {
    Method(_L01) {
        Add(L01C, One, L01C)
        P8XH(Zero, One)
        P8XH(One, L01C)
        TRAP(TRTI, 0xa1)
        If(LAnd(LEqual(RP1D, Zero), \_SB.PCI0.EXP1.HPSX)) {
            Sleep(0x64)
            If(\_SB.PCI0.EXP1.PDCX) {
                Store(One, \_SB.PCI0.EXP1.PDCX)
                Store(One, \_SB.PCI0.EXP1.HPSX)
                Notify(\_SB.PCI0.EXP1, Zero)
                Store(One, PRM0)
                Store(PEHS, SSMP)
            }
            Else {
                Store(One, \_SB.PCI0.EXP1.HPSX)
            }
        }
        If(LAnd(LEqual(RP2D, Zero), \_SB.PCI0.EXP2.HPSX)) {
            Sleep(0x64)
            If(\_SB.PCI0.EXP2.PDCX) {
                Store(One, \_SB.PCI0.EXP2.PDCX)
                Store(One, \_SB.PCI0.EXP2.HPSX)
                Notify(\_SB.PCI0.EXP2, Zero)
                Store(0x02, PRM0)
                Store(PEHS, SSMP)
            }
            Else {
                Store(One, \_SB.PCI0.EXP2.HPSX)
            }
        }
        If(LAnd(LEqual(RP3D, Zero), \_SB.PCI0.EXP3.HPSX)) {
            Sleep(0x64)
            If(\_SB.PCI0.EXP3.PDCX) {
                Store(One, \_SB.PCI0.EXP3.PDCX)
                Store(One, \_SB.PCI0.EXP3.HPSX)
                Notify(\_SB.PCI0.EXP3, Zero)
                Store(0x03, PRM0)
                Store(PEHS, SSMP)
            }
            Else {
                Store(One, \_SB.PCI0.EXP3.HPSX)
            }
        }
        If(LAnd(LEqual(RP4D, Zero), \_SB.PCI0.EXP4.HPSX)) {
            Sleep(0x64)
            If(\_SB.PCI0.EXP4.PDCX) {
                Store(One, \_SB.PCI0.EXP4.PDCX)
                Store(One, \_SB.PCI0.EXP4.HPSX)
                Notify(\_SB.PCI0.EXP4, Zero)
                Store(0x04, PRM0)
                Store(PEHS, SSMP)
            }
            Else {
                Store(One, \_SB.PCI0.EXP4.HPSX)
            }
        }
        If(LAnd(LEqual(CRPS, One), LNot(LLess(MCHD, 0x04)))) {
            If(LNot(IGDS)) {
                If(LAnd(LEqual(RP5D, Zero), \_SB.PCI0.EXP5.HPSX)) {
                    Sleep(0x64)
                    If(\_SB.PCI0.EXP5.PDCX) {
                        Store(One, \_SB.PCI0.EXP5.PDCX)
                        Store(One, \_SB.PCI0.EXP5.HPSX)
                        If(\_SB.PCI0.EXP5.PDSX) {
                            Store(0x0a, Local2)
                            While(LGreater(Local2, Zero)) {
                                Sleep(0x64)
                                And(\_SB.PCI0.EXP5.J380.DVID, 0xfff0ffff, Local1)
                                If(LEqual(Local1, 0x2380197b)) {
                                    Store(0x88, \_SB.PCI0.EXP5.J380.LAT0)
                                    Store(0x80, \_SB.PCI0.EXP5.J380.PMC0)
                                    TRAP(TRTI, 0x5a)
                                    Store(Zero, Local2)
                                    CMSW(0x75, Zero)
                                    If(And(One, \_SB.PCI0.LPC.EC0.SW2S, )) {
                                        CMSW(0x75, 0xaa)
                                        Store(Zero, \_SB.PCI0.EXP5.J380.D3EF)
                                    }
                                }
                                Else {
                                    Decrement(Local2)
                                }
                            }
                        }
                        Else {
                            Sleep(0x64)
                        }
                        Notify(\_SB.PCI0.EXP5, Zero)
                        Store(0x05, PRM0)
                        Store(PEHS, SSMP)
                    }
                    Else {
                        Store(One, \_SB.PCI0.EXP5.HPSX)
                    }
                }
            }
        }
        If(LAnd(LEqual(RP6D, Zero), \_SB.PCI0.EXP6.HPSX)) {
            Sleep(0x64)
            If(\_SB.PCI0.EXP6.PDCX) {
                Store(One, \_SB.PCI0.EXP6.PDCX)
                Store(One, \_SB.PCI0.EXP6.HPSX)
                Notify(\_SB.PCI0.EXP6, Zero)
                Store(0x06, PRM0)
                Store(PEHS, SSMP)
            }
            Else {
                Store(One, \_SB.PCI0.EXP6.HPSX)
            }
        }
    }
    Method(_L06) {
        If(LAnd(\_SB.PCI0.OVGA.GSSE, LNot(GSMI))) {
            \_SB.PCI0.OVGA.GSCI()
        }
        Else {
            If(LEqual(And(\_SB.PCI0.ESCS, 0x08, ), 0x08)) {
                Store(One, Local0)
                Store(\_SB.PCI0.T0IS, \_SB.PCI0.T0IS)
                Store(\_SB.PCI0.T0IS, Local0)
                Store(\_SB.PCI0.T1IS, \_SB.PCI0.T1IS)
                Store(\_SB.PCI0.T1IS, Local0)
                Store(One, SCIS)
                Store(One, \_SB.PCI0.GTSE)
            }
            Else {
                Store(One, SCIS)
            }
        }
    }
    Method(_L07) {
    }
    Method(_L08) {
    }
    Method(_L0B) {
        Notify(\_SB.PCI0.P32, 0x02)
    }
    Method(_L03) {
        Notify(\_SB.PCI0.UHC1, 0x02)
    }
    Method(_L04) {
        Notify(\_SB.PCI0.UHC2, 0x02)
    }
    Method(_L0C) {
        Notify(\_SB.PCI0.UHC3, 0x02)
    }
    Method(_L20) {
    }
    Method(_L0D) {
    }
    Method(_L0E) {
    }
    Method(_L05) {
    }
}
Method(_PIC, 1) {
    Store(Arg0, GPIC)
}
Scope(_TZ) {
    Name(TP85, 0x53)
    Name(TPTM, 0x4a)
    Name(TPAS, 0x87)
    Name(TPPP, 0x42)
    Name(AS00, 0x5f)
    Name(AS85, 0x52)
    Name(AS05, 0x64)
    Name(AS90, 0x57)
    Name(TA85, 0x4d)
    Name(OT01, Buffer(0x03) {0x64, 0x5f, 0x5a })
    Name(OT02, Buffer(0x03) {0x55, 0x52, 0x4b })
    Name(OT03, Buffer(0x03) {0x69, 0x64, 0x5f })
    Name(OT04, Buffer(0x03) {0x5a, 0x57, 0x50 })
    Name(S4TP, 0x6e)
    ThermalZone(TZ01) {
        Method(_HOT, 0, Serialized) {
            If(LNot(LLess(OSYS, 0x07d6))) {
                If(LEqual(TJMX, 0x64)) {
                    Store(0x69, S4TP)
                    Return(0x0ec6)
                }
                If(LEqual(TJMX, 0x55)) {
                    Store(0x5a, S4TP)
                    Return(0x0e30)
                }
                If(LEqual(TJMX, 0x69)) {
                    Store(0x6e, S4TP)
                    Return(0x0ef8)
                }
                If(LEqual(TJMX, 0x5a)) {
                    Store(0x5f, S4TP)
                    Return(0x0e62)
                }
            }
        }
        Method(_CRT, 0, Serialized) {
            If(LLess(OSYS, 0x07d6)) {
                If(LEqual(TJMX, 0x64)) {
                    Store(0x69, S4TP)
                    Return(0x0ec6)
                }
                If(LEqual(TJMX, 0x55)) {
                    Store(0x5a, S4TP)
                    Return(0x0e30)
                }
                If(LEqual(TJMX, 0x69)) {
                    Store(0x6e, S4TP)
                    Return(0x0ef8)
                }
                If(LEqual(TJMX, 0x5a)) {
                    Store(0x5f, S4TP)
                    Return(0x0e62)
                }
            }
        }
        Method(_TMP) {
            If(ECOK) {
                Store(\_SB.PCI0.LPC.EC0.RTMP, Local0)
                If(LNot(LLess(Local0, S4TP))) {
                    CMSW(0x6f, 0x6f)
                }
                If(LEqual(CTYP, Zero)) {
                    OTHD(Local0)
                }
                Return(Add(0x0aac, Multiply(Local0, 0x0a, ), ))
            }
            Else {
                If(LEqual(CTYP, Zero)) {
                    OTHD(TPTM)
                }
                Return(Add(0x0aac, Multiply(TPTM, 0x0a, ), ))
            }
        }
        Method(_PSL) {
            If(CMPE) {
                Return(Package(0x02) {
                    \_PR.CPU0,
                    \_PR.CPU1,
                })
            }
            Return(Package(0x01) {
                \_PR.CPU0,
            })
        }
        Method(_SCP, 1, Serialized) {
            CMSW(0x3e, Arg0)
            If(LGreater(OSYS, 0x07d6)) {
                Store(Arg0, CTYP)
                Store(Arg0, \_SB.PCI0.LPC.EC0.THPM)
            }
            Else {
                Store(Zero, CTYP)
                Store(Zero, \_SB.PCI0.LPC.EC0.THPM)
            }
        }
        Method(_PSV) {
            If(CTYP) {
                Return(Add(0x0aac, Multiply(TPPP, 0x0a, ), ))
            }
            Else {
                And(PPMF, One, Local0)
                If(Local0) {
                    Return(Add(0x0aac, Multiply(TPAS, 0x0a, ), ))
                }
                Else {
                    If(LEqual(TJMX, 0x64)) {
                        Return(Add(0x0aac, Multiply(AS00, 0x0a, ), ))
                    }
                    If(LEqual(TJMX, 0x55)) {
                        Return(Add(0x0aac, Multiply(AS85, 0x0a, ), ))
                    }
                    If(LEqual(TJMX, 0x69)) {
                        Return(Add(0x0aac, Multiply(AS05, 0x0a, ), ))
                    }
                    If(LEqual(TJMX, 0x5a)) {
                        Return(Add(0x0aac, Multiply(AS90, 0x0a, ), ))
                    }
                }
            }
        }
        Name(_TC1, 0x02)
        Name(_TC2, 0x05)
        Name(_TSP, 0x32)
        Method(OTHD, 1) {
            If(LEqual(TJMX, 0x64)) {
                Store(OT01, Local0)
            }
            If(LEqual(TJMX, 0x55)) {
                Store(OT02, Local0)
            }
            If(LEqual(TJMX, 0x69)) {
                Store(OT03, Local0)
            }
            If(LEqual(TJMX, 0x5a)) {
                Store(OT04, Local0)
            }
            If(LNot(LLess(Arg0, DerefOf(Index(Local0, Zero, ))))) {
                THL1()
            }
            Else {
                If(LNot(LLess(Arg0, DerefOf(Index(Local0, One, ))))) {
                    THL2()
                }
                Else {
                    If(LNot(LGreater(Arg0, DerefOf(Index(Local0, 0x02, ))))) {
                        THL3()
                    }
                }
            }
            CPUL()
        }
        Method(THL1) {
            Store(Subtract(PSTN, One, ), THR0)
        }
        Method(THL2) {
            If(LEqual(TJMX, 0x64)) {
                Store(0x02, THR0)
            }
            If(LEqual(TJMX, 0x55)) {
                Store(One, THR0)
            }
            If(LEqual(TJMX, 0x69)) {
                Store(0x02, THR0)
            }
            If(LEqual(TJMX, 0x5a)) {
                Store(One, THR0)
            }
        }
        Method(THL3) {
            Store(Zero, THR0)
        }
        Name(REGN, "Processor\x20Thermal\x20Zone")
        Name(FMAX, 0x1388)
        Name(FMIN, Zero)
        Method(FRSP) {
            Store(Zero, Local2)
            If(ECOK) {
                Store(\_SB.PCI0.LPC.EC0.RPM1, Local0)
                Store(\_SB.PCI0.LPC.EC0.RPM2, Local1)
                ShiftLeft(Local1, 0x08, Local1)
                Or(Local0, Local1, Local0)
                If(LNot(LEqual(Local0, Zero))) {
                    Divide(0x00075300, Local0, Local0, Local2)
                }
            }
            Return(Local2)
        }
        Method(FSSP, 1) {
            If(ECOK) {
                If(LNot(LEqual(Arg0, Zero))) {
                    Store(Zero, \_SB.PCI0.LPC.EC0.SFAN)
                }
                Else {
                    Store(0x02, \_SB.PCI0.LPC.EC0.SFAN)
                }
            }
        }
    }
}
Method(GETP, 1, Serialized) {
    If(LEqual(And(Arg0, 0x09, ), Zero)) {
        Return(Ones)
    }
    If(LEqual(And(Arg0, 0x09, ), 0x08)) {
        Return(0x0384)
    }
    ShiftRight(And(Arg0, 0x0300, ), 0x08, Local0)
    ShiftRight(And(Arg0, 0x3000, ), 0x0c, Local1)
    Return(Multiply(0x1e, Subtract(0x09, Add(Local0, Local1, ), ), ))
}
Method(GDMA, 5, Serialized) {
    If(Arg0) {
        If(Arg1) {
            Return(0x14)
        }
        If(Arg2) {
            Return(Multiply(Subtract(0x04, Arg3, ), 0x0f, ))
        }
        Return(Multiply(Subtract(0x04, Arg3, ), 0x1e, ))
    }
    Return(Ones)
}
Method(GETT, 1, Serialized) {
    Return(Multiply(0x1e, Subtract(0x09, Add(And(ShiftRight(Arg0, 0x02, ), 0x03, ), And(Arg0, 0x03, ), ), ), ))
}
Method(GETF, 3, Serialized) {
    Name(TMPF, Zero)
    If(Arg0) {
        Or(TMPF, One, TMPF)
    }
    If(And(Arg2, 0x02, )) {
        Or(TMPF, 0x02, TMPF)
    }
    If(Arg1) {
        Or(TMPF, 0x04, TMPF)
    }
    If(And(Arg2, 0x20, )) {
        Or(TMPF, 0x08, TMPF)
    }
    If(And(Arg2, 0x4000, )) {
        Or(TMPF, 0x10, TMPF)
    }
    Return(TMPF)
}
Method(SETP, 3, Serialized) {
    If(LGreater(Arg0, 0xf0)) {
        Return(0x08)
    }
    Else {
        If(And(Arg1, 0x02, )) {
            If(LAnd(LNot(LGreater(Arg0, 0x78)), And(Arg2, 0x02, ))) {
                Return(0x2301)
            }
            If(LAnd(LNot(LGreater(Arg0, 0xb4)), And(Arg2, One, ))) {
                Return(0x2101)
            }
        }
        Return(0x1001)
    }
}
Method(SDMA, 1, Serialized) {
    If(LNot(LGreater(Arg0, 0x14))) {
        Return(One)
    }
    If(LNot(LGreater(Arg0, 0x1e))) {
        Return(0x02)
    }
    If(LNot(LGreater(Arg0, 0x2d))) {
        Return(One)
    }
    If(LNot(LGreater(Arg0, 0x3c))) {
        Return(0x02)
    }
    If(LNot(LGreater(Arg0, 0x5a))) {
        Return(One)
    }
    Return(Zero)
}
Method(SETT, 3, Serialized) {
    If(And(Arg1, 0x02, )) {
        If(LAnd(LNot(LGreater(Arg0, 0x78)), And(Arg2, 0x02, ))) {
            Return(0x0b)
        }
        If(LAnd(LNot(LGreater(Arg0, 0xb4)), And(Arg2, One, ))) {
            Return(0x09)
        }
    }
    Return(0x04)
}
Name(Q8E0, Zero)
Name(THR0, Zero)
Name(CUPS, Zero)
Method(CPUL) {
    And(PPMF, One, Local1)
    If(Local1) {
        Store(Zero, Local0)
        Or(Local0, LNot(LEqual(Q8E0, Zero)), Local0)
        Or(Local0, LNot(LEqual(THR0, Zero)), Local0)
        If(Local0) {
            Store(Zero, CUPS)
            If(LGreater(Q8E0, CUPS)) {
                Store(Q8E0, CUPS)
            }
            If(LGreater(THR0, CUPS)) {
                Store(THR0, CUPS)
            }
            If(LNot(LEqual(CUPS, \_PR.CPU0._PPC))) {
                Store(CUPS, \_PR.CPU0._PPC)
                If(CMPE) {
                    Notify(\_PR.CPU0, 0x80)
                    Notify(\_PR.CPU1, 0x80)
                }
                Else {
                    Notify(\_PR.CPU0, 0x80)
                }
            }
        }
        Else {
            If(LNot(LEqual(\_PR.CPU0._PPC, Zero))) {
                Store(Zero, \_PR.CPU0._PPC)
                If(CMPE) {
                    Notify(\_PR.CPU0, 0x80)
                    Notify(\_PR.CPU1, 0x80)
                }
                Else {
                    Notify(\_PR.CPU0, 0x80)
                }
            }
            Store(Zero, CUPS)
        }
    }
}
Scope(_SB) {
    Device(MCFG) {
        Name(_HID, 0x020cd041)
        Name(_CRS, Buffer(0x1c) {0x87, 0x17, 0x0, 0x0, 0xd, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x79, 0x0 })
    }
    Device(PWRB) {
        Name(_HID, 0x0c0cd041)
    }
    Device(LID0) {
        Name(_HID, 0x0d0cd041)
        Name(LSTS, Zero)
        Method(_LID) {
            If(ECOK) {
                If(LEqual(^^PCI0.LPC.EC0.ECLS, One)) {
                    Store(Zero, LSTS)
                }
                Else {
                    Store(One, LSTS)
                }
                If(IGDS) {
                    Store(LSTS, LIDS)
                    Store(LSTS, ^^PCI0.OVGA.CLID)
                }
                Return(LSTS)
            }
            Else {
                If(IGDS) {
                    Store(LIDS, ^^PCI0.OVGA.CLID)
                }
                Return(LIDS)
            }
        }
    }
    Device(SLPB) {
        Name(_HID, 0x0e0cd041)
    }
    Method(GBFE, 3) {
        CreateByteField(Arg0, Arg1, TIDX)
        Store(TIDX, Arg2)
    }
    Method(PBFE, 3) {
        CreateByteField(Arg0, Arg1, TIDX)
        Store(Arg2, TIDX)
    }
    Method(ITOS, 1) {
        Store(Buffer(0x09) {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0 }, Local0)
        Store(Buffer(0x11) {0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x0 }, Local7)
        Store(0x08, Local1)
        Store(Zero, Local2)
        Store(Zero, Local3)
        While(Local1) {
            Decrement(Local1)
            And(ShiftRight(Arg0, ShiftLeft(Local1, 0x02, ), ), 0x0f, Local4)
            If(Local4) {
                Store(Ones, Local3)
            }
            If(Local3) {
                GBFE(Local7, Local4, RefOf(Local5))
                PBFE(Local0, Local2, Local5)
                Increment(Local2)
            }
        }
        Return(Local0)
    }
    Device(ACAD) {
        Name(_HID, "ACPI0003")
        Name(_PCL, Package(0x01) {
            _SB,
        })
        Name(ACP, Ones)
        Method(_PSR) {
            If(ECOK) {
                And(One, ^^PCI0.LPC.EC0.SW2S, Local0)
                Store(Local0, PWRS)
                TRAP(TRTP, PSSS)
                Return(Local0)
            }
            Store(ACPS, PWRS)
            Return(ACPS)
        }
        Method(_STA) {
            Return(0x0f)
        }
    }
    Device(BAT0) {
        Name(FRST, One)
        Name(_HID, 0x0a0cd041)
        Name(_UID, One)
        Name(_PCL, Package(0x01) {
            _SB,
        })
        Name(PBIF, Package(0x0d) {
            One,
            Ones,
            Ones,
            One,
            Ones,
            0xfa,
            0x96,
            0x0a,
            0x19,
            "BAT1",
            "\x20",
            "\x20",
            "\x20",
        })
        Name(PBST, Package(0x04) {
            Zero,
            Ones,
            Ones,
            0x2710,
        })
        Name(BAST, Zero)
        Name(B1ST, 0x0f)
        Name(B1WT, Zero)
        Name(FABL, Ones)
        Method(_STA) {
            If(ECOK) {
                If(^^PCI0.LPC.EC0.MBTS) {
                    Store(0x1f, B1ST)
                }
                Else {
                    Store(0x0f, B1ST)
                }
            }
            Else {
                Store(0x0f, B1ST)
            }
            Return(B1ST)
        }
        Method(_BIF) {
            If(ECOK) {
                If(^^PCI0.LPC.EC0.MBTS) {
                    UPBI()
                }
                Else {
                    IVBI()
                }
            }
            Else {
                IVBI()
            }
            Return(PBIF)
        }
        Method(_BST) {
            If(ECOK) {
                If(^^PCI0.LPC.EC0.MBTS) {
                    UPBS()
                }
                Else {
                    IVBS()
                }
            }
            Else {
                IVBS()
            }
            Return(PBST)
        }
        Method(UPBI) {
            If(LNot(^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x10, RefOf(Local5)))) {
                If(LAnd(Local5, LNot(And(Local5, 0x8000, )))) {
                    ShiftRight(Local5, 0x05, Local5)
                    ShiftLeft(Local5, 0x05, Local5)
                    Store(Local5, Index(PBIF, 0x02, ))
                    Divide(Local5, 0x64, , Local2)
                    Add(Local2, One, Local2)
                    If(LEqual(^^PCI0.LPC.EC0.W7OS, One)) {
                        Multiply(Local2, 0x0c, Local4)
                        Add(Local4, 0x02, Index(PBIF, 0x05, ))
                        Multiply(Local2, 0x07, Local4)
                        Add(Local4, 0x02, Index(PBIF, 0x06, ))
                        Multiply(Local2, 0x09, Local4)
                        Add(Local4, 0x02, FABL)
                    }
                    Else {
                        Multiply(Local2, 0x05, Local4)
                        Add(Local4, 0x02, Index(PBIF, 0x05, ))
                        Multiply(Local2, 0x03, Local4)
                        Add(Local4, 0x02, Index(PBIF, 0x06, ))
                    }
                }
            }
            Store(^^PCI0.LPC.EC0.BCLB, Local0)
            Store(^^PCI0.LPC.EC0.BCHB, Local1)
            ShiftLeft(Local1, 0x08, Local1)
            Or(Local0, Local1, Local0)
            Store(Local0, Index(PBIF, One, ))
            Store(^^PCI0.LPC.EC0.BVLB, Local0)
            Store(^^PCI0.LPC.EC0.BVHB, Local1)
            ShiftLeft(Local1, 0x08, Local1)
            Or(Local0, Local1, Local0)
            Store(Local0, Index(PBIF, 0x04, ))
            If(^^PCI0.LPC.EC0.MBNH) {
                Store("OANI\x24", Index(PBIF, 0x09, ))
                Store("NiMH", Index(PBIF, 0x0b, ))
            }
            Else {
                Sleep(0x32)
                Store("LION", Index(PBIF, 0x0b, ))
            }
            Store("Primary", Index(PBIF, 0x09, ))
            UPUM()
            Store(One, Index(PBIF, Zero, ))
        }
        Method(UPUM) {
            Store(Buffer(0x0a) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, Local0)
            Store(Buffer(0x05) {0x36, 0x35, 0x35, 0x33, 0x35 }, Local6)
            Store(Buffer(0x05) {0x31, 0x32, 0x33, 0x32, 0x31 }, Local7)
            Store("Hewlett\x2dPackard", Index(PBIF, 0x0c, ))
        }
        Method(UPBS) {
            Store(^^PCI0.LPC.EC0.MBRM, Local5)
            If(LNot(And(Local5, 0x8000, ))) {
                ShiftRight(Local5, 0x05, Local5)
                ShiftLeft(Local5, 0x05, Local5)
                If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x02, ))))) {
                    If(LEqual(^^PCI0.LPC.EC0.W7OS, One)) {
                        If(LEqual(^^PCI0.LPC.EC0.BACR, One)) {
                            Store(FABL, Index(PBST, 0x02, ))
                        }
                        Else {
                            Store(Local5, Index(PBST, 0x02, ))
                        }
                    }
                    Else {
                        Store(Local5, Index(PBST, 0x02, ))
                    }
                }
            }
            Store(^^PCI0.LPC.EC0.MBCV, Index(PBST, 0x03, ))
            Store(^^PCI0.LPC.EC0.MBST, Index(PBST, Zero, ))
        }
        Method(IVBI) {
            Store(Ones, Index(PBIF, One, ))
            Store(Ones, Index(PBIF, 0x02, ))
            Store(Ones, Index(PBIF, 0x04, ))
            Store("Bad", Index(PBIF, 0x09, ))
            Store("Bad", Index(PBIF, 0x0a, ))
            Store("Bad", Index(PBIF, 0x0b, ))
            Store("Bad", Index(PBIF, 0x0c, ))
        }
        Method(IVBS) {
            Store(Zero, Index(PBST, Zero, ))
            Store(Ones, Index(PBST, One, ))
            Store(Ones, Index(PBST, 0x02, ))
            Store(0x2710, Index(PBST, 0x03, ))
        }
    }
    Device(PCI0) {
        Name(_HID, 0x080ad041)
        Name(_CID, 0x030ad041)
        Name(_ADR, Zero)
        Name(SUPP, Zero)
        Name(CTRL, Zero)
        Method(_OSC, 4) {
            CreateDWordField(Arg3, Zero, CDW1)
            CreateDWordField(Arg3, 0x04, CDW2)
            CreateDWordField(Arg3, 0x08, CDW3)
            If(LEqual(Arg0, Buffer(0x10) {0x5b, 0x4d, 0xdb, 0x33, 0xf7, 0x1f, 0x1c, 0x40, 0x96, 0x57, 0x74, 0x41, 0xc0, 0x3d, 0xd7, 0x66 })) {
                Store(CDW2, SUPP)
                Store(CDW3, CTRL)
                And(CTRL, 0x1e, CTRL)
                And(CTRL, 0x1d, CTRL)
                If(Not(And(CDW1, One, ), )) {
                }
                If(LNot(LEqual(CDW3, CTRL))) {
                    Or(CDW1, 0x10, CDW1)
                }
                Store(CTRL, CDW3)
                Return(Arg3)
            }
            Else {
                Or(CDW1, 0x04, CDW1)
                Return(Arg3)
            }
        }
        Name(TPOS, Zero)
        Method(_INI) {
            If(CondRefOf(_OSI, Local0)) {
                If(_OSI("Linux")) {
                    Store(0x03e8, OSYS)
                    Store(0x80, TPOS)
                    Store(One, ^LPC.EC0.ECOS)
                }
                Else {
                    Store(0x07d1, OSYS)
                    Store(0x08, TPOS)
                }
                If(_OSI("Windows\x202001\x20SP2")) {
                    Store(0x07d2, OSYS)
                    Store(0x11, TPOS)
                }
                If(_OSI("Windows\x202006")) {
                    Store(0x07d6, OSYS)
                    Store(0x40, TPOS)
                }
                If(_OSI("Windows\x202009")) {
                    Store(0x07d9, OSYS)
                }
            }
            Else {
                Store(0x07d0, OSYS)
                Store(0x04, TPOS)
            }
        }
        OperationRegion(HBUS, PCI_Config, 0x40, 0xc0)
        Field(HBUS, DWordAcc, NoLock, Preserve) {
            EPEN,	1,
            ,	11,
            EPBR,	20,
            Offset(0x8),
            MHEN,	1,
            ,	13,
            MHBR,	18,
            Offset(0x20),
            PXEN,	1,
            PXSZ,	2,
            ,	23,
            PXBR,	6,
            Offset(0x28),
            DIEN,	1,
            ,	11,
            DIBR,	20,
            Offset(0x30),
            IPEN,	1,
            ,	11,
            IPBR,	20,
            Offset(0x50),
            ,	4,
            PM0H,	2,
            Offset(0x51),
            PM1L,	2,
            ,	2,
            PM1H,	2,
            Offset(0x52),
            PM2L,	2,
            ,	2,
            PM2H,	2,
            Offset(0x53),
            PM3L,	2,
            ,	2,
            PM3H,	2,
            Offset(0x54),
            PM4L,	2,
            ,	2,
            PM4H,	2,
            Offset(0x55),
            PM5L,	2,
            ,	2,
            PM5H,	2,
            Offset(0x56),
            PM6L,	2,
            ,	2,
            PM6H,	2,
            Offset(0x57),
            ,	7,
            HENA,	1,
            Offset(0x62),
            TUUD,	16,
            Offset(0x70),
            ,	4,
            TLUD,	12,
            Offset(0x89),
            ,	3,
            GTSE,	1,
            Offset(0x8a)
        }
        OperationRegion(MCHT, SystemMemory, 0xfed11000, 0xff)
        Field(MCHT, ByteAcc, NoLock, Preserve) {
            Offset(0x1e),
            T0IS,	16,
            Offset(0x5e),
            T1IS,	16,
            Offset(0xef),
            ESCS,	8
        }
        Name(BUF0, Buffer(0x01ee) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x87, 0x17, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x87, 0x17, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x0, 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, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x!
 0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, !
 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,!
  0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0xff, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd4, 0xfe, 0xff, 0x4f, 0xd4, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 })
        Method(_CRS, 0, Serialized) {
            If(PM1L) {
                CreateDWordField(BUF0, 0x7c, C0LN)
                Store(Zero, C0LN)
            }
            If(LEqual(PM1L, One)) {
                CreateBitField(BUF0, 0x0358, C0RW)
                Store(Zero, C0RW)
            }
            If(PM1H) {
                CreateDWordField(BUF0, 0x96, C4LN)
                Store(Zero, C4LN)
            }
            If(LEqual(PM1H, One)) {
                CreateBitField(BUF0, 0x0428, C4RW)
                Store(Zero, C4RW)
            }
            If(PM2L) {
                CreateDWordField(BUF0, 0xb0, C8LN)
                Store(Zero, C8LN)
            }
            If(LEqual(PM2L, One)) {
                CreateBitField(BUF0, 0x04f8, C8RW)
                Store(Zero, C8RW)
            }
            If(PM2H) {
                CreateDWordField(BUF0, 0xca, CCLN)
                Store(Zero, CCLN)
            }
            If(LEqual(PM2H, One)) {
                CreateBitField(BUF0, 0x05c8, CCRW)
                Store(Zero, CCRW)
            }
            If(PM3L) {
                CreateDWordField(BUF0, 0xe4, D0LN)
                Store(Zero, D0LN)
            }
            If(LEqual(PM3L, One)) {
                CreateBitField(BUF0, 0x0698, D0RW)
                Store(Zero, D0RW)
            }
            If(PM3H) {
                CreateDWordField(BUF0, 0xfe, D4LN)
                Store(Zero, D4LN)
            }
            If(LEqual(PM3H, One)) {
                CreateBitField(BUF0, 0x0768, D4RW)
                Store(Zero, D4RW)
            }
            If(PM4L) {
                CreateDWordField(BUF0, 0x0118, D8LN)
                Store(Zero, D8LN)
            }
            If(LEqual(PM4L, One)) {
                CreateBitField(BUF0, 0x0838, D8RW)
                Store(Zero, D8RW)
            }
            If(PM4H) {
                CreateDWordField(BUF0, 0x0132, DCLN)
                Store(Zero, DCLN)
            }
            If(LEqual(PM4H, One)) {
                CreateBitField(BUF0, 0x0908, DCRW)
                Store(Zero, DCRW)
            }
            If(PM5L) {
                CreateDWordField(BUF0, 0x014c, E0LN)
                Store(Zero, E0LN)
            }
            If(LEqual(PM5L, One)) {
                CreateBitField(BUF0, 0x09d8, E0RW)
                Store(Zero, E0RW)
            }
            If(PM5H) {
                CreateDWordField(BUF0, 0x0166, E4LN)
                Store(Zero, E4LN)
            }
            If(LEqual(PM5H, One)) {
                CreateBitField(BUF0, 0x0aa8, E4RW)
                Store(Zero, E4RW)
            }
            If(PM6L) {
                CreateDWordField(BUF0, 0x0180, E8LN)
                Store(Zero, E8LN)
            }
            If(LEqual(PM6L, One)) {
                CreateBitField(BUF0, 0x0b78, E8RW)
                Store(Zero, E8RW)
            }
            If(PM6H) {
                CreateDWordField(BUF0, 0x019a, ECLN)
                Store(Zero, ECLN)
            }
            If(LEqual(PM6H, One)) {
                CreateBitField(BUF0, 0x0c48, ECRW)
                Store(Zero, ECRW)
            }
            If(PM0H) {
                CreateDWordField(BUF0, 0x01b4, F0LN)
                Store(Zero, F0LN)
            }
            If(LEqual(PM0H, One)) {
                CreateBitField(BUF0, 0x0d18, F0RW)
                Store(Zero, F0RW)
            }
            If(LNot(LEqual(^LPC.TPM.ACC0, 0xff))) {
                CreateDWordField(BUF0, 0x01e8, TPML)
                Store(0x5000, TPML)
            }
            CreateDWordField(BUF0, 0x01c2, M1MN)
            CreateDWordField(BUF0, 0x01c6, M1MX)
            CreateDWordField(BUF0, 0x01ce, M1LN)
            ShiftLeft(TLUD, 0x14, M1MN)
            Add(Subtract(M1MX, M1MN, ), One, M1LN)
            Return(BUF0)
        }
        Method(_PRT) {
            If(LEqual(GPIC, Zero)) {
                Return(Package(0x1a) {
                    Package(0x04) {
                        0x0001ffff,
                        Zero,
                        ^LPC.LNKA,
                        Zero,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        One,
                        ^LPC.LNKB,
                        Zero,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        0x02,
                        ^LPC.LNKC,
                        Zero,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        0x03,
                        ^LPC.LNKD,
                        Zero,
                    },
                    Package(0x04) {
                        0x0002ffff,
                        Zero,
                        ^LPC.LNKA,
                        Zero,
                    },
                    Package(0x04) {
                        0x0003ffff,
                        Zero,
                        ^LPC.LNKA,
                        Zero,
                    },
                    Package(0x04) {
                        0x0003ffff,
                        One,
                        ^LPC.LNKB,
                        Zero,
                    },
                    Package(0x04) {
                        0x0003ffff,
                        0x02,
                        ^LPC.LNKC,
                        Zero,
                    },
                    Package(0x04) {
                        0x0003ffff,
                        0x03,
                        ^LPC.LNKD,
                        Zero,
                    },
                    Package(0x04) {
                        0x001affff,
                        Zero,
                        ^LPC.LNKA,
                        Zero,
                    },
                    Package(0x04) {
                        0x001affff,
                        One,
                        ^LPC.LNKF,
                        Zero,
                    },
                    Package(0x04) {
                        0x001affff,
                        0x02,
                        ^LPC.LNKC,
                        Zero,
                    },
                    Package(0x04) {
                        0x001affff,
                        0x03,
                        ^LPC.LNKD,
                        Zero,
                    },
                    Package(0x04) {
                        0x001bffff,
                        Zero,
                        ^LPC.LNKG,
                        Zero,
                    },
                    Package(0x04) {
                        0x001cffff,
                        Zero,
                        ^LPC.LNKB,
                        Zero,
                    },
                    Package(0x04) {
                        0x001cffff,
                        One,
                        ^LPC.LNKA,
                        Zero,
                    },
                    Package(0x04) {
                        0x001cffff,
                        0x02,
                        ^LPC.LNKC,
                        Zero,
                    },
                    Package(0x04) {
                        0x001cffff,
                        0x03,
                        ^LPC.LNKD,
                        Zero,
                    },
                    Package(0x04) {
                        0x001dffff,
                        Zero,
                        ^LPC.LNKE,
                        Zero,
                    },
                    Package(0x04) {
                        0x001dffff,
                        One,
                        ^LPC.LNKD,
                        Zero,
                    },
                    Package(0x04) {
                        0x001dffff,
                        0x02,
                        ^LPC.LNKC,
                        Zero,
                    },
                    Package(0x04) {
                        0x001dffff,
                        0x03,
                        ^LPC.LNKA,
                        Zero,
                    },
                    Package(0x04) {
                        0x001fffff,
                        Zero,
                        ^LPC.LNKC,
                        Zero,
                    },
                    Package(0x04) {
                        0x001fffff,
                        One,
                        ^LPC.LNKD,
                        Zero,
                    },
                    Package(0x04) {
                        0x001fffff,
                        0x02,
                        ^LPC.LNKC,
                        Zero,
                    },
                    Package(0x04) {
                        0x001fffff,
                        0x03,
                        ^LPC.LNKA,
                        Zero,
                    },
                })
            }
            Else {
                Return(Package(0x1a) {
                    Package(0x04) {
                        0x0001ffff,
                        Zero,
                        Zero,
                        0x10,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        One,
                        Zero,
                        0x11,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        0x02,
                        Zero,
                        0x12,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        0x03,
                        Zero,
                        0x13,
                    },
                    Package(0x04) {
                        0x0002ffff,
                        Zero,
                        Zero,
                        0x10,
                    },
                    Package(0x04) {
                        0x0003ffff,
                        Zero,
                        Zero,
                        0x10,
                    },
                    Package(0x04) {
                        0x0003ffff,
                        One,
                        Zero,
                        0x11,
                    },
                    Package(0x04) {
                        0x0003ffff,
                        0x02,
                        Zero,
                        0x12,
                    },
                    Package(0x04) {
                        0x0003ffff,
                        0x03,
                        Zero,
                        0x13,
                    },
                    Package(0x04) {
                        0x001affff,
                        Zero,
                        Zero,
                        0x10,
                    },
                    Package(0x04) {
                        0x001affff,
                        One,
                        Zero,
                        0x15,
                    },
                    Package(0x04) {
                        0x001affff,
                        0x02,
                        Zero,
                        0x12,
                    },
                    Package(0x04) {
                        0x001affff,
                        0x03,
                        Zero,
                        0x13,
                    },
                    Package(0x04) {
                        0x001bffff,
                        Zero,
                        Zero,
                        0x16,
                    },
                    Package(0x04) {
                        0x001cffff,
                        Zero,
                        Zero,
                        0x11,
                    },
                    Package(0x04) {
                        0x001cffff,
                        One,
                        Zero,
                        0x10,
                    },
                    Package(0x04) {
                        0x001cffff,
                        0x02,
                        Zero,
                        0x12,
                    },
                    Package(0x04) {
                        0x001cffff,
                        0x03,
                        Zero,
                        0x13,
                    },
                    Package(0x04) {
                        0x001dffff,
                        Zero,
                        Zero,
                        0x14,
                    },
                    Package(0x04) {
                        0x001dffff,
                        One,
                        Zero,
                        0x13,
                    },
                    Package(0x04) {
                        0x001dffff,
                        0x02,
                        Zero,
                        0x12,
                    },
                    Package(0x04) {
                        0x001dffff,
                        0x03,
                        Zero,
                        0x10,
                    },
                    Package(0x04) {
                        0x001fffff,
                        Zero,
                        Zero,
                        0x12,
                    },
                    Package(0x04) {
                        0x001fffff,
                        One,
                        Zero,
                        0x13,
                    },
                    Package(0x04) {
                        0x001fffff,
                        0x02,
                        Zero,
                        0x12,
                    },
                    Package(0x04) {
                        0x001fffff,
                        0x03,
                        Zero,
                        0x10,
                    },
                })
            }
        }
        Device(OVGA) {
            Name(_ADR, 0x00020000)
            Method(_DOS, 1) {
                Store(And(Arg0, 0x07, ), DSEN)
            }
            Method(_DOD) {
                Store(Zero, NDID)
                If(LNot(LEqual(DIDL, Zero))) {
                    Store(SDDL(DID1), DID1)
                }
                If(LNot(LEqual(DDL2, Zero))) {
                    Store(SDDL(DID2), DID2)
                }
                If(LNot(LEqual(DDL3, Zero))) {
                    Store(SDDL(DID3), DID3)
                }
                If(LNot(LEqual(DDL4, Zero))) {
                    Store(SDDL(DID4), DID4)
                }
                If(LNot(LEqual(DDL5, Zero))) {
                    Store(SDDL(DID5), DID5)
                }
                If(LEqual(NDID, One)) {
                    Name(TMP1, Package(0x01) {
                        Ones,
                    })
                    Store(Or(0x00010000, DID1, ), Index(TMP1, Zero, ))
                    Return(TMP1)
                }
                If(LEqual(NDID, 0x02)) {
                    Name(TMP2, Package(0x02) {
                        Ones,
                        Ones,
                    })
                    Store(Or(0x00010000, DID1, ), Index(TMP2, Zero, ))
                    Store(Or(0x00010000, DID2, ), Index(TMP2, One, ))
                    Return(TMP2)
                }
                If(LEqual(NDID, 0x03)) {
                    Name(TMP3, Package(0x03) {
                        Ones,
                        Ones,
                        Ones,
                    })
                    Store(Or(0x00010000, DID1, ), Index(TMP3, Zero, ))
                    Store(Or(0x00010000, DID2, ), Index(TMP3, One, ))
                    Store(Or(0x00010000, DID3, ), Index(TMP3, 0x02, ))
                    Return(TMP3)
                }
                If(LEqual(NDID, 0x04)) {
                    Name(TMP4, Package(0x04) {
                        Ones,
                        Ones,
                        Ones,
                        Ones,
                    })
                    Store(Or(0x00010000, DID1, ), Index(TMP4, Zero, ))
                    Store(Or(0x00010000, DID2, ), Index(TMP4, One, ))
                    Store(Or(0x00010000, DID3, ), Index(TMP4, 0x02, ))
                    Store(Or(0x00010000, DID4, ), Index(TMP4, 0x03, ))
                    Return(TMP4)
                }
                If(LGreater(NDID, 0x04)) {
                    Name(TMP5, Package(0x05) {
                        Ones,
                        Ones,
                        Ones,
                        Ones,
                        Ones,
                    })
                    Store(Or(0x00010000, DID1, ), Index(TMP5, Zero, ))
                    Store(Or(0x00010000, DID2, ), Index(TMP5, One, ))
                    Store(Or(0x00010000, DID3, ), Index(TMP5, 0x02, ))
                    Store(Or(0x00010000, DID4, ), Index(TMP5, 0x03, ))
                    Store(Or(0x00010000, DID5, ), Index(TMP5, 0x04, ))
                    Return(TMP5)
                }
                Return(Package(0x01) {
                    0x0400,
                })
            }
            Device(DD01) {
                Method(_ADR, 0, Serialized) {
                    If(LEqual(DID1, Zero)) {
                        Return(One)
                    }
                    Else {
                        Return(And(0xffff, DID1, ))
                    }
                }
                Method(_DCS) {
                    Return(CDDS(DID1))
                }
                Method(_DGS) {
                    Return(NDDS(DID1))
                }
                Method(_DSS, 1) {
                    If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) {
                        Store(NSTE, CSTE)
                    }
                }
            }
            Device(DD02) {
                Method(_ADR, 0, Serialized) {
                    If(LEqual(DID2, Zero)) {
                        Return(0x02)
                    }
                    Else {
                        Return(And(0xffff, DID2, ))
                    }
                }
                Method(_DCS) {
                    Return(CDDS(DID2))
                }
                Method(_DGS) {
                    Return(NDDS(DID2))
                }
                Method(_DSS, 1) {
                    If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) {
                        Store(NSTE, CSTE)
                    }
                }
            }
            Device(DD03) {
                Method(_ADR, 0, Serialized) {
                    Store(0xe3, DBGD)
                    TRAP(TRTI, 0x21)
                    If(LEqual(DID3, Zero)) {
                        Return(0x03)
                    }
                    Else {
                        Return(And(0xffff, DID3, ))
                    }
                }
                Method(_DCS) {
                    If(LEqual(DID3, Zero)) {
                        Return(0x0b)
                    }
                    Else {
                        Return(CDDS(DID3))
                    }
                }
                Method(_DGS) {
                    Return(NDDS(DID3))
                }
                Method(_DSS, 1) {
                    If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) {
                        Store(NSTE, CSTE)
                    }
                }
                Method(_BCL) {
                    If(LEqual(CHPF, One)) {
                        Return(BCLT)
                    }
                    Else {
                        Return(BCLT)
                    }
                }
                Method(_BCM, 1) {
                    If(ECOK) {
                        SBCM(Arg0)
                    }
                }
                Method(_BQC) {
                    If(ECOK) {
                        Return(GBQC())
                    }
                    Else {
                        Return(GBQC())
                    }
                }
                Method(GBQC) {
                    Store(Zero, Local0)
                    Store(^^^LPC.EC0.BRTL, Local1)
                    While(LLess(Local0, 0x0b)) {
                        If(LEqual(CHPF, One)) {
                            Store(DerefOf(Index(BCT2, Local0, )), Local2)
                        }
                        Else {
                            If(LEqual(CKPL, One)) {
                                Store(DerefOf(Index(BCT3, Local0, )), Local2)
                            }
                            Else {
                                Store(DerefOf(Index(BCT1, Local0, )), Local2)
                            }
                        }
                        If(LEqual(Local1, Local2)) {
                            Add(Local0, 0x02, Local2)
                            Store(DerefOf(Index(BCLT, Local2, )), Local3)
                            Store(0x0b, Local0)
                        }
                        Increment(Local0)
                    }
                    Return(Local3)
                }
                Method(SBCM, 1) {
                    Store(Zero, Local0)
                    While(LLess(Local0, 0x0b)) {
                        Add(Local0, 0x02, Local1)
                        Store(DerefOf(Index(BCLT, Local1, )), Local2)
                        If(LEqual(Arg0, Local2)) {
                            If(LEqual(CHPF, One)) {
                                Store(DerefOf(Index(BCT2, Local0, )), ^^^LPC.EC0.BRTL)
                            }
                            Else {
                                If(LEqual(CKPL, One)) {
                                    Store(DerefOf(Index(BCT3, Local0, )), ^^^LPC.EC0.BRTL)
                                }
                                Else {
                                    Store(DerefOf(Index(BCT1, Local0, )), ^^^LPC.EC0.BRTL)
                                }
                            }
                            Store(0x0b, Local0)
                        }
                        Increment(Local0)
                    }
                }
            }
            Device(DD04) {
                Method(_ADR, 0, Serialized) {
                    If(LEqual(DID4, Zero)) {
                        Return(0x04)
                    }
                    Else {
                        Return(And(0xffff, DID4, ))
                    }
                }
                Method(_DCS) {
                    If(LEqual(DID4, Zero)) {
                        Return(0x0b)
                    }
                    Else {
                        Return(CDDS(DID4))
                    }
                }
                Method(_DGS) {
                    Return(NDDS(DID4))
                }
                Method(_DSS, 1) {
                    If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) {
                        Store(NSTE, CSTE)
                    }
                }
            }
            Device(DD05) {
                Method(_ADR, 0, Serialized) {
                    If(LEqual(DID5, Zero)) {
                        Return(0x05)
                    }
                    Else {
                        Return(And(0xffff, DID5, ))
                    }
                }
                Method(_DCS) {
                    If(LEqual(DID5, Zero)) {
                        Return(0x0b)
                    }
                    Else {
                        Return(CDDS(DID5))
                    }
                }
                Method(_DGS) {
                    Return(NDDS(DID5))
                }
                Method(_DSS, 1) {
                    If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) {
                        Store(NSTE, CSTE)
                    }
                }
            }
            Method(SDDL, 1) {
                Increment(NDID)
                Store(And(Arg0, 0x0f0f, ), Local0)
                Or(0x80000000, Local0, Local1)
                If(LEqual(DIDL, Local0)) {
                    Return(Local1)
                }
                If(LEqual(DDL2, Local0)) {
                    Return(Local1)
                }
                If(LEqual(DDL3, Local0)) {
                    Return(Local1)
                }
                If(LEqual(DDL4, Local0)) {
                    Return(Local1)
                }
                If(LEqual(DDL5, Local0)) {
                    Return(Local1)
                }
                If(LEqual(DDL6, Local0)) {
                    Return(Local1)
                }
                If(LEqual(DDL7, Local0)) {
                    Return(Local1)
                }
                If(LEqual(DDL8, Local0)) {
                    Return(Local1)
                }
                Return(Zero)
            }
            Method(CDDS, 1) {
                If(LEqual(CADL, And(Arg0, 0x0f0f, ))) {
                    Return(0x1f)
                }
                If(LEqual(CAL2, And(Arg0, 0x0f0f, ))) {
                    Return(0x1f)
                }
                If(LEqual(CAL3, And(Arg0, 0x0f0f, ))) {
                    Return(0x1f)
                }
                If(LEqual(CAL4, And(Arg0, 0x0f0f, ))) {
                    Return(0x1f)
                }
                If(LEqual(CAL5, And(Arg0, 0x0f0f, ))) {
                    Return(0x1f)
                }
                If(LEqual(CAL6, And(Arg0, 0x0f0f, ))) {
                    Return(0x1f)
                }
                If(LEqual(CAL7, And(Arg0, 0x0f0f, ))) {
                    Return(0x1f)
                }
                If(LEqual(CAL8, And(Arg0, 0x0f0f, ))) {
                    Return(0x1f)
                }
                Return(0x1d)
            }
            Method(NDDS, 1) {
                If(LEqual(NADL, And(Arg0, 0x0f0f, ))) {
                    Return(One)
                }
                If(LEqual(NDL2, And(Arg0, 0x0f0f, ))) {
                    Return(One)
                }
                If(LEqual(NDL3, And(Arg0, 0x0f0f, ))) {
                    Return(One)
                }
                If(LEqual(NDL4, And(Arg0, 0x0f0f, ))) {
                    Return(One)
                }
                If(LEqual(NDL5, And(Arg0, 0x0f0f, ))) {
                    Return(One)
                }
                If(LEqual(NDL6, And(Arg0, 0x0f0f, ))) {
                    Return(One)
                }
                If(LEqual(NDL7, And(Arg0, 0x0f0f, ))) {
                    Return(One)
                }
                If(LEqual(NDL8, And(Arg0, 0x0f0f, ))) {
                    Return(One)
                }
                Return(Zero)
            }
            Scope(^^PCI0) {
                OperationRegion(MCHP, PCI_Config, 0x40, 0xc0)
                Field(MCHP, AnyAcc, NoLock, Preserve) {
                    Offset(0x60),
                    TASM,	10,
                    Offset(0x62)
                }
            }
            OperationRegion(IGDP, PCI_Config, 0x40, 0xc0)
            Field(IGDP, AnyAcc, NoLock, Preserve) {
                Offset(0x12),
                ,	1,
                GIVD,	1,
                ,	2,
                GUMA,	3,
                Offset(0x14),
                ,	4,
                GMFN,	1,
                Offset(0x18),
                Offset(0xa4),
                ASLE,	8,
                Offset(0xa8),
                GSSE,	1,
                GSSB,	14,
                GSES,	1,
                Offset(0xb0),
                ,	12,
                CDVL,	1,
                Offset(0xb2),
                Offset(0xb5),
                LBPC,	8,
                Offset(0xbc),
                ASLS,	32
            }
            OperationRegion(IGDM, SystemMemory, ASLB, 0x2000)
            Field(IGDM, AnyAcc, NoLock, Preserve) {
                SIGN,	128,
                SIZE,	32,
                OVER,	32,
                SVER,	256,
                VVER,	128,
                GVER,	128,
                MBOX,	32,
                DMOD,	32,
                Offset(0x100),
                DRDY,	32,
                CSTS,	32,
                CEVT,	32,
                Offset(0x120),
                DIDL,	32,
                DDL2,	32,
                DDL3,	32,
                DDL4,	32,
                DDL5,	32,
                DDL6,	32,
                DDL7,	32,
                DDL8,	32,
                CPDL,	32,
                CPL2,	32,
                CPL3,	32,
                CPL4,	32,
                CPL5,	32,
                CPL6,	32,
                CPL7,	32,
                CPL8,	32,
                CADL,	32,
                CAL2,	32,
                CAL3,	32,
                CAL4,	32,
                CAL5,	32,
                CAL6,	32,
                CAL7,	32,
                CAL8,	32,
                NADL,	32,
                NDL2,	32,
                NDL3,	32,
                NDL4,	32,
                NDL5,	32,
                NDL6,	32,
                NDL7,	32,
                NDL8,	32,
                ASLP,	32,
                TIDX,	32,
                CHPD,	32,
                CLID,	32,
                CDCK,	32,
                SXSW,	32,
                EVTS,	32,
                CNOT,	32,
                NRDY,	32,
                Offset(0x200),
                SCIE,	1,
                GEFC,	4,
                GXFC,	3,
                GESF,	8,
                Offset(0x204),
                PARM,	32,
                DSLP,	32,
                Offset(0x300),
                ARDY,	32,
                ASLC,	32,
                TCHE,	32,
                ALSI,	32,
                BCLP,	32,
                PFIT,	32,
                CBLV,	32,
                BCLM,	320,
                CPFM,	32,
                EPFM,	32,
                PLUT,	592,
                PFMB,	32,
                CCDV,	32,
                PCFT,	32,
                Offset(0x400),
                GVD1,	49152,
                PHED,	32,
                BDDC,	2048
            }
            Name(DBTB, Package(0x15) {
                Zero,
                0x07,
                0x38,
                0x01c0,
                0x0e00,
                0x3f,
                0x01c7,
                0x0e07,
                0x01f8,
                0x0e38,
                0x0fc0,
                Zero,
                Zero,
                Zero,
                Zero,
                Zero,
                0x7000,
                0x7007,
                0x7038,
                0x71c0,
                0x7e00,
            })
            Name(CDCT, Package(0x05) {
                Package(0x02) {
                    0xe4,
                    0x0140,
                },
                Package(0x02) {
                    0xde,
                    0x014d,
                },
                Package(0x02) {
                    0xde,
                    0x014d,
                },
                Package(0x02) {
                    Zero,
                    Zero,
                },
                Package(0x02) {
                    0xde,
                    0x014d,
                },
            })
            Name(SUCC, One)
            Name(NVLD, 0x02)
            Name(CRIT, 0x04)
            Name(NCRT, 0x06)
            Method(GSCI, 0, Serialized) {
                Method(GBDA, 0, Serialized) {
                    If(LEqual(GESF, Zero)) {
                        Store(0x0679, PARM)
                        Store(Zero, GESF)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, One)) {
                        Store(0x0240, PARM)
                        Store(Zero, GESF)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x04)) {
                        And(PARM, 0xefff0000, PARM)
                        And(PARM, ShiftLeft(DerefOf(Index(DBTB, IBTT, )), 0x10, ), PARM)
                        Or(IBTT, PARM, PARM)
                        Store(Zero, GESF)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x05)) {
                        Store(IPSC, PARM)
                        Or(PARM, ShiftLeft(IPAT, 0x08, ), PARM)
                        Add(PARM, 0x0100, PARM)
                        Or(PARM, ShiftLeft(LIDS, 0x10, ), PARM)
                        Add(PARM, 0x00010000, PARM)
                        Or(PARM, ShiftLeft(IBIA, 0x14, ), PARM)
                        Store(Zero, GESF)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x06)) {
                        Store(ITVF, PARM)
                        Or(PARM, ShiftLeft(ITVM, 0x04, ), PARM)
                        Store(Zero, GESF)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x07)) {
                        Store(GIVD, PARM)
                        XOr(PARM, One, PARM)
                        Or(PARM, ShiftLeft(GMFN, One, ), PARM)
                        Or(PARM, 0x1800, PARM)
                        Or(PARM, ShiftLeft(IDMS, 0x11, ), PARM)
                        Or(ShiftLeft(DerefOf(Index(DerefOf(Index(CDCT, HVCO, )), CDVL, )), 0x15, ), PARM, PARM)
                        Store(One, GESF)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x0a)) {
                        Store(Zero, PARM)
                        If(ISSC) {
                            Or(PARM, 0x03, PARM)
                        }
                        Store(Zero, GESF)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x0b)) {
                        Store(KSV0, PARM)
                        Store(KSV1, GESF)
                        Return(SUCC)
                    }
                    Store(Zero, GESF)
                    Return(CRIT)
                }
                Method(SBCB, 0, Serialized) {
                    If(LEqual(GESF, Zero)) {
                        Store(Zero, PARM)
                        Store(Zero, GESF)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, One)) {
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x03)) {
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x04)) {
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x05)) {
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x06)) {
                        Store(And(PARM, 0x0f, ), ITVF)
                        Store(ShiftRight(And(PARM, 0xf0, ), 0x04, ), ITVM)
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x07)) {
                        If(LEqual(PARM, Zero)) {
                            Store(CLID, Local0)
                            If(And(0x80000000, Local0, )) {
                                And(CLID, 0x0f, CLID)
                                GLID
                                CLID
                            }
                        }
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x08)) {
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x09)) {
                        And(PARM, 0xff, IBTT)
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x0a)) {
                        And(PARM, 0xff, IPSC)
                        If(And(ShiftRight(PARM, 0x08, ), 0xff, )) {
                            And(ShiftRight(PARM, 0x08, ), 0xff, IPAT)
                            Decrement(IPAT)
                        }
                        And(ShiftRight(PARM, 0x14, ), 0x07, IBIA)
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x0b)) {
                        And(ShiftRight(PARM, One, ), One, IF1E)
                        If(And(PARM, 0x0001e000, )) {
                            And(ShiftRight(PARM, 0x0d, ), 0x0f, IDMS)
                        }
                        Else {
                            And(ShiftRight(PARM, 0x11, ), 0x0f, IDMS)
                        }
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x10)) {
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x11)) {
                        Store(ShiftLeft(LIDS, 0x08, ), PARM)
                        Add(PARM, 0x0100, PARM)
                        Store(Zero, GESF)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x12)) {
                        If(And(PARM, One, )) {
                            If(LEqual(ShiftRight(PARM, One, ), One)) {
                                Store(One, ISSC)
                            }
                            Else {
                                Store(Zero, GESF)
                                Return(CRIT)
                            }
                        }
                        Else {
                            Store(Zero, ISSC)
                        }
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x13)) {
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    If(LEqual(GESF, 0x14)) {
                        And(PARM, 0x0f, PAVP)
                        Store(Zero, GESF)
                        Store(Zero, PARM)
                        Return(SUCC)
                    }
                    Store(Zero, GESF)
                    Return(SUCC)
                }
                If(LEqual(GEFC, 0x04)) {
                    Store(GBDA, GXFC)
                }
                If(LEqual(GEFC, 0x06)) {
                    Store(SBCB, GXFC)
                }
                Store(Zero, GEFC)
                Store(One, SCIS)
                Store(Zero, GSSE)
                Store(Zero, SCIE)
                Return(Zero)
            }
            Method(PDRD) {
                If(LNot(DRDY)) {
                    Sleep(ASLP)
                }
                Return(LNot(DRDY))
            }
            Method(PSTS) {
                If(LGreater(CSTS, 0x02)) {
                    Sleep(ASLP)
                }
                Return(LEqual(CSTS, 0x03))
            }
            Method(GNOT, 2) {
                If(PDRD()) {
                    Return(One)
                }
                Store(Arg0, CEVT)
                Store(0x03, CSTS)
                If(LAnd(LEqual(CHPD, Zero), LEqual(Arg1, Zero))) {
                    If(LOr(LGreater(OSYS, 0x07d0), LLess(OSYS, 0x07d6))) {
                        Notify(PCI0, Arg1)
                    }
                    Else {
                        Notify(OVGA, Arg1)
                    }
                }
                Notify(OVGA, 0x80)
                Return(Zero)
            }
            Method(GHDS, 1) {
                Store(Arg0, TIDX)
                Return(GNOT(One, Zero))
            }
            Method(GLID, 1) {
                Store(Arg0, CLID)
                Return(GNOT(0x02, Zero))
            }
            Method(GDCK, 1) {
                Store(Arg0, CDCK)
                Return(GNOT(0x04, Zero))
            }
            Method(PARD) {
                If(LNot(ARDY)) {
                    Sleep(ASLP)
                }
                Return(LNot(ARDY))
            }
            Method(AINT, 2) {
                If(LNot(And(TCHE, ShiftLeft(One, Arg0, ), ))) {
                    Return(One)
                }
                If(PARD()) {
                    Return(One)
                }
                If(LEqual(Arg0, 0x02)) {
                    If(CPFM) {
                        And(CPFM, 0x0f, Local0)
                        And(EPFM, 0x0f, Local1)
                        If(LEqual(Local0, One)) {
                            If(And(Local1, 0x06, )) {
                                Store(0x06, PFIT)
                            }
                            Else {
                                If(And(Local1, 0x08, )) {
                                    Store(0x08, PFIT)
                                }
                                Else {
                                    Store(One, PFIT)
                                }
                            }
                        }
                        If(LEqual(Local0, 0x06)) {
                            If(And(Local1, 0x08, )) {
                                Store(0x08, PFIT)
                            }
                            Else {
                                If(And(Local1, One, )) {
                                    Store(One, PFIT)
                                }
                                Else {
                                    Store(0x06, PFIT)
                                }
                            }
                        }
                        If(LEqual(Local0, 0x08)) {
                            If(And(Local1, One, )) {
                                Store(One, PFIT)
                            }
                            Else {
                                If(And(Local1, 0x06, )) {
                                    Store(0x06, PFIT)
                                }
                                Else {
                                    Store(0x08, PFIT)
                                }
                            }
                        }
                    }
                    Else {
                        XOr(PFIT, 0x07, PFIT)
                    }
                    Or(PFIT, 0x80000000, PFIT)
                    Store(0x04, ASLC)
                }
                Else {
                    If(LEqual(Arg0, One)) {
                        Store(Divide(Multiply(Arg1, 0xff, ), 0x64, , ), BCLP)
                        Or(BCLP, 0x80000000, BCLP)
                        Store(0x02, ASLC)
                    }
                    Else {
                        If(LEqual(Arg0, Zero)) {
                            Store(Arg1, ALSI)
                            Store(One, ASLC)
                        }
                        Else {
                            Return(One)
                        }
                    }
                }
                Store(Zero, LBPC)
                Return(Zero)
            }
            Method(SCIP) {
                If(LNot(LEqual(OVER, Zero))) {
                    Return(LNot(GSMI))
                }
                Return(Zero)
            }
        }
        Device(PEGP) {
            Name(_ADR, 0x00010000)
            Method(_PRT) {
                If(LEqual(GPIC, Zero)) {
                    Return(Package(0x01) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            ^^LPC.LNKA,
                            Zero,
                        },
                    })
                }
                Else {
                    Return(Package(0x01) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            Zero,
                            0x10,
                        },
                    })
                }
            }
            Device(VGA) {
                Name(_ADR, Zero)
                Name(SWIT, One)
                Name(CRTA, One)
                Name(LCDA, One)
                Name(TV0A, One)
                Name(HDTV, One)
                Method(_STA) {
                    Return(0x0f)
                }
                Name(_PSC, Zero)
                Method(_PS0) {
                    Store(0xe3, DBGD)
                    TRAP(TRTI, 0x21)
                    Store(Zero, _PSC)
                }
                Method(_PS3) {
                    Store(0x03, _PSC)
                }
                Method(_DOS, 1) {
                    Store(And(Arg0, 0x03, ), SWIT)
                }
                Method(_DOD) {
                    Return(Package(0x03) {
                        0x00010100,
                        0x00010118,
                        0x00010121,
                    })
                }
                Device(CRT) {
                    Name(_ADR, 0x0100)
                    Method(_DCS) {
                        Store("CRT\x20\x2d\x2d\x20\x5fDCS", Debug)
                        If(CRTA) {
                            Return(0x1f)
                        }
                        Else {
                            Return(0x1d)
                        }
                    }
                    Method(_DGS) {
                        Store("CRT\x20\x2d\x2d\x20\x5fDGS", Debug)
                        If(CRTA) {
                            Return(One)
                        }
                        Else {
                            Return(Zero)
                        }
                    }
                    Method(_DSS, 1) {
                        Store("CRT\x20\x2d\x2d\x20\x5fDSS", Debug)
                    }
                }
                Device(LCD) {
                    Name(_ADR, 0x0118)
                    Method(_DCS) {
                        Store("LCD\x20\x2d\x2d\x20\x5fDCS", Debug)
                        If(LCDA) {
                            Return(0x1f)
                        }
                        Else {
                            Return(0x1d)
                        }
                    }
                    Method(_DGS) {
                        Store("LCD\x20\x2d\x2d\x20\x5fDCS", Debug)
                        If(LCDA) {
                            Return(One)
                        }
                        Else {
                            Return(Zero)
                        }
                    }
                    Method(_DSS, 1) {
                        Store("LCD\x20\x2d\x2d\x20\x5fDSS", Debug)
                    }
                    Method(_BCL) {
                        If(LEqual(CHPF, One)) {
                            Return(BCLT)
                        }
                        Else {
                            Return(BCLT)
                        }
                    }
                    Method(_BCM, 1) {
                        If(ECOK) {
                            SBCM(Arg0)
                        }
                    }
                    Method(_BQC) {
                        If(ECOK) {
                            Return(GBQC())
                        }
                        Else {
                            Return(GBQC())
                        }
                    }
                    Method(GBQC) {
                        Store(Zero, Local0)
                        Store(^^^^LPC.EC0.BRTL, Local1)
                        While(LLess(Local0, 0x0b)) {
                            If(LEqual(CHPF, One)) {
                                Store(DerefOf(Index(BCT2, Local0, )), Local2)
                            }
                            Else {
                                If(LEqual(CKPL, One)) {
                                    Store(DerefOf(Index(BCT3, Local0, )), Local2)
                                }
                                Else {
                                    Store(DerefOf(Index(BCT1, Local0, )), Local2)
                                }
                            }
                            If(LEqual(Local1, Local2)) {
                                Add(Local0, 0x02, Local2)
                                Store(DerefOf(Index(BCLT, Local2, )), Local3)
                                Store(0x0b, Local0)
                            }
                            Increment(Local0)
                        }
                        Return(Local3)
                    }
                    Method(SBCM, 1) {
                        Store(Zero, Local0)
                        While(LLess(Local0, 0x0b)) {
                            Add(Local0, 0x02, Local1)
                            Store(DerefOf(Index(BCLT, Local1, )), Local2)
                            If(LEqual(Arg0, Local2)) {
                                If(LEqual(CHPF, One)) {
                                    Store(DerefOf(Index(BCT2, Local0, )), ^^^^LPC.EC0.BRTL)
                                }
                                Else {
                                    If(LEqual(CKPL, One)) {
                                        Store(DerefOf(Index(BCT3, Local0, )), ^^^^LPC.EC0.BRTL)
                                    }
                                    Else {
                                        Store(DerefOf(Index(BCT1, Local0, )), ^^^^LPC.EC0.BRTL)
                                    }
                                }
                                Store(0x0b, Local0)
                            }
                            Increment(Local0)
                        }
                    }
                }
                Device(HDMI) {
                    Name(_ADR, 0x0121)
                    Method(_DCS) {
                        Store("HDMI\x20TV\x20\x2d\x2d\x20\x5fDCS", Debug)
                        If(HDTV) {
                            Return(0x1f)
                        }
                        Else {
                            Return(0x1d)
                        }
                    }
                    Method(_DGS) {
                        Store("HDMI\x20TV\x20\x2d\x2d\x20\x5fDCS", Debug)
                        If(HDTV) {
                            Return(One)
                        }
                        Else {
                            Return(Zero)
                        }
                    }
                    Method(_DSS, 1) {
                        Store("HDMI\x20TV\x20\x2d\x2d\x20\x5fDSS", Debug)
                    }
                }
            }
        }
        Device(LANC) {
            Name(_ADR, 0x00190000)
            Name(_PRW, Package(0x02) {
                0x0d,
                0x04,
            })
        }
        Device(P32) {
            Name(_ADR, 0x001e0000)
            Method(_PRW) {
                If(LEqual(WKPM, One)) {
                    Return(Package(0x02) {
                        0x0b,
                        0x04,
                    })
                }
                Else {
                    Return(Package(0x02) {
                        0x0b,
                        Zero,
                    })
                }
            }
            Method(_PRT) {
                If(LEqual(GPIC, Zero)) {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0x0002ffff,
                            Zero,
                            ^^LPC.LNKD,
                            Zero,
                        },
                        Package(0x04) {
                            0x0002ffff,
                            One,
                            ^^LPC.LNKC,
                            Zero,
                        },
                        Package(0x04) {
                            0x0002ffff,
                            0x02,
                            ^^LPC.LNKA,
                            Zero,
                        },
                        Package(0x04) {
                            0x0002ffff,
                            0x03,
                            ^^LPC.LNKB,
                            Zero,
                        },
                    })
                }
                Else {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0x0002ffff,
                            Zero,
                            Zero,
                            0x13,
                        },
                        Package(0x04) {
                            0x0002ffff,
                            One,
                            Zero,
                            0x12,
                        },
                        Package(0x04) {
                            0x0002ffff,
                            0x02,
                            Zero,
                            0x10,
                        },
                        Package(0x04) {
                            0x0002ffff,
                            0x03,
                            Zero,
                            0x11,
                        },
                    })
                }
            }
        }
        Device(LPC) {
            Name(_ADR, 0x001f0000)
            OperationRegion(PRR0, PCI_Config, 0x60, 0x04)
            Field(PRR0, AnyAcc, NoLock, Preserve) {
                PIRA,	8,
                PIRB,	8,
                PIRC,	8,
                PIRD,	8
            }
            OperationRegion(PRR1, PCI_Config, 0x68, 0x04)
            Field(PRR1, AnyAcc, NoLock, Preserve) {
                PIRE,	8,
                PIRF,	8,
                PIRG,	8,
                PIRH,	8
            }
            OperationRegion(PRR2, PCI_Config, 0x80, 0x02)
            Field(PRR2, AnyAcc, NoLock, Preserve) {
                IODL,	8,
                IODH,	8
            }
            Device(LNKA) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, One)
                Method(_STA) {
                    If(And(PIRA, 0x80, )) {
                        Return(0x09)
                    }
                    Else {
                        Return(0x0b)
                    }
                }
                Method(_DIS) {
                    Or(PIRA, 0x80, PIRA)
                }
                Method(_CRS) {
                    Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(BUF0, One, IRQW)
                    If(And(PIRA, 0x80, )) {
                        Store(Zero, Local0)
                    }
                    Else {
                        Store(One, Local0)
                    }
                    ShiftLeft(Local0, And(PIRA, 0x0f, ), IRQW)
                    Return(BUF0)
                }
                Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, One, IRQW)
                    FindSetRightBit(IRQW, Local0)
                    If(LNot(LEqual(IRQW, Zero))) {
                        And(Local0, 0x7f, Local0)
                        Decrement(Local0)
                    }
                    Else {
                        Or(Local0, 0x80, Local0)
                    }
                    Store(Local0, PIRA)
                }
            }
            Device(LNKB) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x02)
                Method(_STA) {
                    If(And(PIRB, 0x80, )) {
                        Return(0x09)
                    }
                    Else {
                        Return(0x0b)
                    }
                }
                Method(_DIS) {
                    Or(PIRB, 0x80, PIRB)
                }
                Method(_CRS) {
                    Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(BUF0, One, IRQW)
                    If(And(PIRB, 0x80, )) {
                        Store(Zero, Local0)
                    }
                    Else {
                        Store(One, Local0)
                    }
                    ShiftLeft(Local0, And(PIRB, 0x0f, ), IRQW)
                    Return(BUF0)
                }
                Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, One, IRQW)
                    FindSetRightBit(IRQW, Local0)
                    If(LNot(LEqual(IRQW, Zero))) {
                        And(Local0, 0x7f, Local0)
                        Decrement(Local0)
                    }
                    Else {
                        Or(Local0, 0x80, Local0)
                    }
                    Store(Local0, PIRB)
                }
            }
            Device(LNKC) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x03)
                Method(_STA) {
                    If(And(PIRC, 0x80, )) {
                        Return(0x09)
                    }
                    Else {
                        Return(0x0b)
                    }
                }
                Method(_DIS) {
                    Or(PIRC, 0x80, PIRC)
                }
                Method(_CRS) {
                    Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(BUF0, One, IRQW)
                    If(And(PIRC, 0x80, )) {
                        Store(Zero, Local0)
                    }
                    Else {
                        Store(One, Local0)
                    }
                    ShiftLeft(Local0, And(PIRC, 0x0f, ), IRQW)
                    Return(BUF0)
                }
                Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, One, IRQW)
                    FindSetRightBit(IRQW, Local0)
                    If(LNot(LEqual(IRQW, Zero))) {
                        And(Local0, 0x7f, Local0)
                        Decrement(Local0)
                    }
                    Else {
                        Or(Local0, 0x80, Local0)
                    }
                    Store(Local0, PIRC)
                }
            }
            Device(LNKD) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x04)
                Method(_STA) {
                    If(And(PIRD, 0x80, )) {
                        Return(0x09)
                    }
                    Else {
                        Return(0x0b)
                    }
                }
                Method(_DIS) {
                    Or(PIRD, 0x80, PIRD)
                }
                Method(_CRS) {
                    Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(BUF0, One, IRQW)
                    If(And(PIRD, 0x80, )) {
                        Store(Zero, Local0)
                    }
                    Else {
                        Store(One, Local0)
                    }
                    ShiftLeft(Local0, And(PIRD, 0x0f, ), IRQW)
                    Return(BUF0)
                }
                Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, One, IRQW)
                    FindSetRightBit(IRQW, Local0)
                    If(LNot(LEqual(IRQW, Zero))) {
                        And(Local0, 0x7f, Local0)
                        Decrement(Local0)
                    }
                    Else {
                        Or(Local0, 0x80, Local0)
                    }
                    Store(Local0, PIRD)
                }
            }
            Device(LNKE) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x05)
                Method(_STA) {
                    If(And(PIRE, 0x80, )) {
                        Return(0x09)
                    }
                    Else {
                        Return(0x0b)
                    }
                }
                Method(_DIS) {
                    Or(PIRE, 0x80, PIRE)
                }
                Method(_CRS) {
                    Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(BUF0, One, IRQW)
                    If(And(PIRE, 0x80, )) {
                        Store(Zero, Local0)
                    }
                    Else {
                        Store(One, Local0)
                    }
                    ShiftLeft(Local0, And(PIRE, 0x0f, ), IRQW)
                    Return(BUF0)
                }
                Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, One, IRQW)
                    FindSetRightBit(IRQW, Local0)
                    If(LNot(LEqual(IRQW, Zero))) {
                        And(Local0, 0x7f, Local0)
                        Decrement(Local0)
                    }
                    Else {
                        Or(Local0, 0x80, Local0)
                    }
                    Store(Local0, PIRE)
                }
            }
            Device(LNKF) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x06)
                Method(_STA) {
                    If(And(PIRF, 0x80, )) {
                        Return(0x09)
                    }
                    Else {
                        Return(0x0b)
                    }
                }
                Method(_DIS) {
                    Or(PIRF, 0x80, PIRF)
                }
                Method(_CRS) {
                    Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(BUF0, One, IRQW)
                    If(And(PIRF, 0x80, )) {
                        Store(Zero, Local0)
                    }
                    Else {
                        Store(One, Local0)
                    }
                    ShiftLeft(Local0, And(PIRF, 0x0f, ), IRQW)
                    Return(BUF0)
                }
                Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, One, IRQW)
                    FindSetRightBit(IRQW, Local0)
                    If(LNot(LEqual(IRQW, Zero))) {
                        And(Local0, 0x7f, Local0)
                        Decrement(Local0)
                    }
                    Else {
                        Or(Local0, 0x80, Local0)
                    }
                    Store(Local0, PIRF)
                }
            }
            Device(LNKG) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x07)
                Method(_STA) {
                    If(And(PIRG, 0x80, )) {
                        Return(0x09)
                    }
                    Else {
                        Return(0x0b)
                    }
                }
                Method(_DIS) {
                    Or(PIRG, 0x80, PIRG)
                }
                Method(_CRS) {
                    Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(BUF0, One, IRQW)
                    If(And(PIRG, 0x80, )) {
                        Store(Zero, Local0)
                    }
                    Else {
                        Store(One, Local0)
                    }
                    ShiftLeft(Local0, And(PIRG, 0x0f, ), IRQW)
                    Return(BUF0)
                }
                Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, One, IRQW)
                    FindSetRightBit(IRQW, Local0)
                    If(LNot(LEqual(IRQW, Zero))) {
                        And(Local0, 0x7f, Local0)
                        Decrement(Local0)
                    }
                    Else {
                        Or(Local0, 0x80, Local0)
                    }
                    Store(Local0, PIRG)
                }
            }
            Device(LNKH) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x08)
                Method(_STA) {
                    If(And(PIRH, 0x80, )) {
                        Return(0x09)
                    }
                    Else {
                        Return(0x0b)
                    }
                }
                Method(_DIS) {
                    Or(PIRH, 0x80, PIRH)
                }
                Method(_CRS) {
                    Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(BUF0, One, IRQW)
                    If(And(PIRH, 0x80, )) {
                        Store(Zero, Local0)
                    }
                    Else {
                        Store(One, Local0)
                    }
                    ShiftLeft(Local0, And(PIRH, 0x0f, ), IRQW)
                    Return(BUF0)
                }
                Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
                Method(_SRS, 1) {
                    CreateWordField(Arg0, One, IRQW)
                    FindSetRightBit(IRQW, Local0)
                    If(LNot(LEqual(IRQW, Zero))) {
                        And(Local0, 0x7f, Local0)
                        Decrement(Local0)
                    }
                    Else {
                        Or(Local0, 0x80, Local0)
                    }
                    Store(Local0, PIRH)
                }
            }
            Device(SYSR) {
                Name(_HID, 0x020cd041)
                Name(BUF0, Buffer(0x0112) {0x47, 0x1, 0x2e, 0x0, 0x2e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x4e, 0x0, 0x4e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x4e, 0x16, 0x4e, 0x16, 0x1, 0x2, 0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x1, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x1, 0x47, 0x1, 0x92, 0x0, 0x92, 0x0, 0x1, 0x1, 0x47, 0x1, 0xb2, 0x0, 0xb2, 0x0, 0x1, 0x2, 0x47, 0x1, 0x63, 0x0, 0x63, 0x0, 0x1, 0x1, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0x1, 0x47, 0x1, 0x67, 0x0, 0x67, 0x0, 0x1, 0x1, 0x47, 0x1, 0x0, 0x6, 0x0, 0x6, 0x1, 0x10, 0x47, 0x1, 0x10, 0x6, 0x10, 0x6, 0x1, 0x1, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x1, 0x10, 0x47, 0x1, 0x10, 0x8, 0x10, 0x8, 0x1, 0x8, 0x47, 0x1, 0x20, 0x8, 0x20, 0x8, 0x1, 0x4, 0x47, 0x1, 0x0, 0x4, 0x0, 0x4, 0x1, 0x80, 0x47, 0x1, 0x0, 0x5, 0x0, 0x5, 0x1, 0x40, 0x47, 0x1, 0x80, 0x3, 0x80, 0x3, 0x1, 0x8, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x4, 0x86, 0x9, 0x0, 0x1, 0x0, 0xc0, 0xd1, 0xfe, 0x0, 0x40, 0x0, 0x0, 0x86!
 , 0x9, 0x0, 0x1, 0x0, 0x0, 0xd1, 0xfe, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x80, 0xd1, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x90, 0xd1, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xc0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd2, 0xfe, 0x0, 0x0, 0x2, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd4, 0xfe, 0x0, 0x50, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x50, 0xd4, 0xfe, 0x0, 0xb0, 0x4, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xe0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    If(LNot(LEqual(^^TPM.ACC0, 0xff))) {
                        CreateDWordField(BUF0, 0xf4, HTPM)
                        Store(Zero, HTPM)
                    }
                    Return(BUF0)
                }
            }
            Device(DMAC) {
                Name(_HID, 0x0002d041)
                Name(_CRS, Buffer(0x25) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x20, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0x11, 0x47, 0x1, 0x93, 0x0, 0x93, 0x0, 0x1, 0xd, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x1, 0x79, 0x0 })
            }
            Device(RTC) {
                Name(_HID, 0x000bd041)
                Name(BUF0, Buffer(0x0a) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x8, 0x79, 0x0 })
                Name(BUF1, Buffer(0x0d) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x8, 0x22, 0x0, 0x1, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    If(LEqual(HPTS, One)) {
                        Return(BUF0)
                    }
                    Else {
                        Return(BUF1)
                    }
                }
            }
            Device(HPET) {
                Name(_HID, 0x0301d041)
                Name(BUF0, Buffer(0x14) {0x22, 0x1, 0x0, 0x22, 0x0, 0x1, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 })
                Method(_STA) {
                    If(LNot(LLess(OSYS, 0x07d1))) {
                        If(LEqual(HPTS, One)) {
                            Return(0x0f)
                        }
                        Else {
                            Return(Zero)
                        }
                    }
                    Else {
                        If(HPTS) {
                            Return(0x0b)
                        }
                        Else {
                            Return(Zero)
                        }
                    }
                }
                Method(_CRS, 0, Serialized) {
                    If(LEqual(HPTS, One)) {
                        CreateDWordField(BUF0, 0x0a, HPT0)
                        If(LEqual(HPTA, One)) {
                            Store(0xfed01000, HPT0)
                        }
                        If(LEqual(HPTA, 0x02)) {
                            Store(0xfed02000, HPT0)
                        }
                        If(LEqual(HPTA, 0x03)) {
                            Store(0xfed03000, HPT0)
                        }
                    }
                    Return(BUF0)
                }
            }
            Device(PIC) {
                Name(_HID, 0xd041)
                Name(_CRS, Buffer(0x8d) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0x24, 0x0, 0x24, 0x0, 0x1, 0x2, 0x47, 0x1, 0x28, 0x0, 0x28, 0x0, 0x1, 0x2, 0x47, 0x1, 0x2c, 0x0, 0x2c, 0x0, 0x1, 0x2, 0x47, 0x1, 0x30, 0x0, 0x30, 0x0, 0x1, 0x2, 0x47, 0x1, 0x34, 0x0, 0x34, 0x0, 0x1, 0x2, 0x47, 0x1, 0x38, 0x0, 0x38, 0x0, 0x1, 0x2, 0x47, 0x1, 0x3c, 0x0, 0x3c, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa4, 0x0, 0xa4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa8, 0x0, 0xa8, 0x0, 0x1, 0x2, 0x47, 0x1, 0xac, 0x0, 0xac, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb0, 0x0, 0xb0, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb4, 0x0, 0xb4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb8, 0x0, 0xb8, 0x0, 0x1, 0x2, 0x47, 0x1, 0xbc, 0x0, 0xbc, 0x0, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
            }
            Device(FPU) {
                Name(_HID, 0x040cd041)
                Name(_CRS, Buffer(0x0d) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x1, 0x22, 0x0, 0x20, 0x79, 0x0 })
            }
            Device(TIMR) {
                Name(_HID, 0x0001d041)
                Name(BUF0, Buffer(0x12) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x79, 0x0 })
                Name(BUF1, Buffer(0x15) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    If(HPTS) {
                        Return(BUF0)
                    }
                    Return(BUF1)
                }
            }
            Device(FWHD) {
                Name(_HID, 0x0008d425)
                Name(_CRS, Buffer(0x0e) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0x80, 0xff, 0x0, 0x0, 0x80, 0x0, 0x79, 0x0 })
            }
            Device(KBC) {
                Name(_HID, 0x0303d041)
                Name(_CRS, Buffer(0x16) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x23, 0x2, 0x0, 0x1, 0x79, 0x0 })
                Method(_STA) {
                    Return(0x0f)
                }
                Name(_PRW, Package(0x02) {
                    0x18,
                    0x03,
                })
                Method(_PSW, 1) {
                    Store(Arg0, KBWK)
                }
            }
            Device(MOUE) {
                Method(_HID) {
                    Return("\x2aSYN1E08")
                }
                Name(_CID, Package(0x03) {
                    0x001e2e4f,
                    0x02002e4f,
                    0x130fd041,
                })
                Name(_CRS, Buffer(0x06) {0x23, 0x0, 0x10, 0x1, 0x79, 0x0 })
                Method(_STA) {
                    Return(0x0f)
                }
                Name(_PRW, Package(0x02) {
                    0x18,
                    0x03,
                })
                Method(_PSW, 1) {
                    Store(Arg0, MUWK)
                }
            }
            Device(EC0) {
                Name(_HID, 0x090cd041)
                Name(_UID, One)
                Method(_CRS) {
                    Name(BFFR, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x0, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x0, 0x1, 0x79, 0x0 })
                    Return(BFFR)
                }
                OperationRegion(ERAM, EmbeddedControl, Zero, 0xff)
                Field(ERAM, ByteAcc, NoLock, Preserve) {
                    SMPR,	8,
                    SMST,	8,
                    SMAD,	8,
                    SMCM,	8,
                    SMD0,	256,
                    BCNT,	8,
                    SMAA,	8,
                    BATD,	16,
                    Offset(0x40),
                    SW2S,	1,
                    ,	3,
                    THPM,	1,
                    Offset(0x41),
                    W7OS,	1,
                    ,	1,
                    RFLE,	1,
                    ,	1,
                    ECOS,	1,
                    PFN2,	1,
                    WOLF,	1,
                    PFLG,	1,
                    Offset(0x43),
                    BBDA,	1,
                    CIRB,	1,
                    ,	4,
                    NQLB,	1,
                    Offset(0x44),
                    NICL,	1,
                    NICD,	1,
                    Offset(0x4e),
                    LIDE,	1,
                    Offset(0x52),
                    ECLS,	1,
                    WBSS,	1,
                    Offset(0x58),
                    RTMP,	8,
                    ECT1,	8,
                    ECT2,	8,
                    RG5B,	8,
                    FSPD,	16,
                    Offset(0x5f),
                    CFN2,	1,
                    SFN2,	1,
                    Offset(0x70),
                    BCLB,	8,
                    BCHB,	8,
                    Offset(0x74),
                    BVLB,	8,
                    BVHB,	8,
                    Offset(0x7e),
                    BATP,	8,
                    Offset(0x82),
                    MBST,	8,
                    MCUR,	16,
                    MBRM,	16,
                    MBCV,	16,
                    Offset(0xa0),
                    QBHK,	8,
                    RTCW,	1,
                    Offset(0xa2),
                    QBBB,	8,
                    SMTD,	8,
                    MBTS,	1,
                    MBTF,	1,
                    ,	5,
                    BACR,	1,
                    MBTC,	1,
                    ,	2,
                    MBNH,	1,
                    Offset(0xa6),
                    BA1C,	8,
                    Offset(0xaa),
                    ADIM,	1,
                    Offset(0xaf),
                    MCER,	8,
                    Offset(0xb2),
                    RPM1,	8,
                    RPM2,	8,
                    CLOW,	4,
                    CMAX,	4,
                    Offset(0xbc),
                    MCEA,	8,
                    Offset(0xcf),
                    DLYC,	8,
                    EBPL,	1,
                    Offset(0xd2),
                    ,	6,
                    APWR,	1,
                    DLYE,	1,
                    Offset(0xd6),
                    DBPL,	8,
                    Offset(0xda),
                    EPRW,	8,
                    PSKB,	1,
                    PSTP,	1,
                    PSBA,	1,
                    PWOL,	1,
                    Offset(0xdf),
                    ECBW,	1,
                    Offset(0xe0),
                    DLYT,	8,
                    Offset(0xe2),
                    BRTL,	8,
                    Offset(0xe6),
                    SFHK,	8,
                    GQKS,	7,
                    Offset(0xf4),
                    SFAN,	8
                }
                Name(BATO, Zero)
                Name(BATN, Zero)
                Name(BATF, 0xc0)
                Name(WBDS, Zero)
                Method(_REG, 2) {
                    Store(One, ECOK)
                    GBAS()
                    If(LNot(LLess(OSYS, 0x07d9))) {
                        Store(One, W7OS)
                    }
                    Else {
                        Store(Zero, W7OS)
                    }
                    CMSW(0x6e, Zero)
                    If(LNot(LEqual(DQ30, One))) {
                        _Q30()
                        Store(One, DQ30)
                    }
                }
                Method(BPOL, 1) {
                    Store(Arg0, DBPL)
                    Store(One, EBPL)
                }
                Method(BPOM) {
                    Store(Zero, DBPL)
                    Store(Zero, EBPL)
                }
                Name(_GPE, 0x17)
                Method(_Q09) {
                    If(LNot(LLess(OSYS, 0x07d1))) {
                        BPOM()
                        Notify(BAT0, 0x80)
                        Notify(ACAD, 0x80)
                    }
                    If(LEqual(OSYS, 0x07d0)) {
                        Notify(BAT0, 0x80)
                        Notify(BAT0, Zero)
                        Notify(ACAD, Zero)
                    }
                    If(WBDS) {
                    }
                }
                Method(_Q20) {
                    CMSW(0x7b, 0x20)
                    GBAS()
                    CMSW(0x7b, 0x21)
                    Notify(BAT0, 0x81)
                    Notify(BAT0, 0x80)
                    If(And(0x02, BATF, )) {
                        CMSW(0x7b, 0x22)
                        Notify(ACAD, 0x80)
                        Store(SW2S, PWRS)
                        If(CMPE) {
                            Notify(\_PR.CPU0, 0x81)
                            Notify(\_PR.CPU1, 0x81)
                        }
                        Else {
                            Notify(\_PR.CPU0, 0x81)
                        }
                        TRAP(TRTP, PSSS)
                        _Q30()
                        If(SW2S) {
                            If(LAnd(LLess(OSYS, 0x07d6), LLess(BRAC, 0x0b))) {
                                Store(BRAC, Local0)
                                Add(Local0, 0x02, Local0)
                                If(LEqual(CHPF, One)) {
                                    Store(DerefOf(Index(BCL2, Local0, )), BRTL)
                                }
                                Else {
                                    If(LEqual(CKPL, One)) {
                                        Store(DerefOf(Index(BCL3, Local0, )), BRTL)
                                    }
                                    Else {
                                        Store(DerefOf(Index(BCL1, Local0, )), BRTL)
                                    }
                                }
                            }
                            If(LAnd(LEqual(CRPS, One), LNot(LLess(MCHD, 0x04)))) {
                                If(LNot(IGDS)) {
                                    Store(Zero, ^^^EXP5.J380.D3EF)
                                    TRAP(TRTI, 0x5c)
                                }
                            }
                            Store(0x03, ^^^^WMID.WEID)
                            Store(Zero, ^^^^WMID.WMED)
                            Notify(WMID, 0x80)
                        }
                        Else {
                            If(LAnd(LLess(OSYS, 0x07d6), LLess(BRDC, 0x0b))) {
                                Store(BRDC, Local0)
                                Add(Local0, 0x02, Local0)
                                If(LEqual(CHPF, One)) {
                                    Store(DerefOf(Index(BCL2, Local0, )), BRTL)
                                }
                                Else {
                                    If(LEqual(CKPL, One)) {
                                        Store(DerefOf(Index(BCL3, Local0, )), BRTL)
                                    }
                                    Else {
                                        Store(DerefOf(Index(BCL1, Local0, )), BRTL)
                                    }
                                }
                            }
                            If(LAnd(LEqual(CRPS, One), LNot(LLess(MCHD, 0x04)))) {
                                If(LNot(IGDS)) {
                                    Store(0x40, ^^^EXP5.J380.D3EF)
                                }
                            }
                        }
                    }
                }
                Method(_Q22) {
                    Store(Zero, BACR)
                    Notify(BAT0, 0x80)
                }
                Method(GBAS) {
                    Store(Zero, BATF)
                    Store(MBTS, Local0)
                    Store(SW2S, Local1)
                    ShiftLeft(Local0, 0x06, Local0)
                    ShiftLeft(Local1, One, Local1)
                    If(LNot(LEqual(And(BATO, 0x40, ), Local0))) {
                        Or(BATF, 0x40, BATF)
                    }
                    If(LNot(LEqual(And(BATO, 0x02, ), Local1))) {
                        Or(BATF, 0x02, BATF)
                    }
                    Store(Zero, BATO)
                    Or(Local0, Local1, BATO)
                }
                Method(_Q80) {
                    Store("\x5fQ80\x20\x3a\x20Temperature\x20Up", Debug)
                    Notify(\_TZ.TZ01, 0x80)
                    \_TZ.TZ01.OTHD(RTMP)
                }
                Method(_Q81) {
                    Store("\x5fQ81\x20\x3a\x20Temperature\x20Down", Debug)
                    Notify(\_TZ.TZ01, 0x80)
                    \_TZ.TZ01.OTHD(RTMP)
                }
                Method(_Q8A) {
                    If(LIDE) {
                        Store("\x5fQ8A\x20\x3a\x20LID\x20Switch\x20Event", Debug)
                        Store(Zero, LIDE)
                        Notify(LID0, 0x80)
                    }
                }
                Method(_Q0D) {
                    If(IGDS) {
                        ^^^OVGA.GHDS(Zero)
                        Sleep(0xc8)
                    }
                    Else {
                        TRAP(TRTI, 0x0b)
                        Store(NSTE, Local3)
                        Store(And(Local3, One, ), ^^^PEGP.VGA.LCDA)
                        Store(ShiftRight(And(Local3, 0x02, ), One, ), ^^^PEGP.VGA.CRTA)
                        Store(ShiftRight(And(Local3, 0x04, ), 0x02, ), ^^^PEGP.VGA.TV0A)
                        Store(ShiftRight(And(Local3, 0x10, ), 0x04, ), ^^^PEGP.VGA.HDTV)
                        Sleep(0xc8)
                        Notify(^^^PEGP.VGA, 0x80)
                        Sleep(0xc8)
                    }
                }
                Method(_Q11) {
                    If(LNot(LLess(OSYS, 0x07d6))) {
                        If(IGDS) {
                            Notify(^^^OVGA.DD03, 0x86)
                        }
                        Else {
                            Notify(^^^PEGP.VGA.LCD, 0x86)
                        }
                    }
                    Else {
                        BRXP(One)
                    }
                }
                Method(_Q10) {
                    If(LNot(LLess(OSYS, 0x07d6))) {
                        If(IGDS) {
                            Notify(^^^OVGA.DD03, 0x87)
                        }
                        Else {
                            Notify(^^^PEGP.VGA.LCD, 0x87)
                        }
                    }
                    Else {
                        BRXP(0x02)
                    }
                }
                Method(_Q14) {
                    TRAP(TRTI, 0xaa)
                }
                Method(_Q15) {
                    Store(0x15, P80H)
                    Store(CMSR(0x49), WAB1)
                    If(And(WAB1, 0x08, )) {
                        And(WAB1, 0xf7, WAB1)
                        Store(Zero, RFLE)
                    }
                    Else {
                        Or(WAB1, 0x08, WAB1)
                        If(LEqual(WAOK, Zero)) {
                            If(And(WBLC, One, )) {
                                Store(One, RFLE)
                            }
                        }
                    }
                    If(LEqual(WAOK, Zero)) {
                        Or(WAB1, 0x02, WAB1)
                        Or(WAB2, 0x02, WAB2)
                        Or(WAB3, 0x02, WAB3)
                        Or(WAB5, 0x08, WAB5)
                        Or(WAB4, 0x08, WAB4)
                    }
                    Else {
                        Store(0x07, WAB5)
                        Store(Zero, WAB4)
                        If(And(WAB1, 0x02, )) {
                            Or(WAB4, One, WAB4)
                        }
                        If(And(WAB2, 0x02, )) {
                            Or(WAB4, 0x02, WAB4)
                        }
                        If(And(WAB3, 0x02, )) {
                            Or(WAB4, 0x04, WAB4)
                        }
                    }
                    TRAP(TRTI, 0x20)
                    If(LEqual(WAOK, One)) {
                        Store(0x05, ^^^^WMID.WEID)
                        Store(Zero, ^^^^WMID.WMED)
                        Notify(WMID, 0x80)
                    }
                }
                Method(_Q16) {
                    Store("\x21\x21\x21\x20DVD\x2fMusic\x20Button\x20pressed\x20\x21\x21\x21", Debug)
                    Store(0x04, ^^^^WMID.WEID)
                    Store(Zero, ^^^^WMID.WMED)
                    Notify(WMID, 0x80)
                }
                Method(_Q8E) {
                    If(LLess(Q8E0, Subtract(PSTN, One, ))) {
                        Increment(Q8E0)
                    }
                    CPUL()
                    Store(CUPS, CLOW)
                    TRAP(TRTP, PSSS)
                }
                Method(_Q8F) {
                    If(LGreater(Q8E0, Zero)) {
                        Decrement(Q8E0)
                    }
                    CPUL()
                    Store(CUPS, CLOW)
                    TRAP(TRTP, PSSS)
                }
                Method(_Q30) {
                }
                Field(ERAM, ByteAcc, NoLock, Preserve) {
                    Offset(0x4),
                    SMW0,	16
                }
                Field(ERAM, ByteAcc, NoLock, Preserve) {
                    Offset(0x4),
                    SMB0,	8
                }
                Field(ERAM, ByteAcc, NoLock, Preserve) {
                    Offset(0x4),
                    FLD0,	64
                }
                Field(ERAM, ByteAcc, NoLock, Preserve) {
                    Offset(0x4),
                    FLD1,	128
                }
                Field(ERAM, ByteAcc, NoLock, Preserve) {
                    Offset(0x4),
                    FLD2,	192
                }
                Field(ERAM, ByteAcc, NoLock, Preserve) {
                    Offset(0x4),
                    FLD3,	256
                }
                Mutex(MUT0, 0)
                Mutex(MUT1, 0)
                Method(SMRD, 4) {
                    If(LNot(ECOK)) {
                        Return(0xff)
                    }
                    If(LNot(LEqual(Arg0, 0x07))) {
                        If(LNot(LEqual(Arg0, 0x09))) {
                            If(LNot(LEqual(Arg0, 0x0b))) {
                                Return(0x19)
                            }
                        }
                    }
                    Acquire(MUT0, 0xffff)
                    Store(0x04, Local0)
                    While(LGreater(Local0, One)) {
                        And(SMST, 0x40, SMST)
                        Store(Arg2, SMCM)
                        Store(Arg1, SMAD)
                        Store(Arg0, SMPR)
                        Store(Zero, Local3)
                        While(LNot(And(SMST, 0xbf, Local1))) {
                            Sleep(0x02)
                            Increment(Local3)
                            If(LEqual(Local3, 0x32)) {
                                And(SMST, 0x40, SMST)
                                Store(Arg2, SMCM)
                                Store(Arg1, SMAD)
                                Store(Arg0, SMPR)
                                Store(Zero, Local3)
                            }
                        }
                        If(LEqual(Local1, 0x80)) {
                            Store(Zero, Local0)
                        }
                        Else {
                            Decrement(Local0)
                        }
                    }
                    If(Local0) {
                        Store(And(Local1, 0x1f, ), Local0)
                    }
                    Else {
                        If(LEqual(Arg0, 0x07)) {
                            Store(SMB0, Arg3)
                        }
                        If(LEqual(Arg0, 0x09)) {
                            Store(SMW0, Arg3)
                        }
                        If(LEqual(Arg0, 0x0b)) {
                            Store(BCNT, Local3)
                            ShiftRight(0x0100, 0x03, Local2)
                            If(LGreater(Local3, Local2)) {
                                Store(Local2, Local3)
                            }
                            If(LLess(Local3, 0x09)) {
                                Store(FLD0, Local2)
                            }
                            Else {
                                If(LLess(Local3, 0x11)) {
                                    Store(FLD1, Local2)
                                }
                                Else {
                                    If(LLess(Local3, 0x19)) {
                                        Store(FLD2, Local2)
                                    }
                                    Else {
                                        Store(FLD3, Local2)
                                    }
                                }
                            }
                            Increment(Local3)
                            Store(Buffer(Local3) { }, Local4)
                            Decrement(Local3)
                            Store(Zero, Local5)
                            While(LGreater(Local3, Local5)) {
                                GBFE(Local2, Local5, RefOf(Local6))
                                PBFE(Local4, Local5, Local6)
                                Increment(Local5)
                            }
                            PBFE(Local4, Local5, Zero)
                            Store(Local4, Arg3)
                        }
                    }
                    Release(MUT0)
                    Return(Local0)
                }
                Method(SMWR, 4) {
                    If(LNot(ECOK)) {
                        Return(0xff)
                    }
                    If(LNot(LEqual(Arg0, 0x06))) {
                        If(LNot(LEqual(Arg0, 0x08))) {
                            If(LNot(LEqual(Arg0, 0x0a))) {
                                Return(0x19)
                            }
                        }
                    }
                    Acquire(MUT0, 0xffff)
                    Store(0x04, Local0)
                    While(LGreater(Local0, One)) {
                        If(LEqual(Arg0, 0x06)) {
                            Store(Arg3, SMB0)
                        }
                        If(LEqual(Arg0, 0x08)) {
                            Store(Arg3, SMW0)
                        }
                        If(LEqual(Arg0, 0x0a)) {
                            Store(Arg3, SMD0)
                        }
                        And(SMST, 0x40, SMST)
                        Store(Arg2, SMCM)
                        Store(Arg1, SMAD)
                        Store(Arg0, SMPR)
                        Store(Zero, Local3)
                        While(LNot(And(SMST, 0xbf, Local1))) {
                            Sleep(0x02)
                            Increment(Local3)
                            If(LEqual(Local3, 0x32)) {
                                And(SMST, 0x40, SMST)
                                Store(Arg2, SMCM)
                                Store(Arg1, SMAD)
                                Store(Arg0, SMPR)
                                Store(Zero, Local3)
                            }
                        }
                        If(LEqual(Local1, 0x80)) {
                            Store(Zero, Local0)
                        }
                        Else {
                            Decrement(Local0)
                        }
                    }
                    If(Local0) {
                        Store(And(Local1, 0x1f, ), Local0)
                    }
                    Release(MUT0)
                    Return(Local0)
                }
                Method(GSHK, 0, Serialized) {
                    If(ECOK) {
                        Store(SFHK, Local0)
                    }
                    Return(Local0)
                }
                Method(SSHK, 1, Serialized) {
                    If(ECOK) {
                        Store(Arg0, SFHK)
                    }
                }
                Method(NHSB) {
                    Store(SVIM, Local0)
                    If(LEqual(Local0, 0x04)) {
                        Notify(QBTN, 0x02)
                    }
                    If(LEqual(Local0, 0x05)) {
                        Notify(DBTN, 0x02)
                    }
                    If(LEqual(Local0, 0x03)) {
                        Notify(MBTN, 0x02)
                    }
                    If(LEqual(Local0, 0x10)) {
                        Notify(EBTN, 0x02)
                    }
                    If(LEqual(Local0, 0x06)) {
                        Notify(PBTN, 0x02)
                    }
                    If(LEqual(Local0, 0x11)) {
                        Notify(VBTN, 0x02)
                    }
                    If(LEqual(Local0, 0x12)) {
                        Notify(TBTN, 0x02)
                    }
                    Store(Zero, SVIM)
                }
            }
            Device(TPM) {
                Name(_HID, 0x310cd041)
                Name(_STR, Buffer(0x1e) {0x54, 0x0, 0x50, 0x0, 0x4d, 0x0, 0x20, 0x0, 0x31, 0x0, 0x2e, 0x0, 0x32, 0x0, 0x20, 0x0, 0x44, 0x0, 0x65, 0x0, 0x76, 0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x0, 0x0 })
                Name(_CRS, Buffer(0x0e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd4, 0xfe, 0x0, 0x50, 0x0, 0x0, 0x79, 0x0 })
                OperationRegion(CMOS, SystemIO, 0x70, 0x04)
                Field(CMOS, ByteAcc, NoLock, Preserve) {
                    IDX0,	7,
                    Offset(0x1),
                    DAT0,	8,
                    IDX1,	7,
                    Offset(0x3),
                    DAT1,	8
                }
                IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
                    Offset(0x40),
                    CCMD,	8,
                    LCMD,	8,
                    LRET,	32,
                    EXST,	8
                }
                OperationRegion(SSMI, SystemIO, 0xb2, One)
                Field(SSMI, ByteAcc, NoLock, Preserve) {
                    SMID,	8
                }
                OperationRegion(TPMR, SystemMemory, 0xfed40000, 0x5000)
                Field(TPMR, AnyAcc, NoLock, Preserve) {
                    ACC0,	8
                }
                Method(_INI) {
                    Store(_STA(), EXST)
                }
                Method(_STA) {
                    If(LEqual(ACC0, 0xff)) {
                        Return(Zero)
                    }
                    Return(0x0f)
                }
                Method(HINF, 3) {
                    Name(_T_0, Zero)
                    Store(Arg1, _T_0)
                    If(LEqual(_T_0, Zero)) {
                        Return(Buffer(One) {0x1 })
                    }
                    Else {
                        If(LEqual(_T_0, One)) {
                            If(LEqual(_STA(), Zero)) {
                                Return(Package(0x01) {
                                    Zero,
                                })
                            }
                            Return(Package(0x02) {
                                One,
                                Package(0x02) {
                                    One,
                                    0x20,
                                },
                            })
                        }
                        Else {
                            BreakPoint
                        }
                    }
                    Return(Buffer(Zero) { })
                }
                Method(TPPI, 3) {
                    Name(_T_0, Zero)
                    Store(Arg1, _T_0)
                    If(LEqual(_T_0, Zero)) {
                        Return(Buffer(One) {0x3f })
                    }
                    Else {
                        If(LEqual(_T_0, One)) {
                            Return("1.0")
                        }
                        Else {
                            If(LEqual(_T_0, 0x02)) {
                                CreateByteField(Arg2, Zero, TPC1)
                                Or(TPC1, 0x80, TPCC)
                                Store(0x50, SMID)
                                Return(Zero)
                            }
                            Else {
                                If(LEqual(_T_0, 0x03)) {
                                    Name(TCCP, Package(0x02) {
                                        Zero,
                                        0xff,
                                    })
                                    Store(TPCC, Index(TCCP, One, ))
                                    Return(TCCP)
                                }
                                Else {
                                    If(LEqual(_T_0, 0x04)) {
                                        Return(0x02)
                                    }
                                    Else {
                                        If(LEqual(_T_0, 0x05)) {
                                            Name(TLCR, Package(0x03) {
                                                Zero,
                                                0xff,
                                                0xffff,
                                            })
                                            Store(TPLC, Index(TLCR, One, ))
                                            Store(TPLR, Index(TLCR, 0x02, ))
                                            Return(TLCR)
                                        }
                                        Else {
                                            If(LEqual(_T_0, 0x06)) {
                                                Store(DerefOf(Index(Arg2, 0x04, )), Local0)
                                                Store(DerefOf(Index(Arg2, 0x05, )), Local1)
                                                If(LOr(LEqual(Local0, 0x65), LEqual(Local0, 0x45))) {
                                                    If(LOr(LEqual(Local1, 0x6e), LEqual(Local1, 0x4e))) {
                                                        Return(Zero)
                                                    }
                                                }
                                                Return(One)
                                            }
                                            Else {
                                                BreakPoint
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    Return(One)
                }
                Method(SMOR, 3) {
                    Store(Index(Arg2, Zero, ), TPMM)
                    Store(0x48, SMID)
                    Return(Zero)
                }
                Method(_DSM, 4) {
                    If(LEqual(Arg0, Buffer(0x10) {0xa5, 0x16, 0x8e, 0xcf, 0xe8, 0xc1, 0x25, 0x4e, 0xb7, 0x12, 0x4f, 0x54, 0xa9, 0x67, 0x2, 0xc8 })) {
                        Return(HINF(Arg1, Arg2, Arg3))
                    }
                    If(LEqual(Arg0, Buffer(0x10) {0xa6, 0xfa, 0xdd, 0x3d, 0x1b, 0x36, 0xb4, 0x4e, 0xa4, 0x24, 0x8d, 0x10, 0x8, 0x9d, 0x16, 0x53 })) {
                        Return(TPPI(Arg1, Arg2, Arg3))
                    }
                    If(LEqual(Arg0, Buffer(0x10) {0xed, 0x54, 0x60, 0x37, 0x13, 0xcc, 0x75, 0x46, 0x90, 0x1c, 0x47, 0x56, 0xd7, 0xf2, 0xd4, 0x5d })) {
                        Return(SMOR(Arg1, Arg2, Arg3))
                    }
                    Return(Buffer(Zero) { })
                }
            }
        }
        Device(UHC0) {
            Name(_ADR, 0x001d0000)
            Name(_PRW, Package(0x02) {
                0x03,
                0x03,
            })
            OperationRegion(USBR, PCI_Config, 0xc4, One)
            Field(USBR, AnyAcc, NoLock, Preserve) {
                URES,	8
            }
            Method(_PSW, 1) {
                If(LAnd(Arg0, USBW)) {
                    If(ECOK) {
                        If(^^LPC.EC0.SW2S) {
                            Store(0x03, URES)
                        }
                        Else {
                            Store(Zero, URES)
                        }
                    }
                    Else {
                        Store(Zero, URES)
                    }
                }
                Else {
                    Store(Zero, URES)
                }
            }
            Method(_S3D) {
                Return(0x02)
            }
            Method(_S4D) {
                Return(0x02)
            }
        }
        Device(UHC1) {
            Name(_ADR, 0x001d0001)
        }
        Device(UHC2) {
            Name(_ADR, 0x001d0002)
            Device(RHUB) {
                Name(_ADR, Zero)
                Device(PRT2) {
                    Name(_ADR, 0x02)
                    Name(_UPC, Package(0x04) {
                        0xff,
                        0xff,
                        Zero,
                        Zero,
                    })
                    Name(_PLD, Buffer(0x10) {0x81, 0x0, 0x0, 0x0 })
                }
            }
        }
        Device(EHC1) {
            Name(_ADR, 0x001d0007)
            Device(RHUB) {
                Name(_ADR, Zero)
                Device(PRT1) {
                    Name(_ADR, One)
                }
                Device(PRT2) {
                    Name(_ADR, 0x02)
                }
                Device(PRT3) {
                    Name(_ADR, 0x03)
                }
                Device(PRT4) {
                    Name(_ADR, 0x04)
                    Name(_UPC, Package(0x04) {
                        0xff,
                        0xff,
                        Zero,
                        Zero,
                    })
                    Name(_PLD, Buffer(0x10) {0x81, 0x0, 0x0, 0x0 })
                }
                Device(PRT5) {
                    Name(_ADR, 0x05)
                }
                Device(PRT6) {
                    Name(_ADR, 0x06)
                }
                Device(PRT7) {
                    Name(_ADR, 0x07)
                }
                Device(PRT8) {
                    Name(_ADR, 0x08)
                }
            }
            Name(_PRW, Package(0x02) {
                0x0d,
                0x03,
            })
        }
        Device(UHC3) {
            Name(_ADR, 0x001a0000)
            Name(_PRW, Package(0x02) {
                0x0e,
                0x03,
            })
            OperationRegion(USBR, PCI_Config, 0xc4, One)
            Field(USBR, AnyAcc, NoLock, Preserve) {
                URES,	8
            }
            Method(_PSW, 1) {
                If(LAnd(Arg0, USBW)) {
                    If(ECOK) {
                        If(^^LPC.EC0.SW2S) {
                            Store(0x03, URES)
                        }
                        Else {
                            Store(Zero, URES)
                        }
                    }
                    Else {
                        Store(Zero, URES)
                    }
                }
                Else {
                    Store(Zero, URES)
                }
            }
            Method(_S3D) {
                Return(0x02)
            }
            Method(_S4D) {
                Return(0x02)
            }
        }
        Device(UHC4) {
            Name(_ADR, 0x001a0001)
            Name(_PRW, Package(0x02) {
                0x05,
                0x03,
            })
            OperationRegion(USBR, PCI_Config, 0xc4, One)
            Field(USBR, AnyAcc, NoLock, Preserve) {
                URES,	8
            }
            Method(_PSW, 1) {
                If(LAnd(Arg0, USBW)) {
                    If(ECOK) {
                        If(^^LPC.EC0.SW2S) {
                            Store(0x03, URES)
                        }
                        Else {
                            Store(Zero, URES)
                        }
                    }
                    Else {
                        Store(Zero, URES)
                    }
                }
                Else {
                    Store(Zero, URES)
                }
            }
            Method(_S3D) {
                Return(0x02)
            }
            Method(_S4D) {
                Return(0x02)
            }
        }
        Device(UHC5) {
            Name(_ADR, 0x001a0002)
        }
        Device(EHC2) {
            Name(_ADR, 0x001a0007)
            Device(RHUB) {
                Name(_ADR, Zero)
                Device(PRT1) {
                    Name(_ADR, One)
                    Name(_UPC, Package(0x04) {
                        0xff,
                        0xff,
                        Zero,
                        Zero,
                    })
                    Name(_PLD, Buffer(0x10) {0x81, 0x0, 0x0, 0x0 })
                }
                Device(PRT2) {
                    Name(_ADR, 0x02)
                }
                Device(PRT3) {
                    Name(_ADR, 0x03)
                }
                Device(PRT4) {
                    Name(_ADR, 0x04)
                }
            }
            Name(_PRW, Package(0x02) {
                0x0d,
                0x03,
            })
        }
        Device(EXP1) {
            Name(_ADR, 0x001c0000)
            OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
            Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
                VDID,	16,
                Offset(0x19),
                SECB,	8,
                Offset(0x52),
                ,	13,
                LASX,	1,
                Offset(0x5a),
                ABPX,	1,
                ,	2,
                PDCX,	1,
                ,	2,
                PDSX,	1,
                Offset(0x5b),
                LSCX,	1,
                Offset(0x60),
                Offset(0x62),
                PSPX,	1,
                Offset(0xd8),
                ,	30,
                HPEN,	1,
                PMEN,	1,
                ,	30,
                HPSX,	1,
                PMSX,	1
            }
            Method(_PRT) {
                If(LEqual(GPIC, Zero)) {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            ^^LPC.LNKA,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            ^^LPC.LNKB,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            ^^LPC.LNKC,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            ^^LPC.LNKD,
                            Zero,
                        },
                    })
                }
                Else {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            Zero,
                            0x10,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            Zero,
                            0x11,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            Zero,
                            0x12,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            Zero,
                            0x13,
                        },
                    })
                }
            }
        }
        Device(EXP2) {
            Name(_ADR, 0x001c0001)
            OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
            Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
                VDID,	16,
                Offset(0x19),
                SECB,	8,
                Offset(0x52),
                ,	13,
                LASX,	1,
                Offset(0x5a),
                ABPX,	1,
                ,	2,
                PDCX,	1,
                ,	2,
                PDSX,	1,
                Offset(0x5b),
                LSCX,	1,
                Offset(0x60),
                Offset(0x62),
                PSPX,	1,
                Offset(0xd8),
                ,	30,
                HPEN,	1,
                PMEN,	1,
                ,	30,
                HPSX,	1,
                PMSX,	1
            }
            Method(_PRW) {
                If(LNot(LLess(MCHD, 0x04))) {
                    Return(Package(0x02) {
                        0x09,
                        0x05,
                    })
                }
                Else {
                    Return(Package(0x02) {
                        0x09,
                        Zero,
                    })
                }
            }
            Method(_PRT) {
                If(LEqual(GPIC, Zero)) {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            ^^LPC.LNKB,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            ^^LPC.LNKC,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            ^^LPC.LNKD,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            ^^LPC.LNKA,
                            Zero,
                        },
                    })
                }
                Else {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            Zero,
                            0x11,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            Zero,
                            0x12,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            Zero,
                            0x13,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            Zero,
                            0x10,
                        },
                    })
                }
            }
            Device(PXSX) {
                Name(_ADR, Zero)
                OperationRegion(RTLD, PCI_Config, Zero, 0x02)
                Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
                    RVID,	16
                }
                Method(_STA) {
                    If(LEqual(RVID, 0xffff)) {
                        Return(Zero)
                    }
                    Else {
                        Return(0x0f)
                    }
                }
                Method(_PRW) {
                    If(LNot(LLess(MCHD, 0x04))) {
                        Return(Package(0x02) {
                            0x09,
                            0x05,
                        })
                    }
                    Else {
                        Return(Package(0x02) {
                            0x09,
                            Zero,
                        })
                    }
                }
                Method(_PSW, 1) {
                    If(LNot(LLess(MCHD, 0x04))) {
                        Store(Arg0, LAWK)
                    }
                }
            }
        }
        Device(EXP3) {
            Name(_ADR, 0x001c0002)
            OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
            Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
                VDID,	16,
                Offset(0x19),
                SECB,	8,
                Offset(0x52),
                ,	13,
                LASX,	1,
                Offset(0x5a),
                ABPX,	1,
                ,	2,
                PDCX,	1,
                ,	2,
                PDSX,	1,
                Offset(0x5b),
                LSCX,	1,
                Offset(0x60),
                Offset(0x62),
                PSPX,	1,
                Offset(0xd8),
                ,	30,
                HPEN,	1,
                PMEN,	1,
                ,	30,
                HPSX,	1,
                PMSX,	1
            }
            Method(_PRT) {
                If(LEqual(GPIC, Zero)) {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            ^^LPC.LNKC,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            ^^LPC.LNKD,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            ^^LPC.LNKA,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            ^^LPC.LNKB,
                            Zero,
                        },
                    })
                }
                Else {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            Zero,
                            0x12,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            Zero,
                            0x13,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            Zero,
                            0x10,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            Zero,
                            0x11,
                        },
                    })
                }
            }
        }
        Device(EXP4) {
            Name(_ADR, 0x001c0003)
            OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
            Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
                VDID,	16,
                Offset(0x19),
                SECB,	8,
                Offset(0x52),
                ,	13,
                LASX,	1,
                Offset(0x5a),
                ABPX,	1,
                ,	2,
                PDCX,	1,
                ,	2,
                PDSX,	1,
                Offset(0x5b),
                LSCX,	1,
                Offset(0x60),
                Offset(0x62),
                PSPX,	1,
                Offset(0xd8),
                ,	30,
                HPEN,	1,
                PMEN,	1,
                ,	30,
                HPSX,	1,
                PMSX,	1
            }
            Method(_PRT) {
                If(LEqual(GPIC, Zero)) {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            ^^LPC.LNKD,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            ^^LPC.LNKA,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            ^^LPC.LNKB,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            ^^LPC.LNKC,
                            Zero,
                        },
                    })
                }
                Else {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            Zero,
                            0x13,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            Zero,
                            0x10,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            Zero,
                            0x11,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            Zero,
                            0x12,
                        },
                    })
                }
            }
        }
        Device(EXP5) {
            Name(_ADR, 0x001c0004)
            OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
            Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
                VDID,	16,
                Offset(0x19),
                SECB,	8,
                Offset(0x52),
                ,	13,
                LASX,	1,
                Offset(0x5a),
                ABPX,	1,
                ,	2,
                PDCX,	1,
                ,	2,
                PDSX,	1,
                Offset(0x5b),
                LSCX,	1,
                Offset(0x60),
                Offset(0x62),
                PSPX,	1,
                Offset(0xd8),
                ,	30,
                HPEN,	1,
                PMEN,	1,
                ,	30,
                HPSX,	1,
                PMSX,	1
            }
            Device(J380) {
                Name(_ADR, Zero)
                OperationRegion(PCFG, PCI_Config, Zero, 0xff)
                Field(PCFG, ByteAcc, NoLock, Preserve) {
                    DVID,	32,
                    Offset(0x2c),
                    SSID,	32,
                    Offset(0xac),
                    D3EF,	8,
                    Offset(0xb2),
                    LAT0,	8,
                    Offset(0xcf),
                    ATRB,	8,
                    Offset(0xd3),
                    PMC0,	8
                }
                Method(_STA) {
                    If(LNot(LEqual(DVID, Ones))) {
                        Return(0x0f)
                    }
                    Else {
                        Return(Zero)
                    }
                }
                Method(_RMV) {
                    If(LNot(LLess(MCHD, 0x04))) {
                        If(LEqual(CRPS, One)) {
                            Return(One)
                        }
                    }
                    Return(Zero)
                }
            }
            Device(J381) {
                Name(_ADR, One)
                Method(_RMV) {
                    If(LNot(LLess(MCHD, 0x04))) {
                        If(LEqual(CRPS, One)) {
                            Return(One)
                        }
                    }
                    Return(Zero)
                }
            }
            Device(J382) {
                Name(_ADR, 0x02)
                Method(_RMV) {
                    If(LNot(LLess(MCHD, 0x04))) {
                        If(LEqual(CRPS, One)) {
                            Return(One)
                        }
                    }
                    Return(Zero)
                }
            }
            Device(J383) {
                Name(_ADR, 0x03)
                Method(_RMV) {
                    If(LNot(LLess(MCHD, 0x04))) {
                        If(LEqual(CRPS, One)) {
                            Return(One)
                        }
                    }
                    Return(Zero)
                }
            }
            Device(J384) {
                Name(_ADR, 0x04)
                Method(_RMV) {
                    If(LNot(LLess(MCHD, 0x04))) {
                        If(LEqual(CRPS, One)) {
                            Return(One)
                        }
                    }
                    Return(Zero)
                }
            }
            Method(_PRT) {
                If(LEqual(GPIC, Zero)) {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            ^^LPC.LNKA,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            ^^LPC.LNKB,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            ^^LPC.LNKC,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            ^^LPC.LNKD,
                            Zero,
                        },
                    })
                }
                Else {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            Zero,
                            0x10,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            Zero,
                            0x11,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            Zero,
                            0x12,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            Zero,
                            0x13,
                        },
                    })
                }
            }
        }
        Device(EXP6) {
            Name(_ADR, 0x001c0005)
            OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
            Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
                VDID,	16,
                Offset(0x19),
                SECB,	8,
                Offset(0x52),
                ,	13,
                LASX,	1,
                Offset(0x5a),
                ABPX,	1,
                ,	2,
                PDCX,	1,
                ,	2,
                PDSX,	1,
                Offset(0x5b),
                LSCX,	1,
                Offset(0x60),
                Offset(0x62),
                PSPX,	1,
                Offset(0xd8),
                ,	30,
                HPEN,	1,
                PMEN,	1,
                ,	30,
                HPSX,	1,
                PMSX,	1
            }
            Method(_BBN) {
                Return(SECB)
            }
            Method(_PRW) {
                If(LNot(LLess(MCHD, 0x04))) {
                    Return(Package(0x02) {
                        0x09,
                        Zero,
                    })
                }
                Else {
                    Return(Package(0x02) {
                        0x09,
                        0x05,
                    })
                }
            }
            Method(_PRT) {
                If(LEqual(GPIC, Zero)) {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            ^^LPC.LNKB,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            ^^LPC.LNKC,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            ^^LPC.LNKD,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            ^^LPC.LNKA,
                            Zero,
                        },
                    })
                }
                Else {
                    Return(Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            Zero,
                            0x11,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            Zero,
                            0x12,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            Zero,
                            0x13,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            Zero,
                            0x10,
                        },
                    })
                }
            }
            Device(PXSX) {
                Name(_ADR, Zero)
                Method(_RMV) {
                    If(LNot(LLess(MCHD, 0x04))) {
                        Return(One)
                    }
                    Else {
                        Return(Zero)
                    }
                }
                Method(_STA) {
                    If(PDSX) {
                        Return(0x0f)
                    }
                    Else {
                        Return(Zero)
                    }
                }
                Method(_PRW) {
                    If(LNot(LLess(MCHD, 0x04))) {
                        Return(Package(0x02) {
                            0x09,
                            Zero,
                        })
                    }
                    Else {
                        Return(Package(0x02) {
                            0x09,
                            0x05,
                        })
                    }
                }
                Method(_PSW, 1) {
                    If(LLess(MCHD, 0x04)) {
                        Store(Arg0, LAWK)
                    }
                }
            }
        }
        Device(SAT0) {
            Name(_ADR, 0x001f0002)
            OperationRegion(SACS, PCI_Config, 0x40, 0xc0)
            Field(SACS, DWordAcc, NoLock, Preserve) {
                PRIT,	16,
                SECT,	16,
                PSIT,	4,
                SSIT,	4,
                Offset(0x8),
                SYNC,	4,
                Offset(0xa),
                SDT0,	2,
                ,	2,
                SDT1,	2,
                Offset(0xb),
                SDT2,	2,
                ,	2,
                SDT3,	2,
                Offset(0x14),
                ICR0,	4,
                ICR1,	4,
                ICR2,	4,
                ICR3,	4,
                ICR4,	4,
                ICR5,	4,
                Offset(0x50),
                MAPV,	2
            }
            Device(PRID) {
                Name(_ADR, Zero)
                Method(_GTM) {
                    If(LEqual(SCFG, Zero)) {
                        Name(PBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
                        CreateDWordField(PBUF, Zero, PIO0)
                        CreateDWordField(PBUF, 0x04, DMA0)
                        CreateDWordField(PBUF, 0x08, PIO1)
                        CreateDWordField(PBUF, 0x0c, DMA1)
                        CreateDWordField(PBUF, 0x10, FLAG)
                        Store(GETP(PRIT), PIO0)
                        Store(GDMA(And(SYNC, One, ), And(ICR3, One, ), And(ICR0, One, ), SDT0, And(ICR1, One, )), DMA0)
                        If(LEqual(DMA0, Ones)) {
                            Store(PIO0, DMA0)
                        }
                        If(And(PRIT, 0x4000, )) {
                            If(LEqual(And(PRIT, 0x90, ), 0x80)) {
                                Store(0x0384, PIO1)
                            }
                            Else {
                                Store(GETT(PSIT), PIO1)
                            }
                        }
                        Else {
                            Store(Ones, PIO1)
                        }
                        Store(GDMA(And(SYNC, 0x02, ), And(ICR3, 0x02, ), And(ICR0, 0x02, ), SDT1, And(ICR1, 0x02, )), DMA1)
                        If(LEqual(DMA1, Ones)) {
                            Store(PIO1, DMA1)
                        }
                        Store(GETF(And(SYNC, One, ), And(SYNC, 0x02, ), PRIT), FLAG)
                        Return(PBUF)
                    }
                }
                Method(_STM, 3) {
                    If(LEqual(SCFG, Zero)) {
                        CreateDWordField(Arg0, Zero, PIO0)
                        CreateDWordField(Arg0, 0x04, DMA0)
                        CreateDWordField(Arg0, 0x08, PIO1)
                        CreateDWordField(Arg0, 0x0c, DMA1)
                        CreateDWordField(Arg0, 0x10, FLAG)
                        If(LEqual(SizeOf(Arg1), 0x0200)) {
                            And(PRIT, 0x40f0, PRIT)
                            And(SYNC, 0x0e, SYNC)
                            Store(Zero, SDT0)
                            And(ICR0, 0x0e, ICR0)
                            And(ICR1, 0x0e, ICR1)
                            And(ICR3, 0x0e, ICR3)
                            And(ICR5, 0x0e, ICR5)
                            CreateWordField(Arg1, 0x62, W490)
                            CreateWordField(Arg1, 0x6a, W530)
                            CreateWordField(Arg1, 0x7e, W630)
                            CreateWordField(Arg1, 0x80, W640)
                            CreateWordField(Arg1, 0xb0, W880)
                            CreateWordField(Arg1, 0xba, W930)
                            Or(PRIT, 0x8004, PRIT)
                            If(LAnd(And(FLAG, 0x02, ), And(W490, 0x0800, ))) {
                                Or(PRIT, 0x02, PRIT)
                            }
                            Or(PRIT, SETP(PIO0, W530, W640), PRIT)
                            If(And(FLAG, One, )) {
                                Or(SYNC, One, SYNC)
                                Store(SDMA(DMA0), SDT0)
                                If(LLess(DMA0, 0x1e)) {
                                    Or(ICR3, One, ICR3)
                                }
                                If(LLess(DMA0, 0x3c)) {
                                    Or(ICR0, One, ICR0)
                                }
                                Or(ICR1, One, ICR1)
                            }
                        }
                        If(LEqual(SizeOf(Arg2), 0x0200)) {
                            And(PRIT, 0x3f0f, PRIT)
                            Store(Zero, PSIT)
                            And(SYNC, 0x0d, SYNC)
                            Store(Zero, SDT1)
                            And(ICR0, 0x0d, ICR0)
                            And(ICR1, 0x0d, ICR1)
                            And(ICR3, 0x0d, ICR3)
                            And(ICR5, 0x0d, ICR5)
                            CreateWordField(Arg2, 0x62, W491)
                            CreateWordField(Arg2, 0x6a, W531)
                            CreateWordField(Arg2, 0x7e, W631)
                            CreateWordField(Arg2, 0x80, W641)
                            CreateWordField(Arg2, 0xb0, W881)
                            CreateWordField(Arg2, 0xba, W931)
                            Or(PRIT, 0x8040, PRIT)
                            If(LAnd(And(FLAG, 0x08, ), And(W491, 0x0800, ))) {
                                Or(PRIT, 0x20, PRIT)
                            }
                            If(And(FLAG, 0x10, )) {
                                Or(PRIT, 0x4000, PRIT)
                                If(LGreater(PIO1, 0xf0)) {
                                    Or(PRIT, 0x80, PRIT)
                                }
                                Else {
                                    Or(PRIT, 0x10, PRIT)
                                    Store(SETT(PIO1, W531, W641), PSIT)
                                }
                            }
                            If(And(FLAG, 0x04, )) {
                                Or(SYNC, 0x02, SYNC)
                                Store(SDMA(DMA1), SDT1)
                                If(LLess(DMA1, 0x1e)) {
                                    Or(ICR3, 0x02, ICR3)
                                }
                                If(LLess(DMA1, 0x3c)) {
                                    Or(ICR0, 0x02, ICR0)
                                }
                                Or(ICR1, 0x02, ICR1)
                            }
                        }
                    }
                }
                Device(P_D0) {
                    Name(_ADR, Zero)
                    Method(_GTF) {
                        If(LEqual(SCFG, Zero)) {
                            Name(PIB0, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
                            CreateByteField(PIB0, One, PMD0)
                            CreateByteField(PIB0, 0x08, DMD0)
                            If(And(PRIT, 0x02, )) {
                                If(LEqual(And(PRIT, 0x09, ), 0x08)) {
                                    Store(0x08, PMD0)
                                }
                                Else {
                                    Store(0x0a, PMD0)
                                    ShiftRight(And(PRIT, 0x0300, ), 0x08, Local0)
                                    ShiftRight(And(PRIT, 0x3000, ), 0x0c, Local1)
                                    Add(Local0, Local1, Local2)
                                    If(LEqual(0x03, Local2)) {
                                        Store(0x0b, PMD0)
                                    }
                                    If(LEqual(0x05, Local2)) {
                                        Store(0x0c, PMD0)
                                    }
                                }
                            }
                            Else {
                                Store(One, PMD0)
                            }
                            If(And(SYNC, One, )) {
                                Store(Or(SDT0, 0x40, ), DMD0)
                                If(And(ICR1, One, )) {
                                    If(And(ICR0, One, )) {
                                        Add(DMD0, 0x02, DMD0)
                                    }
                                    If(And(ICR3, One, )) {
                                        Store(0x45, DMD0)
                                    }
                                }
                            }
                            Else {
                                Or(Subtract(And(PMD0, 0x07, ), 0x02, ), 0x20, DMD0)
                            }
                            Return(PIB0)
                        }
                    }
                }
                Device(P_D1) {
                    Name(_ADR, One)
                    Method(_GTF) {
                        If(LEqual(SCFG, Zero)) {
                            Name(PIB1, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
                            CreateByteField(PIB1, One, PMD1)
                            CreateByteField(PIB1, 0x08, DMD1)
                            If(And(PRIT, 0x20, )) {
                                If(LEqual(And(PRIT, 0x90, ), 0x80)) {
                                    Store(0x08, PMD1)
                                }
                                Else {
                                    Add(And(PSIT, 0x03, ), ShiftRight(And(PSIT, 0x0c, ), 0x02, ), Local0)
                                    If(LEqual(0x05, Local0)) {
                                        Store(0x0c, PMD1)
                                    }
                                    Else {
                                        If(LEqual(0x03, Local0)) {
                                            Store(0x0b, PMD1)
                                        }
                                        Else {
                                            Store(0x0a, PMD1)
                                        }
                                    }
                                }
                            }
                            Else {
                                Store(One, PMD1)
                            }
                            If(And(SYNC, 0x02, )) {
                                Store(Or(SDT1, 0x40, ), DMD1)
                                If(And(ICR1, 0x02, )) {
                                    If(And(ICR0, 0x02, )) {
                                        Add(DMD1, 0x02, DMD1)
                                    }
                                    If(And(ICR3, 0x02, )) {
                                        Store(0x45, DMD1)
                                    }
                                }
                            }
                            Else {
                                Or(Subtract(And(PMD1, 0x07, ), 0x02, ), 0x20, DMD1)
                            }
                            Return(PIB1)
                        }
                    }
                }
            }
            Device(SECD) {
                Name(_ADR, One)
                Method(_GTM) {
                    If(LEqual(SCFG, Zero)) {
                        Name(SBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
                        CreateDWordField(SBUF, Zero, PIO0)
                        CreateDWordField(SBUF, 0x04, DMA0)
                        CreateDWordField(SBUF, 0x08, PIO1)
                        CreateDWordField(SBUF, 0x0c, DMA1)
                        CreateDWordField(SBUF, 0x10, FLAG)
                        Store(GETP(SECT), PIO0)
                        Store(GDMA(And(SYNC, 0x04, ), And(ICR3, 0x04, ), And(ICR0, 0x04, ), SDT2, And(ICR1, 0x04, )), DMA0)
                        If(LEqual(DMA0, Ones)) {
                            Store(PIO0, DMA0)
                        }
                        If(And(SECT, 0x4000, )) {
                            If(LEqual(And(SECT, 0x90, ), 0x80)) {
                                Store(0x0384, PIO1)
                            }
                            Else {
                                Store(GETT(SSIT), PIO1)
                            }
                        }
                        Else {
                            Store(Ones, PIO1)
                        }
                        Store(GDMA(And(SYNC, 0x08, ), And(ICR3, 0x08, ), And(ICR0, 0x08, ), SDT3, And(ICR1, 0x08, )), DMA1)
                        If(LEqual(DMA1, Ones)) {
                            Store(PIO1, DMA1)
                        }
                        Store(GETF(And(SYNC, 0x04, ), And(SYNC, 0x08, ), SECT), FLAG)
                        Return(SBUF)
                    }
                }
                Method(_STM, 3) {
                    If(LEqual(SCFG, Zero)) {
                        CreateDWordField(Arg0, Zero, PIO0)
                        CreateDWordField(Arg0, 0x04, DMA0)
                        CreateDWordField(Arg0, 0x08, PIO1)
                        CreateDWordField(Arg0, 0x0c, DMA1)
                        CreateDWordField(Arg0, 0x10, FLAG)
                        If(LEqual(SizeOf(Arg1), 0x0200)) {
                            And(SECT, 0x40f0, SECT)
                            And(SYNC, 0x0b, SYNC)
                            Store(Zero, SDT2)
                            And(ICR0, 0x0b, ICR0)
                            And(ICR1, 0x0b, ICR1)
                            And(ICR3, 0x0b, ICR3)
                            And(ICR5, 0x0b, ICR5)
                            CreateWordField(Arg1, 0x62, W490)
                            CreateWordField(Arg1, 0x6a, W530)
                            CreateWordField(Arg1, 0x7e, W630)
                            CreateWordField(Arg1, 0x80, W640)
                            CreateWordField(Arg1, 0xb0, W880)
                            CreateWordField(Arg1, 0xba, W930)
                            Or(SECT, 0x8004, SECT)
                            If(LAnd(And(FLAG, 0x02, ), And(W490, 0x0800, ))) {
                                Or(SECT, 0x02, SECT)
                            }
                            Or(SECT, SETP(PIO0, W530, W640), SECT)
                            If(And(FLAG, One, )) {
                                Or(SYNC, 0x04, SYNC)
                                Store(SDMA(DMA0), SDT2)
                                If(LLess(DMA0, 0x1e)) {
                                    Or(ICR3, 0x04, ICR3)
                                }
                                If(LLess(DMA0, 0x3c)) {
                                    Or(ICR0, 0x04, ICR0)
                                }
                                Or(ICR1, 0x04, ICR1)
                            }
                        }
                        If(LEqual(SizeOf(Arg2), 0x0200)) {
                            And(SECT, 0x3f0f, SECT)
                            Store(Zero, SSIT)
                            And(SYNC, 0x07, SYNC)
                            Store(Zero, SDT3)
                            And(ICR0, 0x07, ICR0)
                            And(ICR1, 0x07, ICR1)
                            And(ICR3, 0x07, ICR3)
                            And(ICR5, 0x07, ICR5)
                            CreateWordField(Arg2, 0x62, W491)
                            CreateWordField(Arg2, 0x6a, W531)
                            CreateWordField(Arg2, 0x7e, W631)
                            CreateWordField(Arg2, 0x80, W641)
                            CreateWordField(Arg2, 0xb0, W881)
                            CreateWordField(Arg2, 0xba, W931)
                            Or(SECT, 0x8040, SECT)
                            If(LAnd(And(FLAG, 0x08, ), And(W491, 0x0800, ))) {
                                Or(SECT, 0x20, SECT)
                            }
                            If(And(FLAG, 0x10, )) {
                                Or(SECT, 0x4000, SECT)
                                If(LGreater(PIO1, 0xf0)) {
                                    Or(SECT, 0x80, SECT)
                                }
                                Else {
                                    Or(SECT, 0x10, SECT)
                                    Store(SETT(PIO1, W531, W641), SSIT)
                                }
                            }
                            If(And(FLAG, 0x04, )) {
                                Or(SYNC, 0x08, SYNC)
                                Store(SDMA(DMA1), SDT3)
                                If(LLess(DMA1, 0x1e)) {
                                    Or(ICR3, 0x08, ICR3)
                                }
                                If(LLess(DMA1, 0x3c)) {
                                    Or(ICR0, 0x08, ICR0)
                                }
                                Or(ICR1, 0x08, ICR1)
                            }
                        }
                    }
                }
                Device(S_D0) {
                    Name(_ADR, Zero)
                    Method(_GTF) {
                        If(LEqual(SCFG, Zero)) {
                            Name(SIB0, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
                            CreateByteField(SIB0, One, PMD0)
                            CreateByteField(SIB0, 0x08, DMD0)
                            If(And(SECT, 0x02, )) {
                                If(LEqual(And(SECT, 0x09, ), 0x08)) {
                                    Store(0x08, PMD0)
                                }
                                Else {
                                    Store(0x0a, PMD0)
                                    ShiftRight(And(SECT, 0x0300, ), 0x08, Local0)
                                    ShiftRight(And(SECT, 0x3000, ), 0x0c, Local1)
                                    Add(Local0, Local1, Local2)
                                    If(LEqual(0x03, Local2)) {
                                        Store(0x0b, PMD0)
                                    }
                                    If(LEqual(0x05, Local2)) {
                                        Store(0x0c, PMD0)
                                    }
                                }
                            }
                            Else {
                                Store(One, PMD0)
                            }
                            If(And(SYNC, 0x04, )) {
                                Store(Or(SDT2, 0x40, ), DMD0)
                                If(And(ICR1, 0x04, )) {
                                    If(And(ICR0, 0x04, )) {
                                        Add(DMD0, 0x02, DMD0)
                                    }
                                    If(And(ICR3, 0x04, )) {
                                        Store(0x45, DMD0)
                                    }
                                }
                            }
                            Else {
                                Or(Subtract(And(PMD0, 0x07, ), 0x02, ), 0x20, DMD0)
                            }
                            Return(SIB0)
                        }
                    }
                }
                Device(S_D1) {
                    Name(_ADR, One)
                    Method(_GTF) {
                        If(LEqual(SCFG, Zero)) {
                            Name(SIB1, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
                            CreateByteField(SIB1, One, PMD1)
                            CreateByteField(SIB1, 0x08, DMD1)
                            If(And(SECT, 0x20, )) {
                                If(LEqual(And(SECT, 0x90, ), 0x80)) {
                                    Store(0x08, PMD1)
                                }
                                Else {
                                    Add(And(SSIT, 0x03, ), ShiftRight(And(SSIT, 0x0c, ), 0x02, ), Local0)
                                    If(LEqual(0x05, Local0)) {
                                        Store(0x0c, PMD1)
                                    }
                                    Else {
                                        If(LEqual(0x03, Local0)) {
                                            Store(0x0b, PMD1)
                                        }
                                        Else {
                                            Store(0x0a, PMD1)
                                        }
                                    }
                                }
                            }
                            Else {
                                Store(One, PMD1)
                            }
                            If(And(SYNC, 0x08, )) {
                                Store(Or(SDT3, 0x40, ), DMD1)
                                If(And(ICR1, 0x08, )) {
                                    If(And(ICR0, 0x08, )) {
                                        Add(DMD1, 0x02, DMD1)
                                    }
                                    If(And(ICR3, 0x08, )) {
                                        Store(0x45, DMD1)
                                    }
                                }
                            }
                            Else {
                                Or(Subtract(And(PMD1, 0x07, ), 0x02, ), 0x20, DMD1)
                            }
                            Return(SIB1)
                        }
                    }
                }
            }
        }
        Device(SAT1) {
            Name(_ADR, 0x001f0005)
            OperationRegion(SACS, PCI_Config, 0x40, 0xc0)
            Field(SACS, DWordAcc, NoLock, Preserve) {
                PRIT,	16,
                SECT,	16,
                PSIT,	4,
                SSIT,	4,
                Offset(0x8),
                SYNC,	4,
                Offset(0xa),
                SDT0,	2,
                ,	2,
                SDT1,	2,
                Offset(0xb),
                SDT2,	2,
                ,	2,
                SDT3,	2,
                Offset(0x14),
                ICR0,	4,
                ICR1,	4,
                ICR2,	4,
                ICR3,	4,
                ICR4,	4,
                ICR5,	4,
                Offset(0x50),
                MAPV,	2
            }
            Device(PRID) {
                Name(_ADR, Zero)
                Method(_GTM) {
                    If(LEqual(SCFG, Zero)) {
                        Name(PBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
                        CreateDWordField(PBUF, Zero, PIO0)
                        CreateDWordField(PBUF, 0x04, DMA0)
                        CreateDWordField(PBUF, 0x08, PIO1)
                        CreateDWordField(PBUF, 0x0c, DMA1)
                        CreateDWordField(PBUF, 0x10, FLAG)
                        Store(GETP(PRIT), PIO0)
                        Store(GDMA(And(SYNC, One, ), And(ICR3, One, ), And(ICR0, One, ), SDT0, And(ICR1, One, )), DMA0)
                        If(LEqual(DMA0, Ones)) {
                            Store(PIO0, DMA0)
                        }
                        If(And(PRIT, 0x4000, )) {
                            If(LEqual(And(PRIT, 0x90, ), 0x80)) {
                                Store(0x0384, PIO1)
                            }
                            Else {
                                Store(GETT(PSIT), PIO1)
                            }
                        }
                        Else {
                            Store(Ones, PIO1)
                        }
                        Store(GDMA(And(SYNC, 0x02, ), And(ICR3, 0x02, ), And(ICR0, 0x02, ), SDT1, And(ICR1, 0x02, )), DMA1)
                        If(LEqual(DMA1, Ones)) {
                            Store(PIO1, DMA1)
                        }
                        Store(GETF(And(SYNC, One, ), And(SYNC, 0x02, ), PRIT), FLAG)
                        Return(PBUF)
                    }
                }
                Method(_STM, 3) {
                    If(LEqual(SCFG, Zero)) {
                        CreateDWordField(Arg0, Zero, PIO0)
                        CreateDWordField(Arg0, 0x04, DMA0)
                        CreateDWordField(Arg0, 0x08, PIO1)
                        CreateDWordField(Arg0, 0x0c, DMA1)
                        CreateDWordField(Arg0, 0x10, FLAG)
                        If(LEqual(SizeOf(Arg1), 0x0200)) {
                            And(PRIT, 0x40f0, PRIT)
                            And(SYNC, 0x0e, SYNC)
                            Store(Zero, SDT0)
                            And(ICR0, 0x0e, ICR0)
                            And(ICR1, 0x0e, ICR1)
                            And(ICR3, 0x0e, ICR3)
                            And(ICR5, 0x0e, ICR5)
                            CreateWordField(Arg1, 0x62, W490)
                            CreateWordField(Arg1, 0x6a, W530)
                            CreateWordField(Arg1, 0x7e, W630)
                            CreateWordField(Arg1, 0x80, W640)
                            CreateWordField(Arg1, 0xb0, W880)
                            CreateWordField(Arg1, 0xba, W930)
                            Or(PRIT, 0x8004, PRIT)
                            If(LAnd(And(FLAG, 0x02, ), And(W490, 0x0800, ))) {
                                Or(PRIT, 0x02, PRIT)
                            }
                            Or(PRIT, SETP(PIO0, W530, W640), PRIT)
                            If(And(FLAG, One, )) {
                                Or(SYNC, One, SYNC)
                                Store(SDMA(DMA0), SDT0)
                                If(LLess(DMA0, 0x1e)) {
                                    Or(ICR3, One, ICR3)
                                }
                                If(LLess(DMA0, 0x3c)) {
                                    Or(ICR0, One, ICR0)
                                }
                                Or(ICR1, One, ICR1)
                            }
                        }
                        If(LEqual(SizeOf(Arg2), 0x0200)) {
                            And(PRIT, 0x3f0f, PRIT)
                            Store(Zero, PSIT)
                            And(SYNC, 0x0d, SYNC)
                            Store(Zero, SDT1)
                            And(ICR0, 0x0d, ICR0)
                            And(ICR1, 0x0d, ICR1)
                            And(ICR3, 0x0d, ICR3)
                            And(ICR5, 0x0d, ICR5)
                            CreateWordField(Arg2, 0x62, W491)
                            CreateWordField(Arg2, 0x6a, W531)
                            CreateWordField(Arg2, 0x7e, W631)
                            CreateWordField(Arg2, 0x80, W641)
                            CreateWordField(Arg2, 0xb0, W881)
                            CreateWordField(Arg2, 0xba, W931)
                            Or(PRIT, 0x8040, PRIT)
                            If(LAnd(And(FLAG, 0x08, ), And(W491, 0x0800, ))) {
                                Or(PRIT, 0x20, PRIT)
                            }
                            If(And(FLAG, 0x10, )) {
                                Or(PRIT, 0x4000, PRIT)
                                If(LGreater(PIO1, 0xf0)) {
                                    Or(PRIT, 0x80, PRIT)
                                }
                                Else {
                                    Or(PRIT, 0x10, PRIT)
                                    Store(SETT(PIO1, W531, W641), PSIT)
                                }
                            }
                            If(And(FLAG, 0x04, )) {
                                Or(SYNC, 0x02, SYNC)
                                Store(SDMA(DMA1), SDT1)
                                If(LLess(DMA1, 0x1e)) {
                                    Or(ICR3, 0x02, ICR3)
                                }
                                If(LLess(DMA1, 0x3c)) {
                                    Or(ICR0, 0x02, ICR0)
                                }
                                Or(ICR1, 0x02, ICR1)
                            }
                        }
                    }
                }
                Device(P_D0) {
                    Name(_ADR, Zero)
                    Method(_GTF) {
                        If(LEqual(SCFG, Zero)) {
                            Name(PIB0, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
                            CreateByteField(PIB0, One, PMD0)
                            CreateByteField(PIB0, 0x08, DMD0)
                            If(And(PRIT, 0x02, )) {
                                If(LEqual(And(PRIT, 0x09, ), 0x08)) {
                                    Store(0x08, PMD0)
                                }
                                Else {
                                    Store(0x0a, PMD0)
                                    ShiftRight(And(PRIT, 0x0300, ), 0x08, Local0)
                                    ShiftRight(And(PRIT, 0x3000, ), 0x0c, Local1)
                                    Add(Local0, Local1, Local2)
                                    If(LEqual(0x03, Local2)) {
                                        Store(0x0b, PMD0)
                                    }
                                    If(LEqual(0x05, Local2)) {
                                        Store(0x0c, PMD0)
                                    }
                                }
                            }
                            Else {
                                Store(One, PMD0)
                            }
                            If(And(SYNC, One, )) {
                                Store(Or(SDT0, 0x40, ), DMD0)
                                If(And(ICR1, One, )) {
                                    If(And(ICR0, One, )) {
                                        Add(DMD0, 0x02, DMD0)
                                    }
                                    If(And(ICR3, One, )) {
                                        Store(0x45, DMD0)
                                    }
                                }
                            }
                            Else {
                                Or(Subtract(And(PMD0, 0x07, ), 0x02, ), 0x20, DMD0)
                            }
                            Return(PIB0)
                        }
                    }
                }
                Device(P_D1) {
                    Name(_ADR, One)
                    Method(_GTF) {
                        If(LEqual(SCFG, Zero)) {
                            Name(PIB1, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
                            CreateByteField(PIB1, One, PMD1)
                            CreateByteField(PIB1, 0x08, DMD1)
                            If(And(PRIT, 0x20, )) {
                                If(LEqual(And(PRIT, 0x90, ), 0x80)) {
                                    Store(0x08, PMD1)
                                }
                                Else {
                                    Add(And(PSIT, 0x03, ), ShiftRight(And(PSIT, 0x0c, ), 0x02, ), Local0)
                                    If(LEqual(0x05, Local0)) {
                                        Store(0x0c, PMD1)
                                    }
                                    Else {
                                        If(LEqual(0x03, Local0)) {
                                            Store(0x0b, PMD1)
                                        }
                                        Else {
                                            Store(0x0a, PMD1)
                                        }
                                    }
                                }
                            }
                            Else {
                                Store(One, PMD1)
                            }
                            If(And(SYNC, 0x02, )) {
                                Store(Or(SDT1, 0x40, ), DMD1)
                                If(And(ICR1, 0x02, )) {
                                    If(And(ICR0, 0x02, )) {
                                        Add(DMD1, 0x02, DMD1)
                                    }
                                    If(And(ICR3, 0x02, )) {
                                        Store(0x45, DMD1)
                                    }
                                }
                            }
                            Else {
                                Or(Subtract(And(PMD1, 0x07, ), 0x02, ), 0x20, DMD1)
                            }
                            Return(PIB1)
                        }
                    }
                }
            }
            Device(SECD) {
                Name(_ADR, One)
                Method(_GTM) {
                    If(LEqual(SCFG, Zero)) {
                        Name(SBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
                        CreateDWordField(SBUF, Zero, PIO0)
                        CreateDWordField(SBUF, 0x04, DMA0)
                        CreateDWordField(SBUF, 0x08, PIO1)
                        CreateDWordField(SBUF, 0x0c, DMA1)
                        CreateDWordField(SBUF, 0x10, FLAG)
                        Store(GETP(SECT), PIO0)
                        Store(GDMA(And(SYNC, 0x04, ), And(ICR3, 0x04, ), And(ICR0, 0x04, ), SDT2, And(ICR1, 0x04, )), DMA0)
                        If(LEqual(DMA0, Ones)) {
                            Store(PIO0, DMA0)
                        }
                        If(And(SECT, 0x4000, )) {
                            If(LEqual(And(SECT, 0x90, ), 0x80)) {
                                Store(0x0384, PIO1)
                            }
                            Else {
                                Store(GETT(SSIT), PIO1)
                            }
                        }
                        Else {
                            Store(Ones, PIO1)
                        }
                        Store(GDMA(And(SYNC, 0x08, ), And(ICR3, 0x08, ), And(ICR0, 0x08, ), SDT3, And(ICR1, 0x08, )), DMA1)
                        If(LEqual(DMA1, Ones)) {
                            Store(PIO1, DMA1)
                        }
                        Store(GETF(And(SYNC, 0x04, ), And(SYNC, 0x08, ), SECT), FLAG)
                        Return(SBUF)
                    }
                }
                Method(_STM, 3) {
                    If(LEqual(SCFG, Zero)) {
                        CreateDWordField(Arg0, Zero, PIO0)
                        CreateDWordField(Arg0, 0x04, DMA0)
                        CreateDWordField(Arg0, 0x08, PIO1)
                        CreateDWordField(Arg0, 0x0c, DMA1)
                        CreateDWordField(Arg0, 0x10, FLAG)
                        If(LEqual(SizeOf(Arg1), 0x0200)) {
                            And(SECT, 0x40f0, SECT)
                            And(SYNC, 0x0b, SYNC)
                            Store(Zero, SDT2)
                            And(ICR0, 0x0b, ICR0)
                            And(ICR1, 0x0b, ICR1)
                            And(ICR3, 0x0b, ICR3)
                            And(ICR5, 0x0b, ICR5)
                            CreateWordField(Arg1, 0x62, W490)
                            CreateWordField(Arg1, 0x6a, W530)
                            CreateWordField(Arg1, 0x7e, W630)
                            CreateWordField(Arg1, 0x80, W640)
                            CreateWordField(Arg1, 0xb0, W880)
                            CreateWordField(Arg1, 0xba, W930)
                            Or(SECT, 0x8004, SECT)
                            If(LAnd(And(FLAG, 0x02, ), And(W490, 0x0800, ))) {
                                Or(SECT, 0x02, SECT)
                            }
                            Or(SECT, SETP(PIO0, W530, W640), SECT)
                            If(And(FLAG, One, )) {
                                Or(SYNC, 0x04, SYNC)
                                Store(SDMA(DMA0), SDT2)
                                If(LLess(DMA0, 0x1e)) {
                                    Or(ICR3, 0x04, ICR3)
                                }
                                If(LLess(DMA0, 0x3c)) {
                                    Or(ICR0, 0x04, ICR0)
                                }
                                Or(ICR1, 0x04, ICR1)
                            }
                        }
                        If(LEqual(SizeOf(Arg2), 0x0200)) {
                            And(SECT, 0x3f0f, SECT)
                            Store(Zero, SSIT)
                            And(SYNC, 0x07, SYNC)
                            Store(Zero, SDT3)
                            And(ICR0, 0x07, ICR0)
                            And(ICR1, 0x07, ICR1)
                            And(ICR3, 0x07, ICR3)
                            And(ICR5, 0x07, ICR5)
                            CreateWordField(Arg2, 0x62, W491)
                            CreateWordField(Arg2, 0x6a, W531)
                            CreateWordField(Arg2, 0x7e, W631)
                            CreateWordField(Arg2, 0x80, W641)
                            CreateWordField(Arg2, 0xb0, W881)
                            CreateWordField(Arg2, 0xba, W931)
                            Or(SECT, 0x8040, SECT)
                            If(LAnd(And(FLAG, 0x08, ), And(W491, 0x0800, ))) {
                                Or(SECT, 0x20, SECT)
                            }
                            If(And(FLAG, 0x10, )) {
                                Or(SECT, 0x4000, SECT)
                                If(LGreater(PIO1, 0xf0)) {
                                    Or(SECT, 0x80, SECT)
                                }
                                Else {
                                    Or(SECT, 0x10, SECT)
                                    Store(SETT(PIO1, W531, W641), SSIT)
                                }
                            }
                            If(And(FLAG, 0x04, )) {
                                Or(SYNC, 0x08, SYNC)
                                Store(SDMA(DMA1), SDT3)
                                If(LLess(DMA1, 0x1e)) {
                                    Or(ICR3, 0x08, ICR3)
                                }
                                If(LLess(DMA1, 0x3c)) {
                                    Or(ICR0, 0x08, ICR0)
                                }
                                Or(ICR1, 0x08, ICR1)
                            }
                        }
                    }
                }
                Device(S_D0) {
                    Name(_ADR, Zero)
                    Method(_GTF) {
                        If(LEqual(SCFG, Zero)) {
                            Name(SIB0, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
                            CreateByteField(SIB0, One, PMD0)
                            CreateByteField(SIB0, 0x08, DMD0)
                            If(And(SECT, 0x02, )) {
                                If(LEqual(And(SECT, 0x09, ), 0x08)) {
                                    Store(0x08, PMD0)
                                }
                                Else {
                                    Store(0x0a, PMD0)
                                    ShiftRight(And(SECT, 0x0300, ), 0x08, Local0)
                                    ShiftRight(And(SECT, 0x3000, ), 0x0c, Local1)
                                    Add(Local0, Local1, Local2)
                                    If(LEqual(0x03, Local2)) {
                                        Store(0x0b, PMD0)
                                    }
                                    If(LEqual(0x05, Local2)) {
                                        Store(0x0c, PMD0)
                                    }
                                }
                            }
                            Else {
                                Store(One, PMD0)
                            }
                            If(And(SYNC, 0x04, )) {
                                Store(Or(SDT2, 0x40, ), DMD0)
                                If(And(ICR1, 0x04, )) {
                                    If(And(ICR0, 0x04, )) {
                                        Add(DMD0, 0x02, DMD0)
                                    }
                                    If(And(ICR3, 0x04, )) {
                                        Store(0x45, DMD0)
                                    }
                                }
                            }
                            Else {
                                Or(Subtract(And(PMD0, 0x07, ), 0x02, ), 0x20, DMD0)
                            }
                            Return(SIB0)
                        }
                    }
                }
                Device(S_D1) {
                    Name(_ADR, One)
                    Method(_GTF) {
                        If(LEqual(SCFG, Zero)) {
                            Name(SIB1, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
                            CreateByteField(SIB1, One, PMD1)
                            CreateByteField(SIB1, 0x08, DMD1)
                            If(And(SECT, 0x20, )) {
                                If(LEqual(And(SECT, 0x90, ), 0x80)) {
                                    Store(0x08, PMD1)
                                }
                                Else {
                                    Add(And(SSIT, 0x03, ), ShiftRight(And(SSIT, 0x0c, ), 0x02, ), Local0)
                                    If(LEqual(0x05, Local0)) {
                                        Store(0x0c, PMD1)
                                    }
                                    Else {
                                        If(LEqual(0x03, Local0)) {
                                            Store(0x0b, PMD1)
                                        }
                                        Else {
                                            Store(0x0a, PMD1)
                                        }
                                    }
                                }
                            }
                            Else {
                                Store(One, PMD1)
                            }
                            If(And(SYNC, 0x08, )) {
                                Store(Or(SDT3, 0x40, ), DMD1)
                                If(And(ICR1, 0x08, )) {
                                    If(And(ICR0, 0x08, )) {
                                        Add(DMD1, 0x02, DMD1)
                                    }
                                    If(And(ICR3, 0x08, )) {
                                        Store(0x45, DMD1)
                                    }
                                }
                            }
                            Else {
                                Or(Subtract(And(PMD1, 0x07, ), 0x02, ), 0x20, DMD1)
                            }
                            Return(SIB1)
                        }
                    }
                }
            }
        }
        Method(BRXP, 1) {
            Store(^LPC.EC0.BRTL, Local0)
            Store(Zero, Local1)
            While(LLess(Local1, 0x0c)) {
                Add(Local1, 0x02, Local2)
                If(LEqual(CHPF, One)) {
                    Store(DerefOf(Index(BCL2, Local2, )), Local3)
                }
                Else {
                    If(LEqual(CKPL, One)) {
                        Store(DerefOf(Index(BCL3, Local2, )), Local3)
                    }
                    Else {
                        Store(DerefOf(Index(BCL1, Local2, )), Local3)
                    }
                }
                If(LEqual(Local0, Local3)) {
                    If(LEqual(Arg0, One)) {
                        Increment(Local2)
                    }
                    If(LEqual(Arg0, 0x02)) {
                        Decrement(Local2)
                    }
                    If(LAnd(LLess(Local2, 0x0e), LGreater(Local2, One))) {
                        If(LEqual(CHPF, One)) {
                            Store(DerefOf(Index(BCL2, Local2, )), ^LPC.EC0.BRTL)
                        }
                        Else {
                            If(LEqual(CKPL, One)) {
                                Store(DerefOf(Index(BCL3, Local2, )), ^LPC.EC0.BRTL)
                            }
                            Else {
                                Store(DerefOf(Index(BCL1, Local2, )), ^LPC.EC0.BRTL)
                            }
                        }
                        Subtract(Local2, 0x02, Local2)
                        If(^LPC.EC0.SW2S) {
                            Store(Local2, BRAC)
                        }
                        Else {
                            Store(Local2, BRDC)
                        }
                        Store(0x0c, Local1)
                    }
                    Else {
                        Store(0x0c, Local1)
                    }
                }
                Increment(Local1)
            }
        }
    }
    OperationRegion(EXCO, SystemIO, 0x72, 0x02)
    Field(EXCO, ByteAcc, NoLock, Preserve) {
        INDX,	8,
        DATA,	8
    }
    IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
        Offset(0x31),
        ,	4,
        ACST,	1,
        Offset(0x36),
        BTWL,	2,
        BTLS,	1,
        BWLS,	1,
        WWLS,	1,
        Offset(0x37),
        ,	2,
        PFID,	4,
        PTPE,	2,
        ,	2,
        TJ85,	1,
        ,	1,
        WOL5,	1,
        Offset(0x3d),
        ,	3,
        DCKS,	1,
        Offset(0x4e),
        BRAC,	8,
        BRDC,	8,
        Offset(0x7f),
        SVIM,	8
    }
    Device(WMID) {
        Name(WCDS, Package(0x1b) {
            0x04,
            0x04,
            0x04,
            Zero,
            0x04,
            0x04,
            Zero,
            Zero,
            0x04,
            0x04,
            0x0c,
            Zero,
            Zero,
            Zero,
            Zero,
            0x06,
            Zero,
            Zero,
            0x04,
            0x04,
            0x04,
            0x04,
            0x04,
            0x04,
            0x04,
            0x04,
            0x04,
        })
        Method(CSMI, 2, Serialized) {
            Store(Arg0, CMTF)
            Store(Arg1, CMTI)
            Store(0xc1, SSMP)
            Return(CMTO)
        }
        Method(HWMC, 2) {
            CreateDWordField(Arg1, Zero, SNIN)
            CreateDWordField(Arg1, 0x04, COMD)
            CreateDWordField(Arg1, 0x08, CMTP)
            CreateDWordField(Arg1, 0x0c, DASI)
            If(LEqual(Arg0, One)) {
                Store(Zero, Local0)
            }
            If(LEqual(Arg0, 0x02)) {
                Store(0x04, Local0)
            }
            If(LEqual(Arg0, 0x03)) {
                Store(0x80, Local0)
            }
            If(LEqual(Arg0, 0x04)) {
                Store(0x0400, Local0)
            }
            If(LEqual(Arg0, 0x05)) {
                Store(0x1000, Local0)
            }
            Store(Buffer(Add(0x08, Local0, )) { }, Local1)
            CreateDWordField(Local1, Zero, SNOU)
            CreateDWordField(Local1, 0x04, RTCD)
            Store(DASI, Local5)
            If(LGreater(DASI, 0x02f0)) {
                Store(0x02f0, Local5)
            }
            CreateField(Arg1, Zero, Multiply(Add(Local5, 0x10, ), 0x08, ), DAIN)
            Store(0x4c494146, SNOU)
            Store(0x02, RTCD)
            If(LEqual(SNIN, 0x55434553)) {
                Store(0x03, RTCD)
                If(LEqual(COMD, One)) {
                    Store(0x04, RTCD)
                    If(LEqual(CMTP, 0x05)) {
                        Store(GWLS(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x1b)) {
                        Store(GWDI(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x0e)) {
                        Store(GWID(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x10)) {
                        Store(GHPI(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x07)) {
                        If(DASI) {
                            Store(DerefOf(Index(Arg1, 0x10, )), Local3)
                            Store(GBAI(Local3), Local2)
                            Store(Zero, RTCD)
                        }
                        Else {
                            Store(0x05, RTCD)
                        }
                    }
                    If(LEqual(CMTP, One)) {
                        Store(GDPS(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x08)) {
                        Store(GBBT(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x09)) {
                        Store(GHKS(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x0a)) {
                        Store(GHKF(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x0c)) {
                        Store(GBBV(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x0d)) {
                        Store(GTFR(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x0b)) {
                        Store(GBBS(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x13)) {
                        Store(GBNS(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x17)) {
                        Store(GDIM(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x0f)) {
                        Store(SMAT(), Local2)
                        Store(Zero, RTCD)
                    }
                    If(LEqual(CMTP, 0x1a)) {
                        Store(GMSR(), Local2)
                        Store(Zero, RTCD)
                    }
                }
                If(LEqual(COMD, 0x02)) {
                    Store(0x04, RTCD)
                    If(LAnd(LGreater(CMTP, Zero), LNot(LGreater(CMTP, 0x1b)))) {
                        If(LLess(DASI, DerefOf(Index(WCDS, Subtract(CMTP, One, ), )))) {
                            Store(0x05, RTCD)
                        }
                        Else {
                            CreateDWordField(Arg1, 0x10, DDWD)
                            If(LEqual(CMTP, 0x05)) {
                                Store(SWLS(DDWD), Local2)
                                Store(Zero, RTCD)
                            }
                            If(LEqual(CMTP, 0x1b)) {
                                Store(SWDS(DDWD), Local2)
                                Store(Zero, RTCD)
                            }
                            If(LEqual(CMTP, One)) {
                                Store(SDPS(DDWD), Local2)
                                Store(Zero, RTCD)
                            }
                            If(LEqual(CMTP, 0x09)) {
                                Store(SHKS(DDWD), Local2)
                                Store(Zero, RTCD)
                            }
                            If(LEqual(CMTP, 0x0a)) {
                                Store(SHKF(DDWD), Local2)
                                Store(Zero, RTCD)
                            }
                            If(LEqual(CMTP, 0x10)) {
                                If(LNot(LEqual(DASI, DerefOf(Index(WCDS, Subtract(CMTP, One, ), ))))) {
                                    Store(0x05, RTCD)
                                }
                                Else {
                                    CreateByteField(Arg1, 0x10, DAB0)
                                    CreateByteField(Arg1, 0x11, DAB1)
                                    CreateByteField(Arg1, 0x12, DAB2)
                                    CreateByteField(Arg1, 0x13, DAB3)
                                    CreateByteField(Arg1, 0x14, DAB4)
                                    CreateByteField(Arg1, 0x15, DAB5)
                                    Store(SHPI(DAB0, DAB1, DAB2, DAB3, DAB4, DAB5), Local2)
                                    Store(Zero, RTCD)
                                }
                            }
                            If(LEqual(CMTP, 0x13)) {
                                Store(SBNS(DDWD), Local2)
                                Store(Zero, RTCD)
                            }
                            If(LEqual(CMTP, 0x17)) {
                                Store(SDIM(DDWD), Local2)
                                Store(Zero, RTCD)
                            }
                            If(LEqual(CMTP, 0x1a)) {
                                Store(SMSR(DDWD), Local2)
                                Store(Zero, RTCD)
                            }
                        }
                    }
                }
                If(LEqual(COMD, 0x00020002)) {
                    Store(0x21, RTCD)
                    If(LEqual(CMTP, One)) {
                        Store(0xc1, P80H)
                        Store(Package(0x03) {
                            Zero,
                            Zero,
                            Buffer(0x04) {0x0, 0x0, 0x0, 0x0 },
                        }, Local2)
                        Store(Zero, Index(Local2, Zero, ))
                        Store(0x04, Index(Local2, One, ))
                        CSMI(One, Zero)
                        Store(CMTO, Index(DerefOf(Index(Local2, 0x02, )), Zero, ))
                        Store(Zero, RTCD)
                        Store(0x1c, P80H)
                    }
                    If(LEqual(CMTP, 0x02)) {
                        Store(0xc2, P80H)
                        Store(Package(0x02) {
                            Zero,
                            Zero,
                        }, Local2)
                        CSMI(0x02, DAIN)
                        Store(CMTO, RTCD)
                        Store(0x2c, P80H)
                    }
                    If(LEqual(CMTP, 0x03)) {
                        Store(0xc3, P80H)
                        Store(Package(0x02) {
                            Zero,
                            Zero,
                        }, Local2)
                        CSMI(0x03, DAIN)
                        Store(CMTO, RTCD)
                        Store(0x3c, P80H)
                    }
                }
            }
            If(LEqual(RTCD, Zero)) {
                Store(DerefOf(Index(Local2, Zero, )), RTCD)
                If(LEqual(RTCD, Zero)) {
                    If(LNot(LGreater(DerefOf(Index(Local2, One, )), Local0))) {
                        Store(Zero, Local0)
                        While(LLess(Local0, DerefOf(Index(Local2, One, )))) {
                            Store(DerefOf(Index(DerefOf(Index(Local2, 0x02, )), Local0, )), Index(Local1, Add(Local0, 0x08, ), ))
                            Increment(Local0)
                        }
                        Store(0x53534150, SNOU)
                    }
                    Else {
                        Store(0x05, RTCD)
                    }
                }
            }
            Return(Local1)
        }
        Name(_HID, "PNP0C14")
        Name(_UID, Zero)
        Name(WEID, Zero)
        Name(WMED, Zero)
        Name(BUFF, Buffer(0x04) {0x0, 0x0, 0x0, 0x0 })
        CreateByteField(BUFF, Zero, OB0)
        CreateByteField(BUFF, One, OB1)
        CreateByteField(BUFF, 0x02, OB2)
        CreateByteField(BUFF, 0x03, OB3)
        Name(_WDG, Buffer(0x50) {0x34, 0xf0, 0xb7, 0x5f, 0x63, 0x2c, 0xe9, 0x45, 0xbe, 0x91, 0x3d, 0x44, 0xe2, 0xc7, 0x7, 0xe4, 0x41, 0x44, 0x1, 0x2, 0x79, 0x42, 0xf2, 0x95, 0x7b, 0x4d, 0x34, 0x43, 0x93, 0x87, 0xac, 0xcd, 0xc6, 0x7e, 0xf6, 0x1c, 0x80, 0x0, 0x1, 0x8, 0x21, 0x12, 0x90, 0x5, 0x66, 0xd5, 0xd1, 0x11, 0xb2, 0xf0, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0x10, 0x41, 0x45, 0x1, 0x0, 0xd4, 0x2b, 0x99, 0xd0, 0x7c, 0xa4, 0xfe, 0x4e, 0xb0, 0x72, 0x32, 0x4a, 0xec, 0x92, 0x29, 0x6c, 0x42, 0x43, 0x1, 0x0 })
        Method(WQBC, 1) {
            Store(WMIA, Local0)
            Return(Local0)
        }
        Method(WMAD, 3, Serialized) {
            Return(HWMC(Arg1, Arg2))
        }
        Method(GWLS) {
            Store(One, WAOK)
            TRAP(TRTI, 0x1f)
            Store(Package(0x03) {
                Zero,
                0x04,
                Buffer(0x04) {0x1, 0x2, 0x3, 0x4 },
            }, Local0)
            Store(WAB0, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
            Store(WAB1, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            Store(WAB2, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
            Store(WAB3, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
            Return(Local0)
        }
        Method(SWLS, 1) {
            Store(And(Arg0, 0xff, ), WAB4)
            Store(And(ShiftRight(Arg0, 0x08, ), 0xff, ), WAB5)
            Or(0x0c, WAB1, WAB1)
            Or(0x0c, WAB2, WAB2)
            Or(0x0c, WAB3, WAB3)
            TRAP(TRTI, 0x20)
            Store(0x05, WEID)
            Store(Zero, WMED)
            Notify(WMID, 0x80)
            Return(Package(0x02) {
                Zero,
                Zero,
            })
        }
        Method(GWID) {
            Store(Zero, Local0)
            If(LAnd(LNot(LEqual(Add(WBD0, WBD1, ), 0x01fe)), LNot(LEqual(Add(WBD0, WBD1, ), Zero)))) {
                Store(Buffer(0x06) {0x2, 0x2, 0x0, 0x0, 0x0, 0x0 }, Local1)
                Store(WBD0, Index(Local1, 0x02, ))
                Store(WBD1, Index(Local1, 0x03, ))
                Store(WBD2, Index(Local1, 0x04, ))
                Store(WBD3, Index(Local1, 0x05, ))
                Add(Local0, 0x06, Local0)
            }
            If(LAnd(LNot(LEqual(Add(WWD0, WWD1, ), 0x01fe)), LNot(LEqual(Add(WWD0, WWD1, ), Zero)))) {
                Store(Buffer(0x06) {0x2, 0x3, 0x0, 0x0, 0x0, 0x0 }, Local2)
                Store(WWD0, Index(Local2, 0x02, ))
                Store(WWD1, Index(Local2, 0x03, ))
                Store(WWD2, Index(Local2, 0x04, ))
                Store(WWD3, Index(Local2, 0x05, ))
                If(LEqual(Local0, Zero)) {
                    Store(Local2, Local1)
                }
                Else {
                    Concatenate(Local1, Local2, Local3)
                    Store(Local3, Local1)
                }
                Add(Local0, 0x06, Local0)
            }
            If(LAnd(LNot(LEqual(Add(WLD0, WLD1, ), 0x01fe)), LNot(LEqual(Add(WLD0, WLD1, ), Zero)))) {
                Store(Buffer(0x0a) {0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, Local2)
                Store(WLD0, Index(Local2, 0x02, ))
                Store(WLD1, Index(Local2, 0x03, ))
                Store(WLD2, Index(Local2, 0x04, ))
                Store(WLD3, Index(Local2, 0x05, ))
                Store(WLD4, Index(Local2, 0x06, ))
                Store(WLD5, Index(Local2, 0x07, ))
                Store(WLD6, Index(Local2, 0x08, ))
                Store(WLD7, Index(Local2, 0x09, ))
                If(LEqual(Local0, Zero)) {
                    Store(Local2, Local1)
                }
                Else {
                    Concatenate(Local1, Local2, Local3)
                    Store(Local3, Local1)
                }
                Add(Local0, 0x0a, Local0)
            }
            Store(Package(0x03) {
            }, Local2)
            Store(Zero, Index(Local2, Zero, ))
            Store(Local0, Index(Local2, One, ))
            Store(Local1, Index(Local2, 0x02, ))
            Return(Local2)
        }
        Method(GHPI) {
            Store(Buffer(0x06) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, Local0)
            TRAP(TRTI, 0x1d)
            Add(SID0, 0x30, SID0)
            Add(SID1, 0x30, SID1)
            Add(SID2, 0x30, SID2)
            Add(SID3, 0x30, SID3)
            Add(SID4, 0x30, SID4)
            Add(SID5, 0x30, SID5)
            Store(SID0, Index(Local0, Zero, ))
            Store(SID1, Index(Local0, One, ))
            Store(SID2, Index(Local0, 0x02, ))
            Store(SID3, Index(Local0, 0x03, ))
            Store(SID4, Index(Local0, 0x04, ))
            Store(SID5, Index(Local0, 0x05, ))
            Store(Package(0x03) {
                Zero,
                0x06,
                Zero,
            }, Local1)
            Store(Local0, Index(Local1, 0x02, ))
            Return(Local1)
        }
        Method(SHPI, 6) {
            Subtract(Arg0, 0x30, Arg0)
            Subtract(Arg1, 0x30, Arg1)
            Subtract(Arg2, 0x30, Arg2)
            Subtract(Arg3, 0x30, Arg3)
            Subtract(Arg4, 0x30, Arg4)
            Subtract(Arg5, 0x30, Arg5)
            Store(Arg0, SID0)
            Store(Arg1, SID1)
            Store(Arg2, SID2)
            Store(Arg3, SID3)
            Store(Arg4, SID4)
            Store(Arg5, SID5)
            TRAP(TRTI, 0x1e)
            Return(Package(0x02) {
                Zero,
                Zero,
            })
        }
        Method(GBAI, 1) {
            Acquire(^^PCI0.LPC.EC0.MUT1, 0xffff)
            If(LNot(ECOK)) {
                Store(Package(0x02) {
                    0x0d,
                    Zero,
                }, Local0)
                Sleep(0x96)
                Release(^^PCI0.LPC.EC0.MUT1)
                Return(Local0)
            }
            If(Arg0) {
                Store(Package(0x02) {
                    0x06,
                    Zero,
                }, Local0)
                Sleep(0x96)
                Release(^^PCI0.LPC.EC0.MUT1)
                Return(Local0)
            }
            If(LNot(^^PCI0.LPC.EC0.MBTS)) {
                Store(Package(0x02) {
                    0x06,
                    Zero,
                }, Local0)
                Sleep(0x96)
                Release(^^PCI0.LPC.EC0.MUT1)
                Return(Local0)
            }
            Store(Package(0x03) {
                Zero,
                0x80,
                Buffer(0x80) { },
            }, Local0)
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x18, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x10, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x0f, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x05, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x04, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x0c, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x07, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x06, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x17, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x09, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x08, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x08, RefOf(Local1))
            Subtract(Local1, 0x0aaa, Local1)
            Divide(Local1, 0x0a, Local2, Local1)
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x0b, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x0a, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x09, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x0d, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x0c, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x0a, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x0f, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x0e, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x19, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x11, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x10, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x16, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x13, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x12, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x3f, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x15, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x14, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x3e, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x17, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x16, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x3d, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x19, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x18, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x3c, RefOf(Local1))
            Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x1b, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x1a, ))
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x1c, RefOf(Local1))
            Store(ITOS(ToBCD(Local1, )), Local3)
            Store(0x1c, Local2)
            Store(Zero, Local4)
            Store(SizeOf(Local3), Local1)
            While(Local1) {
                GBFE(Local3, Local4, RefOf(Local5))
                PBFE(DerefOf(Index(Local0, 0x02, )), Local2, Local5)
                Decrement(Local1)
                Increment(Local2)
                Increment(Local4)
            }
            Store(0x20, Index(DerefOf(Index(Local0, 0x02, )), Local2, ))
            Increment(Local2)
            ^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x1b, RefOf(Local1))
            And(Local1, 0x1f, Local7)
            Store(ITOS(ToBCD(Local7, )), Local6)
            And(Local1, 0x01e0, Local7)
            ShiftRight(Local7, 0x05, Local7)
            Store(ITOS(ToBCD(Local7, )), Local5)
            ShiftRight(Local1, 0x09, Local7)
            Add(Local7, 0x07bc, Local7)
            Store(ITOS(ToBCD(Local7, )), Local4)
            Store(0x02, Local1)
            Store(0x03, Local7)
            While(Local1) {
                GBFE(Local5, Local7, RefOf(Local3))
                PBFE(DerefOf(Index(Local0, 0x02, )), Local2, Local3)
                Decrement(Local1)
                Increment(Local2)
                Increment(Local7)
            }
            Store("\x2f", Index(DerefOf(Index(Local0, 0x02, )), Local2, ))
            Increment(Local2)
            Store(0x02, Local1)
            Store(0x03, Local7)
            While(Local1) {
                GBFE(Local6, Local7, RefOf(Local3))
                PBFE(DerefOf(Index(Local0, 0x02, )), Local2, Local3)
                Decrement(Local1)
                Increment(Local2)
                Increment(Local7)
            }
            Store("\x2f", Index(DerefOf(Index(Local0, 0x02, )), Local2, ))
            Increment(Local2)
            Store(0x04, Local1)
            Store(One, Local7)
            While(Local1) {
                GBFE(Local4, Local7, RefOf(Local3))
                PBFE(DerefOf(Index(Local0, 0x02, )), Local2, Local3)
                Decrement(Local1)
                Increment(Local2)
                Increment(Local7)
            }
            Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Local2, ))
            ^^PCI0.LPC.EC0.SMRD(0x0b, 0x16, 0x20, RefOf(Local1))
            Store(SizeOf(Local1), Local3)
            Store(0x2c, Local2)
            Store(Zero, Local4)
            While(Local3) {
                GBFE(Local1, Local4, RefOf(Local5))
                PBFE(DerefOf(Index(Local0, 0x02, )), Local2, Local5)
                Decrement(Local3)
                Increment(Local2)
                Increment(Local4)
            }
            Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Local2, ))
            Sleep(0x96)
            Release(^^PCI0.LPC.EC0.MUT1)
            Return(Local0)
            Store(Package(0x02) {
                0x06,
                Zero,
            }, Local0)
            Return(Local0)
        }
        Method(GDPS) {
            Store(Zero, OB0)
            If(IGDS) {
                If(LOr(LEqual(^^PCI0.OVGA.CPDL, 0x0100), LEqual(^^PCI0.OVGA.CPL2, 0x0100))) {
                    Or(OB0, 0x02, OB0)
                }
                If(LEqual(^^PCI0.OVGA.CPL3, 0x0100)) {
                    Or(OB0, 0x02, OB0)
                }
                If(LOr(LEqual(^^PCI0.OVGA.CPDL, 0x0400), LEqual(^^PCI0.OVGA.CPL2, 0x0400))) {
                    Or(OB0, One, OB0)
                }
                If(LEqual(^^PCI0.OVGA.CPL3, 0x0400)) {
                    Or(OB0, One, OB0)
                }
                If(LOr(LEqual(^^PCI0.OVGA.CPDL, 0x0300), LEqual(^^PCI0.OVGA.CPL2, 0x0300))) {
                    Or(OB0, 0x10, OB0)
                }
                If(LEqual(^^PCI0.OVGA.CPL3, 0x0300)) {
                    Or(OB0, 0x10, OB0)
                }
            }
            Else {
                TRAP(TRTI, 0x0b)
                Sleep(0x64)
                Store(CADL, Local0)
                If(LEqual(Local0, One)) {
                    Store(One, OB0)
                }
                If(LEqual(Local0, 0x03)) {
                    Store(0x03, OB0)
                }
                If(LEqual(Local0, 0x11)) {
                    Store(0x11, OB0)
                }
                If(LEqual(Local0, 0x13)) {
                    Store(0x13, OB0)
                }
            }
            Store(Zero, OB1)
            Store(Zero, OB2)
            Store(Zero, OB3)
            Store(Package(0x03) {
                Zero,
                0x04,
                Buffer(0x04) {0x1, 0x2, 0x3, 0x4 },
            }, Local0)
            Store(OB0, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
            Store(OB1, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            Store(OB2, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
            Store(OB3, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
            Return(Local0)
        }
        Method(SDPS, 1) {
            And(Arg0, 0x07, Local0)
            If(IGDS) {
                Store(WMIO, Local1)
                If(LEqual(Local0, Local1)) {
                    Return(Package(0x02) {
                        Zero,
                        Zero,
                    })
                }
                Else {
                    Store(Zero, NSTE)
                    If(LEqual(Local0, One)) {
                        Or(0x0808, NSTE, NSTE)
                    }
                    If(LEqual(Local0, 0x02)) {
                        Or(0x0101, NSTE, NSTE)
                    }
                    If(LEqual(Local0, 0x03)) {
                        Or(0x0909, NSTE, NSTE)
                    }
                    If(LEqual(Local0, 0x04)) {
                        Or(0x0202, NSTE, NSTE)
                    }
                    If(LEqual(Local0, 0x05)) {
                        Or(0x0a0a, NSTE, NSTE)
                    }
                    If(LEqual(Local0, 0x06)) {
                        Or(0x0303, NSTE, NSTE)
                    }
                    If(LEqual(Local0, 0x07)) {
                        Or(0x0b0b, NSTE, NSTE)
                    }
                    Store(CADL, PADL)
                    If(LNot(LLess(OSYS, 0x07d1))) {
                        Notify(PCI0, Zero)
                    }
                    Else {
                        Notify(^^PCI0.OVGA, Zero)
                    }
                    Sleep(0x02ee)
                    Notify(^^PCI0.OVGA, 0x80)
                    Return(Package(0x02) {
                        Zero,
                        Zero,
                    })
                }
            }
            Else {
                Store(NCDD, Local1)
                If(LEqual(Local0, Local1)) {
                    Return(Package(0x02) {
                        Zero,
                        Zero,
                    })
                }
                Else {
                    If(LEqual(Local0, One)) {
                        Store(One, ^^PCI0.PEGP.VGA.LCDA)
                        Store(Zero, ^^PCI0.PEGP.VGA.CRTA)
                        Store(Zero, ^^PCI0.PEGP.VGA.TV0A)
                        Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
                    }
                    If(LEqual(Local0, 0x02)) {
                        Store(Zero, ^^PCI0.PEGP.VGA.LCDA)
                        Store(One, ^^PCI0.PEGP.VGA.CRTA)
                        Store(Zero, ^^PCI0.PEGP.VGA.TV0A)
                        Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
                    }
                    If(LEqual(Local0, 0x03)) {
                        Store(One, ^^PCI0.PEGP.VGA.LCDA)
                        Store(One, ^^PCI0.PEGP.VGA.CRTA)
                        Store(Zero, ^^PCI0.PEGP.VGA.TV0A)
                        Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
                    }
                    If(LEqual(Local0, 0x04)) {
                        Store(Zero, ^^PCI0.PEGP.VGA.LCDA)
                        Store(Zero, ^^PCI0.PEGP.VGA.CRTA)
                        Store(One, ^^PCI0.PEGP.VGA.TV0A)
                        Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
                    }
                    If(LEqual(Local0, 0x05)) {
                        Store(One, ^^PCI0.PEGP.VGA.LCDA)
                        Store(Zero, ^^PCI0.PEGP.VGA.CRTA)
                        Store(One, ^^PCI0.PEGP.VGA.TV0A)
                        Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
                    }
                    If(LEqual(Local0, 0x06)) {
                        Store(Zero, ^^PCI0.PEGP.VGA.LCDA)
                        Store(One, ^^PCI0.PEGP.VGA.CRTA)
                        Store(One, ^^PCI0.PEGP.VGA.TV0A)
                        Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
                    }
                    If(LEqual(Local0, 0x07)) {
                        Store(One, ^^PCI0.PEGP.VGA.LCDA)
                        Store(One, ^^PCI0.PEGP.VGA.CRTA)
                        Store(One, ^^PCI0.PEGP.VGA.TV0A)
                        Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
                    }
                    If(LNot(LLess(OSYS, 0x07d1))) {
                        Notify(PCI0, Zero)
                    }
                    Else {
                        Notify(^^PCI0.PEGP.VGA, Zero)
                    }
                    Sleep(0x02ee)
                    Notify(^^PCI0.PEGP.VGA, 0x80)
                    Return(Package(0x02) {
                        Zero,
                        Zero,
                    })
                }
            }
        }
        Method(SMCE, 3) {
            Store(Zero, Local1)
            Store(Zero, Local2)
            If(Arg0) {
                Or(Local1, One, Local1)
            }
            Else {
                And(Local1, 0xfe, Local1)
            }
            If(Arg1) {
                Or(Local1, ShiftRight(And(Local1, 0x8000, ), 0x09, ), Local1)
                Or(Local2, ShiftRight(And(Local2, 0x7000, ), 0x0c, ), Local2)
            }
            Else {
                And(Local1, 0xbf, Local1)
            }
            If(Arg2) {
                Or(Local1, 0x80, Local1)
            }
            Else {
                And(Local1, 0x7f, Local1)
            }
            Return(Package(0x02) {
                Zero,
                Zero,
            })
        }
        Method(GBBT) {
            Store(Package(0x03) {
                Zero,
                0x80,
                Buffer(0x80) {0x31, 0x1, 0x9b, 0x1, 0xff, 0x1, 0x63, 0x2, 0xae, 0x1, 0x64, 0x2, 0x9d, 0x1, 0xb6, 0x1, 0xb7, 0x1, 0x65, 0x2, 0x66, 0x2, 0x67, 0x2, 0x68, 0x2, 0xff, 0xff, 0xe4, 0x20, 0xe6, 0x20, 0x42, 0x21, 0x70, 0x21, 0x8d, 0x21, 0x8e, 0x21, 0x8f, 0x21, 0x90, 0x21, 0x91, 0x21, 0x92, 0x21, 0x93, 0x21, 0x0, 0x0 },
            }, Local0)
            Return(Local0)
        }
        Method(GHKS) {
            Acquire(^^PCI0.LPC.EC0.MUT1, 0xffff)
            Store(Package(0x03) {
                Zero,
                0x04,
                Buffer(0x04) { },
            }, Local0)
            Store(^^PCI0.LPC.EC0.GSHK(), Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
            Release(^^PCI0.LPC.EC0.MUT1)
            Return(Local0)
        }
        Method(SHKS, 1) {
            Acquire(^^PCI0.LPC.EC0.MUT1, 0xffff)
            ^^PCI0.LPC.EC0.SSHK(Arg0)
            Release(^^PCI0.LPC.EC0.MUT1)
            Return(Package(0x02) {
                Zero,
                Zero,
            })
        }
        Method(HKFR) {
            Acquire(^^PCI0.LPC.EC0.MUT1, 0xffff)
            Store(Package(0x03) {
                Zero,
                0x04,
                Buffer(0x04) { },
            }, Local0)
            If(ECOK) {
                Store(^^PCI0.LPC.EC0.QBHK, Local1)
            }
            Release(^^PCI0.LPC.EC0.MUT1)
            If(LEqual(Local1, 0x0d)) {
                Store(0x31, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            }
            If(LEqual(Local1, One)) {
                Store(0x9b, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            }
            If(LEqual(Local1, 0x04)) {
                If(IGDS) {
                    Store(Zero, Local3)
                    Store(0xae, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                    If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0100), LEqual(^^PCI0.OVGA.CAL2, 0x0100))) {
                        Or(Local3, 0x02, Local3)
                    }
                    If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0400), LEqual(^^PCI0.OVGA.CAL2, 0x0400))) {
                        Or(Local3, One, Local3)
                    }
                    If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0300), LEqual(^^PCI0.OVGA.CAL2, 0x0300))) {
                        Or(Local3, 0x10, Local3)
                    }
                    Store(Local3, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
                    Store(Zero, Local3)
                    If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0100), LEqual(^^PCI0.OVGA.NDL2, 0x0100))) {
                        Or(Local3, 0x02, Local3)
                    }
                    If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0400), LEqual(^^PCI0.OVGA.NDL2, 0x0400))) {
                        Or(Local3, One, Local3)
                    }
                    If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0300), LEqual(^^PCI0.OVGA.NDL2, 0x0300))) {
                        Or(Local3, 0x10, Local3)
                    }
                    Store(Local3, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                    ^^PCI0.OVGA.GHDS(Zero)
                }
                Else {
                    TRAP(TRTI, 0x0b)
                    Sleep(0x64)
                    Store(NSTE, Local3)
                    Store(And(Local3, One, ), ^^PCI0.PEGP.VGA.LCDA)
                    Store(ShiftRight(And(Local3, 0x02, ), One, ), ^^PCI0.PEGP.VGA.CRTA)
                    Store(ShiftRight(And(Local3, 0x10, ), 0x04, ), ^^PCI0.PEGP.VGA.HDTV)
                    Notify(^^PCI0.PEGP.VGA, 0x80)
                    Sleep(0x64)
                    Store(0xae, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                    Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                    Or(ShiftLeft(And(NSTE, 0x03, ), Zero, ), DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x02, )), Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                    Or(ShiftLeft(And(NSTE, 0x10, ), Zero, ), DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x02, )), Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                    Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
                    Or(ShiftLeft(And(CSTE, 0x03, ), Zero, ), DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x03, )), Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
                    Or(ShiftLeft(And(CSTE, 0x10, ), Zero, ), DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x03, )), Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
                }
            }
            If(LEqual(Local1, 0x06)) {
                Store(0x9d, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            }
            If(LEqual(Local1, 0x07)) {
                If(LNot(LLess(OSYS, 0x07d6))) {
                    If(IGDS) {
                        Notify(^^PCI0.OVGA.DD03, 0x87)
                    }
                    Else {
                        Notify(^^PCI0.PEGP.VGA.LCD, 0x87)
                    }
                }
                Else {
                    ^^PCI0.BRXP(0x02)
                }
                Sleep(0x32)
                Store(0xb6, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            }
            If(LEqual(Local1, 0x08)) {
                If(LNot(LLess(OSYS, 0x07d6))) {
                    If(IGDS) {
                        Notify(^^PCI0.OVGA.DD03, 0x86)
                    }
                    Else {
                        Notify(^^PCI0.PEGP.VGA.LCD, 0x86)
                    }
                }
                Else {
                    ^^PCI0.BRXP(One)
                }
                Sleep(0x32)
                Store(0xb7, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            }
            Return(Local0)
        }
        Method(GHKF) {
            Return(HKFR())
        }
        Method(SHKF, 1) {
            And(Arg0, 0xff, Local1)
            And(Arg0, 0xff00, Local3)
            ShiftRight(Local3, 0x08, Local2)
            Store(Package(0x03) {
                Zero,
                0x04,
                Buffer(0x04) { },
            }, Local0)
            Store(Local1, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            If(LEqual(Arg0, 0x01ae)) {
                If(IGDS) {
                    Store(Zero, Local3)
                    Store(0xae, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                    If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0100), LEqual(^^PCI0.OVGA.CAL2, 0x0100))) {
                        Or(Local3, 0x02, Local3)
                    }
                    If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0400), LEqual(^^PCI0.OVGA.CAL2, 0x0400))) {
                        Or(Local3, One, Local3)
                    }
                    If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0300), LEqual(^^PCI0.OVGA.CAL2, 0x0300))) {
                        Or(Local3, 0x10, Local3)
                    }
                    Store(Local3, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
                    Store(Zero, Local3)
                    If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0100), LEqual(^^PCI0.OVGA.NDL2, 0x0100))) {
                        Or(Local3, 0x02, Local3)
                    }
                    If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0400), LEqual(^^PCI0.OVGA.NDL2, 0x0400))) {
                        Or(Local3, One, Local3)
                    }
                    If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0300), LEqual(^^PCI0.OVGA.NDL2, 0x0300))) {
                        Or(Local3, 0x10, Local3)
                    }
                    Store(Local3, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                    ^^PCI0.OVGA.GHDS(Zero)
                }
                Else {
                    TRAP(TRTI, 0x0b)
                    Sleep(0x64)
                    Store(NSTE, Local3)
                    Store(And(Local3, One, ), ^^PCI0.PEGP.VGA.LCDA)
                    Store(ShiftRight(And(Local3, 0x02, ), One, ), ^^PCI0.PEGP.VGA.CRTA)
                    Store(ShiftRight(And(Local3, 0x10, ), 0x04, ), ^^PCI0.PEGP.VGA.HDTV)
                    Notify(^^PCI0.PEGP.VGA, 0x80)
                    Sleep(0x64)
                    Store(0xae, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                    Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                    Or(ShiftLeft(And(NSTE, 0x03, ), Zero, ), DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x02, )), Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                    Or(ShiftLeft(And(NSTE, 0x10, ), Zero, ), DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x02, )), Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                    Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
                    Or(ShiftLeft(And(CSTE, 0x03, ), Zero, ), DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x03, )), Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
                    Or(ShiftLeft(And(CSTE, 0x10, ), Zero, ), DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x03, )), Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
                }
            }
            Return(Local0)
        }
        Method(GBBS) {
            Store("HP\x20WMI\x20Command\x200xB\x20\x28BIOS\x20Read\x29", Debug)
            Store(One, ^^PCI0.LPC.EC0.NQLB)
            Store(Package(0x03) {
                Zero,
                0x04,
                Buffer(0x04) {0x1, 0x0, 0x0, 0x0 },
            }, Local0)
            Return(Local0)
        }
        Method(GBBV) {
            Acquire(^^PCI0.LPC.EC0.MUT1, 0xffff)
            Store(Package(0x03) {
                Zero,
                0x04,
                Buffer(0x04) { },
            }, Local0)
            If(ECOK) {
                Store(^^PCI0.LPC.EC0.QBBB, Local1)
                Store(Zero, ^^PCI0.LPC.EC0.QBBB)
            }
            If(LEqual(Local1, 0x03)) {
                Store(0xe4, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x20, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            }
            If(LEqual(Local1, 0x04)) {
                Store(0x42, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                If(LEqual(BTND, Zero)) {
                    Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
                Else {
                    Store(0x02, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
            }
            If(LEqual(Local1, 0x05)) {
                Store(0xe6, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x20, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                If(LEqual(BTND, Zero)) {
                    Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
                Else {
                    Store(0x02, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
            }
            If(LEqual(Local1, 0x10)) {
                Store(0x70, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            }
            If(LEqual(Local1, 0x20)) {
                Store(0x8d, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                If(LEqual(BTND, Zero)) {
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
                Else {
                    Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
            }
            If(LEqual(Local1, 0x21)) {
                Store(0x8e, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                If(LEqual(BTND, Zero)) {
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
                Else {
                    Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
            }
            If(LEqual(Local1, 0x22)) {
                Store(0x8f, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                If(LEqual(BTND, Zero)) {
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
                Else {
                    Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
            }
            If(LEqual(Local1, 0x23)) {
                Store(0x90, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                If(LEqual(BTND, Zero)) {
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
                Else {
                    Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
            }
            If(LEqual(Local1, 0x24)) {
                Store(0x91, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                If(LEqual(BTND, Zero)) {
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
                Else {
                    Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
            }
            If(LEqual(Local1, 0x25)) {
                Store(0x92, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                If(LEqual(BTND, Zero)) {
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
                Else {
                    Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
            }
            If(LEqual(Local1, 0x26)) {
                Store(0x93, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
                Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
                If(LEqual(BTND, Zero)) {
                    Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
                Else {
                    Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
                }
            }
            Release(^^PCI0.LPC.EC0.MUT1)
            Return(Local0)
        }
        Method(GBNS) {
            Store(Zero, Local0)
            If(ECOK) {
                Store(^^PCI0.LPC.EC0.BBDA, Local0)
            }
            If(Local0) {
                Store(Package(0x03) {
                    Zero,
                    0x04,
                    Zero,
                }, Local1)
            }
            Else {
                Store(Package(0x03) {
                    Zero,
                    0x04,
                    One,
                }, Local1)
            }
            Return(Local1)
        }
        Method(SBNS, 1) {
            Store(Arg0, Local0)
            If(Local0) {
                Store(Zero, ^^PCI0.LPC.EC0.BBDA)
            }
            Else {
                Store(One, ^^PCI0.LPC.EC0.BBDA)
            }
            Return(Package(0x02) {
                Zero,
                Zero,
            })
        }
        Method(GDIM) {
            Store(Zero, Local0)
            Store(Package(0x03) {
                Zero,
                0x04,
                Zero,
            }, Local1)
            If(ECOK) {
                Store(^^PCI0.LPC.EC0.ADIM, Local0)
            }
            If(LEqual(Local0, Zero)) {
                Store(Package(0x03) {
                    Zero,
                    0x04,
                    Zero,
                }, Local1)
            }
            Else {
                If(LEqual(Local0, One)) {
                    Store(Package(0x03) {
                        Zero,
                        0x04,
                        One,
                    }, Local1)
                }
            }
            Return(Local1)
        }
        Method(SDIM, 1) {
            If(And(Arg0, 0xff, )) {
                Store(One, Local0)
            }
            Else {
                Store(Zero, Local0)
            }
            If(ECOK) {
                Store(Local0, ^^PCI0.LPC.EC0.ADIM)
            }
            Return(Package(0x02) {
                Zero,
                Zero,
            })
        }
        Method(SMAT) {
            Store(Zero, Local0)
            Store(0x02, Local1)
            If(ECOK) {
                Store(^^PCI0.LPC.EC0.SMTD, Local0)
            }
            If(LEqual(Local0, 0x03)) {
                Store(0x02, Local1)
            }
            Else {
                Store(One, Local1)
            }
            If(LEqual(Local0, 0xff)) {
                Store(0x02, Local1)
            }
            Store(One, Local1)
            Store(Package(0x03) {
                Zero,
                0x04,
                Buffer(0x04) {0x2, 0x0, 0x0, 0x0 },
            }, Local2)
            Store(Local1, Index(DerefOf(Index(Local2, 0x02, )), Zero, ))
            Return(Local2)
        }
        Method(GMSR) {
            Store(MSRA, Local0)
            Store(Package(0x03) {
                Zero,
                0x04,
                Buffer(0x04) {0x0, 0x0, 0x0, 0x0 },
            }, Local1)
            Store(Local0, Index(DerefOf(Index(Local1, 0x02, )), Zero, ))
            Return(Local1)
        }
        Method(SMSR, 1) {
            Store(Arg0, Local0)
            Store(Local0, MSRA)
            Return(Package(0x02) {
                Zero,
                Zero,
            })
        }
        Method(GWDI) {
            Store(One, WAOK)
            Store(One, WA40)
            TRAP(TRTI, 0x1f)
            Store(Package(0x03) {
                Zero,
                0x80,
                Buffer(0x80) { },
            }, Local0)
            Store(Zero, Local1)
            Add(Local1, And(WAB0, One, ), Local1)
            Add(Local1, ShiftRight(And(WAB0, 0x02, ), One, ), Local1)
            Store(Zero, Local2)
            Store(One, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
            Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
            Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
            Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x04, ))
            Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x05, ))
            Store(Local1, Index(DerefOf(Index(Local0, 0x02, )), 0x06, ))
            Store(Local1, Index(DerefOf(Index(Local0, 0x02, )), 0x07, ))
            Add(Local2, 0x10, Local2)
            If(And(WAB0, One, )) {
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, Zero, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, One, ), ))
                Store(WLD0, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x02, ), ))
                Store(WLD1, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x03, ), ))
                Store(WLD2, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x04, ), ))
                Store(WLD3, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x05, ), ))
                Store(WLD4, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x06, ), ))
                Store(WLD5, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x07, ), ))
                Store(WLD6, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x08, ), ))
                Store(WLD7, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x09, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0a, ), ))
                Store(WAB1, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0b, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0c, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0d, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0e, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0f, ), ))
                Add(Local2, 0x10, Local2)
            }
            If(And(WAB0, 0x02, )) {
                Store(One, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, Zero, ), ))
                Store(One, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, One, ), ))
                Store(WBD0, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x02, ), ))
                Store(WBD1, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x03, ), ))
                Store(WBD2, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x04, ), ))
                Store(WBD3, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x05, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x06, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x07, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x08, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x09, ), ))
                Store(One, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0a, ), ))
                Store(WAB2, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0b, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0c, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0d, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0e, ), ))
                Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2, 0x0f, ), ))
                Add(Local2, 0x10, Local2)
            }
            Return(Local0)
        }
        Method(SWDS, 1) {
            Store(Arg0, Local0)
            And(Local0, 0x00ff0000, Local1)
            ShiftRight(Local1, 0x10, Local1)
            And(Local0, 0xff000000, Local2)
            ShiftRight(Local2, 0x18, Local2)
            If(LNot(LEqual(Local1, 0xff))) {
                Or(0x0c, WAB1, WAB1)
                Or(0x0c, WAB2, WAB2)
                Or(0x0c, WAB3, WAB3)
            }
            If(LEqual(Local1, 0xfe)) {
                If(LEqual(Local2, One)) {
                    Store(0x08, WAB4)
                }
                Else {
                    Store(Zero, WAB4)
                }
                Store(0x08, WAB5)
                TRAP(TRTI, 0x20)
                Store(0x05, WEID)
                Store(Zero, WMED)
                Notify(WMID, 0x80)
            }
            Else {
                If(LEqual(Local1, 0xff)) {
                    Store(WAB1, Local3)
                    And(Local3, 0x08, Local3)
                    ShiftRight(Local3, 0x03, Local3)
                    If(LNot(LEqual(Local3, Local2))) {
                        ^^PCI0.LPC.EC0._Q15()
                    }
                }
                Else {
                    If(LEqual(Local1, Zero)) {
                        If(LEqual(Local2, One)) {
                            Store(One, WAB4)
                        }
                        Else {
                            Store(Zero, WAB4)
                        }
                        Store(One, WAB5)
                        TRAP(TRTI, 0x20)
                        Store(0x05, WEID)
                        Store(Zero, WMED)
                        Notify(WMID, 0x80)
                    }
                    If(LEqual(Local1, One)) {
                        If(LEqual(Local2, One)) {
                            Store(0x02, WAB4)
                        }
                        Else {
                            Store(Zero, WAB4)
                        }
                        Store(0x02, WAB5)
                        TRAP(TRTI, 0x20)
                        Store(0x05, WEID)
                        Store(Zero, WMED)
                        Notify(WMID, 0x80)
                    }
                }
            }
            Return(Package(0x02) {
                Zero,
                Zero,
            })
        }
        Method(GTFR) {
            Store(Package(0x03) {
                Zero,
                0x80,
                Buffer(0x80) { },
            }, Local0)
            Store(0x82, Local2)
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
            If(LEqual(VTST, One)) {
                Store(One, Local2)
            }
            Else {
                Store(Zero, Local2)
            }
            Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), One, ))
            Return(Local0)
        }
        Method(_WED, 1) {
            Concatenate(WEID, WMED, Local0)
            Return(Local0)
        }
        Name(WQAE, Buffer(0x08a9) {0x46, 0x4f, 0x4d, 0x42, 0x1, 0x0, 0x0, 0x0, 0x99, 0x8, 0x0, 0x0, 0x8a, 0x3a, 0x0, 0x0, 0x44, 0x53, 0x0, 0x1, 0x1a, 0x7d, 0xda, 0x54, 0x98, 0x4b, 0x9c, 0x0, 0x1, 0x6, 0x18, 0x42, 0x10, 0x13, 0x10, 0x22, 0x21, 0x4, 0x12, 0x1, 0xa1, 0xc8, 0x2c, 0xc, 0x86, 0x10, 0x38, 0x2e, 0x84, 0x1c, 0x40, 0x88, 0x59, 0x50, 0x8, 0x21, 0x10, 0xea, 0x4f, 0x20, 0xbf, 0x2, 0x10, 0x3a, 0x14, 0x20, 0x53, 0x80, 0x41, 0x1, 0x4e, 0x11, 0x44, 0xd0, 0xab, 0x0, 0x9b, 0x2, 0x4c, 0xa, 0xb0, 0x28, 0x40, 0xbb, 0x0, 0xcb, 0x2, 0x74, 0xb, 0x90, 0xe, 0x4b, 0x44, 0x82, 0xa3, 0xc4, 0x80, 0xa3, 0x74, 0x62, 0xb, 0x37, 0x6c, 0xf0, 0x42, 0x51, 0x34, 0x83, 0x28, 0x9, 0x2a, 0x17, 0xe0, 0x1b, 0x41, 0xe0, 0xe5, 0xa, 0x90, 0x3c, 0x1, 0x69, 0x16, 0x60, 0x58, 0x80, 0x75, 0x1, 0xb2, 0x87, 0x40, 0xa5, 0xe, 0x1, 0x25, 0x67, 0x8, 0xa8, 0x1, 0xb4, 0x3a, 0x1, 0xe1, 0x57, 0x3a, 0x25, 0x24, 0x41, 0x38, 0x63, 0x15, 0x8f, 0xaf, 0x59, 0x34, 0x3d, 0x27, 0x39, 0xc7, 0x90, 0xe3, 0x71, 0xa1, 0x7, 0xc1, 0x!
 5, 0x78, 0x18, 0x6, 0x1d, 0xb2, 0x22, 0x6b, 0x80, 0xc1, 0x58, 0x18, 0xb, 0x75, 0x31, 0x6a, 0xd4, 0x48, 0xd9, 0x80, 0xc, 0x51, 0x12, 0x1c, 0x6a, 0xd4, 0x96, 0x28, 0xc0, 0xfc, 0x38, 0x34, 0xbb, 0xb6, 0xc7, 0x42, 0x20, 0x99, 0xb4, 0xa1, 0xa0, 0xa4, 0x40, 0x68, 0x6c, 0x67, 0xea, 0x19, 0x45, 0x3c, 0x52, 0xc3, 0x24, 0xf0, 0x28, 0x22, 0x1b, 0x8d, 0x43, 0x63, 0x87, 0xe1, 0x61, 0x6, 0x3b, 0x88, 0xc3, 0x38, 0xe6, 0xc8, 0x9, 0x3c, 0xa1, 0x23, 0x3d, 0xf2, 0xc2, 0xe6, 0x29, 0xd4, 0x18, 0xcd, 0x41, 0x11, 0xb8, 0xd0, 0x18, 0x19, 0x10, 0xf2, 0x3c, 0x7e, 0x8d, 0xc4, 0x4, 0x76, 0x2f, 0xc0, 0x1a, 0xa6, 0x60, 0x1b, 0x9b, 0x98, 0xfe, 0xff, 0x10, 0x47, 0x1e, 0xa3, 0xad, 0xb9, 0xb, 0x29, 0x4c, 0x8c, 0x28, 0xc1, 0xe2, 0x55, 0x3c, 0xd, 0xa1, 0x3c, 0x29, 0x84, 0x8a, 0x54, 0x19, 0x8a, 0x86, 0x1e, 0xa5, 0x42, 0x1, 0xce, 0xe6, 0x21, 0xdc, 0x1a, 0x41, 0x85, 0x10, 0x2b, 0x52, 0xac, 0xf6, 0x7, 0x41, 0x42, 0x2e, 0x5b, 0xc7, 0x7, 0x47, 0x1a, 0xd, 0xea, 0x50, 0xe0, 0xb1, 0x7b, 0xdc, 0xcf, 0x2, 0x3e, 0x8, 0x9!
 c, 0x5b, 0x90, 0xa3, 0x3b, 0x8b, 0x47, 0x85, 0x83, 0xf6, 0xf0,!
  0xd8, 0x6d, 0xc0, 0x67, 0x8, 0x9f, 0x2, 0xf0, 0xae, 0x1, 0x35, 0xfd, 0x83, 0x67, 0x82, 0xe0, 0x50, 0x43, 0xf4, 0xa8, 0xc3, 0x9d, 0xc0, 0x21, 0x32, 0x40, 0x4f, 0xea, 0xb8, 0xb1, 0x83, 0x3b, 0x99, 0x83, 0x7e, 0x6f, 0x68, 0xf6, 0xc6, 0x40, 0x8, 0x8e, 0xc7, 0x97, 0x5, 0x36, 0xe1, 0x4, 0x96, 0x3f, 0x8, 0xd4, 0xc8, 0xc, 0xed, 0x51, 0x9e, 0x56, 0xcc, 0x90, 0xcf, 0xc, 0x26, 0xb0, 0x58, 0x8, 0x29, 0x80, 0xd0, 0x78, 0xc0, 0x7f, 0x3, 0x78, 0xc0, 0xf0, 0xcd, 0xc0, 0xf3, 0x35, 0xc1, 0xb0, 0x10, 0x32, 0xb2, 0xa, 0x8f, 0x87, 0x8e, 0xc2, 0xd7, 0x83, 0xc3, 0x39, 0xad, 0x78, 0x26, 0x18, 0xe, 0x42, 0x27, 0x9, 0x8b, 0x1a, 0x36, 0x3d, 0x39, 0xf0, 0x43, 0x3, 0xbb, 0x19, 0x9c, 0xc1, 0x23, 0x80, 0x47, 0x72, 0x42, 0xfe, 0x98, 0x78, 0x60, 0xf0, 0x1, 0xf1, 0xde, 0xa7, 0x4c, 0x46, 0x70, 0xa6, 0x6, 0xf4, 0x71, 0xc0, 0xff, 0xff, 0xa1, 0xf0, 0x21, 0x7a, 0x7c, 0xa7, 0x7c, 0xbc, 0x96, 0x0, 0x21, 0x59, 0xe3, 0x84, 0x7e, 0x87, 0xf0, 0xf1, 0xc3, 0x47, 0x16, 0x47, 0x84, 0x90, 0x93, 0x53, 0x0, 0x1a, 0xf8, 0x74!
 , 0xcf, 0x2e, 0xc2, 0xe9, 0x7a, 0x52, 0xe, 0x34, 0xc, 0x3a, 0x4e, 0x70, 0x9c, 0x7, 0xc0, 0x31, 0x4e, 0xf8, 0xe7, 0x2, 0xf8, 0x3, 0xe4, 0xa7, 0x8c, 0x57, 0x8c, 0x4, 0x8e, 0x39, 0x42, 0xf4, 0xb9, 0xc6, 0x23, 0xc4, 0xc2, 0x3f, 0x55, 0x14, 0x3e, 0x10, 0x32, 0x46, 0x70, 0x1, 0x7a, 0x8c, 0xc0, 0x37, 0xe0, 0x18, 0xd1, 0x47, 0x9, 0xae, 0xfe, 0xa0, 0x41, 0x7, 0x88, 0xfb, 0xff, 0xf, 0x10, 0x3e, 0xa8, 0x7, 0x8, 0x7c, 0xa3, 0x1f, 0x3d, 0xd0, 0xe3, 0xb2, 0xe8, 0xf3, 0x80, 0x8c, 0x9f, 0x68, 0x34, 0x2f, 0x7e, 0x3a, 0xe0, 0x87, 0xf, 0xf0, 0x80, 0x7a, 0x48, 0x38, 0x50, 0xcc, 0xb4, 0x39, 0xe8, 0xb3, 0xcb, 0xa1, 0x63, 0x87, 0xb, 0xfe, 0x13, 0x8, 0xb8, 0xe4, 0x1d, 0xc2, 0x40, 0x31, 0x62, 0xfc, 0x39, 0xc8, 0xa7, 0x30, 0xf0, 0xff, 0xff, 0x4f, 0x61, 0xb8, 0x11, 0xf0, 0x20, 0xaf, 0x5, 0x9f, 0xb6, 0xa8, 0x74, 0x18, 0xd4, 0x81, 0xb, 0x30, 0x9, 0x1a, 0xe1, 0x59, 0xa2, 0x36, 0x8, 0x1, 0xbf, 0x4d, 0xbc, 0x6d, 0xf9, 0x16, 0x10, 0xe7, 0xc8, 0x7b, 0x3b, 0x70, 0x11, 0x8c, 0x8, 0xa7, 0x1d, 0xca, 0x63, 0x88,!
  0x18, 0x23, 0xca, 0xe3, 0x96, 0x51, 0xde, 0xb6, 0x5e, 0x0, 0xe2, 0x9d,!
  0xe5, 0xf3, 0x96, 0x31, 0x82, 0x47, 0x7e, 0xe0, 0x62, 0x62, 0xdf, 0x13, 0xfa, 0xb9, 0xf9, 0xc0, 0x5, 0x38, 0xfb, 0xff, 0x1f, 0xb8, 0x0, 0xe, 0x5, 0x3d, 0xc, 0xa1, 0x87, 0xe1, 0xa9, 0x9c, 0xcb, 0x13, 0xe5, 0xa9, 0x44, 0x8c, 0x1a, 0x26, 0xea, 0x33, 0x94, 0x2f, 0x1a, 0x3e, 0x10, 0x81, 0xef, 0xcc, 0x5, 0xfc, 0xfe, 0xff, 0x7, 0x22, 0x38, 0x2, 0xcf, 0x34, 0xa0, 0xf4, 0x39, 0x3, 0x81, 0x9c, 0x8a, 0xf, 0x35, 0xc0, 0x48, 0xf4, 0xab, 0xc1, 0x27, 0x1a, 0x2a, 0x13, 0x6, 0x75, 0xa8, 0x1, 0x4c, 0x5e, 0x61, 0x9e, 0x46, 0xcf, 0xf9, 0x59, 0xc6, 0xa7, 0x1a, 0x1f, 0x4a, 0x8d, 0x63, 0x88, 0x97, 0x99, 0x87, 0x1a, 0x1f, 0xb, 0x5e, 0x49, 0x7d, 0xa8, 0x31, 0x54, 0x9c, 0x87, 0x1a, 0x9f, 0x48, 0x3, 0x45, 0x7d, 0xb3, 0x79, 0xb6, 0x31, 0x7a, 0x7c, 0xdf, 0x50, 0xd, 0xf1, 0x50, 0xc3, 0x84, 0xbd, 0x23, 0xf4, 0xc1, 0xf5, 0xa1, 0x6, 0x1c, 0xff, 0xff, 0x43, 0xd, 0xc0, 0xff, 0xff, 0xff, 0xa1, 0x6, 0x70, 0x74, 0x34, 0x80, 0x73, 0x64, 0xc4, 0x1d, 0xd, 0xc0, 0x75, 0x28, 0x5, 0xe, 0x47, 0x3, 0xe0, 0x71, 0x14, 0!
 x2, 0xf3, 0x85, 0xc6, 0x47, 0x21, 0x60, 0xf1, 0xff, 0x3f, 0xa, 0xe1, 0x64, 0x9f, 0x83, 0x50, 0x42, 0x8f, 0x42, 0x80, 0x54, 0xc8, 0xa7, 0x88, 0x67, 0x1f, 0x5f, 0x7e, 0x1e, 0x8, 0x22, 0xbc, 0xe6, 0xfb, 0x14, 0xe4, 0x43, 0xbe, 0x8f, 0x42, 0xc, 0xc6, 0x50, 0xbe, 0x6, 0xf9, 0x28, 0xc4, 0xa0, 0x5e, 0x83, 0x7c, 0xdf, 0x37, 0xc8, 0x91, 0x18, 0xfb, 0x99, 0xc0, 0x47, 0x21, 0x26, 0xed, 0x28, 0x4, 0x28, 0xfc, 0xff, 0x1f, 0x85, 0x0, 0xfe, 0xff, 0xff, 0x8f, 0x42, 0x80, 0xb3, 0x0, 0x47, 0x3, 0xd0, 0x4d, 0xeb, 0x51, 0x8, 0xbc, 0x77, 0x96, 0xd3, 0x3e, 0x1, 0x9f, 0x85, 0x0, 0xb3, 0xff, 0xff, 0xb3, 0x10, 0x30, 0x3b, 0xa, 0x45, 0x3d, 0xe8, 0x57, 0xa1, 0x27, 0x80, 0x17, 0x80, 0x18, 0x61, 0xde, 0x81, 0x5e, 0x32, 0xd9, 0x5d, 0xdc, 0x38, 0x4f, 0x2e, 0xa7, 0x6d, 0x94, 0x97, 0x20, 0x1f, 0x28, 0x9e, 0x85, 0xc, 0xf5, 0x2e, 0x14, 0xf4, 0x8d, 0xdc, 0xa3, 0x8c, 0x19, 0x3f, 0xc4, 0xf3, 0x90, 0x21, 0x9e, 0x85, 0x0, 0x76, 0xfd, 0xff, 0xcf, 0x42, 0x0, 0xff, 0xff, 0xff, 0x47, 0x3, 0xf8, 0x2f, 0x0, 0x9f, 0x85,!
  0x80, 0xe7, 0x9, 0xe0, 0x41, 0xdb, 0x67, 0x21, 0x80, 0x33, 0x87, 0xcb,!
  0xf3, 0xf, 0x7a, 0x60, 0xef, 0x11, 0x9e, 0xf5, 0x71, 0xbf, 0x5e, 0x7a, 0xe0, 0xf, 0x5, 0xcf, 0x42, 0xc, 0xeb, 0x98, 0x7c, 0x16, 0x62, 0x10, 0x2f, 0x9a, 0x86, 0x78, 0xe1, 0xf4, 0x61, 0xc0, 0xff, 0x7f, 0xbc, 0xc0, 0xaf, 0x9c, 0x6, 0xa, 0x12, 0xe8, 0x59, 0x8, 0x60, 0xfc, 0xff, 0xff, 0x2c, 0x4, 0x90, 0x71, 0x8d, 0x3a, 0xb, 0x1, 0xcb, 0x63, 0xc, 0x3b, 0xad, 0x24, 0xf8, 0xff, 0x3f, 0xb, 0x1, 0x9f, 0x5c, 0x46, 0xe, 0x42, 0x98, 0x88, 0x6f, 0x5, 0x1f, 0x33, 0x1, 0xa5, 0xe7, 0xa0, 0x17, 0x77, 0x63, 0x4, 0x7e, 0x91, 0x78, 0xcc, 0x64, 0x47, 0x4d, 0xc3, 0x3c, 0xb, 0x19, 0xef, 0x30, 0xce, 0xe0, 0x9, 0xde, 0x93, 0x7f, 0x16, 0x62, 0x60, 0xc7, 0x18, 0xec, 0x51, 0xc8, 0xa0, 0x6, 0x8f, 0x1d, 0x22, 0x4c, 0xa0, 0x67, 0x21, 0x16, 0x6a, 0xdc, 0x3a, 0x7f, 0xf8, 0x2c, 0x4, 0xbc, 0xff, 0xff, 0x67, 0x21, 0xc0, 0xd3, 0x61, 0xc3, 0x67, 0xd, 0xf0, 0xc, 0xdf, 0xa3, 0x3a, 0x87, 0xc7, 0x63, 0xe0, 0x92, 0x55, 0xc7, 0x9, 0x83, 0xe5, 0x5e, 0xa7, 0x6c, 0x9c, 0x61, 0xe8, 0x20, 0xac, 0xe, 0x48, 0xc3, 0xc1, 0xdc!
 , 0x43, 0xe, 0xe2, 0x7c, 0xd8, 0x40, 0xad, 0x8, 0x4e, 0xc7, 0x24, 0xf, 0xda, 0x5a, 0x28, 0xa4, 0x80, 0x46, 0x3, 0x32, 0xbc, 0x33, 0x9f, 0x96, 0x28, 0x88, 0x1, 0x7d, 0x2, 0xb2, 0x8d, 0x73, 0x0, 0x6a, 0x2f, 0x9a, 0x2, 0x39, 0xda, 0x60, 0xf4, 0x5f, 0x16, 0xe8, 0x6c, 0x7c, 0xd, 0xe0, 0x1a, 0x20, 0x74, 0x30, 0x30, 0xb4, 0xd5, 0xdc, 0x62, 0x50, 0x60, 0xc6, 0x7f, 0x70, 0x31, 0x81, 0x8f, 0x2e, 0xf8, 0xb3, 0x0, 0xee, 0xff, 0x3f, 0x5c, 0x8f, 0xf6, 0x5d, 0xa0, 0xea, 0xc9, 0xea, 0x8a, 0x60, 0x75, 0x97, 0x17, 0x8, 0x33, 0x32, 0x41, 0x7d, 0x7, 0x2, 0x50, 0x0, 0xf9, 0xe, 0xe0, 0xa3, 0xd3, 0x73, 0x0, 0x9b, 0x48, 0x88, 0x30, 0xd1, 0x8c, 0x8e, 0x98, 0x30, 0x2a, 0xfa, 0x84, 0x29, 0x88, 0x27, 0xec, 0x58, 0x13, 0x46, 0xcf, 0xc4, 0x77, 0x1b, 0x36, 0x62, 0x4c, 0x88, 0xdb, 0x6, 0xb4, 0x9, 0x6, 0xf5, 0x3d, 0x8, 0xd6, 0x90, 0xf9, 0x58, 0x7c, 0x67, 0xc0, 0x4d, 0x19, 0x8c, 0x73, 0x62, 0xd7, 0x4, 0xb, 0x9c, 0x33, 0xc8, 0xe1, 0x31, 0xd7, 0x2f, 0x7e, 0x5b, 0xf2, 0xe8, 0xf8, 0x41, 0xc1, 0x37, 0x1c, 0x86, !
 0xfd, 0x30, 0xe6, 0x19, 0xbd, 0x8a, 0xf9, 0xe6, 0x86, 0x81, 0xf5, 0x78,!
  0x39, 0xac, 0xd1, 0xc2, 0x1e, 0xda, 0xab, 0x87, 0xcf, 0x2d, 0x3e, 0x4f, 0x18, 0x23, 0xac, 0x2f, 0x2c, 0xe0, 0x0, 0xfc, 0xff, 0xbf, 0x5a, 0xc1, 0xbe, 0x6b, 0x80, 0xe7, 0x26, 0xe4, 0xbb, 0x6, 0xc0, 0xda, 0xff, 0xff, 0x5d, 0x3, 0xfe, 0x35, 0xc1, 0x77, 0xd, 0xe0, 0x3d, 0x74, 0xdf, 0x35, 0x80, 0x6b, 0xf6, 0xbb, 0x6, 0xea, 0x18, 0x60, 0x85, 0x77, 0xd, 0x68, 0xb7, 0xb4, 0x57, 0xb4, 0x87, 0x2a, 0x6b, 0xba, 0x6c, 0xa0, 0xd4, 0x5c, 0x36, 0x0, 0x6d, 0xff, 0xff, 0xcb, 0x6, 0xb0, 0x91, 0x32, 0x61, 0x54, 0xf8, 0x9, 0x53, 0x10, 0x4f, 0xd8, 0xc1, 0x2e, 0x1b, 0xa0, 0x88, 0x71, 0xd9, 0x0, 0xfd, 0xd8, 0x5e, 0x36, 0x80, 0xc1, 0x3d, 0x81, 0xdf, 0x36, 0x80, 0x37, 0xa4, 0x6f, 0x1b, 0xc0, 0xf4, 0xff, 0xf, 0x31, 0xff, 0x6d, 0x3, 0xc5, 0x61, 0x95, 0xb7, 0xd, 0x88, 0x87, 0x77, 0x46, 0x60, 0x55, 0xd7, 0xd, 0x94, 0x9e, 0xeb, 0x6, 0x40, 0x2, 0x31, 0x13, 0x46, 0xc5, 0x9f, 0x30, 0x5, 0xf1, 0x84, 0x1d, 0xed, 0xba, 0x1, 0x8a, 0x20, 0xd7, 0xd, 0xd0, 0xcf, 0xeb, 0x94, 0xc1, 0xfa, 0xff, 0xbf, 0x6e, 0x60, 0x2f!
 , 0xa, 0x98, 0xfb, 0x6, 0xf0, 0x86, 0xe5, 0xf7, 0xd, 0xc0, 0xc7, 0xe5, 0x1b, 0x73, 0xdf, 0x0, 0x6c, 0xfe, 0xff, 0xef, 0x1b, 0x0, 0x13, 0x2e, 0xa, 0xb8, 0xfb, 0x6, 0xf0, 0xbe, 0x48, 0xfb, 0xbe, 0x1, 0x5c, 0x83, 0x49, 0xf8, 0xff, 0xdf, 0xf5, 0xe8, 0xb, 0x40, 0x51, 0x60, 0x50, 0x43, 0xf2, 0x99, 0x0, 0x3f, 0xba, 0x83, 0x3b, 0xa6, 0xe0, 0x4c, 0x12, 0x1c, 0x6a, 0xe0, 0xbe, 0x2, 0x3c, 0xcd, 0x9f, 0xd6, 0x7b, 0xbd, 0xe7, 0xf1, 0x24, 0x10, 0x92, 0x1d, 0x61, 0x7c, 0x6c, 0x43, 0x9c, 0xc, 0xc8, 0x41, 0xdc, 0x47, 0xf7, 0x88, 0xef, 0xe1, 0x86, 0x49, 0xe0, 0x21, 0x33, 0x34, 0xe, 0x8d, 0x1d, 0x86, 0xef, 0x2, 0xc1, 0xe, 0xe2, 0x30, 0xce, 0xd7, 0x4, 0x9e, 0xd0, 0x83, 0xc0, 0x7b, 0xf9, 0xa3, 0x41, 0xf1, 0x77, 0x3, 0x4a, 0x60, 0xb8, 0xd0, 0x98, 0x91, 0xfa, 0x6c, 0xff, 0x8e, 0x70, 0x24, 0x26, 0xb0, 0x7b, 0x48, 0x59, 0x13, 0xa0, 0xf1, 0x96, 0x43, 0x20, 0x7a, 0xc3, 0x91, 0x2d, 0x14, 0xcd, 0x2d, 0xca, 0xfb, 0x42, 0x14, 0x3b, 0x43, 0x10, 0x46, 0x94, 0x60, 0x41, 0x9e, 0xd6, 0x62, 0x45, 0x79, 0x66, 0!
 x37, 0x42, 0xc4, 0x10, 0xaf, 0xc, 0x81, 0x5e, 0x12, 0xc2, 0x7, 0x79, 0x!
 ec, 0x89, 0xd3, 0xfe, 0x20, 0x88, 0xf8, 0x17, 0x82, 0x3c, 0x80, 0x28, 0xd2, 0x68, 0x50, 0xe7, 0x6, 0x8f, 0xdd, 0x87, 0x10, 0x5f, 0xfe, 0x7d, 0xb8, 0xf7, 0xe8, 0xe, 0xee, 0x45, 0xfe, 0xa0, 0x3d, 0x3c, 0x76, 0xc2, 0xf0, 0x41, 0x3, 0x8e, 0x6b, 0x40, 0x4d, 0xff, 0x19, 0x1, 0x2c, 0x97, 0x7f, 0xf8, 0xe3, 0xf1, 0x3d, 0xc1, 0xf3, 0x39, 0xe1, 0x4, 0x96, 0x3f, 0x8, 0xd4, 0x71, 0x84, 0xcf, 0xf3, 0x85, 0xc3, 0x90, 0xcf, 0x2, 0x87, 0xc5, 0xc4, 0xa, 0xf8, 0xff, 0x9f, 0x4c, 0xd8, 0x78, 0xc0, 0x7f, 0xf, 0x79, 0xfd, 0xf7, 0xcd, 0xc0, 0xf3, 0x35, 0xc1, 0x88, 0x10, 0x72, 0x32, 0x1e, 0x34, 0xe8, 0xd9, 0xf8, 0x80, 0xe1, 0xeb, 0x9, 0x3b, 0x77, 0x70, 0x51, 0xe7, 0xe, 0xd4, 0xd1, 0xc1, 0xa7, 0x6, 0x76, 0xb3, 0xc1, 0x1c, 0xb7, 0xf9, 0x59, 0x3, 0xfc, 0x23, 0x84, 0x7f, 0x7b, 0xf0, 0xbc, 0x7c, 0x65, 0x78, 0x75, 0x48, 0xe0, 0x90, 0x23, 0x44, 0x8f, 0xcb, 0x23, 0xc4, 0x9c, 0x6f, 0x30, 0x43, 0x4, 0xd7, 0x59, 0x0, 0x1c, 0x43, 0x4, 0x3e, 0x67, 0x4c, 0x9f, 0x71, 0x60, 0xfe, 0xff, 0xcf, 0x38, 0xec, 0xd2, 0xc3!
 , 0x7, 0x6a, 0x78, 0x13, 0xf8, 0xfe, 0x8c, 0x3b, 0xd2, 0x18, 0x9c, 0x1f, 0x33, 0x1e, 0x76, 0x18, 0xf8, 0xfb, 0x8e, 0x67, 0x70, 0x34, 0x3e, 0xa0, 0x18, 0x21, 0xf8, 0x73, 0xc9, 0x73, 0x8a, 0x35, 0xf, 0x52, 0x33, 0x7a, 0x67, 0x38, 0x4, 0x76, 0xb3, 0xc2, 0x1d, 0x38, 0x3c, 0x4, 0x3e, 0x80, 0x56, 0x27, 0x47, 0x4e, 0x3f, 0xa7, 0x84, 0x1b, 0x3e, 0xbf, 0xa, 0x60, 0xe, 0x41, 0x38, 0x85, 0x36, 0x7d, 0x6a, 0x34, 0x6a, 0xd5, 0xa0, 0x4c, 0x8d, 0x32, 0xd, 0x6a, 0xf5, 0xa9, 0xd4, 0x98, 0xb1, 0xb, 0x8b, 0x3, 0xbe, 0x2, 0x74, 0x1c, 0xb0, 0x3c, 0xa, 0x1d, 0xc1, 0xc8, 0x9b, 0x40, 0x20, 0xe, 0xb, 0x42, 0x23, 0xbd, 0x71, 0x4, 0x62, 0xc9, 0xef, 0x2f, 0x81, 0x58, 0xee, 0x3, 0x45, 0x20, 0xe, 0x68, 0x2, 0x9c, 0xaa, 0x0, 0xa7, 0xaf, 0x1, 0x81, 0x38, 0x32, 0x8, 0x15, 0xfa, 0x35, 0x13, 0x88, 0x63, 0x82, 0xd0, 0x50, 0x3e, 0x40, 0x98, 0xf4, 0x17, 0x80, 0x0, 0x89, 0x11, 0x10, 0x16, 0xee, 0xe5, 0x20, 0x10, 0x4b, 0x7b, 0x2d, 0x8, 0xc4, 0x42, 0xac, 0x80, 0xb0, 0xb8, 0x20, 0x34, 0x9c, 0x16, 0x10, 0x26, 0xc9, !
 0xc, 0x8, 0xb, 0x4, 0x42, 0xe5, 0x3f, 0xd3, 0x4, 0x62, 0x91, 0x6e, 0x0,!
  0xe9, 0xba, 0x5, 0xe2, 0x20, 0x7a, 0x40, 0x98, 0xc, 0x3f, 0x20, 0x2c, 0x34, 0x8, 0x8d, 0xf6, 0x6c, 0x10, 0x20, 0x31, 0x4, 0xc2, 0xe2, 0x3b, 0x2, 0x61, 0xe2, 0xdf, 0x44, 0x2, 0x71, 0x4a, 0x4b, 0x10, 0x37, 0xa5, 0x1, 0x6, 0x11, 0x90, 0x93, 0x6a, 0x2, 0x62, 0xb9, 0x41, 0x34, 0x24, 0xf2, 0xb0, 0x10, 0x90, 0x93, 0x82, 0x68, 0xc0, 0xc4, 0x14, 0x90, 0xff, 0xff, 0x43, 0x13, 0x88, 0x80, 0x9c, 0xca, 0x15, 0x10, 0x8b, 0x8, 0x22, 0x20, 0x27, 0x7b, 0x52, 0x9, 0xc8, 0x39, 0x41, 0x74, 0x4, 0x20, 0xba, 0x80, 0x58, 0x3e, 0x10, 0x1, 0x39, 0x96, 0x2f, 0x20, 0x16, 0x12, 0x44, 0x40, 0x4e, 0xf4, 0xf3, 0x9, 0x44, 0xe2, 0x81, 0x68, 0x10, 0xe4, 0x3f, 0x21, 0x20, 0x67, 0x4, 0x11, 0x10, 0x79, 0x12, 0x5, 0x21, 0x9a, 0x3e, 0x62, 0x2, 0x71, 0x6a, 0x10, 0x9a, 0xec, 0x27, 0x14, 0x84, 0xfc, 0xff, 0x1 })
    }
    Device(QBTN) {
        Name(_HID, 0x320cd041)
        Name(_UID, One)
        Method(_STA) {
            If(LEqual(^^PCI0.TPOS, 0x40)) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(GHID) {
            If(LEqual(SVIM, 0x04)) {
                Notify(QBTN, 0x02)
            }
            Return(Buffer(One) {0x1 })
        }
    }
    Device(DBTN) {
        Name(_HID, 0x320cd041)
        Name(_UID, 0x02)
        Method(_STA) {
            If(LEqual(^^PCI0.TPOS, 0x40)) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(GHID) {
            If(LEqual(SVIM, 0x05)) {
                Notify(DBTN, 0x02)
            }
            Return(Buffer(One) {0x2 })
        }
    }
    Device(MBTN) {
        Name(_HID, 0x320cd041)
        Name(_UID, 0x03)
        Method(_STA) {
            If(LEqual(^^PCI0.TPOS, 0x40)) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(GHID) {
            If(LEqual(SVIM, 0x03)) {
                Notify(MBTN, 0x02)
            }
            Return(Buffer(One) {0x3 })
        }
    }
    Device(EBTN) {
        Name(_HID, 0x320cd041)
        Name(_UID, 0x04)
        Method(_STA) {
            If(LEqual(^^PCI0.TPOS, 0x40)) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(GHID) {
            If(LEqual(SVIM, 0x10)) {
                Notify(EBTN, 0x02)
            }
            Return(Buffer(One) {0x4 })
        }
    }
    Device(PBTN) {
        Name(_HID, 0x320cd041)
        Name(_UID, 0x06)
        Method(_STA) {
            If(LEqual(^^PCI0.TPOS, 0x40)) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(GHID) {
            If(LEqual(SVIM, 0x06)) {
                Notify(PBTN, 0x02)
            }
            Return(Buffer(One) {0x6 })
        }
    }
    Device(VBTN) {
        Name(_HID, 0x320cd041)
        Name(_UID, 0x07)
        Method(_STA) {
            If(LEqual(^^PCI0.TPOS, 0x40)) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(GHID) {
            If(LEqual(SVIM, 0x09)) {
                Notify(VBTN, 0x02)
            }
            Return(Buffer(One) {0x7 })
        }
    }
    Device(TBTN) {
        Name(_HID, 0x320cd041)
        Name(_UID, 0x08)
        Method(_STA) {
            If(LEqual(^^PCI0.TPOS, 0x40)) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(GHID) {
            If(LEqual(SVIM, 0x12)) {
                Notify(TBTN, 0x02)
            }
            Return(Buffer(One) {0x8 })
        }
    }
}

}
/*
HPET: Length=56, Revision=1, Checksum=78,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
	Creator ID=MSFT, Creator Revision=0x1000013
 */
/*
APIC: Length=108, Revision=2, Checksum=16,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
	Creator ID=MSFT, Creator Revision=0x1000013
 */
/*
MCFG: Length=60, Revision=1, Checksum=30,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
	Creator ID=MSFT, Creator Revision=0x1000013
 */
/*
ASF!: Length=165, Revision=32, Checksum=127,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
	Creator ID=MSFT, Creator Revision=0x1000013
 */
/*
SLIC: Length=374, Revision=1, Checksum=155,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x6040000,
	Creator ID= LTP, Creator Revision=0x1
 */
/*
BOOT: Length=40, Revision=1, Checksum=14,
	OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
	Creator ID=MSFT, Creator Revision=0x1000013
 */
/*
SSDT: Length=1621, Revision=1, Checksum=85,
	OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
	Creator ID=INTL, Creator Revision=0x20051117
 */

>Release-Note:

>Audit-Trail:
From: Jukka Ruohonen <jruohonen@iki.fi>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: port-amd64/42895
Date: Tue, 16 Mar 2010 11:10:59 +0200

 Can you try the following patch (for -current)?

 It is a slight variation of the patch you already tested. As such, it is
 still very much an ugly hack.

 This tries to rule out the possibility that AcpiGetObjectInfo() -- called
 before any device attachments during the making of the device nodes --
 references EC's operation regions before acpiec(4) has attached.


 Index: acpi.c
 ===================================================================
 RCS file: /cvsroot/src/sys/dev/acpi/acpi.c,v
 retrieving revision 1.161
 diff -u -p -r1.161 acpi.c
 --- acpi.c	16 Mar 2010 08:02:01 -0000	1.161
 +++ acpi.c	16 Mar 2010 08:58:16 -0000
 @@ -171,6 +171,7 @@ static const char * const acpi_ignored_i
  	"PNP0B00",	/* AT RTC is handled internally */
  	"PNP0C01",	/* No "System Board" driver */
  	"PNP0C02",	/* No "PnP motherboard register resources" driver */
 +	"PNP0C09",	/* Early attach of ACPI EC */
  	"PNP0C0B",	/* No need for "ACPI fan" driver */
  	"PNP0C0F",	/* ACPI PCI link devices are handled internally */
  	"INT0800",	/* Intel HW RNG is handled internally */
 @@ -193,6 +194,8 @@ static char acpi_supported_states[3 * 6 
   * Prototypes.
   */
  static void		acpi_build_tree(struct acpi_softc *);
 +static ACPI_STATUS	acpi_attach_ec(ACPI_HANDLE, uint32_t,
 +					  void *, void **);
  static ACPI_STATUS	acpi_make_devnode(ACPI_HANDLE, uint32_t,
  					  void *, void **);

 @@ -433,8 +436,9 @@ acpi_attach(device_t parent, device_t se
  {
  	struct acpi_softc *sc = device_private(self);
  	struct acpibus_attach_args *aa = aux;
 -	ACPI_STATUS rv;
  	ACPI_TABLE_HEADER *rsdt;
 +	ACPI_HANDLE handle;
 +	ACPI_STATUS rv;

  	aprint_naive("\n");
  	aprint_normal(": Intel ACPICA %08x\n", ACPI_CA_VERSION);
 @@ -516,8 +520,18 @@ acpi_attach(device_t parent, device_t se
  		    AcpiFormatException(rv));
  		return;
  	}
 +
  	acpi_active = 1;

 +	/*
 +	 * Attach EC. XXX: A hack.
 +	 */
 +	rv = AcpiGetHandle(ACPI_ROOT_OBJECT, "\\_SB_", &handle);
 +
 +	if (ACPI_SUCCESS(rv))
 +		(void)AcpiWalkNamespace(ACPI_TYPE_ANY, handle, 100,
 +		    acpi_attach_ec, sc, NULL);
 +
  	/* Our current state is "awake". */
  	sc->sc_sleepstate = ACPI_STATE_S0;

 @@ -858,6 +872,57 @@ acpi_rescan_capabilities(struct acpi_sof
  #undef ACPI_STA_DEV_VALID

  /*
 + * XXX: A hack.
 + */
 +static ACPI_STATUS
 +acpi_attach_ec(ACPI_HANDLE handle, uint32_t level,
 +    void *context, void **status)
 +{
 +	struct acpi_softc *sc = context;
 +	struct acpi_attach_args aa;
 +	struct acpi_devnode *ad;
 +	ACPI_DEVICE_INFO *devinfo;
 +	ACPI_OBJECT_TYPE type;
 +	ACPI_INTEGER hid;
 +	ACPI_STATUS rv;
 +
 +	rv = AcpiGetType(handle, &type);
 +
 +	if (ACPI_FAILURE(rv))
 +		return AE_OK;
 +
 +	if (type != ACPI_TYPE_DEVICE)
 +		return AE_OK;
 +
 +	rv = acpi_eval_integer(handle, "_HID", &hid);
 +
 +	if (hid != 0x090cd041) /* Raw EISA ID. */
 +		return AE_OK;
 +
 +	rv = AcpiGetObjectInfo(handle, &devinfo);
 +
 +	if (ACPI_FAILURE(rv))
 +		return AE_OK;
 +
 +	ad = malloc(sizeof(*ad), M_ACPI, M_NOWAIT | M_ZERO);
 +
 +	if (ad == NULL)
 +		return AE_NO_MEMORY;
 +
 +	ad->ad_parent = sc->sc_dev;
 +	ad->ad_devinfo = devinfo;
 +	ad->ad_handle = handle;
 +	ad->ad_type = type;
 +
 +	aa.aa_node = ad;
 +
 +	ad->ad_device = config_found_ia(sc->sc_dev,
 +	    "acpinodebus", &aa, acpi_print);
 +
 +	return AE_ERROR;	/* Found one. */
 +}
 +
 +/*
   * acpi_make_devnode:
   *
   *	Make an ACPI devnode.

State-Changed-From-To: open->feedback
State-Changed-By: jruoho@NetBSD.org
State-Changed-When: Wed, 20 Apr 2011 05:56:37 +0000
State-Changed-Why:

I applied some fixes for these issues in 5.99.X -current. Can you see
whether these made any difference? (Unfortunately, without the actual
hardware, issues like this are extremely difficult to debug, leaving
just some vague ideas on what might be wrong.)



From: Rhialto <rhialto@falu.nl>
To: gnats-bugs@NetBSD.org
Cc: port-amd64-maintainer@NetBSD.org, netbsd-bugs@NetBSD.org,
        gnats-admin@NetBSD.org, jruoho@NetBSD.org, rhialto@falu.nl
Subject: Re: port-amd64/42895 (Weird ACPI messages every 30 seconds on the
 console)
Date: Sun, 5 Jun 2011 22:24:52 +0200

 On Wed 20 Apr 2011 at 05:56:38 +0000, jruoho@NetBSD.org wrote:
 > Synopsis: Weird ACPI messages every 30 seconds on the console
 > 
 > State-Changed-From-To: open->feedback
 > State-Changed-By: jruoho@NetBSD.org
 > State-Changed-When: Wed, 20 Apr 2011 05:56:37 +0000
 > State-Changed-Why:
 > 
 > I applied some fixes for these issues in 5.99.X -current. Can you see
 > whether these made any difference? (Unfortunately, without the actual
 > hardware, issues like this are extremely difficult to debug, leaving
 > just some vague ideas on what might be wrong.)

 I have to admit I just looked at the issue again a few days ago.

 I used a recent -current (maybe about a week old now) and I re-adapted
 my config file from GENERIC. This added 

 acpicpu*        at cpu?         # ACPI CPU (including frequency scaling)

 and this silences the messages!

 (If this is because everything works now, or the failing attempt is not
 tried any more, I don't know yet).

 However, twice now the kernel with this option has frozen completely on
 me, within minutes after boot and login.

 I also noticed that estd (for dynamic frequency scaling) didn't like to
 work any more. It claimed not to recognize the cpu. I had to re-add

 options         ENHANCED_SPEEDSTEP

 even though there also is

 est0            at cpu0         # Intel Enhanced SpeedStep (non-ACPI)

 This is probably unrelated, though.

 -Olaf.
 -- 
 ___ Olaf 'Rhialto' Seibert  -- There's no point being grown-up if you 
 \X/ rhialto/at/xs4all.nl    -- can't be childish sometimes. -The 4th Doctor

From: Jukka Ruohonen <jruohonen@iki.fi>
To: gnats-bugs@NetBSD.org
Cc: rhialto@falu.nl
Subject: Re: port-amd64/42895 (Weird ACPI messages every 30 seconds on the console)
Date: Mon, 6 Jun 2011 08:45:27 +0300

 On Sun, Jun 05, 2011 at 08:30:04PM +0000, Rhialto wrote:
 >  I used a recent -current (maybe about a week old now) and I re-adapted
 >  my config file from GENERIC.

 Can you try with vanilla sources and normal GENERIC? This because the
 options ENHANCED_SPEEDSTEP no longer does anything. Post the dmesg.

 >  However, twice now the kernel with this option has frozen completely on
 >  me, within minutes after boot and login.

 Just a freeze? No panic, no traces, nothing? 

 >  I also noticed that estd (for dynamic frequency scaling) didn't like to
 >  work any more. It claimed not to recognize the cpu.

 No errors were printed or anything?

From: Rhialto <rhialto@falu.nl>
To: gnats-bugs@NetBSD.org
Cc: port-amd64-maintainer@NetBSD.org, gnats-admin@NetBSD.org,
        netbsd-bugs@NetBSD.org, rhialto@falu.nl
Subject: Re: port-amd64/42895 (Weird ACPI messages every 30 seconds on the
 console)
Date: Tue, 7 Jun 2011 21:10:03 +0200

 On Mon 06 Jun 2011 at 05:50:04 +0000, Jukka Ruohonen wrote:
 >  Can you try with vanilla sources and normal GENERIC? This because the
 >  options ENHANCED_SPEEDSTEP no longer does anything. Post the dmesg.

 I cvs updated after receiving your email and built new GENERIC and
 VARGAZ kernels.  dmesg for GENERIC included below.
 I tested them for a while yesterday and all was well: no repeated acpi
 error messages (just during autoconfig: grep for "ACPI Error:"). No freeze.

 But: I just turned the laptop on a few moments ago, and it froze mere
 seconds after booting into single user (GENERIC). No X yet, so it was
 clear that there were no messages. The next boot worked a bit longer
 but froze while sitting idle for several minutes at the xdm login screen.

 >  >  However, twice now the kernel with this option has frozen completely on
 >  >  me, within minutes after boot and login.
 >  
 >  Just a freeze? No panic, no traces, nothing? 

 Nothing :-(

 >  >  I also noticed that estd (for dynamic frequency scaling) didn't like to
 >  >  work any more. It claimed not to recognize the cpu.
 >  
 >  No errors were printed or anything?

 This may have been pilot error; upon re-testing I managed to boot
 "netbsd" (being the 5.1 kernel) even while I was pretty sure I typed
 "boot netbsd.bak2".  Whatever it was, the error message, when I got it,
 was "estd: Cannot guess CPU-scaling technology. (maybe you are missing
 some kernel-option?". Hence my adding the option.

 GENERIC dmesg, followed by VARGAZ dmesg:

 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
     2006, 2007, 2008, 2009, 2010, 2011
     The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California.  All rights reserved.

 NetBSD 5.99.52 (GENERIC) #1: Mon Jun  6 21:08:54 CEST 2011
 	rhialto@vargaz.falu.nl:/home/rhialto/tmp/obj.amd64/sys/arch/amd64/compile/GENERIC
 total memory = 3998 MB
 avail memory = 3860 MB
 timecounter: Timecounters tick every 10.000 msec
 RTC BIOS diagnostic error 0x80<clock_battery>
 timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
 Hewlett-Packard Compaq Presario CQ71 Notebook PC (Rev 1)
 mainbus0 (root)
 cpu0 at mainbus0 apid 0: Pentium(R) Dual-Core CPU       T4300  @ 2.10GHz, id 0x1067a
 cpu1 at mainbus0 apid 1: Pentium(R) Dual-Core CPU       T4300  @ 2.10GHz, id 0x1067a
 ioapic0 at mainbus0 apid 4: pa 0xfec00000, version 20, 24 pins
 acpi0 at mainbus0: Intel ACPICA 20110211
 acpi0: X/RSDT: OemId <HPQOEM,SLIC-MPC,00000001>, AslId <    ,01000013>
 acpi0: SCI interrupting at int 9
 timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
 acpiec0 at acpi0 (EC0, PNP0C09-1): io 0x62,0x66
 MCFG (PNP0C02) at acpi0 not configured
 acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
 acpilid0 at acpi0 (LID0, PNP0C0D): ACPI Lid Switch
 acpibut1 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
 acpiacad0 at acpi0 (ACAD, ACPI0003): ACPI AC Adapter
 acpibat0 at acpi0 (BAT0, PNP0C0A-1): ACPI Battery
 acpibat0: Hewlett-Packard LION rechargeable battery
 acpibat0: model number Primary, serial number  
 acpibat0: granularity: low->warn 0.010 Ah, warn->full 0.025 Ah
 acpivga0 at acpi0 (OVGA): ACPI Display Adapter
 acpiout0 at acpivga0 (DD01, 0x0100): ACPI Display Output Device
 acpiout1 at acpivga0 (DD02, 0x0320): ACPI Display Output Device
 acpiout2 at acpivga0 (DD03, 0x0410): ACPI Display Output Device
 acpiout2: brightness levels: 0 10 20 30 40 50 60 70 80 90 100
 acpiout3 at acpivga0 (DD04, 0x0004): ACPI Display Output Device
 acpiout4 at acpivga0 (DD05, 0x0005): ACPI Display Output Device
 acpivga0: unknown output device acpiout0
 acpivga0: unknown output device acpiout1
 acpivga0: unknown output device acpiout2
 acpivga0: unknown output device acpiout3
 acpivga0: unknown output device acpiout4
 acpivga0: connected output devices:
 acpivga0:   0x0400: Unknown Output Device, head 0
 SYSR (PNP0C02) at acpi0 not configured
 hpet0 at acpi0 (HPET, PNP0103): mem 0xfed00000-0xfed003ff irq 0,8
 timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
 attimer1 at acpi0 (TIMR, PNP0100): io 0x40-0x43,0x50-0x53
 FWHD (INT0800) at acpi0 not configured
 pckbc1 at acpi0 (KBC, PNP0303) (kbd port): io 0x60,0x64 irq 1
 pckbc2 at acpi0 (MOUE, SYN1E08) (aux port): irq 12
 acpiwmi0 at acpi0 (WMID, PNP0C14-0): ACPI WMI Interface
 acpiwmibus at acpiwmi0 not configured
 acpidalb0 at acpi0 (QBTN, PNP0C32-1): Direct Application Launch Button
 acpidalb1 at acpi0 (DBTN, PNP0C32-2): Direct Application Launch Button
 acpidalb2 at acpi0 (MBTN, PNP0C32-3): Direct Application Launch Button
 acpidalb3 at acpi0 (EBTN, PNP0C32-4): Direct Application Launch Button
 acpidalb4 at acpi0 (PBTN, PNP0C32-6): Direct Application Launch Button
 acpidalb5 at acpi0 (VBTN, PNP0C32-7): Direct Application Launch Button
 acpidalb6 at acpi0 (TBTN, PNP0C32-8): Direct Application Launch Button
 acpitz0 at acpi0 (TZ01): cpu0 cpu1
 ACPI Error: [\_PR_.CPU0._PPC] Namespace lookup failure, AE_NOT_FOUND (20110211/psargs-392)
 ACPI Error: Method parse/execution failed [\CPUL] (Node 0xffff800007b2dec0), AE_NOT_FOUND (20110211/psparse-560)
 ACPI Error: Method parse/execution failed [\_TZ_.TZ01.OTHD] (Node 0xffff800007b2c380), AE_NOT_FOUND (20110211/psparse-560)
 ACPI Error: Method parse/execution failed [\_TZ_.TZ01._TMP] (Node 0xffff800007b2c540), AE_NOT_FOUND (20110211/psparse-560)
 acpitz0: levels: hot 110.0 C, passive 135.0 C, passive cooling
 ACPI Error: [\_PR_.CPU0._PPC] Namespace lookup failure, AE_NOT_FOUND (20110211/psargs-392)
 ACPI Error: Method parse/execution failed [\CPUL] (Node 0xffff800007b2dec0), AE_NOT_FOUND (20110211/psparse-560)
 ACPI Error: Method parse/execution failed [\_TZ_.TZ01.OTHD] (Node 0xffff800007b2c380), AE_NOT_FOUND (20110211/psparse-560)
 ACPI Error: Method parse/execution failed [\_TZ_.TZ01._TMP] (Node 0xffff800007b2c540), AE_NOT_FOUND (20110211/psparse-560)
 pckbd0 at pckbc1 (kbd slot)
 pckbc1: using irq 1 for kbd slot
 wskbd0 at pckbd0: console keyboard
 pms0 at pckbc1 (aux slot)
 pms0: Synaptics touchpad version 6.5
 pms0: Palm detect
 pckbc1: using irq 12 for aux slot
 wsmouse0 at pms0 mux 0
 pci0 at mainbus0 bus 0: configuration mode 1
 pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
 pchb0 at pci0 dev 0 function 0: vendor 0x8086 product 0x2a40 (rev. 0x07)
 agp0 at pchb0: detected 65532k stolen memory
 agp0: aperture at 0xc0000000, size 0x10000000
 vga0 at pci0 dev 2 function 0: vendor 0x8086 product 0x2a42 (rev. 0x07)
 wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
 wsmux1: connecting to wsdisplay0
 i915drm0 at vga0: Mobile IntelM-BM-. GM45 Express Chipset
 i915drm0: AGP at 0xc0000000 256MB
 i915drm0: Initialized i915 1.6.0 20080730
 vendor 0x8086 product 0x2a43 (miscellaneous display, revision 0x07) at pci0 dev 2 function 1 not configured
 uhci0 at pci0 dev 26 function 0: vendor 0x8086 product 0x2937 (rev. 0x03)
 uhci0: interrupting at ioapic0 pin 16
 usb0 at uhci0: USB revision 1.0
 uhci1 at pci0 dev 26 function 1: vendor 0x8086 product 0x2938 (rev. 0x03)
 uhci1: interrupting at ioapic0 pin 21
 usb1 at uhci1: USB revision 1.0
 ehci0 at pci0 dev 26 function 7: vendor 0x8086 product 0x293c (rev. 0x03)
 ehci0: interrupting at ioapic0 pin 19
 ehci0: BIOS has given up ownership
 ehci0: EHCI version 1.0
 ehci0: companion controllers, 2 ports each: uhci0 uhci1
 usb2 at ehci0: USB revision 2.0
 hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
 hdaudio0: interrupting at ioapic0 pin 22
 hdafg0 at hdaudio0: Sigmatel 92HD75B2X5
 hdafg0: DAC00 2ch: Speaker [Built-In], HP Out [Jack]
 hdafg0: ADC01 2ch: Mic In [Jack]
 hdafg0: 2ch/2ch 44100Hz 48000Hz 88200Hz 96000Hz 192000Hz 16/16 20/32 24/32
 audio0 at hdafg0: full duplex, playback, capture, independent
 hdafg1 at hdaudio0: Intel G45 HDMI
 hdafg1: HDMI00 8ch: Digital Out [Jack]
 hdafg1: 8ch/0ch 48000Hz 16/16*
 ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x2940 (rev. 0x03)
 ppb0: PCI Express 1.0 <Root Port of PCI-E Root Complex>
 pci1 at ppb0 bus 2
 pci1: i/o space, memory space enabled, rd/line, wr/inv ok
 ath0 at pci1 dev 0 function 0: Atheros 9285
 ath0: interrupting at ioapic0 pin 16
 ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 ath0: mac 192.2 phy 14.0 radio 12.0
 ppb1 at pci0 dev 28 function 1: vendor 0x8086 product 0x2942 (rev. 0x03)
 ppb1: PCI Express 1.0 <Root Port of PCI-E Root Complex>
 pci2 at ppb1 bus 3
 pci2: i/o space, memory space enabled, rd/line, wr/inv ok
 re0 at pci2 dev 0 function 0: RealTek 8100E/8101E/8102E/8102EL PCIe 10/100BaseTX (rev. 0x02)
 re0: interrupting at ioapic0 pin 17
 re0: Ethernet address 00:26:9e:ce:8c:54
 re0: using 256 tx descriptors
 rlphy0 at re0 phy 7: RTL8201L 10/100 media interface, rev. 1
 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 uhci2 at pci0 dev 29 function 0: vendor 0x8086 product 0x2934 (rev. 0x03)
 uhci2: interrupting at ioapic0 pin 20
 usb3 at uhci2: USB revision 1.0
 uhci3 at pci0 dev 29 function 1: vendor 0x8086 product 0x2935 (rev. 0x03)
 uhci3: interrupting at ioapic0 pin 19
 usb4 at uhci3: USB revision 1.0
 uhci4 at pci0 dev 29 function 2: vendor 0x8086 product 0x2936 (rev. 0x03)
 uhci4: interrupting at ioapic0 pin 16
 usb5 at uhci4: USB revision 1.0
 uhci5 at pci0 dev 29 function 3: vendor 0x8086 product 0x2939 (rev. 0x03)
 uhci5: interrupting at ioapic0 pin 18
 usb6 at uhci5: USB revision 1.0
 ehci1 at pci0 dev 29 function 7: vendor 0x8086 product 0x293a (rev. 0x03)
 ehci1: interrupting at ioapic0 pin 20
 ehci1: BIOS has given up ownership
 ehci1: EHCI version 1.0
 ehci1: companion controllers, 2 ports each: uhci2 uhci3 uhci4 uhci5
 usb7 at ehci1: USB revision 2.0
 ppb2 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0x93)
 pci3 at ppb2 bus 4
 pci3: i/o space, memory space enabled
 pcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x2919 (rev. 0x03)
 ahcisata0 at pci0 dev 31 function 2: vendor 0x8086 product 0x2929
 ahcisata0: interrupting at ioapic0 pin 19
 ahcisata0: 64-bit DMA
 ahcisata0: AHCI revision 1.2, 4 ports, 32 command slots, features 0xef22e0e0
 atabus0 at ahcisata0 channel 0
 atabus1 at ahcisata0 channel 1
 atabus2 at ahcisata0 channel 4
 atabus3 at ahcisata0 channel 5
 ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x2930 (rev. 0x03)
 ichsmb0: interrupting at ioapic0 pin 18
 iic0 at ichsmb0: I2C bus
 vendor 0x8086 product 0x2932 (miscellaneous DASP, revision 0x03) at pci0 dev 31 function 6 not configured
 isa0 at pcib0
 pcppi0 at isa0 port 0x61
 midi0 at pcppi0: PC speaker
 sysbeep0 at pcppi0
 attimer1: attached to pcppi0
 acpicpu0 at cpu0: ACPI CPU
 acpicpu0: C1: FFH, lat   1 us, pow  1000 mW
 acpicpu0: C2: FFH, lat   1 us, pow   500 mW
 acpicpu0: C3: FFH, lat  17 us, pow   250 mW, bus master check
 acpicpu0: P0: FFH, lat  10 us, pow 35000 mW, 2100 MHz
 acpicpu0: P1: FFH, lat  10 us, pow 23888 mW, 1600 MHz
 acpicpu0: P2: FFH, lat  10 us, pow 15000 mW, 1200 MHz
 acpicpu0: T0: HLT, lat   1 us, pow     0 mW, 100 %
 acpicpu0: T1: HLT, lat   1 us, pow     0 mW,  88 %
 acpicpu0: T2: HLT, lat   1 us, pow     0 mW,  76 %
 acpicpu0: T3: HLT, lat   1 us, pow     0 mW,  64 %
 acpicpu0: T4: HLT, lat   1 us, pow     0 mW,  52 %
 acpicpu0: T5: HLT, lat   1 us, pow     0 mW,  40 %
 acpicpu0: T6: HLT, lat   1 us, pow     0 mW,  28 %
 acpicpu0: T7: HLT, lat   1 us, pow     0 mW,  16 %
 coretemp0 at cpu0: thermal sensor, 1 C resolution
 acpicpu1 at cpu1: ACPI CPU
 coretemp1 at cpu1: thermal sensor, 1 C resolution
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 acpiacad0: AC adapter online.
 uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhub2 at usb2: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
 uhub2: 4 ports with 4 removable, self powered
 uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub3: 2 ports with 2 removable, self powered
 uhub4 at usb4: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub4: 2 ports with 2 removable, self powered
 uhub5 at usb5: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub5: 2 ports with 2 removable, self powered
 uhub6 at usb6: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub6: 2 ports with 2 removable, self powered
 uhub7 at usb7: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
 uhub7: 8 ports with 8 removable, self powered
 ahcisata0 port 0: device present, speed: 3.0Gb/s
 ahcisata0 port 1: device present, speed: 1.5Gb/s
 wd0 at atabus0 drive 0
 wd0: <WDC WD5000BEVT-60ZAT1>
 wd0: drive supports 16-sector PIO transfers, LBA48 addressing
 wd0: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
 wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
 wd0(ahcisata0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) (using DMA)
 atapibus0 at atabus1: 1 targets
 cd0 at atapibus0 drive 0: <hp      DVDRAM GT30L, KZQ9C343835, mP04> cdrom removable
 cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
 cd0(ahcisata0:1:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) (using DMA)
 uvideo0 at uhub7 port 4 configuration 1 interface 0: SuYin HP Webcam-101, rev 2.00/1.22, addr 2
 video0 at uvideo0: SuYin HP Webcam-101, rev 2.00/1.22, addr 2
 Kernelized RAIDframe activated
 pad0: outputs: 44100Hz, 16-bit, stereo
 audio1 at pad0: half duplex, playback, capture
 boot device: wd0
 root on wd0a dumps on wd0b
 root file system type: ffs
 uhidev0 at uhub1 port 2 configuration 1 interface 0
 uhidev0: vendor 0x13ba Generic USB K/B, rev 1.10/0.01, addr 2, iclass 3/1
 ukbd0 at uhidev0
 wskbd1 at ukbd0 mux 1
 wskbd1: connecting to wsdisplay0
 uhidev1 at uhub1 port 2 configuration 1 interface 1
 uhidev1: vendor 0x13ba Generic USB K/B, rev 1.10/0.01, addr 2, iclass 3/1
 uhidev1: 2 report ids
 ums0 at uhidev1 reportid 1: 3 buttons and Z dir
 wsmouse1 at ums0 mux 0
 uhid0 at uhidev1 reportid 2: input=1, output=0, feature=0
 wsdisplay0: screen 1 added (80x25, vt100 emulation)
 wsdisplay0: screen 2 added (80x25, vt100 emulation)
 wsdisplay0: screen 3 added (80x25, vt100 emulation)
 wsdisplay0: screen 4 added (80x25, vt100 emulation)

 -----


 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
     2006, 2007, 2008, 2009, 2010, 2011
     The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California.  All rights reserved.

 NetBSD 5.99.52 (VARGAZSMALL) #3: Mon Jun  6 21:24:41 CEST 2011
 	rhialto@vargaz.falu.nl:/home/rhialto/tmp/obj.amd64/sys/arch/amd64/compile/VARGAZSMALL
 total memory = 3998 MB
 avail memory = 3866 MB
 timecounter: Timecounters tick every 10.000 msec
 RTC BIOS diagnostic error 0x80<clock_battery>
 timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
 Hewlett-Packard Compaq Presario CQ71 Notebook PC (Rev 1)
 mainbus0 (root)
 cpu0 at mainbus0 apid 0: Pentium(R) Dual-Core CPU       T4300  @ 2.10GHz, id 0x1067a
 cpu1 at mainbus0 apid 1: Pentium(R) Dual-Core CPU       T4300  @ 2.10GHz, id 0x1067a
 ioapic0 at mainbus0 apid 4: pa 0xfec00000, version 20, 24 pins
 acpi0 at mainbus0: Intel ACPICA 20110211
 acpi0: X/RSDT: OemId <HPQOEM,SLIC-MPC,00000001>, AslId <    ,01000013>
 acpi0: SCI interrupting at int 9
 timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
 acpiec0 at acpi0 (EC0, PNP0C09-1): io 0x62,0x66
 MCFG (PNP0C02) [Motherboard Register Resources] at acpi0 not configured
 acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
 acpilid0 at acpi0 (LID0, PNP0C0D): ACPI Lid Switch
 acpibut1 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
 acpiacad0 at acpi0 (ACAD, ACPI0003): ACPI AC Adapter
 acpibat0 at acpi0 (BAT0, PNP0C0A-1): ACPI Battery
 acpibat0: Hewlett-Packard LION rechargeable battery
 acpibat0: model number Primary, serial number  
 acpibat0: granularity: low->warn 0.010 Ah, warn->full 0.025 Ah
 acpivga0 at acpi0 (OVGA): ACPI Display Adapter
 acpiout0 at acpivga0 (DD01, 0x0100): ACPI Display Output Device
 acpiout1 at acpivga0 (DD02, 0x0320): ACPI Display Output Device
 acpiout2 at acpivga0 (DD03, 0x0410): ACPI Display Output Device
 acpiout2: brightness levels: 0 10 20 30 40 50 60 70 80 90 100
 acpiout3 at acpivga0 (DD04, 0x0004): ACPI Display Output Device
 acpiout4 at acpivga0 (DD05, 0x0005): ACPI Display Output Device
 acpivga0: unknown output device acpiout0
 acpivga0: unknown output device acpiout1
 acpivga0: unknown output device acpiout2
 acpivga0: unknown output device acpiout3
 acpivga0: unknown output device acpiout4
 acpivga0: connected output devices:
 acpivga0:   0x0400: Unknown Output Device, head 0
 SYSR (PNP0C02) [Motherboard Register Resources] at acpi0 not configured
 hpet0 at acpi0 (HPET, PNP0103): mem 0xfed00000-0xfed003ff irq 0,8
 timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
 attimer0 at acpi0 (TIMR, PNP0100): io 0x40-0x43,0x50-0x53
 FWHD (INT0800) [Intel Firmware Hub Device] at acpi0 not configured
 pckbc0 at acpi0 (KBC, PNP0303) (kbd port): io 0x60,0x64 irq 1
 pckbc1 at acpi0 (MOUE, SYN1E08) (aux port): irq 12
 acpiwmi0 at acpi0 (WMID, PNP0C14-0): ACPI WMI Interface
 acpiwmibus at acpiwmi0 not configured
 acpidalb0 at acpi0 (QBTN, PNP0C32-1): Direct Application Launch Button
 acpidalb1 at acpi0 (DBTN, PNP0C32-2): Direct Application Launch Button
 acpidalb2 at acpi0 (MBTN, PNP0C32-3): Direct Application Launch Button
 acpidalb3 at acpi0 (EBTN, PNP0C32-4): Direct Application Launch Button
 acpidalb4 at acpi0 (PBTN, PNP0C32-6): Direct Application Launch Button
 acpidalb5 at acpi0 (VBTN, PNP0C32-7): Direct Application Launch Button
 acpidalb6 at acpi0 (TBTN, PNP0C32-8): Direct Application Launch Button
 acpitz0 at acpi0 (TZ01): cpu0 cpu1
 ACPI Error: [\_PR_.CPU0._PPC] Namespace lookup failure, AE_NOT_FOUND (20110211/psargs-392)
 ACPI Error: Method parse/execution failed [\CPUL] (Node 0xffff800007b57bc0), AE_NOT_FOUND (20110211/psparse-560)
 ACPI Error: Method parse/execution failed [\_TZ_.TZ01.OTHD] (Node 0xffff800007b56080), AE_NOT_FOUND (20110211/psparse-560)
 ACPI Error: Method parse/execution failed [\_TZ_.TZ01._TMP] (Node 0xffff800007b56240), AE_NOT_FOUND (20110211/psparse-560)
 acpitz0: levels: hot 110.0 C, passive 135.0 C, passive cooling
 ACPI Error: [\_PR_.CPU0._PPC] Namespace lookup failure, AE_NOT_FOUND (20110211/psargs-392)
 ACPI Error: Method parse/execution failed [\CPUL] (Node 0xffff800007b57bc0), AE_NOT_FOUND (20110211/psparse-560)
 ACPI Error: Method parse/execution failed [\_TZ_.TZ01.OTHD] (Node 0xffff800007b56080), AE_NOT_FOUND (20110211/psparse-560)
 ACPI Error: Method parse/execution failed [\_TZ_.TZ01._TMP] (Node 0xffff800007b56240), AE_NOT_FOUND (20110211/psparse-560)
 acpi0: [MADT] LAPIC          : CPU ID 1, LAPIC ID 0, FLAGS 0x01
 acpi0: [MADT] LAPIC          : CPU ID 2, LAPIC ID 1, FLAGS 0x01
 acpi0: [MADT] LAPIC          : CPU ID 3, LAPIC ID 0, FLAGS 0x00
 acpi0: [MADT] LAPIC          : CPU ID 4, LAPIC ID 0, FLAGS 0x00
 acpi0: [MADT] I/O APIC       : ID 4, GSI 0, ADDR 0xFEC00000
 acpi0: [MADT] INTR OVERRIDE  : BUS 0, IRQ 0, GSI 2, FLAGS 0x00
 acpi0: [MADT] INTR OVERRIDE  : BUS 0, IRQ 9, GSI 9, FLAGS 0x0D
 acpi0: [FADT] FACS           : 0x00000000B9F8F000
 acpi0: [FADT] DSDT           : 0x00000000B9FE5000
 acpi0: [FADT] INT_MODEL      : 0x0000000000000000
 acpi0: [FADT] PM_PROFILE     : 0x0000000000000002
 acpi0: [FADT] SCI_INT        : 0x0000000000000009
 acpi0: [FADT] SMI_CMD        : 0x00000000000000B2
 acpi0: [FADT] ACPI_ENABLE    : 0x00000000000000A0
 acpi0: [FADT] ACPI_DISABLE   : 0x00000000000000A1
 acpi0: [FADT] S4BIOS_REQ     : 0x0000000000000000
 acpi0: [FADT] PSTATE_CNT     : 0x0000000000000000
 acpi0: [FADT] PM1a_EVT_BLK   : 0x0000000000000400
 acpi0: [FADT] PM1b_EVT_BLK   : 0x0000000000000000
 acpi0: [FADT] PM1a_CNT_BLK   : 0x0000000000000404
 acpi0: [FADT] PM1b_CNT_BLK   : 0x0000000000000000
 acpi0: [FADT] PM2_CNT_BLK    : 0x0000000000000450
 acpi0: [FADT] PM_TMR_BLK     : 0x0000000000000408
 acpi0: [FADT] GPE0_BLK       : 0x0000000000000420
 acpi0: [FADT] GPE1_BLK       : 0x0000000000000000
 acpi0: [FADT] PM1_EVT_LEN    : 0x0000000000000004
 acpi0: [FADT] PM1_CNT_LEN    : 0x0000000000000002
 acpi0: [FADT] PM2_CNT_LEN    : 0x0000000000000001
 acpi0: [FADT] PM_TMR_LEN     : 0x0000000000000004
 acpi0: [FADT] GPE0_BLK_LEN   : 0x0000000000000010
 acpi0: [FADT] GPE1_BLK_LEN   : 0x0000000000000000
 acpi0: [FADT] GPE1_BASE      : 0x0000000000000000
 acpi0: [FADT] CST_CNT        : 0x0000000000000000
 acpi0: [FADT] P_LVL2_LAT     : 0x0000000000000065
 acpi0: [FADT] P_LVL3_LAT     : 0x00000000000003E9
 acpi0: [FADT] FLUSH_SIZE     : 0x0000000000000000
 acpi0: [FADT] FLUSH_STRIDE   : 0x0000000000000000
 acpi0: [FADT] DUTY_OFFSET    : 0x0000000000000001
 acpi0: [FADT] DUTY_WIDTH     : 0x0000000000000003
 acpi0: [FADT] DAY_ALRM       : 0x000000000000000D
 acpi0: [FADT] MON_ALRM       : 0x0000000000000000
 acpi0: [FADT] CENTURY        : 0x0000000000000000
 acpi0: [FADT] IAPC_BOOT_ARCH : 0x0000000000000003
 acpi0: [FADT] RESET_VALUE    : 0x0000000000000049
 acpi0: [FADT] WBINVD         : 0x0000000000000001
 acpi0: [FADT] WBINVD_FLUSH   : 0x0000000000000000
 acpi0: [FADT] PROC_C1        : 0x0000000000000004
 acpi0: [FADT] P_LVL2_UP      : 0x0000000000000000
 acpi0: [FADT] PWR_BUTTON     : 0x0000000000000000
 acpi0: [FADT] SLP_BUTTON     : 0x0000000000000020
 acpi0: [FADT] FIX_RTC        : 0x0000000000000000
 acpi0: [FADT] RTC_S4         : 0x0000000000000080
 acpi0: [FADT] TMR_VAL_EXT    : 0x0000000000000000
 acpi0: [FADT] DCK_CAP        : 0x0000000000000000
 acpi0: [FADT] RESET_REG_SUP  : 0x0000000000000400
 acpi0: [FADT] SEALED_CASE    : 0x0000000000000000
 acpi0: [FADT] HEADLESS       : 0x0000000000000000
 acpi0: [FADT] CPU_SW_SLP     : 0x0000000000000000
 acpi0: [FADT] PCI_EXP_WAK    : 0x0000000000000000
 acpi0: [FADT] PLATFORM_CLK   : 0x0000000000008000
 acpi0: [FADT] S4_RTC_STS     : 0x0000000000000000
 acpi0: [FADT] REMOTE_POWER   : 0x0000000000000000
 acpi0: [FADT] APIC_CLUSTER   : 0x0000000000000000
 acpi0: [FADT] APIC_PHYSICAL  : 0x0000000000000000
 acpi0: [\   ] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [CPU0] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [CPU1] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [CPU2] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [CPU3] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [_SB ] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [MCFG] HID PNP0C02    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [PWRB] HID PNP0C0C    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [LID0] HID PNP0C0D    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [SLPB] HID PNP0C0E    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [ACAD] HID ACPI0003   UID -    STA 0x0000000F ADR -
 acpi0: [BAT0] HID PNP0C0A    UID 1    STA 0x0000000F ADR -
 acpi0: [PCI0] HID PNP0A08    UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [OVGA] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000020000
 acpi0: [DD01] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000100
 acpi0: [DD02] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000320
 acpi0: [DD03] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000410
 acpi0: [DD04] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000004
 acpi0: [DD05] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000005
 acpi0: [PEGP] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000010000
 acpi0: [VGA ] HID -          UID -    STA 0x0000000F ADR 0x0000000000000000
 acpi0: [CRT ] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000100
 acpi0: [LCD ] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000118
 acpi0: [HDMI] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000121
 acpi0: [LANC] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000190000
 acpi0: [P32 ] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001E0000
 acpi0: [LPC ] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001F0000
 acpi0: [LNKA] HID PNP0C0F    UID 1    STA 0x0000000B ADR -
 acpi0: [LNKB] HID PNP0C0F    UID 2    STA 0x0000000B ADR -
 acpi0: [LNKC] HID PNP0C0F    UID 3    STA 0x0000000B ADR -
 acpi0: [LNKD] HID PNP0C0F    UID 4    STA 0x0000000B ADR -
 acpi0: [LNKE] HID PNP0C0F    UID 5    STA 0x0000000B ADR -
 acpi0: [LNKF] HID PNP0C0F    UID 6    STA 0x0000000B ADR -
 acpi0: [LNKG] HID PNP0C0F    UID 7    STA 0x0000000B ADR -
 acpi0: [LNKH] HID PNP0C0F    UID 8    STA 0x00000009 ADR -
 acpi0: [SYSR] HID PNP0C02    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [DMAC] HID PNP0200    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [RTC ] HID PNP0B00    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [HPET] HID PNP0103    UID -    STA 0x0000000F ADR -
 acpi0: [PIC ] HID PNP0000    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [FPU ] HID PNP0C04    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [TIMR] HID PNP0100    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [FWHD] HID INT0800    UID -    STA 0xFFFFFFFF ADR -
 acpi0: [KBC ] HID PNP0303    UID -    STA 0x0000000F ADR -
 acpi0: [MOUE] HID SYN1E08    UID -    STA 0x0000000F ADR -
 acpi0: [EC0 ] HID PNP0C09    UID 1    STA 0xFFFFFFFF ADR -
 acpi0: [TPM ] HID PNP0C31    UID -    STA 0x00000000 ADR -
 acpi0: [UHC0] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001D0000
 acpi0: [UHC1] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001D0001
 acpi0: [UHC2] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001D0002
 acpi0: [RHUB] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [PRT2] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000002
 acpi0: [EHC1] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001D0007
 acpi0: [RHUB] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [PRT1] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000001
 acpi0: [PRT2] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000002
 acpi0: [PRT3] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000003
 acpi0: [PRT4] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000004
 acpi0: [PRT5] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000005
 acpi0: [PRT6] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000006
 acpi0: [PRT7] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000007
 acpi0: [PRT8] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000008
 acpi0: [UHC3] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001A0000
 acpi0: [UHC4] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001A0001
 acpi0: [UHC5] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001A0002
 acpi0: [EHC2] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001A0007
 acpi0: [RHUB] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [PRT1] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000001
 acpi0: [PRT2] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000002
 acpi0: [PRT3] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000003
 acpi0: [PRT4] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000004
 acpi0: [EXP1] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001C0000
 acpi0: [EXP2] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001C0001
 acpi0: [PXSX] HID -          UID -    STA 0x0000000F ADR 0x0000000000000000
 acpi0: [EXP3] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001C0002
 acpi0: [EXP4] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001C0003
 acpi0: [EXP5] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001C0004
 acpi0: [J380] HID -          UID -    STA 0x0000000F ADR 0x0000000000000000
 acpi0: [J381] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000001
 acpi0: [J382] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000002
 acpi0: [J383] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000003
 acpi0: [J384] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000004
 acpi0: [EXP6] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001C0005
 acpi0: [PXSX] HID -          UID -    STA 0x0000000F ADR 0x0000000000000000
 acpi0: [SAT0] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001F0002
 acpi0: [PRID] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [P_D0] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [P_D1] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000001
 acpi0: [SECD] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000001
 acpi0: [S_D0] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [S_D1] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000001
 acpi0: [SAT1] HID -          UID -    STA 0xFFFFFFFF ADR 0x00000000001F0005
 acpi0: [PRID] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [P_D0] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [P_D1] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000001
 acpi0: [SECD] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000001
 acpi0: [S_D0] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000000
 acpi0: [S_D1] HID -          UID -    STA 0xFFFFFFFF ADR 0x0000000000000001
 acpi0: [WMID] HID PNP0C14    UID 0    STA 0xFFFFFFFF ADR -
 acpi0: [QBTN] HID PNP0C32    UID 1    STA 0x0000000F ADR -
 acpi0: [DBTN] HID PNP0C32    UID 2    STA 0x0000000F ADR -
 acpi0: [MBTN] HID PNP0C32    UID 3    STA 0x0000000F ADR -
 acpi0: [EBTN] HID PNP0C32    UID 4    STA 0x0000000F ADR -
 acpi0: [PBTN] HID PNP0C32    UID 6    STA 0x0000000F ADR -
 acpi0: [VBTN] HID PNP0C32    UID 7    STA 0x0000000F ADR -
 acpi0: [TBTN] HID PNP0C32    UID 8    STA 0x0000000F ADR -
 acpi0: [_TZ ] HID -          UID -    STA 0xFFFFFFFF ADR -
 acpi0: [TZ01] HID -          UID -    STA          - ADR -

 \     [06] []
     CPU0  [12] []
     CPU1  [12] []
     CPU2  [12] []
     CPU3  [12] []
     _SB   [06] []
         MCFG  [06] []
         PWRB  [06] [] <acpibut0>
         LID0  [06] [] <acpilid0>
         SLPB  [06] [] <acpibut1>
         ACAD  [06] [] <acpiacad0>
         BAT0  [06] [] <acpibat0>
         PCI0  [06] [] (PCI) @ 0x00:0x00:0x00:0x00 [R] [B] -> 0x00:0x00
             OVGA  [06] [] <acpivga0> (PCI) @ 0x00:0x00:0x02:0x00
                 DD01  [06] [] <acpiout0>
                 DD02  [06] [] <acpiout1>
                 DD03  [06] [] <acpiout2>
                 DD04  [06] [] <acpiout3>
                 DD05  [06] [] <acpiout4>
             PEGP  [06] [] (PCI) @ 0x00:0x00:0x01:0x00
                 VGA   [06] []
                     CRT   [06] []
                     LCD   [06] []
                     HDMI  [06] []
             LANC  [06] [] (PCI) @ 0x00:0x00:0x19:0x00
             P32   [06] [] (PCI) @ 0x00:0x00:0x1E:0x00 [B] -> 0x00:0x04
             LPC   [06] [] (PCI) @ 0x00:0x00:0x1F:0x00
                 LNKA  [06] []
                 LNKB  [06] []
                 LNKC  [06] []
                 LNKD  [06] []
                 LNKE  [06] []
                 LNKF  [06] []
                 LNKG  [06] []
                 LNKH  [06] []
                 SYSR  [06] []
                 DMAC  [06] []
                 RTC   [06] []
                 HPET  [06] [] <hpet0>
                 PIC   [06] []
                 FPU   [06] []
                 TIMR  [06] [] <attimer0>
                 FWHD  [06] []
                 KBC   [06] [] <pckbc0>
                 MOUE  [06] [] <pckbc1>
                 EC0   [06] [] <acpiec0>
                 TPM   [06] []
             UHC0  [06] [] (PCI) @ 0x00:0x00:0x1D:0x00
             UHC1  [06] [] (PCI) @ 0x00:0x00:0x1D:0x01
             UHC2  [06] [] (PCI) @ 0x00:0x00:0x1D:0x02
                 RHUB  [06] []
                     PRT2  [06] []
             EHC1  [06] [] (PCI) @ 0x00:0x00:0x1D:0x07
                 RHUB  [06] []
                     PRT1  [06] []
                     PRT2  [06] []
                     PRT3  [06] []
                     PRT4  [06] []
                     PRT5  [06] []
                     PRT6  [06] []
                     PRT7  [06] []
                     PRT8  [06] []
             UHC3  [06] [] (PCI) @ 0x00:0x00:0x1A:0x00
             UHC4  [06] [] (PCI) @ 0x00:0x00:0x1A:0x01
             UHC5  [06] [] (PCI) @ 0x00:0x00:0x1A:0x02
             EHC2  [06] [] (PCI) @ 0x00:0x00:0x1A:0x07
                 RHUB  [06] []
                     PRT1  [06] []
                     PRT2  [06] []
                     PRT3  [06] []
                     PRT4  [06] []
             EXP1  [06] [] (PCI) @ 0x00:0x00:0x1C:0x00 [B] -> 0x00:0x02
             EXP2  [06] [] (PCI) @ 0x00:0x00:0x1C:0x01 [B] -> 0x00:0x03
                 PXSX  [06] [] (PCI) @ 0x00:0x03:0x00:0x00
             EXP3  [06] [] (PCI) @ 0x00:0x00:0x1C:0x02
             EXP4  [06] [] (PCI) @ 0x00:0x00:0x1C:0x03
             EXP5  [06] [] (PCI) @ 0x00:0x00:0x1C:0x04
                 J380  [06] []
                 J381  [06] []
                 J382  [06] []
                 J383  [06] []
                 J384  [06] []
             EXP6  [06] [] (PCI) @ 0x00:0x00:0x1C:0x05
                 PXSX  [06] []
             SAT0  [06] [] (PCI) @ 0x00:0x00:0x1F:0x02
                 PRID  [06] []
                     P_D0  [06] []
                     P_D1  [06] []
                 SECD  [06] []
                     S_D0  [06] []
                     S_D1  [06] []
             SAT1  [06] [] (PCI) @ 0x00:0x00:0x1F:0x05
                 PRID  [06] []
                     P_D0  [06] []
                     P_D1  [06] []
                 SECD  [06] []
                     S_D0  [06] []
                     S_D1  [06] []
         WMID  [06] [] <acpiwmi0>
         QBTN  [06] [] <acpidalb0>
         DBTN  [06] [] <acpidalb1>
         MBTN  [06] [] <acpidalb2>
         EBTN  [06] [] <acpidalb3>
         PBTN  [06] [] <acpidalb4>
         VBTN  [06] [] <acpidalb5>
         TBTN  [06] [] <acpidalb6>
     _TZ   [06] []
         TZ01  [13] [] <acpitz0>
 pckbd0 at pckbc0 (kbd slot)
 pckbc0: using irq 1 for kbd slot
 wskbd0 at pckbd0: console keyboard
 pms0 at pckbc0 (aux slot)
 pms0: Synaptics touchpad version 6.5
 pms0: Palm detect
 pckbc0: using irq 12 for aux slot
 wsmouse0 at pms0 mux 0
 pci0 at mainbus0 bus 0: configuration mode 1
 pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
 pchb0 at pci0 dev 0 function 0: Intel 82GM45 Host Bridge (rev. 0x07)
 agp0 at pchb0: detected 65532k stolen memory
 agp0: aperture at 0xc0000000, size 0x10000000
 vga0 at pci0 dev 2 function 0: Intel 82GM45 Integrated Graphics Device (rev. 0x07)
 wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
 wsmux1: connecting to wsdisplay0
 i915drm0 at vga0: Mobile IntelM-BM-. GM45 Express Chipset
 i915drm0: AGP at 0xc0000000 256MB
 i915drm0: Initialized i915 1.6.0 20080730
 Intel 82GM45 Integrated Graphics Device (miscellaneous display, revision 0x07) at pci0 dev 2 function 1 not configured
 uhci0 at pci0 dev 26 function 0: Intel 82801I USB UHCI Controller (rev. 0x03)
 uhci0: interrupting at ioapic0 pin 16
 usb0 at uhci0: USB revision 1.0
 uhci1 at pci0 dev 26 function 1: Intel 82801I USB UHCI Controller (rev. 0x03)
 uhci1: interrupting at ioapic0 pin 21
 usb1 at uhci1: USB revision 1.0
 ehci0 at pci0 dev 26 function 7: Intel 82801I USB EHCI Controller (rev. 0x03)
 ehci0: interrupting at ioapic0 pin 19
 ehci0: BIOS has given up ownership
 ehci0: EHCI version 1.0
 ehci0: companion controllers, 2 ports each: uhci0 uhci1
 usb2 at ehci0: USB revision 2.0
 hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
 hdaudio0: interrupting at ioapic0 pin 22
 hdafg0 at hdaudio0: Sigmatel 92HD75B2X5
 hdafg0: DAC00 2ch: Speaker [Built-In], HP Out [Jack]
 hdafg0: ADC01 2ch: Mic In [Jack]
 hdafg0: 2ch/2ch 44100Hz 48000Hz 88200Hz 96000Hz 192000Hz 16/16 20/32 24/32
 audio0 at hdafg0: full duplex, playback, capture, independent
 hdafg1 at hdaudio0: Intel G45 HDMI
 hdafg1: HDMI00 8ch: Digital Out [Jack]
 hdafg1: 8ch/0ch 48000Hz 16/16*
 ppb0 at pci0 dev 28 function 0: Intel 82801I PCI Express Port #1 (rev. 0x03)
 ppb0: PCI Express 1.0 <Root Port of PCI-E Root Complex>
 pci1 at ppb0 bus 2
 pci1: i/o space, memory space enabled, rd/line, wr/inv ok
 ath0 at pci1 dev 0 function 0: Atheros 9285
 ath0: interrupting at ioapic0 pin 16
 ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 ath0: mac 192.2 phy 14.0 radio 12.0
 ppb1 at pci0 dev 28 function 1: Intel 82801I PCI Express Port #2 (rev. 0x03)
 ppb1: PCI Express 1.0 <Root Port of PCI-E Root Complex>
 pci2 at ppb1 bus 3
 pci2: i/o space, memory space enabled, rd/line, wr/inv ok
 re0 at pci2 dev 0 function 0: RealTek 8100E/8101E/8102E/8102EL PCIe 10/100BaseTX (rev. 0x02)
 re0: interrupting at ioapic0 pin 17
 re0: Ethernet address 00:26:9e:ce:8c:54
 re0: using 256 tx descriptors
 rlphy0 at re0 phy 7: RTL8201L 10/100 media interface, rev. 1
 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 uhci2 at pci0 dev 29 function 0: Intel 82801I USB UHCI Controller (rev. 0x03)
 uhci2: interrupting at ioapic0 pin 20
 usb3 at uhci2: USB revision 1.0
 uhci3 at pci0 dev 29 function 1: Intel 82801I USB UHCI Controller (rev. 0x03)
 uhci3: interrupting at ioapic0 pin 19
 usb4 at uhci3: USB revision 1.0
 uhci4 at pci0 dev 29 function 2: Intel 82801I USB UHCI Controller (rev. 0x03)
 uhci4: interrupting at ioapic0 pin 16
 usb5 at uhci4: USB revision 1.0
 uhci5 at pci0 dev 29 function 3: Intel 82801I USB UHCI Controller (rev. 0x03)
 uhci5: interrupting at ioapic0 pin 18
 usb6 at uhci5: USB revision 1.0
 ehci1 at pci0 dev 29 function 7: Intel 82801I USB EHCI Controller (rev. 0x03)
 ehci1: interrupting at ioapic0 pin 20
 ehci1: BIOS has given up ownership
 ehci1: EHCI version 1.0
 ehci1: companion controllers, 2 ports each: uhci2 uhci3 uhci4 uhci5
 usb7 at ehci1: USB revision 2.0
 ppb2 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0x93)
 pci3 at ppb2 bus 4
 pci3: i/o space, memory space enabled
 pcib0 at pci0 dev 31 function 0: Intel 82801IM LPC Interface Bridge (rev. 0x03)
 ahcisata0 at pci0 dev 31 function 2: Intel 82801I Mobile AHCI SATA Controller with 4 ports
 ahcisata0: interrupting at ioapic0 pin 19
 ahcisata0: 64-bit DMA
 ahcisata0: AHCI revision 1.2, 4 ports, 32 command slots, features 0xef22e0e0
 atabus0 at ahcisata0 channel 0
 atabus1 at ahcisata0 channel 1
 atabus2 at ahcisata0 channel 4
 atabus3 at ahcisata0 channel 5
 ichsmb0 at pci0 dev 31 function 3: Intel 82801I SMBus Controller (rev. 0x03)
 ichsmb0: interrupting at ioapic0 pin 18
 iic0 at ichsmb0: I2C bus
 Intel 82801I Thermal Controller (miscellaneous DASP, revision 0x03) at pci0 dev 31 function 6 not configured
 isa0 at pcib0
 pcppi0 at isa0 port 0x61
 midi0 at pcppi0: PC speaker
 spkr0 at pcppi0
 sysbeep0 at pcppi0
 attimer0: attached to pcppi0
 acpicpu0 at cpu0: ACPI CPU
 acpicpu0: C1: FFH, lat   1 us, pow  1000 mW
 acpicpu0: C2: FFH, lat   1 us, pow   500 mW
 acpicpu0: C3: FFH, lat  17 us, pow   250 mW, bus master check
 acpicpu0: P0: FFH, lat  10 us, pow 35000 mW, 2100 MHz
 acpicpu0: P1: FFH, lat  10 us, pow 23888 mW, 1600 MHz
 acpicpu0: P2: FFH, lat  10 us, pow 15000 mW, 1200 MHz
 acpicpu0: T0: HLT, lat   1 us, pow     0 mW, 100 %
 acpicpu0: T1: HLT, lat   1 us, pow     0 mW,  88 %
 acpicpu0: T2: HLT, lat   1 us, pow     0 mW,  76 %
 acpicpu0: T3: HLT, lat   1 us, pow     0 mW,  64 %
 acpicpu0: T4: HLT, lat   1 us, pow     0 mW,  52 %
 acpicpu0: T5: HLT, lat   1 us, pow     0 mW,  40 %
 acpicpu0: T6: HLT, lat   1 us, pow     0 mW,  28 %
 acpicpu0: T7: HLT, lat   1 us, pow     0 mW,  16 %
 coretemp0 at cpu0: thermal sensor, 1 C resolution
 acpicpu1 at cpu1: ACPI CPU
 coretemp1 at cpu1: thermal sensor, 1 C resolution
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 acpiacad0: AC adapter online.
 uhub0 at usb0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 uhub1 at usb1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub1: 2 ports with 2 removable, self powered
 uhub2 at usb2: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
 uhub2: 4 ports with 4 removable, self powered
 uhub3 at usb3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub3: 2 ports with 2 removable, self powered
 uhub4 at usb4: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub4: 2 ports with 2 removable, self powered
 uhub5 at usb5: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub5: 2 ports with 2 removable, self powered
 uhub6 at usb6: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub6: 2 ports with 2 removable, self powered
 uhub7 at usb7: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
 uhub7: 8 ports with 8 removable, self powered
 ahcisata0 port 0: device present, speed: 3.0Gb/s
 ahcisata0 port 1: device present, speed: 1.5Gb/s
 wd0 at atabus0 drive 0
 wd0: <WDC WD5000BEVT-60ZAT1>
 wd0: drive supports 16-sector PIO transfers, LBA48 addressing
 wd0: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
 wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
 wd0(ahcisata0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) (using DMA)
 atapibus0 at atabus1: 1 targets
 cd0 at atapibus0 drive 0: <hp      DVDRAM GT30L, KZQ9C343835, mP04> cdrom removable
 cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
 cd0(ahcisata0:1:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) (using DMA)
 uvideo0 at uhub7 port 4 configuration 1 interface 0: SuYin HP Webcam-101, rev 2.00/1.22, addr 2
 video0 at uvideo0: SuYin HP Webcam-101, rev 2.00/1.22, addr 2
 pad0: outputs: 44100Hz, 16-bit, stereo
 audio1 at pad0: half duplex, playback, capture
 boot device: wd0
 root on wd0a dumps on wd0b
 root file system type: ffs
 uhidev0 at uhub1 port 2 configuration 1 interface 0
 uhidev0: vendor 0x13ba Generic USB K/B, rev 1.10/0.01, addr 2, iclass 3/1
 ukbd0 at uhidev0
 wskbd1 at ukbd0 mux 1
 wskbd1: connecting to wsdisplay0
 uhidev1 at uhub1 port 2 configuration 1 interface 1
 uhidev1: vendor 0x13ba Generic USB K/B, rev 1.10/0.01, addr 2, iclass 3/1
 uhidev1: 2 report ids
 ums0 at uhidev1 reportid 1: 3 buttons and Z dir
 wsmouse1 at ums0 mux 0
 uhid0 at uhidev1 reportid 2: input=1, output=0, feature=0
 wsdisplay0: screen 1 added (80x25, vt100 emulation)
 wsdisplay0: screen 2 added (80x25, vt100 emulation)
 wsdisplay0: screen 3 added (80x25, vt100 emulation)
 wsdisplay0: screen 4 added (80x25, vt100 emulation)

 -Olaf.
 -- 
 ___ Olaf 'Rhialto' Seibert  -- There's no point being grown-up if you 
 \X/ rhialto/at/xs4all.nl    -- can't be childish sometimes. -The 4th Doctor

From: Jukka Ruohonen <jruohonen@iki.fi>
To: Rhialto <rhialto@falu.nl>
Cc: gnats-bugs@NetBSD.org
Subject: Re: port-amd64/42895 (Weird ACPI messages every 30 seconds on the console)
Date: Tue, 7 Jun 2011 22:39:46 +0300

 On Tue, Jun 07, 2011 at 09:10:03PM +0200, Rhialto wrote:
 > But: I just turned the laptop on a few moments ago, and it froze mere
 > seconds after booting into single user (GENERIC). No X yet, so it was
 > clear that there were no messages. The next boot worked a bit longer
 > but froze while sitting idle for several minutes at the xdm login screen.

 You are sure that things work if you do not enable acpicpu(4)?

 Few things:

 a Can you further build a kernel with DIAGNOSTIC to rule out anything obvious?

 b Can you install sysutils/dmidecode, run it, and post the output? If we do
   not manage to fix this, the last resort is to add a quirk for this laptop.

 > acpitz0 at acpi0 (TZ01): cpu0 cpu1
 > ACPI Error: [\_PR_.CPU0._PPC] Namespace lookup failure, AE_NOT_FOUND (20110211/psargs-392)
 > ACPI Error: Method parse/execution failed [\CPUL] (Node 0xffff800007b2dec0), AE_NOT_FOUND (20110211/psparse-560)
 > ACPI Error: Method parse/execution failed [\_TZ_.TZ01.OTHD] (Node 0xffff800007b2c380), AE_NOT_FOUND (20110211/psparse-560)
 > ACPI Error: Method parse/execution failed [\_TZ_.TZ01._TMP] (Node 0xffff800007b2c540), AE_NOT_FOUND (20110211/psparse-560)
 > acpitz0: levels: hot 110.0 C, passive 135.0 C, passive cooling
 > ACPI Error: [\_PR_.CPU0._PPC] Namespace lookup failure, AE_NOT_FOUND (20110211/psargs-392)
 > ACPI Error: Method parse/execution failed [\CPUL] (Node 0xffff800007b2dec0), AE_NOT_FOUND (20110211/psparse-560)
 > ACPI Error: Method parse/execution failed [\_TZ_.TZ01.OTHD] (Node 0xffff800007b2c380), AE_NOT_FOUND (20110211/psparse-560)
 > ACPI Error: Method parse/execution failed [\_TZ_.TZ01._TMP] (Node 0xffff800007b2c540), AE_NOT_FOUND (20110211/psparse-560)

 Given that no errors are now printed at runtime, I think the above are
 because acpicpu(4) should attach before acpitz(4), as the latter may
 reference, within the firmware AML, some things for the passive cooling.

 To put this differently: as the loading of acpicpu(4), or running the ACPI
 methods it runs, typically means that the ACPICA interpreter loads
 additional tables dynamically, it is natural that we get AE_NOT_FOUND from
 acpitz(4) because those things are not in the namespace yet.

 - Jukka.

From: Rhialto <rhialto@falu.nl>
To: gnats-bugs@NetBSD.org
Cc: port-amd64-maintainer@NetBSD.org, gnats-admin@NetBSD.org,
        netbsd-bugs@NetBSD.org, rhialto@falu.nl
Subject: Re: port-amd64/42895 (Weird ACPI messages every 30 seconds on the
 console)
Date: Wed, 8 Jun 2011 23:24:01 +0200

 On Tue 07 Jun 2011 at 19:40:03 +0000, Jukka Ruohonen wrote:
 >  You are sure that things work if you do not enable acpicpu(4)?

 I thought I was, but then I had a freeze too when I used the GENERIC
 kernel and used userconf to "disable acpicpu". So whatever it is, it
 isn't specifically in acpicpu. (It must be something since january
 though since that is when I built the so-far-still-working kernel).

 >  Few things:
 >  
 >  a Can you further build a kernel with DIAGNOSTIC to rule out anything obvious?

 I have done that, I am running it now. Of course, so far no freezes or
 diagnostics. I'll keep using it for a while to see if it will tell us
 something.

 >  b Can you install sysutils/dmidecode, run it, and post the output? If we do
 >    not manage to fix this, the last resort is to add a quirk for this laptop.

 Output attached below. I x-ed out some serial numbers.

 >  Given that no errors are now printed at runtime, I think the above are
 >  because acpicpu(4) should attach before acpitz(4), as the latter may
 >  reference, within the firmware AML, some things for the passive cooling.

 Yes that sounds right. Since the repeating messages disappear with
 acpicpu, that fixes the original issue of the PR. The secondary issue,
 the freezing, now seems to be unrelated to acpicpu proper.

 >  - Jukka.

 # dmidecode 2.11
 SMBIOS 2.4 present.
 26 structures occupying 1177 bytes.
 Table at 0x000E8290.

 Handle 0x0000, DMI type 0, 24 bytes
 BIOS Information
 	Vendor: Hewlett-Packard
 	Version: F.20
 	Release Date: 10/13/2009
 	ROM Size: 1024 kB
 	Characteristics:
 		PCI is supported
 		BIOS is upgradeable
 		BIOS shadowing is allowed
 		Boot from CD is supported
 		Selectable boot is supported
 		BIOS ROM is socketed
 		EDD is supported
 		Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
 		Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
 		5.25"/360 kB floppy services are supported (int 13h)
 		5.25"/1.2 MB floppy services are supported (int 13h)
 		3.5"/720 kB floppy services are supported (int 13h)
 		3.5"/2.88 MB floppy services are supported (int 13h)
 		8042 keyboard services are supported (int 9h)
 		CGA/mono video services are supported (int 10h)
 		ACPI is supported
 		USB legacy is supported
 		Targeted content distribution is supported
 	BIOS Revision: 15.32
 	Firmware Revision: 33.20

 Handle 0x0001, DMI type 1, 27 bytes
 System Information
 	Manufacturer: Hewlett-Packard
 	Product Name: Compaq Presario CQ71 Notebook PC
 	Version: Rev 1
 	Serial Number: xxxxxxxxxx
 	UUID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 	Wake-up Type: Power Switch
 	SKU Number: VK985EA#ABH
 	Family: 103C_5335KV

 Handle 0x0002, DMI type 2, 16 bytes
 Base Board Information
 	Manufacturer: Hewlett-Packard
 	Product Name: 306B
 	Version: 21.14
 	Serial Number: xxxxxxxxxx
 	Asset Tag: Base Board Asset Tag
 	Features:
 		Board is a hosting board
 		Board is replaceable
 	Location In Chassis: Base Board Chassis Location
 	Chassis Handle: 0x0003
 	Type: Motherboard
 	Contained Object Handles: 0

 Handle 0x0003, DMI type 3, 22 bytes
 Chassis Information
 	Manufacturer: Hewlett-Packard
 	Type: Notebook
 	Lock: Not Present
 	Version: N/A
 	Serial Number: None
 	Asset Tag: Not Specified
 	Boot-up State: Safe
 	Power Supply State: Safe
 	Thermal State: Safe
 	Security Status: None
 	OEM Information: 0x0000010D
 	Height: Unspecified
 	Number Of Power Cords: 1
 	Contained Elements: 0
 	SKU Number: Not Specified

 Handle 0x0004, DMI type 9, 13 bytes
 System Slot Information
 	Designation: PCI Express Graphic X16
 	Type: x16 PCI Express
 	Current Usage: Available
 	Length: Other
 	ID: 0
 	Characteristics:
 		PME signal is supported
 		Hot-plug devices are supported

 Handle 0x0005, DMI type 9, 13 bytes
 System Slot Information
 	Designation: PCI Express-0
 	Type: x1 PCI Express
 	Current Usage: Available
 	Length: Other
 	ID: 0
 	Characteristics:
 		PME signal is supported
 		Hot-plug devices are supported

 Handle 0x0006, DMI type 9, 13 bytes
 System Slot Information
 	Designation: PCI Express-1
 	Type: x1 PCI Express
 	Current Usage: Available
 	Length: Other
 	ID: 1
 	Characteristics:
 		PME signal is supported
 		Hot-plug devices are supported

 Handle 0x0007, DMI type 9, 13 bytes
 System Slot Information
 	Designation: PCI Express-2
 	Type: x1 PCI Express
 	Current Usage: Available
 	Length: Other
 	ID: 2
 	Characteristics:
 		PME signal is supported
 		Hot-plug devices are supported

 Handle 0x0008, DMI type 9, 13 bytes
 System Slot Information
 	Designation: PCI Express-3
 	Type: x1 PCI Express
 	Current Usage: Available
 	Length: Other
 	ID: 3
 	Characteristics:
 		PME signal is supported
 		Hot-plug devices are supported

 Handle 0x0009, DMI type 9, 13 bytes
 System Slot Information
 	Designation: PCI Express-4
 	Type: x1 PCI Express
 	Current Usage: Available
 	Length: Other
 	ID: 4
 	Characteristics:
 		PME signal is supported
 		Hot-plug devices are supported

 Handle 0x000A, DMI type 10, 6 bytes
 On Board Device Information
 	Type: Video
 	Status: Enabled
 	Description:    

 Handle 0x000B, DMI type 22, 26 bytes
 Portable Battery
 	Location: In the back
 	Manufacturer: CPT-U22F
 	Name: EV06047
 	Design Capacity: 4400 mWh
 	Design Voltage: 11100 mV
 	SBDS Version: 1.1
 	Maximum Error: 1%
 	SBDS Serial Number: 083A
 	SBDS Manufacture Date: 2009-11-15
 	SBDS Chemistry: LION
 	OEM-specific Information: 0x00000000

 Handle 0x000C, DMI type 11, 5 bytes
 OEM Strings
 	String 1: $HP$
 	String 2: LOC#ABH
 	String 3: ABS 70/71 79 7A 7B 7C
 	String 4: CNB1 0392110000200D10000020000

 Handle 0x000D, DMI type 15, 29 bytes
 System Event Log
 	Area Length: 32672 bytes
 	Header Start Offset: 0x0000
 	Data Start Offset: 0x0000
 	Access Method: General-purpose non-volatile data functions
 	Access Address: 0x0000
 	Status: Valid, Not Full
 	Change Token: 0x12345678
 	Header Format: OEM-specific
 	Supported Log Type Descriptors: 3
 	Descriptor 1: POST memory resize
 	Data Format 1: None
 	Descriptor 2: POST error
 	Data Format 2: POST results bitmap
 	Descriptor 3: Log area reset/cleared
 	Data Format 3: None

 Handle 0x000E, DMI type 32, 20 bytes
 System Boot Information
 	Status: No errors detected

 Handle 0x000F, DMI type 4, 35 bytes
 Processor Information
 	Socket Designation: CPU
 	Type: Central Processor
 	Family: Pentium M
 	Manufacturer: Intel(R) Corporation
 	ID: 7A 06 01 00 FF FB EB BF
 	Signature: Type 0, Family 6, Model 23, Stepping 10
 	Flags:
 		FPU (Floating-point unit on-chip)
 		VME (Virtual mode extension)
 		DE (Debugging extension)
 		PSE (Page size extension)
 		TSC (Time stamp counter)
 		MSR (Model specific registers)
 		PAE (Physical address extension)
 		MCE (Machine check exception)
 		CX8 (CMPXCHG8 instruction supported)
 		APIC (On-chip APIC hardware supported)
 		SEP (Fast system call)
 		MTRR (Memory type range registers)
 		PGE (Page global enable)
 		MCA (Machine check architecture)
 		CMOV (Conditional move instruction supported)
 		PAT (Page attribute table)
 		PSE-36 (36-bit page size extension)
 		CLFSH (CLFLUSH instruction supported)
 		DS (Debug store)
 		ACPI (ACPI supported)
 		MMX (MMX technology supported)
 		FXSR (FXSAVE and FXSTOR instructions supported)
 		SSE (Streaming SIMD extensions)
 		SSE2 (Streaming SIMD extensions 2)
 		SS (Self-snoop)
 		HTT (Multi-threading)
 		TM (Thermal monitor supported)
 		PBE (Pending break enabled)
 	Version: Pentium(R) Dual-Core CPU       T4300  @ 2.10GHz
 	Voltage: 1.6 V
 	External Clock: 800 MHz
 	Max Speed: 2100 MHz
 	Current Speed: 2100 MHz
 	Status: Populated, Enabled
 	Upgrade: <OUT OF SPEC>
 	L1 Cache Handle: 0x0012
 	L2 Cache Handle: 0x0010
 	L3 Cache Handle: Not Provided
 	Serial Number: Not Specified
 	Asset Tag: FFFF
 	Part Number: Not Specified

 Handle 0x0010, DMI type 7, 19 bytes
 Cache Information
 	Socket Designation: L2 Cache
 	Configuration: Enabled, Not Socketed, Level 2
 	Operational Mode: Write Back
 	Location: Internal
 	Installed Size: 1024 kB
 	Maximum Size: 1024 kB
 	Supported SRAM Types:
 		Synchronous
 	Installed SRAM Type: Synchronous
 	Speed: Unknown
 	Error Correction Type: Single-bit ECC
 	System Type: Unified
 	Associativity: 4-way Set-associative

 Handle 0x0011, DMI type 7, 19 bytes
 Cache Information
 	Socket Designation: L1 Cache
 	Configuration: Enabled, Not Socketed, Level 1
 	Operational Mode: Write Back
 	Location: Internal
 	Installed Size: 32 kB
 	Maximum Size: 32 kB
 	Supported SRAM Types:
 		Synchronous
 	Installed SRAM Type: Synchronous
 	Speed: Unknown
 	Error Correction Type: Single-bit ECC
 	System Type: Instruction
 	Associativity: 8-way Set-associative

 Handle 0x0012, DMI type 7, 19 bytes
 Cache Information
 	Socket Designation: L1 Cache
 	Configuration: Enabled, Not Socketed, Level 1
 	Operational Mode: Write Back
 	Location: Internal
 	Installed Size: 32 kB
 	Maximum Size: 32 kB
 	Supported SRAM Types:
 		Synchronous
 	Installed SRAM Type: Synchronous
 	Speed: Unknown
 	Error Correction Type: Single-bit ECC
 	System Type: Data
 	Associativity: 8-way Set-associative

 Handle 0x0013, DMI type 16, 15 bytes
 Physical Memory Array
 	Location: System Board Or Motherboard
 	Use: System Memory
 	Error Correction Type: None
 	Maximum Capacity: 8 GB
 	Error Information Handle: Not Provided
 	Number Of Devices: 2

 Handle 0x0014, DMI type 17, 27 bytes
 Memory Device
 	Array Handle: 0x0013
 	Error Information Handle: Not Provided
 	Total Width: 64 bits
 	Data Width: 64 bits
 	Size: 2048 MB
 	Form Factor: SODIMM
 	Set: None
 	Locator: DIMM0
 	Bank Locator: BANK 0
 	Type: DDR2
 	Type Detail: Synchronous
 	Speed: 800 MHz
 	Manufacturer: AD00000000000000
 	Serial Number: xxxxxxxx
 	Asset Tag: Unknown
 	Part Number: HMP125S6EFR8C-S6  

 Handle 0x0015, DMI type 20, 19 bytes
 Memory Device Mapped Address
 	Starting Address: 0x00000000000
 	Ending Address: 0x0007FFFFFFF
 	Range Size: 2 GB
 	Physical Device Handle: 0x0014
 	Memory Array Mapped Address Handle: 0x0018
 	Partition Row Position: 2
 	Interleave Position: 1
 	Interleaved Data Depth: 1

 Handle 0x0016, DMI type 17, 27 bytes
 Memory Device
 	Array Handle: 0x0013
 	Error Information Handle: Not Provided
 	Total Width: 64 bits
 	Data Width: 64 bits
 	Size: 2048 MB
 	Form Factor: SODIMM
 	Set: None
 	Locator: DIMM2
 	Bank Locator: BANK 2
 	Type: DDR2
 	Type Detail: Synchronous
 	Speed: 800 MHz
 	Manufacturer: AD00000000000000
 	Serial Number: xxxxxxxx
 	Asset Tag: Unknown
 	Part Number: HMP125S6EFR8C-S6  

 Handle 0x0017, DMI type 20, 19 bytes
 Memory Device Mapped Address
 	Starting Address: 0x00000000000
 	Ending Address: 0x0007FFFFFFF
 	Range Size: 2 GB
 	Physical Device Handle: 0x0016
 	Memory Array Mapped Address Handle: 0x0018
 	Partition Row Position: 2
 	Interleave Position: 2
 	Interleaved Data Depth: 1

 Handle 0x0018, DMI type 19, 15 bytes
 Memory Array Mapped Address
 	Starting Address: 0x00000000000
 	Ending Address: 0x000FFFFFFFF
 	Range Size: 4 GB
 	Physical Array Handle: 0x0013
 	Partition Width: 2

 Handle 0x0019, DMI type 127, 4 bytes
 End Of Table

 -Olaf.
 -- 
 ___ Olaf 'Rhialto' Seibert  -- There's no point being grown-up if you 
 \X/ rhialto/at/xs4all.nl    -- can't be childish sometimes. -The 4th Doctor

From: "Jukka Ruohonen" <jruoho@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/42895 CVS commit: src/sys
Date: Sun, 12 Jun 2011 10:11:53 +0000

 Module Name:	src
 Committed By:	jruoho
 Date:		Sun Jun 12 10:11:53 UTC 2011

 Modified Files:
 	src/sys/arch/ia64/acpi: acpi_machdep.c
 	src/sys/arch/ia64/include: acpi_machdep.h
 	src/sys/arch/x86/acpi: acpi_cpu_md.c
 	src/sys/arch/x86/conf: files.x86
 	src/sys/arch/x86/include: acpi_machdep.h
 	src/sys/dev/acpi: acpi.c acpi_cpu.c acpi_cpu.h
 Added Files:
 	src/sys/arch/x86/acpi: acpi_pdc.c

 Log Message:
 Move the evaluation of the _PDC control method out from the acpicpu(4)
 driver to the main acpi(4) stack. Follow Linux and evaluate it early.
 Should fix PR port-amd64/42895, possibly also PR kern/42583, and many
 other comparable bugs.

 A common sense explanation is that Intel supplies additional CPU tables to
 OEMs. BIOS writers do not bother to modify their DSDTs, but instead load
 these extra tables dynamically as secondary SSDT tables. The actual Load()
 happens when the _PDC method is invoked, and thus namespace errors occur
 when the CPU-specific ACPI methods are not yet present but referenced in the
 AML by various drivers, including, but not limited to, acpitz(4).


 To generate a diff of this commit:
 cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/acpi/acpi_machdep.c
 cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ia64/include/acpi_machdep.h
 cvs rdiff -u -r1.60 -r1.61 src/sys/arch/x86/acpi/acpi_cpu_md.c
 cvs rdiff -u -r0 -r1.1 src/sys/arch/x86/acpi/acpi_pdc.c
 cvs rdiff -u -r1.69 -r1.70 src/sys/arch/x86/conf/files.x86
 cvs rdiff -u -r1.8 -r1.9 src/sys/arch/x86/include/acpi_machdep.h
 cvs rdiff -u -r1.242 -r1.243 src/sys/dev/acpi/acpi.c
 cvs rdiff -u -r1.40 -r1.41 src/sys/dev/acpi/acpi_cpu.c \
     src/sys/dev/acpi/acpi_cpu.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Jukka Ruohonen <jruohonen@iki.fi>
To: gnats-bugs@NetBSD.org
Cc: Rhialto <rhialto@falu.nl>
Subject: Re: port-amd64/42895 (Weird ACPI messages every 30 seconds on the console)
Date: Sun, 12 Jun 2011 13:15:33 +0300

 >  I thought I was, but then I had a freeze too when I used the GENERIC
 >  kernel and used userconf to "disable acpicpu". So whatever it is, it
 >  isn't specifically in acpicpu. (It must be something since january
 >  though since that is when I built the so-far-still-working kernel).

 If you manage to gather some information about this freeze, please file a
 separate PR about the issue.

 >  Yes that sounds right. Since the repeating messages disappear with
 >  acpicpu, that fixes the original issue of the PR. The secondary issue,
 >  the freezing, now seems to be unrelated to acpicpu proper.

 I committed some additional fixes today. Can you verify that the remaining
 errors during boot no longer appear? If so, we can finally close this PR.

 - Jukka.

From: Rhialto <rhialto@falu.nl>
To: gnats-bugs@NetBSD.org
Cc: port-amd64-maintainer@NetBSD.org, gnats-admin@NetBSD.org,
        netbsd-bugs@NetBSD.org, rhialto@falu.nl
Subject: Re: port-amd64/42895 (Weird ACPI messages every 30 seconds on the
 console)
Date: Tue, 14 Jun 2011 21:34:06 +0200

 On Sun 12 Jun 2011 at 10:20:07 +0000, Jukka Ruohonen wrote:
 >  If you manage to gather some information about this freeze, please file a
 >  separate PR about the issue.

 Will do, as soon as it seems useful.

 >  I committed some additional fixes today. Can you verify that the remaining
 >  errors during boot no longer appear? If so, we can finally close this PR.

 Yes, the errors during boot are gone as well. Thanks!
 I agree the pr can be closed.

 >  - Jukka.
 -Olaf.
 -- 
 ___ Olaf 'Rhialto' Seibert  -- There's no point being grown-up if you 
 \X/ rhialto/at/xs4all.nl    -- can't be childish sometimes. -The 4th Doctor

State-Changed-From-To: feedback->closed
State-Changed-By: jruoho@NetBSD.org
State-Changed-When: Tue, 14 Jun 2011 19:57:05 +0000
State-Changed-Why:

Finally fixed. Thanks for patience and testing.



>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.