I get pass this crash if I disable acpi...

dmesg and partial (due to segmentation fault) acpidump follows.
acpidump -o output at http://anka.org/acpidump/

OpenBSD 4.4-current (GENERIC.MP) #2000: Tue Dec  2 22:35:51 MST 2008
    [EMAIL PROTECTED]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 2060275712 (1964MB)
avail mem = 2000232448 (1907MB)
RTC BIOS diagnostic error
fe<clock_battery,ROM_cksum,config_unit,memory_size,fixed_disk,invalid_time>
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0x7bbc4000 (21 entries)
bios0: vendor Hewlett-Packard version "68PCU Ver. F.0C" date 10/17/2008
bios0: Hewlett-Packard HP EliteBook 6930p
acpi0 at bios0: rev 0
acpi0: tables DSDT FACP HPET APIC MCFG ASF! SSDT SLIC DMAR SSDT SSDT SSDT
acpi0: wakeup devices LANC(S5) HDEF(S4) RP02(S5) WNIC(S5) RP03(S5)
ECF0(S5) RP05(S5) ECF0(S5) RP06(S5) NIC_(S5) USB1(S3) USB2(S3)
USB3(S3) USB4(S3) USB5(S3) USB6(S3) U6RM(S3) EHC1(S3) EHC2(S3)
PCIB(S5) HST1(S5)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 14318179 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz, 2394.54 MHz
cpu0: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,CX16,xTPR,NXE,LONG
cpu0: 3MB 64b/line 8-way L2 cache
cpu0: apic clock running at 266MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz, 2394.00 MHz
cpu1: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,CX16,xTPR,NXE,LONG
cpu1: 3MB 64b/line 8-way L2 cache
ioapic0 at mainbus0 apid 1 pa 0xfec00000, version 20, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 1
acpiprt0 at acpi0: bus -1 (PEGP)
acpiprt1 at acpi0: bus 1 (RP01)
acpiprt2 at acpi0: bus 2 (RP02)
acpiprt3 at acpi0: bus 3 (RP03)
acpiprt4 at acpi0: bus 68 (RP05)
acpiprt5 at acpi0: bus 133 (PCIB)
acpiprt6 at acpi0: bus 0 (PCI0)
acpiec0 at acpi0
acpicpu0 at acpi0: C2, C1, PSS
acpicpu1 at acpi0: C2, C1, PSS
acpitz0 at acpi0: critical temperature 105 degC
acpitz1 at acpi0: critical temperature 112 degC
acpitz2 at acpi0: critical temperature 112 degC
acpitz3 at acpi0: critical temperature 90 degC
acpitz4 at acpi0: critical temperature 95 degC
acpibat0 at acpi0: BAT0 model "Primary" serial 02583 2008/09/18 type
LIon oem "Hewlett-Packard"
acpibat1 at acpi0: BAT1 not present
acpiac0 at acpi0: AC unit online
acpibtn0 at acpi0: SLPB
acpibtn1 at acpi0: LID_
acpivideo at acpi0 not configured
cpu0: Enhanced SpeedStep 2394 MHz: speeds: 2401, 2400, 1600, 800 MHz
pci0 at mainbus0 bus 0: configuration mode 1
pchb0 at pci0 dev 0 function 0 "Intel GM45 Host" rev 0x07
vga1 at pci0 dev 2 function 0 "Intel GM45 Video" rev 0x07
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
intagp at vga1 not configured
inteldrm0 at vga1
drm0 at inteldrm0: couldn't find agp
"Intel GM45 Video" rev 0x07 at pci0 dev 2 function 1 not configured
"Intel ICH9 IGP M AMT" rev 0x03 at pci0 dev 25 function 0 not configured
uhci0 at pci0 dev 26 function 0 "Intel 82801I USB" rev 0x03: apic 1
int 16 (irq 10)
uhci1 at pci0 dev 26 function 1 "Intel 82801I USB" rev 0x03: apic 1
int 17 (irq 10)
uhci2 at pci0 dev 26 function 2 "Intel 82801I USB" rev 0x03: apic 1
int 18 (irq 10)
ehci0 at pci0 dev 26 function 7 "Intel 82801I USB" rev 0x03: apic 1
int 19 (irq 10)
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
azalia0 at pci0 dev 27 function 0 "Intel 82801I HD Audio" rev 0x03:
apic 1 int 17 (irq 10)
azalia0: RIRB time out
azalia0: codecs: Analog Devices/0x194a, AT&T/Lucent/0x1040, using
Analog Devices/0x194a
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801I PCIE" rev 0x03: apic 1
int 16 (irq 10)
pci1 at ppb0 bus 1
ppb1 at pci0 dev 28 function 1 "Intel 82801I PCIE" rev 0x03: apic 1
int 17 (irq 10)
pci2 at ppb1 bus 2
iwn0 at pci2 dev 0 function 0 "Intel WiFi Link 5300AGN" rev 0x00: apic
1 int 17 (irq 10), MIMO 3T3R, MoW, address 00:16:ea:70:8ZZZZ
ppb2 at pci0 dev 28 function 2 "Intel 82801I PCIE" rev 0x03: apic 1
int 18 (irq 10)
pci3 at ppb2 bus 3
ppb3 at pci0 dev 28 function 4 "Intel 82801I PCIE" rev 0x03: apic 1
int 16 (irq 10)
pci4 at ppb3 bus 68
uhci3 at pci0 dev 29 function 0 "Intel 82801I USB" rev 0x03: apic 1
int 20 (irq 10)
uhci4 at pci0 dev 29 function 1 "Intel 82801I USB" rev 0x03: apic 1
int 22 (irq 11)
uhci5 at pci0 dev 29 function 2 "Intel 82801I USB" rev 0x03: apic 1
int 18 (irq 10)
ehci1 at pci0 dev 29 function 7 "Intel 82801I USB" rev 0x03: apic 1
int 20 (irq 10)
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb4 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x93
pci5 at ppb4 bus 133
"Ricoh 5C832 Firewire" rev 0x06 at pci5 dev 9 function 0 not configured
sdhc0 at pci5 dev 9 function 1 "Ricoh 5C822 SD/MMC" rev 0x25: apic 1
int 22 (irq 11)
sdmmc0 at sdhc0
"Ricoh 5C843 MMC" rev 0x14 at pci5 dev 9 function 2 not configured
cbb0 at pci5 dev 9 function 3 "Ricoh 5C476 CardBus" rev 0xbb: apic 1
int 22 (irq 11)
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 134 device 0 cacheline 0x0, lattimer 0x20
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0 "Intel 82801IEM LPC" rev 0x03
ahci0 at pci0 dev 31 function 2 "Intel 82801I AHCI" rev 0x03: apic 1
int 21 (irq 10), AHCI 1.2
scsibus0 at ahci0: 32 targets, initiator 32
sd0 at scsibus0 targ 0 lun 0: <ATA, ST9160823AS, 3.AH> SCSI3 0/direct fixed
sd0: 152627MB, 512 bytes/sec, 312581808 sec total
cd0 at scsibus0 targ 1 lun 0: <Optiarc, DVD RW AD-7561S, AH03> ATAPI
5/cdrom removable
usb2 at uhci0: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci1: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci2: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb5 at uhci3: USB revision 1.0
uhub5 at usb5 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb6 at uhci4: USB revision 1.0
uhub6 at usb6 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb7 at uhci5: USB revision 1.0
uhub7 at usb7 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
mtrr: Pentium Pro MTRR support
com2 at pcmcia0 function 0: can't allocate i/o space
copyvalue: 105700Store to default type!  f7a00

83ed Called: \\_SB_.PCI0.LPCB.EC0_.RPPC
  local0:  0xffff8000000ffb08 cnt:01 stk:60 integer: 2
  local1:  0xffff800000101c08 cnt:01 stk:61 integer: 0
  local2:  0xffff800000102b08 cnt:02 stk:62 objref: 0xffff800000128f88
index:0 opcode:RefOf
kernel: protection fault trap, code=0
Stopped at      aml_nodename+0x22:      movq    0(%rdi),%rdi
ddb{0}> aml_nodename() at aml_nodename+0x22
aml_showvalue() at aml_showvalue+0x331
_aml_die() at _aml_die+0x18c
aml_xstore() at aml_xstore+0x1cc
aml_xparse() at aml_xparse+0x696
aml_xeval() at aml_xeval+0xf7
aml_xparse() at aml_xparse+0x5e6
aml_xeval() at aml_xeval+0xf7
aml_evalnode() at aml_evalnode+0x97
acpiec_gpehandler() at acpiec_gpehandler+0xa3
acpi_isr_thread() at acpi_isr_thread+0x183
end trace frame: 0x0, count: -11
ddb{0}>    PID   PPID   PGRP    UID  S       FLAGS  WAIT
COMMAND
    16      0      0      0  3   0x2100200  pftm          pfpurge
    15      0      0      0  3   0x2100200  config        usb7
    14      0      0      0  3   0x2100200  config        usb6
    13      0      0      0  3   0x2100200  config        usb5
    12      0      0      0  3   0x2100200  config        usb4
    11      0      0      0  3   0x2100200  config        usb3
    10      0      0      0  3   0x2100200  config        usb2
     9      0      0      0  3   0x2100200  mmctsk        sdmmc0
     8      0      0      0  3   0x2100200  usbdly        usb1
     7      0      0      0  3   0x2100200  usbtsk        usbtask
     6      0      0      0  3   0x2100200  usbdly        usb0
*    5      0      0      0  7   0x2100200                acpi0
     4      0      0      0  3    0x100200                idle1
     3      0      0      0  3   0x2100200  bored         syswq
     2      0      0      0  3    0x100200                idle0
     1      0      0      0  3   0x2000000  initexec      swapper
     0     -1      0      0  3   0x2080200  cfpend        swapper
ddb{0}> ds                            0x4f08    mp_pdirpa+0x2e21
es                            0x6ec1    mp_pdirpa+0x4dda
fs                            0x49e0    mp_pdirpa+0x28f9
gs                                 0
rdi               0xdeadbeefdeadbeef
rsi                            0x3d0
rbp               0xffff800016554a10
rbx               0xdeadbeefdeadbeef
rdx               0xffffffff808a8be0    cpu_info_primary
rcx                            0x282
rax               0xffffffff80ba5740    __bss_start+0x52d28
r8                0xffff800016554930
r9                                 0
r10                              0x1
r11               0xffff80000011df98
r12                              0x2
r13                                0
r14                            0xb38
r15               0xffffffff80784f64    btkbd_trtab+0x1ac4
rip               0xffffffff805765a2    aml_nodename+0x22
cs                               0x8
rflags                       0x10282    mp_pdirpa+0xe19b
rsp               0xffff800016554a00
ss                              0x10
aml_nodename+0x22:      movq    0(%rdi),%rdi
ddb{0}> syncing disks... done
WARNING: not updating battery clock
rebooting...


/*
RSD PTR: Checksum=63, OEMID=HPQOEM, RsdtAddress=0x7bcfe0ac
 */
/*
RSDT: Length=80, Revision=1, Checksum=75,
        OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0xf,
        Creator ID=, Creator Revision=0x1000013
 */
/*
        Entries={ 0x7bcfc000, 0x7bcfb000, 0x7bcfa000, 0x7bcf9000, 0x7bcf8000,
0x7bcdc000, 0x7bcda000, 0x7bcd9000, 0x7bcd8000, 0x7bcd7000, 0x7bcd6000
}
 */
/*
        DSDT=0x7bcdf000
        INT_MODEL=PIC
        SCI_INT=9
        SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0xf2
        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=50
        Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
 */
/*
DSDT: Length=97271, Revision=1, Checksum=116,
        OEMID=HPQOEM, OEM Table ID=30DB, OEM Revision=0x1,
        Creator ID=INTL, Creator Revision=0x20060912
 */
DefinitionBlock (
"acpi_dsdt.aml",        //Output filename
"DSDT",                 //Signature
0x1,                    //DSDT Revision
"HPQOEM",                       //OEMID
"30DB",         //TABLE ID
0x1                     //OEM Revision
)

{
Name(LSTA, 0x0)
Name(IECP, 0x0)
Name(DECP, 0x0)
Name(IDPM, 0x0)
Method(\HPTS, 1) {
    Store(Arg0, SLPT)
    \_SB_.ODGW(Or(0x5500, Arg0))
    If(LGreater(Arg0, 0x0)) {
        Store(0x0, \_SB_.PCI0.LPCB.EC0_.HSST)
        Store(\_SB_.PCI0.RP03.PDSX, IECP)
        Store(\_SB_.PCI0.RP05.PDSX, DECP)
        Store(\APMC, IDPM)
        If(LNot(LEqual(Arg0, 0x5))) {
            \_SB_.PCI0.LPCB.EC0_.BTDR(0x0)
            Store(0x1, \_SB_.NFBS)
            If(LEqual(Arg0, 0x3)) {
                Store(\_SB_.LID_._LID(), LSTA)
            }
        }
    }
}
Method(\HWAK, 1) {
    Store(0x0, SLPT)
    \_SB_.ODGW(Or(0x5600, Arg0))
    If(LEqual(Arg0, 0x3)) {
        \_SB_.SSMI(0xea80, 0x0, 0x0, 0x0, 0x0)
    }
    \_SB_.PCI0.LPCB.EC0_.ITLB()
    \_SB_.PCI0.LPCB.EC0_.RPPC()
    If(\_SB_.PCI0.LPCB.EC0_.ECRG) {
        Acquire(\_SB_.PCI0.LPCB.EC0_.ECMX, 0xffff)
        Store(0x1, \_SB_.PCI0.LPCB.EC0_.ACPI)
        Store(0x0, \_SB_.PCI0.LPCB.EC0_.SLPT)
        Release(\_SB_.PCI0.LPCB.EC0_.ECMX)
    }
    If(LGreater(Arg0, 0x2)) {
        \_TZ_.RETD()
        \_TZ_.INTM(0x1)
        Store(0x1, \_SB_.NFBS)
        If(LEqual(Arg0, 0x3)) {
            If(XOr(\_SB_.LID_._LID(), LSTA)) {
                XOr(GIV_, 0x2000, Local0)
                Store(Local0, GIV_)
            }
            Store(IDPM, \APMC)
        }
        If(LEqual(Arg0, 0x4)) {
            \_SB_.WMID.WGWE(0x5, 0x0)
        }
    }
    If(LOr(LEqual(Arg0, 0x4), LEqual(\WCOS(), 0x1))) {
        Notify(\_SB_.SLPB, 0x2)
    }
    Store(\_SB_.PCI0.LPCB.EC0_.GACS(), Local2)
    \_SB_.PCI0.LPCB.EC0_.PWUP(0x3, 0xff)
    Store(\_SB_.PCI0.LPCB.EC0_.GBAP(), Local1)
    Store(\_SB_.PCI0.LPCB.EC0_.GACS(), Local3)
    XOr(Local2, Local3, Local3)
    If(Local3) {
        Notify(\_SB_.AC__, 0x80)
        PNOT()
    }
    Else {
        If(LEqual(Arg0, 0x4)) {
            XOr(Local2, 0x1, \_SB_.ACST)
        }
    }
    WKET(Arg0)
    \_SB_.VWAK(Arg0)
    \_SB_.VWAK(0x1)
    Store(\_SB_.HST1.GHID(), Local0)
    \_SB_.PCI0.ACEL.ITAL()
}
Mutex(MUTX, 0)
Method(P8XH, 2, Serialized) {
    If(LEqual(Arg0, 0x0)) {
        \_SB_.ODBG(Arg1)
        Store(Or(And(P80D, 0xffffff00), Arg1), P80D)
    }
    If(LEqual(Arg0, 0x1)) {
        \_SB_.ODG1(Arg1)
        Store(Or(And(P80D, 0xffff00ff), ShiftLeft(Arg1, 0x8)), P80D)
    }
    If(LEqual(Arg0, 0x2)) {
        Store(Or(And(P80D, 0xff00ffff), ShiftLeft(Arg1, 0x10)), P80D)
    }
    If(LEqual(Arg0, 0x3)) {
        Store(Or(And(P80D, 0x00ffffff), ShiftLeft(Arg1, 0x18)), P80D)
    }
}
OperationRegion(SPRT, SystemIO, 0xb2, 0x2)
Field(SPRT, ByteAcc, Lock, Preserve) {
    SSMP,       8
}
Method(\_PIC, 1) {
    Store(Arg0, GPIC)
}
Method(_PTS, 1) {
    HPTS(Arg0)
    If(LEqual(Arg0, 0x3)) {
        If(LAnd(DTSE, MPEN)) {
            TRAP(0x2, 0x1e)
        }
    }
}
Method(_WAK, 1) {
    HWAK(Arg0)
    If(LEqual(Arg0, 0x3)) {
    }
    If(LOr(LEqual(Arg0, 0x3), LEqual(Arg0, 0x4))) {
        If(LAnd(DTSE, MPEN)) {
            TRAP(0x2, 0x14)
        }
        If(And(CFGD, 0x01000000)) {
            If(LAnd(And(CFGD, 0xf0), LAnd(LEqual(OSYS, 0x07d1),
LNot(And(PDC0, 0x10))))) {
                TRAP(0x1, 0x48)
            }
        }
        If(LEqual(OSYS, 0x07d2)) {
            If(And(CFGD, 0x1)) {
                If(LGreater(\_PR_.CPU0._PPC, 0x0)) {
                    Subtract(\_PR_.CPU0._PPC, 0x1, \_PR_.CPU0._PPC)
                    PNOT()
                    Add(\_PR_.CPU0._PPC, 0x1, \_PR_.CPU0._PPC)
                    PNOT()
                }
                Else {
                    Add(\_PR_.CPU0._PPC, 0x1, \_PR_.CPU0._PPC)
                    PNOT()
                    Subtract(\_PR_.CPU0._PPC, 0x1, \_PR_.CPU0._PPC)
                    PNOT()
                }
            }
        }
    }
    Return(Package(0x2) {
        0x0,
        0x0,
    })
}
Method(GETB, 3, Serialized) {
    Multiply(Arg0, 0x8, Local0)
    Multiply(Arg1, 0x8, Local1)
    CreateField(Arg2, Local0, Local1, TBF3)
    Return(TBF3)
}
Method(PNOT, 0, Serialized) {
    If(MPEN) {
        If(And(PDC0, 0x8)) {
            Notify(\_PR_.CPU0, 0x80)
            If(And(PDC0, 0x10)) {
                Sleep(0x64)
                Notify(\_PR_.CPU0, 0x81)
            }
        }
        If(And(PDC1, 0x8)) {
            Notify(\_PR_.CPU1, 0x80)
            If(And(PDC1, 0x10)) {
                Sleep(0x64)
                Notify(\_PR_.CPU1, 0x81)
            }
        }
    }
    Else {
        Notify(\_PR_.CPU0, 0x80)
        Sleep(0x64)
        Notify(\_PR_.CPU0, 0x81)
    }
}
Method(TRAP, 2, Serialized) {
    Store(Arg1, SMIF)
    If(LEqual(Arg0, 0x1)) {
        Store(0x0, TRP0)
    }
    If(LEqual(Arg0, 0x2)) {
        Store(Arg1, DTSF)
        Store(0x0, TRPD)
        Return(DTSF)
    }
    If(LEqual(Arg0, 0x3)) {
        Store(0x0, TRPH)
    }
    Return(SMIF)
}
Scope(\_SB_) {
    Method(_INI) {
        Store(0x07d0, OSYS)
        If(CondRefOf(_OSI, Local0)) {
            If(_OSI) {
                "Linux"
                Store(0x03e8, OSYS)
            }
            If(_OSI) {
                "Windows 2001"
                Store(0x07d1, OSYS)
            }
            If(_OSI) {
                "Windows 2001 SP1"
                Store(0x07d1, OSYS)
            }
            If(_OSI) {
                "Windows 2001 SP2"
                Store(0x07d2, OSYS)
            }
            If(_OSI) {
                "Windows 2006"
                Store(0x07d6, OSYS)
            }
            If(LAnd(MPEN, LEqual(OSYS, 0x07d1))) {
                TRAP(0x1, 0x48)
            }
            TRAP(0x3, 0x35)
        }
        \_TZ_.BOTT()
        \_TZ_.RETD()
    }
}
OperationRegion(GNVS, SystemMemory, 0x7bcc3d98, 0x0100)
Field(GNVS, AnyAcc, Lock, Preserve) {
    OSYS,       16,
    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,
    PSVT,       8,
    TC1V,       8,
    TC2V,       8,
    TSPV,       8,
    CRTT,       8,
    DTSE,       8,
    DTS1,       8,
    DTS2,       8,
    DTSF,       8,
    Offset(0x28),
    APIC,       8,
    MPEN,       8,
    PCP0,       8,
    PCP1,       8,
    PPCM,       8,
    PPMF,       32,
    Offset(0x32),
    Offset(0x3c),
    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,
    Offset(0x67),
    BLCS,       8,
    BRTL,       8,
    ALSE,       8,
    ALAF,       8,
    LLOW,       8,
    LHIH,       8,
    Offset(0x6e),
    EMAE,       8,
    EMAP,       16,
    EMAL,       16,
    Offset(0x74),
    MEFE,       8,
    DSTS,       8,
    Offset(0x78),
    TPMP,       8,
    TPME,       8,
    Offset(0x82),
    GTF0,       56,
    GTF5,       56,
    IDEM,       8,
    GTF1,       56,
    BID_,       8,
    Offset(0xaa),
    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,
    IDMM,       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,
    Offset(0xeb),
    DSEN,       8,
    ECON,       8,
    GPIC,       8,
    CTYP,       8,
    L01C,       8,
    VFN0,       8,
    VFN1,       8
}
OperationRegion(ASMA, SystemMemory, 0x7bcc0018, 0x1060)
Field(ASMA, AnyAcc, NoLock, Preserve) {
    ASMB,       33536
}
OperationRegion(AF10, SystemMemory, 0x7bcc2818, 0x0793)
Field(AF10, AnyAcc, Lock, Preserve) {
    STAT,       32,
    EVAL,       8,
    ASTL,       8,
    ASTG,       256,
    OWNT,       640,
    PROD,       640,
    MODL,       640,
    PTYP,       640,
    PFRQ,       640,
    MEMS,       640,
    DATE,       640,
    FAMI,       640,
    SERL,       640,
    VREV,       640,
    KBCD,       640,
    HDDS,       160,
    HDDM,       320,
    CDAT,       136,
    CSTS,       8,
    CYCL,       8,
    PBSN,       144,
    SBSN,       144,
    BSTS,       8,
    BORD,       64,
    APST,       8,
    OAPW,       3200,
    NAPW,       3200,
    SECO,       32,
    SECS,       32,
    SKUN,       128,
    SVID,       48,
    SSID,       32,
    BTFC,       160,
    WLFC,       160,
    WWFC,       160,
    PWDL,       16
}
OperationRegion(HPDF, SystemMemory, 0x7bcc3f18, 0x006e)
Field(HPDF, AnyAcc, Lock, Preserve) {
    SLPT,       4,
    WHOS,       4,
    SDFG,       4,
    LEGF,       1,
    KCDB,       1,
    KLDB,       1,
    TPMX,       1,
    FOAL,       1,
    AEDA,       1,
    ALSF,       1,
    WOLD,       1,
    HSED,       1,
    HDEN,       1,
    MDEN,       1,
    ASFG,       9,
    WDPE,       8,
    WDSA,       8,
    WDST,       8,
    WDGN,       8,
    WDSS,       8,
    WLBN,       8,
    PRDT,       8,
    LPDP,       16,
    EAX_,       32,
    EBX_,       32,
    ECX_,       32,
    EDX_,       32,
    REFS,       32,
    SSCI,       8,
    SBFC,       8,
    THOS,       8,
    TRCN,       8,
    DCAP,       8,
    BRLV,       88,
    LOTR,       160,
    HITR,       160,
    WABN,       8,
    WADN,       8,
    WAFN,       8,
    DTCD,       32,
    BCLV,       104,
    BDCP,       8
}
OperationRegion(HPD2, SystemMemory, 0x7bbcaf98, 0x0007)
Field(HPD2, AnyAcc, Lock, Preserve) {
    CWDS,       8,
    CWLS,       8,
    CBTS,       8,
    CWWS,       8,
    CFPS,       8,
    CMDS,       8,
    BRID,       8
}
Scope(\_GPE) {
    Method(_L00) {
        \_TZ_.THEV()
    }
    Method(_L01) {
        Add(L01C, 0x1, L01C)
        \_SB_.PCI0.RP01.HPLG()
        \_SB_.PCI0.RP02.HPLG()
        \_SB_.PCI0.RP03.HPLG()
        \_SB_.PCI0.RP04.HPLG()
        \_SB_.PCI0.RP05.HPLG()
        \_SB_.PCI0.RP06.HPLG()
    }
    Method(_L02) {
        Store(0x0, GPEC)
        Store(SSCI, Local0)
        If(Local0) {
            Store(0x0, SSCI)
            If(LEqual(Local0, 0x1)) {
                VFN4()
            }
            If(LAnd(LNot(LLess(Local0, 0x4)), LNot(LGreater(Local0, 0x5)))) {
                \_SB_.WMID.WGWE(Local0, 0x0)
            }
            If(LEqual(Local0, 0x7)) {
                Acquire(\_TZ_.THER, 0xffff)
                Or(\_TZ_.THSC, 0x1, \_TZ_.THSC)
                Release(\_TZ_.THER)
                Notify(\_TZ_.DTSZ, 0x80)
            }
            If(LEqual(Local0, 0x3)) {
                VBRE(0x87)
            }
            If(LEqual(Local0, 0x2)) {
                VBRE(0x86)
            }
        }
    }
    Method(_L03) {
        Notify(\_SB_.PCI0.USB1, 0x2)
    }
    Method(_L04) {
        Notify(\_SB_.PCI0.USB2, 0x2)
    }
    Method(_L05) {
        Notify(\_SB_.PCI0.USB5, 0x2)
    }
    Method(_L09) {
        \_SB_.PCI0.RP01.PME_()
        \_SB_.PCI0.RP02.PME_()
        \_SB_.PCI0.RP03.PME_()
        \_SB_.PCI0.RP04.PME_()
        \_SB_.PCI0.RP05.PME_()
        \_SB_.PCI0.RP06.PME_()
    }
    Method(_L0B) {
        Notify(\_SB_.PCI0.PCIB, 0x2)
    }
    Method(_L0C) {
        Notify(\_SB_.PCI0.USB3, 0x2)
    }
    Method(_L0D) {
        If(\_SB_.PCI0.EHC1.PMES) {
            Store(0x1, \_SB_.PCI0.EHC1.PMES)
            Notify(\_SB_.PCI0.EHC1, 0x2)
        }
        If(\_SB_.PCI0.EHC2.PMES) {
            Store(0x1, \_SB_.PCI0.EHC2.PMES)
            Notify(\_SB_.PCI0.EHC2, 0x2)
        }
        If(\_SB_.PCI0.HDEF.PMES) {
            Store(0x1, \_SB_.PCI0.HDEF.PMES)
            Notify(\_SB_.PCI0.HDEF, 0x2)
        }
        Notify(\_SB_.PCI0.LANC, 0x2)
    }
    Method(_L0E) {
        Notify(\_SB_.PCI0.USB4, 0x2)
    }
    Method(_L18) {
        XOr(GIV_, 0x0100, Local0)
        Store(Local0, GIV_)
        VDET()
        \_SB_.WMID.WGWE(0x1, 0x0)
        Sleep(0x03e8)
        Notify(\_SB_.PCI0.USB5, 0x0)
        Notify(\_SB_.PCI0.USB6, 0x0)
        Notify(\_SB_.PCI0.EHC2, 0x0)
        Notify(\_SB_.PCI0.SATA, 0x0)
        DKET()
    }
    Method(_L1D) {
        XOr(GIV_, 0x2000, Local0)
        Store(Local0, GIV_)
        Multiply(0x2000, 0x2000, Local1)
        ShiftLeft(Local1, 0x1, Local2)
        Or(Local1, Local2, Local3)
        And(\_SB_.PCI0.LPCB.GPRO, Not(Local3), Local0)
        Store(Local0, \_SB_.PCI0.LPCB.GPRO)
        If(\_SB_.PCI0.LPCB.EC0_.ECRG) {
            XOr(\_SB_.LID_._LID(), 0x1, \_SB_.PCI0.LPCB.EC0_.LIDS)
        }
        Notify(\_SB_.LID_, 0x80)
        If(VLET()) {
            And(\_SB_.PCI0.LPCB.GPRO, Not(Local3), Local0)
            Or(Local0, Local2, \_SB_.PCI0.LPCB.GPRO)
        }
        \_SB_.PCI0.ACEL.AJAL()
    }
}
Scope(\_PR_) {
    Processor(CPU0, 0, 0x410, 0x6) {
    }
    Processor(CPU1, 1, 0x410, 0x6) {
    }
    Processor(CPU2, 2, 0x410, 0x6) {
    }
    Processor(CPU3, 3, 0x410, 0x6) {
    }
}
Scope(\_TZ_) {
    Name(TRIP, Package(0x6) {
        Package(0x2) {
            Package(0x8) {
                0x0aac,
                0x0,
                0x0,
                0x0,
                0x0,
                0x0,
                0x0,
                0x0fa3,
            },
            Package(0x8) {
                0x0,
                0x0,
                0x0,
                0x0,
                0x0,
                0x0,
                0x0,
                0x14ac,
            },
        },
        Package(0x2) {
            Package(0x2) {
                0x0aac,
                0x0e62,
            },
            Package(0x2) {
                0x0ec6,
                0x0fa3,
            },
        },
        Package(0x2) {
            Package(0x2) {
                0x0aac,
                0x0ca0,
            },
            Package(0x2) {
                0x0d04,
                0x0fa3,
            },
        },
        Package(0x2) {
            Package(0x3) {
                0x0aac,
                0x0e1c,
                0x0e30,
            },
            Package(0x3) {
                0x0e80,
                0x0f0c,
                0x0fa2,
            },
        },
        Package(0x2) {
            Package(0x3) {
                0x0aac,
                0x0dcc,
                0x0e08,
            },
            Package(0x3) {
                0x0e1c,
                0x0e62,
                0x0fa2,
            },
        },
        Package(0x2) {
            Package(0x3) {
                0x0aac,
                0x0db8,
                0x0e08,
            },
            Package(0x3) {
                0x0dea,
                0x0e30,
                0x0fa2,
            },
        },
    })
    Name(FAOS, 0x6)
    Name(PU1T, Package(0x1) {
        Package(0x8) {
            0x0,
            0xb,
            0x1f,
            0x29,
            0x33,
            0x3d,
            0x51,
            0x51,
        },
    })
    Method(TRUP, 0, Serialized) {
        Store(0x0, Local0)
    }
    Method(INTM, 1, Serialized) {
        Store(0x0, Local0)
        INTS(Local0, 0x0)
        If(Arg0) {
            Notify(\_TZ_.CPUZ, 0x80)
            Notify(\_TZ_.SKNZ, 0x80)
            Notify(\_TZ_.LOCZ, 0x80)
        }
    }
    Name(SCPC, 0x0)
    Name(WHTR, 0x38)
    Name(OSTH, 0x0)
    Name(LARE, Package(0x6) {
    })
    Name(LARP, Package(0x6) {
    })
    Name(CUZO, Package(0x6) {
    })
    Mutex(THER, 0)
    Name(THSC, 0x3d)
    Name(THOS, 0x0)
    Name(MIFA, 0x0)
    Name(VGGT, 0x1e)
    Name(VGST, 0x0)
    Method(GETP, 2, Serialized) {
        Store(0x1, Local0)
        Store(Arg0, Local1)
        Store(DerefOf(Index(CUZO, Arg1)), Local3)
        If(LEqual(Local3, 0xff)) {
            Store(0x0, Local3)
        }
        If(LLess(Arg0, Local3)) {
            Store(0x0, Local0)
            Add(Arg0, 0x1, Local1)
        }
        Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(TRIP,
CATZ(Arg1))), Local0)), Local1)), Local2)
        Return(Local2)
    }
    Method(ADCT, 2, Serialized) {
        If(And(Arg0, 0x80)) {
            Subtract(Arg0, 0x0100, Local0)
        }
        Else {
            Store(Arg0, Local0)
        }
        If(LEqual(Arg1, 0x1)) {
            Add(Local0, THOS, Local2)
        }
        Else {
            Subtract(Local0, THOS, Local2)
        }
        If(LGreater(Local2, 0x7f)) {
            If(LEqual(And(Local2, 0x8000), 0x0)) {
                Store(0x7f, Local2)
            }
            And(Local2, 0xff, Local2)
        }
        Return(Local2)
    }
    Method(GEDT, 0, Serialized) {
        Store(TRCN, Local0)
        Store(LOTR, Local2)
        Store(HITR, Local3)
        Store(0x0, Local1)
        While(LLess(Local1, Local0)) {
            If(Local1) {
                Store(DerefOf(Index(Local2, Local1)), Local4)
                Multiply(Local4, 0xa, Local4)
                Add(Local4, 0x0aac, Local4)
                Store(Local4, Index(DerefOf(Index(DerefOf(Index(TRIP,
CATZ(0x0))), 0x0)), Local1))
            }
            Store(DerefOf(Index(Local3, Local1)), Local4)
            Multiply(Local4, 0xa, Local4)
            Add(Local4, 0x0aac, Local4)
            Store(Local4, Index(DerefOf(Index(DerefOf(Index(TRIP,
CATZ(0x0))), 0x1)), Local1))
            Increment(Local1)
        }
    }
    Method(BOTT, 0, Serialized) {
        TRUP()
        GEDT()
        If(And(\THOS, 0x80)) {
            Subtract(\THOS, 0x0100, \_TZ_.THOS)
        }
        Else {
            Store(\THOS, \_TZ_.THOS)
        }
    }
    Method(RETD, 0, Serialized) {
        Acquire(THER, 0xffff)
        Store(0x3d, THSC)
        Store(0x38, WHTR)
        Store(0x0, Local0)
        While(LLess(Local0, 0x6)) {
            Store(0x0, Index(LARE, Local0))
            Store(0x0, Index(LARP, Local0))
            Store(0xff, Index(CUZO, Local0))
            Increment(Local0)
        }
        Release(THER)
    }
    Method(INTS, 2, Serialized) {
        Store(\_SB_.PCI0.LPCB.SMAB(0x5d, 0x27, 0x0), Local0)
        Store(\_SB_.PCI0.LPCB.SMAB(0x5d, 0x20, 0x0), Local0)
        If(LEqual(And(Local0, 0xff00), 0x0)) {
            And(Local0, 0x7f, Local0)
            \_SB_.PCI0.LPCB.SMAB(0x5c, 0x20, Local0)
        }
        \_SB_.PCI0.LPCB.SMAB(0x5c, 0x28, 0x7)
    }
    Method(GTTP, 1, Serialized) {
        If(LEqual(Arg0, 0x2)) {
            Store(0x0b4c, Local1)
            Acquire(\_SB_.PCI0.LPCB.EC0_.ECMX, 0xffff)
            If(\_SB_.PCI0.LPCB.EC0_.ECRG) {
                Store(\_SB_.PCI0.LPCB.EC0_.CBT_, Local1)
            }
            Release(\_SB_.PCI0.LPCB.EC0_.ECMX)
        }
        Else {
            If(LLess(Arg0, 0x2)) {
                If(LEqual(Arg0, 0x0)) {
                    Store(0x10, Local2)
                    If(DTSE) {
                        Store(DTS1, Local2)
                        Store(DTS2, Local3)
                        If(LGreater(Local3, Local2)) {
                            Store(Local3, Local2)
                        }
                    }
                }
                If(LEqual(Arg0, 0x1)) {
                    Store(VGGT, Local2)
                }
            }
            Else {
                If(LEqual(Arg0, 0x3)) {
                    Store(\_SB_.PCI0.LPCB.SMAB(0x5d, 0x2, 0x0), Local2)
                    If(LEqual(And(Local2, 0xff00), 0x0)) {
                        Store(ADCT(Local2, 0x0), Local2)
                    }
                }
                If(LEqual(Arg0, 0x4)) {
                    Store(\_SB_.PCI0.LPCB.SMAB(0x5d, 0x4, 0x0), Local2)
                }
                If(LEqual(Arg0, 0x5)) {
                    Store(\_SB_.PCI0.LPCB.SMAB(0x5d, 0x0, 0x0), Local2)
                }
                If(And(Local2, 0xff00)) {
                    Store(0x0, Local2)
                }
                If(And(Local2, 0x80)) {
                    Subtract(Local2, 0x0100, Local2)
                }
            }
            Multiply(Local2, 0xa, Local1)
            Add(Local1, 0x0aac, Local1)
        }
        Store(Local1, Local2)
        Store(0x0, Local3)
        If(LLess(Local1, 0x0b4c)) {
            If(LLess(DerefOf(Index(LARE, Arg0)), 0x0b4c)) {
                Store(0x0b4c, Index(LARP, Arg0))
            }
            Store(DerefOf(Index(LARP, Arg0)), Local1)
        }
        If(LEqual(Arg0, 0x0)) {
            If(LGreater(Local2, DerefOf(Index(LARE, Arg0)))) {
                Store(0x1, Local3)
            }
        }
        Store(Local2, Index(LARE, Arg0))
        Store(Local1, Index(LARP, Arg0))
        Acquire(THER, 0xffff)
        Store(ShiftLeft(0x1, Arg0), Local2)
        If(And(THSC, Local2)) {
            If(LEqual(Arg0, 0x0)) {
                Or(WHTR, Local3, WHTR)
            }
            If(And(WHTR, Local2)) {
                Store(Match(DerefOf(Index(DerefOf(Index(TRIP,
CATZ(Arg0))), 0x1)), MGT, Local1, MTR, 0x0, 0x0), Local0)
            }
            Else {
                Store(Match(DerefOf(Index(DerefOf(Index(TRIP,
CATZ(Arg0))), 0x0)), MGE, Local1, MTR, 0x0, 0x0), Local0)
                Decrement(Local0)
                Or(WHTR, Local2, WHTR)
            }
            If(LOr(LNot(LEqual(Local0, DerefOf(Index(CUZO, Arg0)))), SCPC)) {
                Store(0x0, SCPC)
                Store(Local0, Index(CUZO, Arg0))
                If(LNot(LLess(Arg0, 0x3))) {
                    SETM(Local0, Arg0)
                }
                Else {
                    If(LEqual(Arg0, 0x2)) {
                        Notify(\_TZ_.BATZ, 0x81)
                    }
                    Else {
                        PSWT()
                        If(LEqual(Arg0, 0x0)) {
                            Notify(\_TZ_.DTSZ, 0x81)
                        }
                    }
                }
            }
            And(THSC, Not(Local2), THSC)
        }
        Release(THER)
        Return(Local1)
    }
    Method(SETM, 2, Serialized) {
        Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(TRIP,
CATZ(Arg1))), 0x1)), Arg0)), Local0)
        Subtract(Local0, 0x0aac, Local0)
        Divide(Local0, 0xa, Local1, Local6)
        If(LAnd(LEqual(Arg1, 0x3), LLess(Local6, 0x7f))) {
            Store(ADCT(Local6, 0x1), Local6)
        }
        Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(TRIP,
CATZ(Arg1))), 0x0)), Arg0)), Local0)
        If(LLess(Local0, 0x0aac)) {
            Subtract(0x0aac, Local0, Local1)
            Divide(Local1, 0xa, Local3, Local2)
            Not(Local2, Local2)
            Add(Local2, 0x1, Local2)
            And(Local2, 0xff, Local2)
        }
        Else {
            Subtract(Local0, 0x0aac, Local0)
            Divide(Local0, 0xa, Local1, Local2)
            If(LEqual(Arg1, 0x3)) {
                Store(ADCT(Local2, 0x1), Local2)
            }
        }
        If(LEqual(Arg1, 0x3)) {
            \_SB_.PCI0.LPCB.SMAB(0x5c, 0x38, Local2)
            \_SB_.PCI0.LPCB.SMAB(0x5c, 0x30, Local6)
            Notify(\_TZ_.CPUZ, 0x81)
        }
        If(LEqual(Arg1, 0x4)) {
            \_SB_.PCI0.LPCB.SMAB(0x5c, 0x39, Local2)
            \_SB_.PCI0.LPCB.SMAB(0x5c, 0x31, Local6)
            Notify(\_TZ_.SKNZ, 0x81)
        }
        If(LEqual(Arg1, 0x5)) {
            \_SB_.PCI0.LPCB.SMAB(0x5c, 0x3c, Local2)
            \_SB_.PCI0.LPCB.SMAB(0x5c, 0x34, Local6)
            Notify(\_TZ_.LOCZ, 0x81)
        }
    }
    Method(PSWT, 0, Serialized) {
        Store(0x0, Local4)
        If(LAnd(FOAL, \_SB_.PCI0.LPCB.EC0_.GACS())) {
            Store(FAOS, Local4)
        }
        Store(0x0, Local2)
        Store(DerefOf(Index(CUZO, 0x0)), Local0)
        If(LLess(Local0, 0xff)) {
            Store(DerefOf(Index(DerefOf(Index(PU1T, 0x0)), Local0)), Local2)
        }
        Store(0x0, Local3)
        Store(DerefOf(Index(CUZO, 0x1)), Local1)
        If(LLess(Local1, 0xff)) {
            Store(DerefOf(Index(DerefOf(Index(PU1T, 0x1)), Local1)), Local3)
        }
        If(LGreater(Local4, Local2)) {
            Store(Local4, Local2)
        }
        If(LGreater(Local3, Local2)) {
            Store(Local3, Local2)
        }
        \_SB_.PCI0.LPCB.SMAB(0x5c, 0xc, Local2)
    }
    Method(CATZ, 1, Serialized) {
        Store(Arg0, Local1)
        Return(Local1)
    }
    Method(PSL_, 0, Serialized) {
        If(And(CFGD, 0x01000000)) {
            Return(Package(0x2) {
                \_PR_.CPU0,
                \_PR_.CPU1,
            })
        }
        Else {
            Return(Package(0x1) {
                \_PR_.CPU0,
            })
        }
    }
    ThermalZone(DTSZ) {
        Method(_PSV) {
            Return(GETP(0x5, 0x0))
        }
        Method(_PSL) {
            Return(PSL_())
        }
        Name(_TSP, 0x012c)
        Name(_TC1, 0x1)
        Name(_TC2, 0x2)
        Method(_CRT, 0, Serialized) {
            Return(GETP(0x6, 0x0))
        }
        Method(_TMP, 0, Serialized) {
            If(LEqual(OSTH, 0x0)) {
                \_TZ_.INTM(0x0)
                Store(0x1, OSTH)
            }
            Return(GTTP(0x0))
        }
    }
    ThermalZone(BATZ) {
        Method(_PSV) {
            Return(GETP(0x0, 0x2))
        }
        Method(_PSL) {
            Return(PSL_())
        }
        Name(_TSP, 0x012c)
        Name(_TC1, 0x1)
        Name(_TC2, 0x2)
        Method(_CRT, 0, Serialized) {
            Return(\_TZ_.CPUZ._CRT())
        }
        Method(_TMP, 0, Serialized) {
            Return(GTTP(0x2))
        }
    }
    ThermalZone(CPUZ) {
        Method(_PSV) {
            Return(GETP(0x0, 0x3))
        }
        Method(_PSL) {
            Return(PSL_())
        }
        Name(_TSP, 0x012c)
        Name(_TC1, 0x1)
        Name(_TC2, 0x2)
        Method(_CRT, 0, Serialized) {
            Return(GETP(0x1, 0x3))
        }
        Method(_TMP, 0, Serialized) {
            Store(GTTP(0x3), Local0)
            Return(Local0)
        }
    }
    ThermalZone(LOCZ) {
        Method(_PSV) {
            Return(GETP(0x0, 0x5))
        }
        Method(_PSL) {
            Return(PSL_())
        }
        Name(_TSP, 0x012c)
        Name(_TC1, 0x1)
        Name(_TC2, 0x2)
        Method(_CRT, 0, Serialized) {
            Return(GETP(0x1, 0x5))
        }
        Method(_TMP, 0, Serialized) {
            Return(GTTP(0x5))
        }
    }
    Method(THEV, 0, Serialized) {
        Store(\_SB_.PCI0.LPCB.SMAB(0x19, 0x0, 0x0), Local0)
        Store(0x0, Local1)
        Store(0x38, Local3)
        Store(\_SB_.PCI0.LPCB.SMAB(0x5d, 0x23, 0x0), Local0)
        If(LEqual(And(Local0, 0xff00), 0x0)) {
            If(And(Local0, 0x2)) {
                Store(\_SB_.PCI0.LPCB.SMAB(0x5d, 0x25, 0x0), Local2)
                If(LEqual(And(Local2, 0xff00), 0x0)) {
                    If(And(Local2, 0x1)) {
                        Or(Local1, 0x20, Local1)
                        And(Local3, Not(0x20), Local3)
                    }
                    If(And(Local2, 0x2)) {
                        Or(Local1, 0x8, Local1)
                        And(Local3, Not(0x8), Local3)
                    }
                    If(And(Local2, 0x4)) {
                        Or(Local1, 0x10, Local1)
                        And(Local3, Not(0x10), Local3)
                    }
                }
            }
            If(And(Local0, 0x4)) {
                Store(\_SB_.PCI0.LPCB.SMAB(0x5d, 0x24, 0x0), Local2)
                If(LEqual(And(Local2, 0xff00), 0x0)) {
                    If(And(Local2, 0x1)) {
                        Or(Local1, 0x20, Local1)
                    }
                    If(And(Local2, 0x2)) {
                        Or(Local1, 0x8, Local1)
                    }
                    If(And(Local2, 0x4)) {
                        Or(Local1, 0x10, Local1)
                    }
                }
            }
        }
        Else {
            Store(0x38, Local1)
        }
        Acquire(THER, 0xffff)
        Or(THSC, Local1, THSC)
        And(WHTR, Not(0x38), Local4)
        Or(Local4, Local3, WHTR)
        Release(THER)
        If(And(Local1, 0x20)) {
            Notify(LOCZ, 0x80)
        }
        If(And(Local1, 0x8)) {
            Notify(CPUZ, 0x80)
        }
        If(And(Local1, 0x10)) {
            Notify(SKNZ, 0x80)
        }
    }
    Method(FOAA) {
        If(FOAL) {
            PSWT()
        }
    }
    ThermalZone(SKNZ) {
        Method(_PSV) {
            Return(GETP(0x0, 0x4))
        }
        Method(_PSL) {
            Return(PSL_())
        }
        Name(_TSP, 0x012c)
        Name(_TC1, 0x1)
        Name(_TC2, 0x2)
        Method(_CRT, 0, Serialized) {
            Return(GETP(0x1, 0x4))
        }
        Method(_TMP, 0, Serialized) {
            Return(GTTP(0x4))
        }
    }
}
Name(\NIST, Package(0x10) {
    "0",
    "1",
    "2",
    "3",
    "4",
    "5",
    "6",
    "7",
    "8",
    "9",
    "A",
    "B",
    "C",
    "D",
    "E",
    "F",
})
Method(\ISTR, 2) {
    Store(Arg0, Local0)
    Store("", Local7)
    Store(Arg1, Local4)
    While(LGreater(Local4, 0x0)) {
        And(Local0, 0xf, Local1)
        Store(DerefOf(Index(\NIST, Local1)), Local2)
        Concatenate(Local2, Local7, Local3)
        Store(Local3, Local7)
        ShiftRight(Local0, 0x4, Local0)
        Decrement(Local4)
    }
    Return(Local7)
}
Method(\SRCP, 2) {
    Store(SizeOf(Arg0), Local7)
    If(LNot(LEqual(Local7, SizeOf(Arg1)))) {
        Return(0x0)
    }
    Name(ST00, Buffer(Local7) { })
    Name(ST01, Buffer(Local7) { })
    Store(Arg0, ST00)
    Store(Arg1, ST01)
    Store(0x0, Local6)
    Store(0x1, Local0)
    While(LAnd(LNot(LEqual(Local6, Local7)), Local0)) {
        Store(DerefOf(Index(ST00, Local6)), Local2)
        Store(DerefOf(Index(ST01, Local6)), Local3)
        Increment(Local6)
        If(LNot(LEqual(Local2, Local3))) {
            Store(0x0, Local0)
        }
    }
    Return(Local0)
}
Name(WOSI, 0xff)
Name(OSID, Package(0x3) {
    "Microsoft Windows",
    "Microsoft WindowsME: Millennium Edition",
    "Microsoft Windows NT",
})
Method(\SRCM, 3) {
    Name(ST00, Buffer(0x8c) { })
    Name(ST01, Buffer(0x8c) { })
    Store(Arg0, ST00)
    Store(Arg1, ST01)
    Store(0x0, Local6)
    Store(0x1, Local0)
    While(LAnd(LNot(LEqual(Local6, Arg2)), Local0)) {
        Store(DerefOf(Index(ST00, Local6)), Local2)
        Store(DerefOf(Index(ST01, Local6)), Local3)
        Increment(Local6)
        If(LNot(LEqual(Local2, Local3))) {
            Store(0x0, Local0)
        }
    }
    Return(Local0)
}
Method(WCOS, 0, Serialized) {
    If(LEqual(WOSI, 0xff)) {
        Store(\_OS_, Local0)
        Store(SizeOf(OSID), Local7)
        Store(0x0, Local1)
        While(LAnd(LLess(Local1, Local7), LEqual(WOSI, 0xff))) {
            Store(\SRCP(Local0, DerefOf(Index(OSID, Local1))), Local2)
            If(Local2) {
                Add(Local1, 0x1, WOSI)
            }
            Else {
                Increment(Local1)
            }
        }
        If(LEqual(WOSI, 0xff)) {
            Store(0x0, WOSI)
        }
        If(LOr(LEqual(WOSI, 0x0), LEqual(WOSI, 0x3))) {
            If(CondRefOf(\_OSI, Local0)) {
                If(\_OSI) {
                    "Windows 2001"
                    Store(0x4, WOSI)
                }
                If(\_OSI) {
                    "Windows 2001 SP1"
                    Store(0x4, WOSI)
                }
                If(\_OSI) {
                    "Windows 2001 SP2"
                    Store(0x5, WOSI)
                }
                If(\_OSI) {
                    "Windows 2006"
                    Store(0x6, WOSI)
                }
            }
        }
        Store(WOSI, WHOS)
    }
    Return(WOSI)
}
Method(CBRT, 2, Serialized) {
    Store(SizeOf(Arg0), Local6)
    Store(SizeOf(Arg1), Local7)
    If(LEqual(Local6, 0x0)) {
        Store(Arg1, Local0)
        Return(Local0)
    }
    If(LEqual(Local7, 0x0)) {
        Store(Arg0, Local0)
        Return(Local0)
    }
    Add(Local7, Local6, Local1)
    Subtract(Local1, 0x2, Local1)
    Store(Buffer(Local1) { }, Local0)
    Store(0x0, Local1)
    While(LLess(Local1, SizeOf(Arg0))) {
        Store(DerefOf(Index(Arg0, Local1)), Index(Local0, Local1))
        Increment(Local1)
    }
    Subtract(Local1, 0x2, Local1)
    Store(0x0, Local2)
    While(LLess(Local2, SizeOf(Arg1))) {
        Store(DerefOf(Index(Arg1, Local2)), Index(Local0, Local1))
        Increment(Local1)
        Increment(Local2)
    }
    Return(Local0)
}
Scope(\_SB_) {
    Mutex(MSMI, 0)
    Method(SSMI, 5) {
        Acquire(MSMI, 0xffff)
        If(Arg4) {
            Acquire(\_GL_, 0xffff)
        }
        ShiftLeft(Arg0, 0x10, EAX_)
        Store(Arg1, EBX_)
        Store(Arg2, ECX_)
        Store(Arg3, EDX_)
        Store(0x0, REFS)
        \_SB_.PCI0.GSWS(Arg0)
        Store(REFS, Local0)
        If(Arg4) {
            Release(\_GL_)
        }
        Release(MSMI)
        Return(Local0)
    }
}
Scope(\_SB_) {
    Device(PCI0) {
        Name(_HPP, Package(0x4) {
            0x10,
            0x40,
            0x0,
            0x0,
        })
        Method(_S3D) {
            Return(0x2)
        }
        Method(_S4D) {
            Return(0x2)
        }
        Name(_HID, 0x080ad041)
        Name(_CID, 0x030ad041)
        Device(MCHC) {
            Name(_ADR, 0x0)
            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(0x0208) {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, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0xff, 0xdf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
0x10, 0xe0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff,
0xef, 0x1f, 0x1, 0x79, 0x0 })
        Method(_CRS, 0, Serialized) {
            If(^MCHC.PM1L) {
                CreateDWordField(BUF0, 0x7c, C0LN)
                Store(Zero, C0LN)
            }
            If(LEqual(^MCHC.PM1L, 0x1)) {
                CreateBitField(BUF0, 0x0358, C0RW)
                Store(Zero, C0RW)
            }
            If(^MCHC.PM1H) {
                CreateDWordField(BUF0, 0x96, C4LN)
                Store(Zero, C4LN)
            }
            If(LEqual(^MCHC.PM1H, 0x1)) {
                CreateBitField(BUF0, 0x0428, C4RW)
                Store(Zero, C4RW)
            }
            If(^MCHC.PM2L) {
                CreateDWordField(BUF0, 0xb0, C8LN)
                Store(Zero, C8LN)
            }
            If(LEqual(^MCHC.PM2L, 0x1)) {
                CreateBitField(BUF0, 0x04f8, C8RW)
                Store(Zero, C8RW)
            }
            If(^MCHC.PM2H) {
                CreateDWordField(BUF0, 0xca, CCLN)
                Store(Zero, CCLN)
            }
            If(LEqual(^MCHC.PM2H, 0x1)) {
                CreateBitField(BUF0, 0x05c8, CCRW)
                Store(Zero, CCRW)
            }
            If(^MCHC.PM3L) {
                CreateDWordField(BUF0, 0xe4, D0LN)
                Store(Zero, D0LN)
            }
            If(LEqual(^MCHC.PM3L, 0x1)) {
                CreateBitField(BUF0, 0x0698, D0RW)
                Store(Zero, D0RW)
            }
            If(^MCHC.PM3H) {
                CreateDWordField(BUF0, 0xfe, D4LN)
                Store(Zero, D4LN)
            }
            If(LEqual(^MCHC.PM3H, 0x1)) {
                CreateBitField(BUF0, 0x0768, D4RW)
                Store(Zero, D4RW)
            }
            If(^MCHC.PM4L) {
                CreateDWordField(BUF0, 0x0118, D8LN)
                Store(Zero, D8LN)
            }
            If(LEqual(^MCHC.PM4L, 0x1)) {
                CreateBitField(BUF0, 0x0838, D8RW)
                Store(Zero, D8RW)
            }
            If(^MCHC.PM4H) {
                CreateDWordField(BUF0, 0x0132, DCLN)
                Store(Zero, DCLN)
            }
            If(LEqual(^MCHC.PM4H, 0x1)) {
                CreateBitField(BUF0, 0x0908, DCRW)
                Store(Zero, DCRW)
            }
            If(^MCHC.PM5L) {
                CreateDWordField(BUF0, 0x014c, E0LN)
                Store(Zero, E0LN)
            }
            If(LEqual(^MCHC.PM5L, 0x1)) {
                CreateBitField(BUF0, 0x09d8, E0RW)
                Store(Zero, E0RW)
            }
            If(^MCHC.PM5H) {
                CreateDWordField(BUF0, 0x0166, E4LN)
                Store(Zero, E4LN)
            }
            If(LEqual(^MCHC.PM5H, 0x1)) {
                CreateBitField(BUF0, 0x0aa8, E4RW)
                Store(Zero, E4RW)
            }
            If(^MCHC.PM6L) {
                CreateDWordField(BUF0, 0x0180, E8LN)
                Store(Zero, E8LN)
            }
            If(LEqual(^MCHC.PM6L, 0x1)) {
                CreateBitField(BUF0, 0x0b78, E8RW)
                Store(Zero, E8RW)
            }
            If(^MCHC.PM6H) {
                CreateDWordField(BUF0, 0x019a, ECLN)
                Store(Zero, ECLN)
            }
            If(LEqual(^MCHC.PM6H, 0x1)) {
                CreateBitField(BUF0, 0x0c48, ECRW)
                Store(Zero, ECRW)
            }
            If(^MCHC.PM0H) {
                CreateDWordField(BUF0, 0x01b4, F0LN)
                Store(Zero, F0LN)
            }
            If(LEqual(^MCHC.PM0H, 0x1)) {
                CreateBitField(BUF0, 0x0d18, F0RW)
                Store(Zero, F0RW)
            }
            CreateDWordField(BUF0, 0x01c2, M1MN)
            CreateDWordField(BUF0, 0x01c6, M1MX)
            CreateDWordField(BUF0, 0x01ce, M1LN)
            ShiftLeft(^MCHC.PXBR, 0x1a, Local0)
            ShiftLeft(^MCHC.TLUD, 0x14, M1MN)
            Subtract(Local0, 0x1, M1MX)
            Add(Subtract(Local0, M1MN), 0x1, M1LN)
            CreateDWordField(BUF0, 0x01dc, M2MN)
            CreateDWordField(BUF0, 0x01e0, M2MX)
            CreateDWordField(BUF0, 0x01e8, M2LN)
            ShiftRight(0x10000000, ^MCHC.PXSZ, Local1)
            Add(Local0, Local1, M2MN)
            Add(Subtract(M2MX, M2MN), 0x1, M2LN)
            Return(BUF0)
        }
        Device(PDRC) {
            Name(_HID, 0x020cd041)
            Name(_UID, 0x1)
            Name(BUF0, Buffer(0x62) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0,
0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0,
0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0,
0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
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, 0x50, 0xd4, 0xfe, 0x0, 0xb0, 0x4, 0x0, 0x79,
0x0 })
            Method(_CRS, 0, Serialized) {
                CreateDWordField(BUF0, 0x4, RBR0)
                ShiftLeft(\_SB_.PCI0.LPCB.RCBA, 0xe, RBR0)
                CreateDWordField(BUF0, 0x10, MBR0)
                ShiftLeft(\_SB_.PCI0.MCHC.MHBR, 0xe, MBR0)
                CreateDWordField(BUF0, 0x1c, DBR0)
                ShiftLeft(\_SB_.PCI0.MCHC.DIBR, 0xc, DBR0)
                CreateDWordField(BUF0, 0x28, EBR0)
                ShiftLeft(\_SB_.PCI0.MCHC.EPBR, 0xc, EBR0)
                CreateDWordField(BUF0, 0x34, XBR0)
                ShiftLeft(\_SB_.PCI0.MCHC.PXBR, 0x1a, XBR0)
                CreateDWordField(BUF0, 0x38, XSZ0)
                ShiftRight(0x10000000, \_SB_.PCI0.MCHC.PXSZ, XSZ0)
                Return(BUF0)
            }
        }
        Device(PEGP) {
            Name(_ADR, 0x00010000)
            Method(_PRT) {
                If(GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            0x0,
                            0x10,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            0x0,
                            0x11,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            0x0,
                            0x12,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            0x0,
                            0x13,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            0x0,
                            \_SB_.PCI0.LPCB.LNKA,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x1,
                            \_SB_.PCI0.LPCB.LNKB,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            \_SB_.PCI0.LPCB.LNKC,
                            0x0,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            \_SB_.PCI0.LPCB.LNKD,
                            0x0,
                        },
                    })
                }
            }
        }
        Device(GFX0) {
            Name(_ADR, 0x00020000)
            Method(_DOS, 1) {
                Store(And(Arg0, 0x7), DSEN)
                HDOS(Arg0)
            }
            Method(_DOD) {
                If(LEqual(DODC, 0x0)) {
                    Store(0x1, DODC)
                    If(SCIP()) {
                        HDOD()
                        Store(0x0, 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, 0x0)) {
                        Store(0x0400, Index(DerefOf(Index(DODS, NDID)), 0x0))
                    }
                    If(LEqual(NDID, 0x1)) {
                        Store(Or(0x00010000, DID1),
Index(DerefOf(Index(DODS, NDID)), 0x0))
                    }
                    If(LEqual(NDID, 0x2)) {
                        Store(Or(0x00010000, DID1),
Index(DerefOf(Index(DODS, NDID)), 0x0))
                        Store(Or(0x00010000, DID2),
Index(DerefOf(Index(DODS, NDID)), 0x1))
                    }
                    If(LEqual(NDID, 0x3)) {
                        Store(Or(0x00010000, DID1),
Index(DerefOf(Index(DODS, NDID)), 0x0))
                        Store(Or(0x00010000, DID2),
Index(DerefOf(Index(DODS, NDID)), 0x1))
                        Store(Or(0x00010000, DID3),
Index(DerefOf(Index(DODS, NDID)), 0x2))
                    }
                    If(LEqual(NDID, 0x4)) {
                        Store(Or(0x00010000, DID1),
Index(DerefOf(Index(DODS, NDID)), 0x0))
                        Store(Or(0x00010000, DID2),
Index(DerefOf(Index(DODS, NDID)), 0x1))
                        Store(Or(0x00010000, DID3),
Index(DerefOf(Index(DODS, NDID)), 0x2))
                        Store(Or(0x00010000, DID4),
Index(DerefOf(Index(DODS, NDID)), 0x3))
                    }
                    If(LGreater(NDID, 0x4)) {
                        Store(Or(0x00010000, DID1),
Index(DerefOf(Index(DODS, NDID)), 0x0))
                        Store(Or(0x00010000, DID2),
Index(DerefOf(Index(DODS, NDID)), 0x1))
                        Store(Or(0x00010000, DID3),
Index(DerefOf(Index(DODS, NDID)), 0x2))
                        Store(Or(0x00010000, DID4),
Index(DerefOf(Index(DODS, NDID)), 0x3))
                        Store(Or(0x00010000, DID5),
Index(DerefOf(Index(DODS, NDID)), 0x4))
                    }
                }
                Store(NDID, Local0)
                If(LGreater(NDID, 0x5)) {
                    Store(0x0, Local0)
                }
                Return(DerefOf(Index(DODS, Local0)))
            }
            Device(DD01) {
                Method(_ADR, 0, Serialized) {
                    If(LEqual(DID1, 0x0)) {
                        Return(0x1)
                    }
                    Else {
                        Return(And(0xffff, DID1))
                    }
                }
                Method(_DCS) {
                    Return(HDCS(DID1))
                }
                Method(_DGS) {
                    Return(HDGS(DID1))
                }
                Method(_DSS, 1) {

Reply via email to