NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/37755: acpi problems on acer aspire 5310



>Number:         37755
>Category:       kern
>Synopsis:       acpi problems on acer aspire 5310
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 14 16:45:00 +0000 2008
>Originator:     arto.huusko%pp2.inet.fi@localhost
>Release:        NetBSD 4.99.49
>Organization:
>Environment:
System: NetBSD vekotin.local 4.99.49 NetBSD 4.99.49 (VEKOTIN) #1: Sun Jan 13 
00:31:02 EET 2008 
root%mutteri.local@localhost:/local/netbsd/build/netbsd-current/amd64/obj/sys/arch/amd64/compile/VEKOTIN
 amd64
Architecture: x86_64
Machine: amd64
>Description:
        There are several problems with ACPI on Acer Aspire 5310 laptop.

        1. Pressing power or sleep button has no effect (with and without
           powerd)

        2. Powering off won't. The kernel prints

                acpi: entering state 5

           on the console, but then nothing happens.

        3. envstat hangs (wchan=acpisem)

        dmesg:

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008
    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 4.99.49 (VEKOTIN) #1: Sun Jan 13 00:31:02 EET 2008
        
root%mutteri.local@localhost:/local/netbsd/build/netbsd-current/amd64/obj/sys/arch/amd64/compile/VEKOTIN
total memory = 1526 MB
avail memory = 1463 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
SMBIOS rev. 2.33 @ 0xe3810 (25 entries)
Acer             Aspire 5310      (V1.50)
mainbus0 (root)
cpu0 at mainbus0 apid 0: (boot processor)
cpu0: Intel(R) Celeron(R) M CPU        520  @ 1.60GHz, 1596.11 MHz
cpu0: features: affbfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features: affbfbff<PGE,MCA,CMOV,PAT,PSE36,CFLUSH,B20,DS,ACPI,MMX>
cpu0: features: affbfbff<FXSR,SSE,SSE2,SS,TM,SBF>
cpu0: features2: e31d<SSE3,MONITOR,DS-CPL,TM2,SSSE3,CX16,xTPR,PDCM>
cpu0: features3: affbfbff<SYSCALL/SYSRET,XD,EM64T>
cpu0: L2 cache 1 MB 64B/line 4-way
cpu0: Initial APIC ID 0
cpu0: Cluster/Package ID 0
cpu0: calibrating local timer
cpu0: apic clock running at 132 MHz
cpu0: 64 page colors
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Advanced Configuration and Power Interface
acpi0: using Intel ACPI CA subsystem version 20070320
acpi0: X/RSDT: OemId <ACRSYS,ACRPRDCT,06040000>, AslId < LTP,00000000>
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
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
CPU0 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
CPU1 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
WMID (PNP0C14) at acpi0 not configured
acpibut0 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
acpibut1 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
PCI0 (PNP0A08) [PCI Express/PCI-X Mode-2 Host Bridge] at acpi0 not configured
PDRC (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not 
configured
LNKA (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKB (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKC (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKD (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKE (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKG (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKH (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
acpiec0 at acpi0 (EC0, PNP0C09): ACPI Embedded Controller
acpiec0: io 0x62,0x66
acpibat0 at acpi0 (BAT1, PNP0C0A-1): ACPI Battery (Control Method)
DMAC (PNP0200) [AT DMA Controller] at acpi0 not configured
FWHD (INT0800) [Intel FWH Random Number Generator] at acpi0 not configured
hpet0 at acpi0 (HPET, PNP0103)
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
hpet0: mem 0xfed00000-0xfed003ff
timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
IPIC (PNP0000) [AT Interrupt Controller] at acpi0 not configured
MATH (PNP0C04) [Math Coprocessor] at acpi0 not configured
LDRC (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not 
configured
RTC (PNP0B00) [AT Real-Time Clock] at acpi0 not configured
attimer1 at acpi0 (TIMR, PNP0100): AT Timer
attimer1: io 0x40-0x43,0x50-0x53 irq 0
pckbc1 at acpi0 (PS2K, PNP0303): kbd port
pckbc1: io 0x60,0x64 irq 1
pckbc2 at acpi0 (MSE0, PNP0F13): aux port
pckbc2: irq 12
acpiacad0 at acpi0 (ACAD, ACPI0003): ACPI AC Adapter
acpitz0 at acpi0 (TZ00):ACPI Warning (evmisc-0657): Cannot release the ACPI 
Global Lock, it has not been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
 critical 127.0C, passive cooling
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
acpitz1 at acpi0 (TZ01):ACPI Warning (evmisc-0657): Cannot release the ACPI 
Global Lock, it has not been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
 critical 100.0C passive 54.0C, passive cooling
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
ACPI Warning (evmisc-0657): Cannot release the ACPI Global Lock, it has not 
been acquired [20070320]
ACPI Exception (exutils-0431): AE_NOT_ACQUIRED, Could not release Global Lock 
[20070320]
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
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
pchb0: Intel 82945GM/PM/GMS Host Bridge (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xc0000000, size 0x10000000
vga0 at pci0 dev 2 function 0: Intel 82945GM/PM/GMS Integrated Graphics Device 
(rev. 0x03)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
direct rendering for vga0 unsupported
Intel 82945GM/PM/GMS Integrated Graphics Device (miscellaneous display, 
revision 0x03) at pci0 dev 2 function 1 not configured
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at ioapic0 pin 22 (irq 10)
azalia0: host: Intel 82801GB/GR High Definition Audio Controller (rev. 2)
azalia0: host: High Definition Audio rev. 1.0
ppb0 at pci0 dev 28 function 0: Intel 82801GB/GR PCI Express Port #1 (rev. 0x02)
ppb0: disabling notification events
pci1 at ppb0 bus 2
pci1: no spaces enabled!
ppb1 at pci0 dev 28 function 2: Intel 82801GB/GR PCI Express Port #3 (rev. 0x02)
pci2 at ppb1 bus 4
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
bge0 at pci2 dev 0 function 0: Broadcom BCM5787M Gigabit Ethernet
bge0: interrupting at ioapic0 pin 18 (irq 11)
bge0: ASIC BCM5754/5787 A2 (0xb002), Ethernet address 00:1b:38:2b:fc:30
bge0: setting short Tx thresholds
brgphy0 at bge0 phy 1: BCM5754/5787 1000BASE-T media interface, rev. 0
brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
ppb2 at pci0 dev 28 function 3: Intel 82801GB/GR PCI Express Port #4 (rev. 0x02)
ppb2: disabling notification events
pci3 at ppb2 bus 5
pci3: i/o space, memory space enabled, rd/line, wr/inv ok
ath0 at pci3 dev 0 function 0
ath0: interrupting at ioapic0 pin 19 (irq 10)
ath0: unable to attach hardware; HAL status 13
uhci0 at pci0 dev 29 function 0: Intel 82801GB/GR USB UHCI Controller (rev. 
0x02)
uhci0: interrupting at ioapic0 pin 23 (irq 5)
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: Intel 82801GB/GR USB UHCI Controller (rev. 
0x02)
uhci1: interrupting at ioapic0 pin 19 (irq 10)
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: Intel 82801GB/GR USB UHCI Controller (rev. 
0x02)
uhci2: interrupting at ioapic0 pin 18 (irq 11)
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 29 function 3: Intel 82801GB/GR USB UHCI Controller (rev. 
0x02)
uhci3: interrupting at ioapic0 pin 16 (irq 6)
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7: Intel 82801GB/GR USB EHCI Controller (rev. 
0x02)
ehci0: interrupting at ioapic0 pin 23 (irq 5)
ehci0: BIOS has given up ownership
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ppb3 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0xe2)
pci4 at ppb3 bus 6
pci4: no spaces enabled!
pcib0 at pci0 dev 31 function 0
pcib0: Intel 82801GBM LPC Interface Bridge (rev. 0x02)
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
ahcisata0 at pci0 dev 31 function 2: Intel 82801GBM AHCI SATA Controller
ahcisata0: interrupting at ioapic0 pin 19 (irq 10)
ahcisata0: AHCI revision 1.1, 4 ports, 32 command slots, features 0xc710e000
atabus1 at ahcisata0 channel 0
ichsmb0 at pci0 dev 31 function 3: Intel 82801GB/GR SMBus Controller (rev. 0x02)
ichsmb0: interrupting at ioapic0 pin 19 (irq 10)
iic0 at ichsmb0: I2C bus
isa0 at pcib0
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
pcppi0: attached to attimer1
timecounter: Timecounter "TSC" frequency 1596098640 Hz quality 800
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
azalia0: codec[0]: Realtek ALC268 (rev. 0.3)
azalia0: codec[0]: High Definition Audio rev. 1.0
azalia0: codec[1]: 0x14f1/0x2c06 (rev. 0.0)
azalia0: codec[1]: High Definition Audio rev. 1.0
azalia0: codec[1]: No support for modem function groups
azalia0: codec[1] has no audio function groups
audio0 at azalia0: full duplex, independent
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex
atapibus0 at atabus0: 2 targets
cd0 at atapibus0 drive 0: <MATSHITADVD-RAM UJ-850S, RC00  493128, 1.61> cdrom 
removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
ahcisata0 port 0: device present, speed: 1.5Gb/s
wd0 at atabus1 drive 0: <Hitachi HTS541680J9SA00>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 bytes/sect x 156301488 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)

        output of acpidump:

/*
RSD PTR: Checksum=11, OEMID=ACRSYS, RsdtAddress=0x5f685ddb
 */
/*
RSDT: Length=84, Revision=1, Checksum=1,
        OEMID=ACRSYS, OEM Table ID=ACRPRDCT, OEM Revision=0x6040000,
        Creator ID= LTP, Creator Revision=0x0
 */
/*
        Entries={ 0x5f68cb90, 0x5f68cc04, 0x5f68cc6c, 0x5f68cca4, 0x5f68cce0, 
0x5f68ce56, 0x5f68cf7e, 0x5f68cfd8, 0x5f686aa0, 0x5f6865de, 0x5f68637f, 
0x5f685eb3 }
 */
/*
        DSDT=0x5f686caa
        INT_MODEL=PIC
        SCI_INT=9
        SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
        PM1a_EVT_BLK=0x1000-0x1003
        PM1a_CNT_BLK=0x1004-0x1005
        PM2_CNT_BLK=0x1020-0x1020
        PM2_TMR_BLK=0x1008-0x100b
        PM2_GPE0_BLK=0x1028-0x102f
        P_LVL2_LAT=1ms, P_LVL3_LAT=35ms
        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=24294, Revision=1, Checksum=157,
        OEMID=Acer, OEM Table ID=CALISTGA, OEM Revision=0x6040000,
        Creator ID=INTL, Creator Revision=0x20060608
 */
DefinitionBlock ("acpi_dsdt.aml",       //Output filename"DSDT",                
//Signature0x1,         //DSDT Revision"Acer",          //OEMID"CALISTGA",      
        //TABLE ID0x6040000             //OEM Revision
)

{
Method(PHIS, 1) {
    Store(Arg0, PRM0)
    Store(0xa0, SMIF)
    Store(Zero, TRP0)
}
OperationRegion(PRT0, SystemIO, 0x80, 0x4)
Field(PRT0, DWordAcc, Lock, Preserve) {
    P80H,       32
}
OperationRegion(IO_T, SystemIO, 0x0800, 0x10)
Field(IO_T, ByteAcc, NoLock, Preserve) {
    Offset(0x8),
    TRP0,       8
}
OperationRegion(PMIO, SystemIO, 0x1000, 0x80)
Field(PMIO, ByteAcc, NoLock, Preserve) {
    Offset(0x30),
    ,   4,
    SLPE,       1,
    Offset(0x34),
    ,   4,
    SLPS,       1,
    Offset(0x42),
    ,   1,
    GPEC,       1
}
Scope(_SB_) {
    Name(OSTB, Ones)
    OperationRegion(OSTY, SystemMemory, Ones, 0xffff0047)
    Field(OSTY, AnyAcc, NoLock, Preserve) {
        TPOS,   8
    }
    Method(OSTP) {
        If(LEqual(OSTB, Ones)) {
            If(CondRefOf(_OSI, Local0)) {
                If(_OSI) {
                    "Windows 2006"
                    Store(0x40, OSTB)
                    Store(0x40, TPOS)
                    Store(0x40, OSYS)
                }
                Else {
                    If(_OSI) {
                        "Windows 2001.1"
                        Store(0x20, OSTB)
                        Store(0x20, TPOS)
                    }
                    Else {
                        If(_OSI) {
                            "Windows 2001"
                            Store(0x8, OSTB)
                            Store(0x8, TPOS)
                        }
                        Else {
                            If(_OSI) {
                                "Windows 2001 SP1"
                                Store(0x10, OSTB)
                                Store(0x10, TPOS)
                            }
                            Else {
                                Store(Zero, OSTB)
                                Store(Zero, TPOS)
                            }
                        }
                    }
                }
            }
            Else {
                If(CondRefOf(_OS_, Local0)) {
                    If(SEQL(_OS_, "Microsoft Windows")) {
                        Store(One, OSTB)
                        Store(One, TPOS)
                    }
                    Else {
                        If(SEQL(_OS_, "Microsoft WindowsME: Millennium 
Edition")) {
                            Store(0x2, OSTB)
                            Store(0x2, TPOS)
                        }
                        Else {
                            If(SEQL(_OS_, "Microsoft Windows NT")) {
                                Store(0x4, OSTB)
                                Store(0x4, TPOS)
                            }
                            Else {
                                Store(Zero, OSTB)
                                Store(Zero, TPOS)
                            }
                        }
                    }
                }
                Else {
                    Store(Zero, OSTB)
                    Store(Zero, TPOS)
                }
            }
        }
        Return(OSTB)
    }
    Method(SEQL, 2, Serialized) {
        Store(SizeOf(Arg0), Local0)
        Store(SizeOf(Arg1), Local1)
        If(LNot(LEqual(Local0, Local1))) {
            Return(Zero)
        }
        Name(BUF0, Buffer(Local0) { })
        Store(Arg0, BUF0)
        Name(BUF1, Buffer(Local0) { })
        Store(Arg1, BUF1)
        Store(Zero, Local2)
        While(LLess(Local2, Local0)) {
            Store(DerefOf(Index(BUF0, Local2, )), Local3)
            Store(DerefOf(Index(BUF1, Local2, )), Local4)
            If(LNot(LEqual(Local3, Local4))) {
                Return(Zero)
            }
            Increment(Local2)
        }
        Return(One)
    }
}
OperationRegion(GPIO, SystemIO, 0x1180, 0x3c)
Field(GPIO, ByteAcc, NoLock, Preserve) {
    GU00,       8,
    GU01,       8,
    GU02,       8,
    GU03,       8,
    GIO0,       8,
    GIO1,       8,
    GIO2,       8,
    GIO3,       8,
    Offset(0xc),
    GL00,       8,
    ,   4,
    GP12,       1,
    Offset(0xe),
    GL02,       8,
    GL03,       8,
    Offset(0x18),
    GB00,       8,
    GB01,       8,
    GB02,       8,
    GB03,       8,
    Offset(0x2c),
    GIV0,       8,
    ,   5,
    LPOL,       1,
    Offset(0x2e),
    GIV2,       8,
    GIV3,       8,
    GU04,       8,
    GU05,       8,
    GU06,       8,
    GU07,       8,
    GIO4,       8,
    GIO5,       8,
    GIO6,       8,
    GIO7,       8,
    ,   7,
    GP39,       1,
    GL05,       8,
    GL06,       8,
    GL07,       8
}
OperationRegion(GNVS, SystemMemory, 0x5f68ddbc, 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,
    Offset(0x14),
    ACTT,       8,
    PSVT,       8,
    TC1V,       8,
    TC2V,       8,
    TSPV,       8,
    CRTT,       8,
    DTSE,       8,
    DTS1,       8,
    DTS2,       8,
    Offset(0x1e),
    BNUM,       8,
    B0SC,       8,
    B1SC,       8,
    B2SC,       8,
    B0SS,       8,
    B1SS,       8,
    B2SS,       8,
    Offset(0x28),
    APIC,       8,
    MPEN,       8,
    PPCS,       8,
    PPCM,       8,
    PCP0,       8,
    PCP1,       8,
    Offset(0x32),
    NATP,       8,
    CMAP,       8,
    CMBP,       8,
    LPTP,       8,
    FDCP,       8,
    CMCP,       8,
    CIRP,       8,
    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,
    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,
    Offset(0x82),
    GTF0,       56,
    GTF2,       56,
    IDEM,       8,
    Offset(0xa1),
    WLDV,       4,
    Offset(0xb4),
    PCMS,       8,
    TSTE,       8,
    KBTP,       8
}
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,
    A97D,       1,
    Offset(0x341a),
    RP1D,       1,
    RP2D,       1,
    RP3D,       1,
    RP4D,       1,
    RP5D,       1,
    RP6D,       1
}
Mutex(MUTX, 0)
Name(_S0_, Package(0x3) {
    Zero,
    Zero,
    Zero,
})
Name(_S3_, Package(0x3) {
    0x5,
    0x5,
    Zero,
})
Name(_S4_, Package(0x3) {
    0x6,
    0x6,
    Zero,
})
Name(_S5_, Package(0x3) {
    0x7,
    0x7,
    Zero,
})
Name(CRTS, Zero)
Scope(_PR_) {
    Processor(CPU0, 0, 0x1010, 0x6) {
    }
    Processor(CPU1, 1, 0x1010, 0x6) {
    }
}
Name(DSEN, One)
Name(ECON, Zero)
Name(GPIC, Zero)
Name(CTYP, Zero)
Name(L01C, Zero)
Name(OEMB, Zero)
Method(_PIC, 1) {
    Store(Arg0, GPIC)
}
Method(_PTS, 1) {
    Store(0x50, P80H)
    Store(One, SLPE)
    Store(One, SLPS)
    Store(\_SB_.PCI0.GFX0.IRES, OEMB)
    If(LEqual(Arg0, 0x3)) {
        PHIS(0x4c)
        Store(0x53, P80H)
        \_SB_.PCI0.LPCB.EC0_.CLCK(Zero)
        PHIS(0x80)
    }
    If(LEqual(Arg0, 0x4)) {
        Store(0x54, P80H)
        PHIS(0x82)
    }
    Store(0x56, P80H)
}
Method(_WAK, 1) {
    If(LOr(LEqual(Arg0, 0x3), LEqual(Arg0, 0x4))) {
        If(And(CFGD, 0x01000000, )) {
            If(LAnd(And(CFGD, 0xf0, ), LAnd(LEqual(OSYS, 0x07d1), 
LNot(And(PDC0, 0x10, ))))) {
                Store(0x3d, SMIF)
                Store(Zero, TRP0)
            }
        }
    }
    If(LEqual(RP1D, Zero)) {
        Notify(\_SB_.PCI0.RP01, Zero)
    }
    If(LEqual(Arg0, 0x3)) {
        TRAP(0x46)
    }
    Store(0x31, P80H)
    Store(One, SLPS)
    Store(0xf, \_SB_.PCI0.USB1.U1SS)
    If(\_SB_.PCI0.RP03.PMCS) {
        Store(One, \_SB_.PCI0.RP03.PMCS)
    }
    If(LEqual(Arg0, 0x3)) {
        Store(OEMB, \_SB_.PCI0.GFX0.IRES)
        Store(0xf, \_SB_.PCI0.SATA.PCSR)
        PHIS(0x81)
    }
    If(LEqual(Arg0, 0x4)) {
        Store(OEMB, \_SB_.PCI0.GFX0.IRES)
        PHIS(0x83)
        If(DTSE) {
            TRAP(0x47)
        }
        Notify(\_TZ_.TZ01, 0x80)
        Notify(\_SB_.PWRB, 0x2)
        If(LEqual(OSYS, 0x07d2)) {
            If(And(CFGD, One, )) {
                If(LGreater(PPCS, Zero)) {
                    Subtract(PPCS, One, PPCS)
                    PNOT()
                    Add(PPCS, One, PPCS)
                    PNOT()
                }
                Else {
                    Add(PPCS, One, PPCS)
                    PNOT()
                    Subtract(PPCS, One, PPCS)
                    PNOT()
                }
            }
        }
    }
    Store(0x36, P80H)
    Return(Package(0x2) {
        Zero,
        Zero,
    })
}
Scope(_GPE) {
    Method(_L01) {
        Add(L01C, One, L01C)
        Sleep(0x64)
        If(LAnd(LEqual(RP1D, Zero), \_SB_.PCI0.RP01.HPCS)) {
            If(\_SB_.PCI0.RP01.PDC1) {
                Store(One, \_SB_.PCI0.RP01.PDC1)
                Store(One, \_SB_.PCI0.RP01.HPCS)
                Notify(\_SB_.PCI0.RP01, Zero)
            }
            Else {
                Store(One, \_SB_.PCI0.RP01.HPCS)
            }
        }
        If(LAnd(LEqual(RP2D, Zero), \_SB_.PCI0.RP02.HPCS)) {
            If(\_SB_.PCI0.RP02.PDC2) {
                Store(One, \_SB_.PCI0.RP02.PDC2)
                Store(One, \_SB_.PCI0.RP02.HPCS)
                Notify(\_SB_.PCI0.RP02, Zero)
            }
            Else {
                Store(One, \_SB_.PCI0.RP02.HPCS)
            }
        }
        If(LAnd(LEqual(RP3D, Zero), \_SB_.PCI0.RP03.HPCS)) {
            If(\_SB_.PCI0.RP03.PDC3) {
                Store(One, \_SB_.PCI0.RP03.PDC3)
                Store(One, \_SB_.PCI0.RP03.HPCS)
                Notify(\_SB_.PCI0.RP03, Zero)
            }
            Else {
                Store(One, \_SB_.PCI0.RP03.HPCS)
            }
        }
    }
    Method(_L02) {
        Store(Zero, GPEC)
        Notify(\_TZ_.TZ01, 0x80)
    }
    Method(_L03) {
        Notify(\_SB_.PCI0.USB1, 0x2)
    }
    Method(_L04) {
        Notify(\_SB_.PCI0.USB2, 0x2)
    }
    Method(_L05) {
        If(HDAD) {
            Notify(\_SB_.PCI0.MODM, 0x2)
        }
        Else {
            Notify(\_SB_.PCI0.AZAL, 0x2)
        }
    }
    Method(_L09) {
    }
    Method(_L0B) {
        Notify(\_SB_.PCI0.PCIB, 0x2)
    }
    Method(_L0C) {
        Notify(\_SB_.PCI0.USB3, 0x2)
    }
    Method(_L0D) {
        Notify(\_SB_.PCI0.USB7, 0x2)
    }
    Method(_L0E) {
        Notify(\_SB_.PCI0.USB4, 0x2)
    }
    Method(_L16) {
        If(LEqual(\_SB_.WMID.BGEF, One)) {
            If(LNot(LEqual(CRTS, One))) {
                Store(One, CRTS)
                Store(Zero, GIV0)
                Store(\_SB_.WMID.VAPI, Local0)
            }
            Else {
                Store(Zero, CRTS)
                Store(0x40, GIV0)
                Store(\_SB_.WMID.VAPO, Local0)
            }
            Store(Local0, \_SB_.WMID.NTDV)
            Notify(\_SB_.WMID, 0x82)
        }
    }
    Method(_L1D) {
        Not(LPOL, LPOL)
        Notify(\_SB_.LID_, 0x80)
    }
}
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, 1, Serialized) {
    Store(Arg0, SMIF)
    Store(Zero, TRP0)
    Return(SMIF)
}
Scope(_TZ_) {
    ThermalZone(TZ00) {
        Method(_CRT, 0, Serialized) {
            Return(0x0fa2)
        }
        Method(_TMP, 0, Serialized) {
            If(\_SB_.PCI0.LPCB.ECOK()) {
                Store(\_SB_.PCI0.LPCB.EC0_.CTMP, Local0)
                If(And(Local0, 0x80, )) {
                    Subtract(Local0, 0x0100, Local0)
                }
                Return(Add(0x0aac, Multiply(Local0, 0xa, ), ))
            }
            Return(0x0bb8)
        }
    }
    ThermalZone(TZ01) {
        Method(_CRT, 0, Serialized) {
            Return(Add(0x0aac, Multiply(CRTT, 0xa, ), ))
        }
        Method(_SCP, 1, Serialized) {
            Store(Arg0, CTYP)
        }
        Method(_TMP, 0, Serialized) {
            If(DTSE) {
                If(LNot(LLess(DTS1, DTS2))) {
                    Store(Add(0x0aac, Multiply(DTS1, 0xa, ), ), Local0)
                }
                Else {
                    Store(Add(0x0aac, Multiply(DTS2, 0xa, ), ), Local0)
                }
                Return(Local0)
            }
            If(\_SB_.PCI0.LPCB.ECOK()) {
                Store(\_SB_.PCI0.LPCB.EC0_.CTMP, Local0)
                If(And(Local0, 0x80, )) {
                    Subtract(Local0, 0x0100, Local0)
                }
                Return(Add(0x0aac, Multiply(Local0, 0xa, ), ))
            }
            Return(0x0bb8)
        }
        Method(_PSL, 0, Serialized) {
            If(MPEN) {
                Return(Package(0x2) {
                    \_PR_.CPU0,
                    \_PR_.CPU1,
                })
            }
            Return(Package(0x1) {
                \_PR_.CPU0,
            })
        }
        Method(_PSV, 0, Serialized) {
            Return(Add(0x0aac, Multiply(PSVT, 0xa, ), ))
        }
        Method(_TC1, 0, Serialized) {
            Return(TC1V)
        }
        Method(_TC2, 0, Serialized) {
            Return(TC2V)
        }
        Method(_TSP, 0, Serialized) {
            Return(TSPV)
        }
    }
}
Method(GETP, 1, Serialized) {
    If(LEqual(And(Arg0, 0x9, ), Zero)) {
        Return(Ones)
    }
    If(LEqual(And(Arg0, 0x9, ), 0x8)) {
        Return(0x0384)
    }
    ShiftRight(And(Arg0, 0x0300, ), 0x8, Local0)
    ShiftRight(And(Arg0, 0x3000, ), 0xc, Local1)
    Return(Multiply(0x1e, Subtract(0x9, Add(Local0, Local1, ), ), ))
}
Method(GDMA, 5, Serialized) {
    If(Arg0) {
        If(LAnd(Arg1, Arg4)) {
            Return(0x14)
        }
        If(LAnd(Arg2, Arg4)) {
            Return(Multiply(Subtract(0x4, Arg3, ), 0xf, ))
        }
        Return(Multiply(Subtract(0x4, Arg3, ), 0x1e, ))
    }
    Return(Ones)
}
Method(GETT, 1, Serialized) {
    Return(Multiply(0x1e, Subtract(0x9, Add(And(ShiftRight(Arg0, 0x2, ), 0x3, 
), And(Arg0, 0x3, ), ), ), ))
}
Method(GETF, 3, Serialized) {
    Name(TMPF, Zero)
    If(Arg0) {
        Or(TMPF, One, TMPF)
    }
    If(And(Arg2, 0x2, )) {
        Or(TMPF, 0x2, TMPF)
    }
    If(Arg1) {
        Or(TMPF, 0x4, TMPF)
    }
    If(And(Arg2, 0x20, )) {
        Or(TMPF, 0x8, TMPF)
    }
    If(And(Arg2, 0x4000, )) {
        Or(TMPF, 0x10, TMPF)
    }
    Return(TMPF)
}
Method(SETP, 3, Serialized) {
    If(LGreater(Arg0, 0xf0)) {
        Return(0x8)
    }
    Else {
        If(And(Arg1, 0x2, )) {
            If(LAnd(LNot(LGreater(Arg0, 0x78)), And(Arg2, 0x2, ))) {
                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(0x2)
    }
    If(LNot(LGreater(Arg0, 0x2d))) {
        Return(One)
    }
    If(LNot(LGreater(Arg0, 0x3c))) {
        Return(0x2)
    }
    If(LNot(LGreater(Arg0, 0x5a))) {
        Return(One)
    }
    Return(Zero)
}
Method(SETT, 3, Serialized) {
    If(And(Arg1, 0x2, )) {
        If(LAnd(LNot(LGreater(Arg0, 0x78)), And(Arg2, 0x2, ))) {
            Return(0xb)
        }
        If(LAnd(LNot(LGreater(Arg0, 0xb4)), And(Arg2, One, ))) {
            Return(0x9)
        }
    }
    Return(0x4)
}
Name(FWSO, "FWSO")
Scope(_SB_) {
    Method(_INI) {
        If(DTSE) {
            TRAP(0x47)
        }
        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(0x3d)
            }
        }
        If(LNot(LLess(OSYS, 0x07d0))) {
            Store(One, PRM0)
            If(LNot(LLess(OSYS, 0x07d1))) {
                Store(0x3, PRM0)
            }
        }
        Else {
            Store(Zero, PRM0)
        }
        TRAP(0x32)
    }
    Device(LID_) {
        Name(_HID, 0x0d0cd041)
        Method(_LID) {
            Return(LPOL)
        }
    }
    Device(WMID) {
        Name(_HID, "PNP0C14")
        Name(_UID, Zero)
        Name(ERRD, 0x00010000)
        Name(BUFF, Buffer(0x4) {0x0, 0x0, 0x0, 0x0 })
        CreateByteField(BUFF, Zero, BF00)
        CreateByteField(BUFF, One, BF01)
        CreateByteField(BUFF, 0x2, BF02)
        CreateByteField(BUFF, 0x3, BF03)
        Name(BUF1, Buffer(0x4) {0x0, 0x0, 0x0, 0x0 })
        Name(AADS, Buffer(0x4) {0x0 })
        CreateField(AADS, Zero, 0x4, AS00)
        CreateField(AADS, 0x4, One, AS01)
        CreateField(AADS, 0x5, One, AS02)
        CreateField(AADS, 0x10, 0x10, AS03)
        Name(BAEF, Zero)
        Name(BADF, Zero)
        Name(BADG, Package(0xd) {
            One,
            One,
            Zero,
            Zero,
            Zero,
            Zero,
            Zero,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            Zero,
            0x00010000,
        })
        Name(WLDS, Zero)
        Name(WLED, Zero)
        Name(BTDS, Zero)
        Name(BTED, Zero)
        Name(BLDS, Zero)
        Name(BLED, Zero)
        Name(NTDC, Zero)
        Name(NTDV, Zero)
        Name(WLSD, 0x0100)
        Name(WLSE, 0x0101)
        Name(BLTD, 0x0200)
        Name(BLTE, 0x0201)
        Name(LBL0, 0x0300)
        Name(LBL1, 0x0301)
        Name(LBL2, 0x0302)
        Name(LBL3, 0x0303)
        Name(LBL4, 0x0304)
        Name(LBL5, 0x0305)
        Name(LBL6, 0x0306)
        Name(LBL7, 0x0307)
        Name(LBL8, 0x0308)
        Name(LBL9, 0x0309)
        Name(LBLA, 0x030a)
        Name(LBLB, 0x030b)
        Name(LBLC, 0x030c)
        Name(LBLD, 0x030d)
        Name(LBLE, 0x030e)
        Name(LBLF, 0x030f)
        Name(VAPO, 0x0600)
        Name(VAPI, 0x0601)
        Name(CADI, 0x0401)
        Name(CADO, 0x0400)
        Name(GSEE, 0x0501)
        Name(GSED, 0x0502)
        Name(WBBO, 0x0701)
        Name(WBBI, 0x0700)
        Name(G3MD, 0x0800)
        Name(G3ME, 0x0801)
        Name(LANI, 0x0900)
        Name(LANO, 0x0901)
        Name(LDOF, 0x0a00)
        Name(LDON, 0x0a01)
        Name(BBSB, Buffer(0x4) {0x0, 0x0, 0x0, 0x0 })
        CreateField(BBSB, Zero, 0x10, BBD0)
        CreateField(BBSB, 0x10, 0x10, BBD1)
        Name(TLS0, Zero)
        Name(TLS1, One)
        Name(TLS2, 0x2)
        Name(TLS3, 0x3)
        Name(TLS4, 0x4)
        Name(TLS5, 0x5)
        Name(TLS6, 0x6)
        Name(TLS7, 0x7)
        Name(BCDS, Package(0xd) {
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
        })
        Name(BDDS, Buffer(0x4) {0x0, 0x0, 0x0, 0x0 })
        CreateField(BDDS, Zero, 0x10, BDD0)
        CreateField(BDDS, 0x10, 0x10, BDD1)
        Name(DSY0, Buffer(0x28) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
        Name(DSY1, Buffer(0x18) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
        Name(DSY2, Buffer(0x10) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
        Name(DSY3, Buffer(0x18) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
        Name(DSY4, Buffer(0x10) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
        Name(DSY5, Buffer(0x28) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
        CreateField(DSY0, Zero, 0x40, DY00)
        CreateField(DSY0, 0x40, 0x40, DY01)
        CreateField(DSY0, 0x80, 0x40, DY02)
        CreateField(DSY0, 0xc0, 0x40, DY03)
        CreateField(DSY0, 0x0100, 0x40, DY04)
        CreateField(DSY1, Zero, 0x40, DY10)
        CreateField(DSY1, 0x40, 0x40, DY11)
        CreateField(DSY1, 0x80, 0x40, DY12)
        CreateField(DSY2, Zero, 0x40, DY20)
        CreateField(DSY2, 0x40, 0x10, DY21)
        CreateField(DSY2, 0x50, 0x10, DY22)
        CreateField(DSY0, Zero, 0xc0, DSX4)
        Name(BEDS, Package(0x12) {
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
            0x00010000,
        })
        Name(WIT0, Zero)
        Name(DSY6, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
        CreateField(DSY6, Zero, 0x20, DY60)
        CreateField(DSY6, 0x20, 0x20, DY61)
        CreateField(DSY6, 0x40, 0x20, DY62)
        CreateField(DSY6, 0x60, 0x20, DY63)
        CreateField(DSY6, 0x80, 0x20, DY64)
        Name(WPRW, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
        CreateField(WPRW, Zero, 0x8, WWD0)
        CreateField(WPRW, 0x8, 0x8, WWD1)
        CreateField(WPRW, 0x10, 0x8, WWD2)
        CreateField(WPRW, 0x18, 0x8, WWD3)
        CreateField(WPRW, 0x20, 0x8, WWD4)
        CreateField(WPRW, 0x28, 0x20, WWD5)
        Name(WPCI, Buffer(0x4) {0x0, 0x0, 0x0, 0x0 })
        CreateField(WPCI, Zero, 0x8, WPIR)
        CreateField(WPCI, 0x8, 0x3, WPIF)
        CreateField(WPCI, 0xb, 0x5, WPID)
        CreateField(WPCI, 0x10, 0x8, WPIB)
        Name(BFDS, Package(0x4) {
            0x2,
            0x2,
            0x2,
            0x2,
        })
        Name(GSTS, Zero)
        Name(BFEF, Zero)
        Name(BGEF, Zero)
        Name(BGDS, Package(0x1) {
            One,
        })
        Method(AAF1) {
            Store(^^PCI0.LPCB.EC0_.WLEX, AS00)
            Store(^^PCI0.LPCB.EC0_.BTEX, AS01)
            Store(Zero, AS02)
            Store(Zero, AS03)
        }
        Method(Z000, 1) {
            Store(^^PCI0.LPCB.EC0_.WLAT, Local0)
            Store(Local0, Index(BADG, Zero, ))
            Store(^^PCI0.LPCB.EC0_.BTAT, Local0)
            Store(Local0, Index(BADG, One, ))
            Store(^^PCI0.LPCB.EC0_.BRTS, Local0)
            Store(Local0, Index(BADG, 0x2, ))
            Store(One, Local0)
            Store(Local0, Index(BADG, 0x7, ))
            Store(Zero, Local0)
            Store(Local0, Index(BADG, 0x8, ))
            Store(^^PCI0.LPCB.EC0_.LANC, Local0)
            Store(Local0, Index(BADG, 0xb, ))
            Store(^^PCI0.LPCB.EC0_.LCDS, Local0)
            Store(Local0, Index(BADG, 0xc, ))
        }
        Method(Z001, 2) {
            Store(Arg1, BUFF)
            Store(Arg0, Local0)
            Store(BF00, Local1)
            Store(Local0, Debug)
            Store(Local1, Debug)
            Store(Zero, Local2)
            Name(_T_0, Zero)
            Store(Local1, _T_0)
            If(LEqual(_T_0, Zero)) {
                Name(_T_1, Zero)
                Store(Local0, _T_1)
                If(LEqual(_T_1, 0x4)) {
                    Store(Zero, ^^PCI0.LPCB.EC0_.WLAT)
                }
                Else {
                    If(LEqual(_T_1, 0x5)) {
                        Store(Zero, ^^PCI0.LPCB.EC0_.BTAT)
                    }
                    Else {
                        If(LEqual(_T_1, 0x6)) {
                            Store(Zero, ^^PCI0.LPCB.EC0_.BRTS)
                        }
                        Else {
                            If(LEqual(_T_1, 0x7)) {
                                Store(Zero, BAEF)
                            }
                            Else {
                                Store(One, Local2)
                            }
                        }
                    }
                }
            }
            Else {
                Name(_T_2, Zero)
                Store(Local0, _T_2)
                If(LEqual(_T_2, 0x4)) {
                    Store(One, ^^PCI0.LPCB.EC0_.WLAT)
                    Store(Zero, Index(BADG, 0x3, ))
                }
                Else {
                    If(LEqual(_T_2, 0x5)) {
                        Store(One, ^^PCI0.LPCB.EC0_.BTAT)
                        Store(Zero, Index(BADG, 0x4, ))
                    }
                    Else {
                        If(LEqual(_T_2, 0x6)) {
                            Store(Local1, ^^PCI0.LPCB.EC0_.BRTS)
                            Store(Zero, Index(BADG, 0x5, ))
                        }
                        Else {
                            If(LEqual(_T_2, 0x7)) {
                                Store(One, BAEF)
                                Store(Zero, Index(BADG, 0x6, ))
                            }
                            Else {
                                Store(One, Local2)
                            }
                        }
                    }
                }
            }
            If(LEqual(Local2, One)) {
                Name(_T_3, Zero)
                Store(Local0, _T_3)
                If(LEqual(_T_3, 0x4)) {
                    Store(0x2, Index(BADG, 0x3, ))
                }
                Else {
                    If(LEqual(_T_3, 0x5)) {
                        Store(0x3, Index(BADG, 0x3, ))
                    }
                    Else {
                        If(LEqual(_T_3, 0x6)) {
                            Store(0x4, Index(BADG, 0x3, ))
                        }
                    }
                }
            }
        }
        Method(Z002) {
            If(LEqual(BGEF, One)) {
                Store(NTDV, Local0)
                If(LNot(LEqual(Local0, Zero))) {
                    Store(Zero, NTDV)
                    Return(Local0)
                }
            }
            If(LEqual(BAEF, One)) {
                Store(NTDC, Local0)
                If(LNot(LEqual(Local0, Zero))) {
                    Store(Zero, NTDC)
                    Return(Local0)
                }
            }
            If(LEqual(BFEF, One)) {
            }
        }
        Method(Z003, 2) {
            Store(Arg0, Local0)
            Store(Arg1, BUFF)
            Store(Zero, BBSB)
            Name(_T_0, Zero)
            Store(Local0, _T_0)
            If(LEqual(_T_0, One)) {
                Store(^^PCI0.LPCB.EC0_.THRO(Zero), Local1)
                If(And(Local1, One, )) {
                    Store(^^PCI0.LPCB.EC0_.THRO(One), Local1)
                    Store(Local1, BBSB)
                }
            }
            Else {
                If(LEqual(_T_0, 0x2)) {
                    Store(BF00, Local1)
                    ^^PCI0.LPCB.EC0_.CLCK(Local1)
                }
                Else {
                    Store(0x00010000, BBSB)
                }
            }
        }
        Method(Z004, 2) {
        }
        Method(Z005, 1) {
            Store(DSY5, DSY0)
            Store(Arg0, Local0)
            Store(PHWM(Zero, Arg0), Local2)
            Store(Local2, DSY6)
            Store(DY60, DY00)
            Store(DY61, DY01)
            Store(DY62, DY02)
            Store(DY63, DY03)
        }
        Method(Z006, 1) {
            Store(DSY3, DSY1)
            Store(Arg0, DY00)
            Store(PHWM(One, Arg0), Local2)
            Store(Local2, DSY6)
            Store(DY60, DY10)
            Store(DY61, DY11)
            Store(Zero, WIT0)
            Store(WIT0, DY12)
        }
        Method(Z007, 1) {
            Store(DSY3, DSY1)
            Store(PHWM(0x2, Arg0), Local2)
            Store(Local2, DSY6)
            Store(DY60, DY10)
            Store(DY61, DY11)
            Store(Zero, WIT0)
            Store(WIT0, DY12)
        }
        Method(Z008, 2) {
            Store(Arg1, BUFF)
            If(LEqual(Arg0, 0x4)) {
                Store(BF00, ^^PCI0.LPCB.C4O3)
                Store(BF00, Index(BCDS, 0x9, ))
            }
            Else {
                Store(^^PCI0.LPCB.C4O3, Index(BCDS, 0x9, ))
            }
        }
        Method(Z009) {
            Store(^^PCI0.LPCB.EC0_.THFN, Local0)
            Multiply(Local0, 0x64, Local1)
            Store(Local1, Index(BCDS, 0xa, ))
        }
        Method(Z00A) {
            Store(^^PCI0.LPCB.EC0_.CTMP, Index(BCDS, 0xb, ))
        }
        Method(Z00B, 1) {
            Store(Arg0, Local0)
            Store(PHWM(0x3, Arg0), Local2)
            Store(Local2, DY20)
            Store(Local2, DSY6)
            Store(DSY4, DSY2)
            Store(DY60, DY20)
        }
        Method(Z00C, 1) {
            Store(Arg0, Local0)
            Store(Arg0, DY20)
            Store(PHWM(0x4, Arg0), Local2)
            Store(Local2, DSY6)
            Store(DY61, BUFF)
        }
        Method(Z00D) {
            Store(PHWM(0x5, Zero), Local2)
            Store(Local2, BUFF)
            Store(BUFF, Index(BCDS, 0xc, ))
        }
        Method(PCID, 1) {
            Acquire(PSMX, 0xffff)
            Store(Arg0, DSY6)
            Store(DY61, BUFF)
            Store(DY60, Local1)
            Store(Zero, DY60)
            Store(Zero, DY61)
            Store(Zero, DY62)
            Store(Zero, DY63)
            Store(Zero, DY64)
            If(LEqual(BF00, Zero)) {
                Store(One, DY64)
            }
            Else {
                If(LEqual(BF00, One)) {
                    Store(One, DY64)
                }
                Else {
                    If(LEqual(BF00, 0x2)) {
                        Store(One, DY64)
                    }
                    Else {
                        If(LEqual(BF00, 0x3)) {
                            Store(Local1, BUFF)
                            If(LEqual(BF00, Zero)) {
                                Store(One, DY63)
                            }
                            Else {
                                If(LEqual(BF00, One)) {
                                    Store(0x4, DY62)
                                }
                            }
                        }
                    }
                }
            }
            Release(PSMX)
            Return(DSY6)
        }
        Method(Z00E, 2) {
            Store(Arg0, Local0)
            Store(Arg1, BUFF)
            If(LEqual(Local0, 0xd)) {
                Store(BF02, BF00)
                Store(BF01, Local1)
            }
            If(LEqual(Local0, 0xe)) {
                If(LEqual(BF00, Zero)) {
                    Store(0xff, BF00)
                }
                Else {
                    Store(BF00, Local1)
                    Store(One, BF00)
                }
            }
            Name(_T_0, Zero)
            Store(BF00, _T_0)
            If(LEqual(_T_0, One)) {
                If(LEqual(^^PCI0.LPCB.EC0_.BDC0, Zero)) {
                    Store(0x00020000, Local1)
                    Decrement(Local0)
                    Store(Local1, Index(BEDS, Local0, ))
                }
                Else {
                    Name(_T_1, Zero)
                    Store(Local0, _T_1)
                    If(LEqual(_T_1, One)) {
                        Store(Zero, Index(BEDS, Zero, ))
                    }
                    Else {
                        If(LEqual(_T_1, 0x2)) {
                            Store(^^PCI0.LPCB.EC0_.BPTC, Index(BEDS, One, ))
                        }
                        Else {
                            If(LEqual(_T_1, 0x3)) {
                                Store(^^PCI0.LPCB.EC0_.BPV0, Index(BEDS, 0x2, ))
                            }
                            Else {
                                If(LEqual(_T_1, 0x4)) {
                                    Store(^^PCI0.LPCB.EC0_.BSCU, Index(BEDS, 
0x3, ))
                                }
                                Else {
                                    If(LEqual(_T_1, 0x5)) {
                                        Store(^^PCI0.LPCB.EC0_.BRC0, 
Index(BEDS, 0x4, ))
                                    }
                                    Else {
                                        If(LEqual(_T_1, 0x6)) {
                                            Store(^^PCI0.LPCB.EC0_.BFC0, 
Index(BEDS, 0x5, ))
                                        }
                                        Else {
                                            If(LEqual(_T_1, 0x7)) {
                                                Store(^^PCI0.LPCB.EC0_.BSCY, 
Index(BEDS, 0x6, ))
                                            }
                                            Else {
                                                If(LEqual(_T_1, 0x8)) {
                                                    
Store(^^PCI0.LPCB.EC0_.BDC0, Index(BEDS, 0x7, ))
                                                }
                                                Else {
                                                    If(LEqual(_T_1, 0x9)) {
                                                        
Store(^^PCI0.LPCB.EC0_.BDV0, Index(BEDS, 0x8, ))
                                                    }
                                                    Else {
                                                        If(LEqual(_T_1, 0xa)) {
                                                            
Store(^^PCI0.LPCB.EC0_.BDAD, Index(BEDS, 0x9, ))
                                                        }
                                                        Else {
                                                            If(LEqual(_T_1, 
0xb)) {
                                                                
Store(^^PCI0.LPCB.EC0_.BSN0, Index(BEDS, 0xa, ))
                                                            }
                                                            Else {
                                                                If(LEqual(_T_1, 
0xc)) {
                                                                    
If(LEqual(^^PCI0.LPCB.EC0_.ACIS, One)) {
                                                                        
Store(Zero, ^^PCI0.LPCB.EC0_.PSRC)
                                                                        
Store(One, Index(BEDS, 0xb, ))
                                                                    }
                                                                    Else {
                                                                        
Store(0x00020000, Index(BEDS, 0xb, ))
                                                                    }
                                                                }
                                                                Else {
                                                                    
If(LEqual(_T_1, 0xd)) {
                                                                        
Store(Local1, ^^PCI0.LPCB.EC0_.BTMA)
                                                                        
Store(One, ^^PCI0.LPCB.EC0_.SCCF)
                                                                        
Store(One, Index(BEDS, 0xc, ))
                                                                    }
                                                                    Else {
                                                                        
If(LEqual(_T_1, 0xe)) {
                                                                            
Store(Local1, ^^PCI0.LPCB.EC0_.BTPV)
                                                                            
Store(Zero, ^^PCI0.LPCB.EC0_.SCHG)
                                                                            
Store(One, ^^PCI0.LPCB.EC0_.SCPF)
                                                                            
Store(One, Index(BEDS, 0xd, ))
                                                                        }
                                                                        Else {
                                                                            
If(LEqual(_T_1, 0xf)) {
                                                                                
Store(^^PCI0.LPCB.EC0_.BDFC, Index(BEDS, 0xe, ))
                                                                            }
                                                                            
Else {
                                                                                
If(LEqual(_T_1, 0x10)) {
                                                                                
    Store(^^PCI0.LPCB.EC0_.BDME, Index(BEDS, 0xf, ))
                                                                                
}
                                                                                
Else {
                                                                                
    If(LEqual(_T_1, 0x11)) {
                                                                                
        Store(0x03e8, Index(BEDS, 0x10, ))
                                                                                
    }
                                                                                
    Else {
                                                                                
        If(LEqual(_T_1, 0x12)) {
                                                                                
            Store(Zero, Index(BEDS, 0x11, ))
                                                                                
        }
                                                                                
        Else {
                                                                                
        }
                                                                                
    }
                                                                                
}
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            Else {
                Name(_T_2, Zero)
                Store(Local0, _T_2)
                If(LEqual(_T_2, One)) {
                    Store(0x00020000, Index(BEDS, Zero, ))
                }
                Else {
                    If(LEqual(_T_2, 0x2)) {
                        Store(0x00020000, Index(BEDS, One, ))
                    }
                    Else {
                        If(LEqual(_T_2, 0x3)) {
                            Store(0x00020000, Index(BEDS, 0x2, ))
                        }
                        Else {
                            If(LEqual(_T_2, 0x4)) {
                                Store(0x00020000, Index(BEDS, 0x3, ))
                            }
                            Else {
                                If(LEqual(_T_2, 0x5)) {
                                    Store(0x00020000, Index(BEDS, 0x4, ))
                                }
                                Else {
                                    If(LEqual(_T_2, 0x6)) {
                                        Store(0x00020000, Index(BEDS, 0x5, ))
                                    }
                                    Else {
                                        If(LEqual(_T_2, 0x7)) {
                                            Store(0x00020000, Index(BEDS, 0x6, 
))
                                        }
                                        Else {
                                            If(LEqual(_T_2, 0x8)) {
                                                Store(0x00020000, Index(BEDS, 
0x7, ))
                                            }
                                            Else {
                                                If(LEqual(_T_2, 0x9)) {
                                                    Store(0x00020000, 
Index(BEDS, 0x8, ))
                                                }
                                                Else {
                                                    If(LEqual(_T_2, 0xa)) {
                                                        Store(0x00020000, 
Index(BEDS, 0x9, ))
                                                    }
                                                    Else {
                                                        If(LEqual(_T_2, 0xb)) {
                                                            Store(0x00020000, 
Index(BEDS, 0xa, ))
                                                        }
                                                        Else {
                                                            If(LEqual(_T_2, 
0xc)) {
                                                                
If(LEqual(^^PCI0.LPCB.EC0_.BDC0, Zero)) {
                                                                    
Store(0x00030000, Index(BEDS, 0xb, ))
                                                                }
                                                                Else {
                                                                    Store(One, 
^^PCI0.LPCB.EC0_.PSRC)
                                                                    Store(One, 
Index(BEDS, 0xb, ))
                                                                }
                                                            }
                                                            Else {
                                                                If(LEqual(_T_2, 
0xd)) {
                                                                    
Store(0x00020000, Index(BEDS, 0xc, ))
                                                                }
                                                                Else {
                                                                    
If(LEqual(_T_2, 0xe)) {
                                                                        
Store(One, ^^PCI0.LPCB.EC0_.SCHG)
                                                                        
Store(One, ^^PCI0.LPCB.EC0_.SCPF)
                                                                        
Store(One, Index(BEDS, 0xd, ))
                                                                    }
                                                                    Else {
                                                                        
If(LEqual(_T_2, 0xf)) {
                                                                            
Store(0x00020000, Index(BEDS, 0xe, ))
                                                                        }
                                                                        Else {
                                                                            
If(LEqual(_T_2, 0x10)) {
                                                                                
Store(0x00020000, Index(BEDS, 0xf, ))
                                                                            }
                                                                            
Else {
                                                                                
If(LEqual(_T_2, 0x11)) {
                                                                                
    Store(0x03e8, Index(BEDS, 0x10, ))
                                                                                
}
                                                                                
Else {
                                                                                
    If(LEqual(_T_2, 0x12)) {
                                                                                
        Store(Zero, Index(BEDS, 0x11, ))
                                                                                
    }
                                                                                
}
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        Method(Z00F) {
            Store(One, GSTS)
            Return(GSTS)
        }
        Method(Z00G, 1) {
        }
        Method(Z00H, 1) {
        }
        Method(Z00I, 1) {
        }
        Method(Z00J, 1) {
        }
        Method(Z00K, 1) {
            Store(Arg0, Local0)
            If(LEqual(Local0, One)) {
                Store(One, BGEF)
            }
            Else {
                Store(Zero, BGEF)
            }
            Store(Zero, Index(BGDS, Zero, ))
        }
        Name(_WDG, Buffer(0xdc) {0x9, 0x4e, 0x76, 0x95, 0x56, 0xfb, 0x83, 0x4e, 
0xb3, 0x1a, 0x37, 0x76, 0x1f, 0x60, 0x99, 0x4a, 0x41, 0x41, 0x1, 0x1, 0x58, 
0xf2, 0xf4, 0x6a, 0x1, 0xb4, 0xfd, 0x42, 0xbe, 0x91, 0x3d, 0x4a, 0xc2, 0xd7, 
0xc0, 0xd3, 0x42, 0x41, 0x1, 0x2, 0xac, 0x61, 0x1a, 0xcc, 0x56, 0x42, 0xa3, 
0x41, 0xb9, 0xe0, 0x5, 0xa4, 0x45, 0xad, 0xe2, 0xf5, 0x80, 0x0, 0x1, 0x8, 0x53, 
0x44, 0x8c, 0xe7, 0x27, 0x2, 0x61, 0x48, 0x9e, 0xde, 0xf5, 0x60, 0xb, 0x4a, 
0x3d, 0x39, 0x42, 0x42, 0x1, 0x2, 0x7b, 0x4f, 0xe0, 0xaa, 0xc5, 0xb3, 0x65, 
0x48, 0x95, 0xd6, 0x9f, 0xac, 0x7f, 0xf3, 0xe9, 0x2b, 0x42, 0x43, 0x1, 0x2, 
0x79, 0x4c, 0xf9, 0xcf, 0x77, 0x6c, 0xf7, 0x4a, 0xac, 0x56, 0x7d, 0xd0, 0xce, 
0x1, 0xc9, 0x97, 0x42, 0x44, 0x1, 0x2, 0xc5, 0x2e, 0x77, 0x79, 0xb1, 0x4, 0xfd, 
0x4b, 0x84, 0x3c, 0x61, 0xe7, 0xf7, 0x7b, 0x6c, 0xc9, 0x42, 0x45, 0x1, 0x2, 
0xb7, 0xa0, 0xc9, 0xa7, 0x9d, 0x4c, 0x72, 0x4c, 0x83, 0xbb, 0x53, 0xa3, 0x45, 
0x91, 0x71, 0xdf, 0x42, 0x46, 0x1, 0x2, 0x4f, 0x6, 0x3a, 0x65
 , 0x3a, 0xa2, 0x5f, 0x48, 0xb3, 0xd9, 0x13, 0xf6, 0x53, 0x2a, 0x1, 0x82, 0x42, 
0x47, 0x1, 0x2, 0xa7, 0xb1, 0x85, 0xdb, 0x9a, 0x6, 0xbb, 0x4a, 0xa2, 0xb5, 
0xd1, 0x86, 0xa2, 0x1b, 0x80, 0xf1, 0x81, 0x0, 0x1, 0x8, 0x91, 0x6b, 0x91, 
0x36, 0x64, 0x1a, 0x83, 0x45, 0x84, 0xd0, 0x53, 0x83, 0xf, 0xb9, 0x10, 0x8d, 
0x82, 0x0, 0x1, 0x8 })
        Method(WQAA, 1) {
            AAF1()
            Store(AADS, BUFF)
            Return(BUFF)
        }
        Method(WMBA, 3) {
            Name(_T_0, Zero)
            Store(Arg1, _T_0)
            If(LNot(LEqual(Match(Package(0x8) {
                One,
                0x2,
                0x3,
                0x8,
                0x9,
                0xa,
                0xc,
                0xd,
            }, MEQ, _T_0, MTR, Zero, Zero), Ones))) {
                Store(Zero, Local0)
            }
            Else {
                If(LNot(LEqual(Match(Package(0x5) {
                    0x4,
                    0x5,
                    0x6,
                    0x7,
                    0xb,
                }, MEQ, _T_0, MTR, Zero, Zero), Ones))) {
                    If(LEqual(Arg1, 0x7)) {
                        Store(Arg2, BUFF)
                        If(BF00) {
                            Store(One, BAEF)
                        }
                    }
                    Store(One, Local0)
                }
            }
            If(Local0) {
                Z001(Arg1, Arg2)
            }
            Else {
                Z000(Arg1)
            }
            Store(DerefOf(Index(BADG, Subtract(Arg1, One, ), )), BUFF)
            Return(BUFF)
        }
        Method(_WED, 1) {
            If(LNot(LLess(Arg0, 0x80))) {
                If(LLess(Arg0, 0x83)) {
                    Return(Z002())
                }
            }
        }
        Method(WMBB, 3) {
            Z003(Arg1, Arg2)
            If(LEqual(Arg1, One)) {
                Store(BBSB, BUFF)
            }
            If(LEqual(Arg1, 0x2)) {
                Store(BBD1, BUFF)
            }
            Return(BUFF)
        }
        Method(WMBC, 3) {
            Z004(Arg1, Arg2)
            If(LLess(Arg1, 0xa)) {
                Subtract(Arg1, One, Local0)
                Store(DerefOf(Index(BCDS, Subtract(Arg1, One, ), )), BUFF)
            }
            Else {
                ShiftRight(DerefOf(Index(BCDS, Subtract(Arg1, 0xa, ), )), 0x10, 
BUFF)
            }
            Return(BUFF)
        }
        Method(WMBD, 3) {
            If(LEqual(Arg1, One)) {
                Store(Arg2, BUFF)
                Store(BUFF, Local0)
                Store(Arg2, WIT0)
                Z005(WIT0)
                Return(DSY0)
            }
            If(LEqual(Arg1, 0x2)) {
                Store(Arg2, Local0)
                Z006(Arg2)
                Return(DSY1)
            }
            If(LEqual(Arg1, 0x3)) {
                Store(Arg2, Local0)
                Z007(Arg2)
                Return(DSY1)
            }
            If(LEqual(Arg1, 0x4)) {
                Z008(Arg1, Arg2)
                ShiftRight(DerefOf(Index(BCDS, Add(Arg1, 0x5, ), )), 0x10, BUFF)
                Return(BUFF)
            }
            If(LEqual(Arg1, 0x5)) {
                Z008(Arg1, Arg2)
                Store(DerefOf(Index(BCDS, Add(Arg1, 0x4, ), )), BUFF)
                Return(BUFF)
            }
            If(LEqual(Arg1, 0x6)) {
                Z009()
                Store(DerefOf(Index(BCDS, Add(Arg1, 0x4, ), )), BUFF)
                Return(BUFF)
            }
            If(LEqual(Arg1, 0x7)) {
                Z00A()
                Store(DerefOf(Index(BCDS, Add(Arg1, 0x4, ), )), BUFF)
                Return(BUFF)
            }
            If(LEqual(Arg1, 0x8)) {
                Store(Arg2, WPRW)
                Store(WWD1, WPIR)
                Store(WWD2, WPIF)
                Store(WWD3, WPID)
                Store(WWD4, WPIB)
                Concatenate(WPCI, WWD0, Local0)
                Z00B(Local0)
                Return(DSY2)
            }
            If(LEqual(Arg1, 0x9)) {
                Store(Arg2, DSY6)
                Store(DY60, Local0)
                Store(Arg2, DSY0)
                Store(DY01, WPRW)
                Store(WWD1, WPIR)
                Store(WWD2, WPIF)
                Store(WWD3, WPID)
                Store(WWD4, WPIB)
                Store(WPCI, Local1)
                Concatenate(DY60, WPCI, Local0)
                Concatenate(Local0, WWD0, Local1)
                Z00C(Local1)
                Return(BUFF)
            }
            If(LEqual(Arg1, 0xa)) {
                Z00D()
                Store(DerefOf(Index(BCDS, Add(Arg1, 0x2, ), )), BUFF)
                Return(BUFF)
            }
            If(LEqual(Arg1, 0xb)) {
                PCID(Arg2)
                Return(DSY6)
            }
        }
        Method(WMBE, 3) {
            Z00E(Arg1, Arg2)
            Store(BUFF, Debug)
            Store(BEDS, Debug)
            Store(DerefOf(Index(BEDS, Subtract(Arg1, One, ), )), BUFF)
            Store(BUFF, Debug)
            Return(BUFF)
        }
        Method(WMBF, 3) {
            If(LGreater(Arg1, 0x4)) {
                Store(0x2, BF00)
                Store(Zero, BF01)
                Store(Zero, BF02)
                Store(Zero, BF03)
                Return(BUFF)
            }
            If(Z00F()) {
                Store(Arg2, BUFF)
                If(LEqual(Arg1, One)) {
                    Z00G(BF00)
                }
                Else {
                    If(LEqual(Arg1, 0x2)) {
                        Z00H(BF00)
                    }
                    Else {
                        If(LEqual(Arg1, 0x3)) {
                            Z00I(BF00)
                        }
                        Else {
                            Z00J(BF00)
                        }
                    }
                }
                Store(DerefOf(Index(BFDS, Subtract(Arg1, One, ), )), BUFF)
                Store(BUFF, Debug)
            }
            Else {
                Store(0x3, BF00)
                Store(Zero, BF01)
                Store(Zero, BF02)
                Store(Zero, BF03)
            }
            Return(BUFF)
        }
        Method(WMBG, 3) {
            Store(Arg2, BUFF)
            Z00K(BF00)
            Store(DerefOf(Index(BGDS, Subtract(Arg1, One, ), )), BUFF)
            Store(BUFF, Debug)
            Return(BUFF)
        }
    }
    OperationRegion(SMI0, SystemIO, Ones, 0xffff0040)
    Field(SMI0, AnyAcc, NoLock, Preserve) {
        SMIC,   8
    }
    OperationRegion(SMI1, SystemMemory, Ones, 0xffff0041)
    Field(SMI1, AnyAcc, NoLock, Preserve) {
        WCMD,   8,
        WDID,   32,
        TPID,   8,
        DI00,   320
    }
    Field(SMI1, AnyAcc, NoLock, Preserve) {
        Offset(0x6),
        D000,   32,
        D001,   32,
        D002,   32,
        D003,   32,
        D004,   32
    }
    Mutex(PSMX, 0)
    Method(PHWM, 2) {
        Acquire(PSMX, 0xffff)
        Store(0xe0, WCMD)
        Store(0x57, TPID)
        Store(Arg0, WDID)
        Store(Arg1, DI00)
        Store(Zero, SMIC)
        Store(DI00, Local0)
        Release(PSMX)
        Return(Local0)
    }
    Device(SLPB) {
        Name(_HID, 0x0e0cd041)
    }
    Device(PWRB) {
        Name(_HID, 0x0c0cd041)
    }
    Device(PCI0) {
        Name(_HID, 0x080ad041)
        Name(_CID, 0x030ad041)
        Name(_ADR, Zero)
        Name(_BBN, Zero)
        OperationRegion(HBUS, PCI_Config, 0x40, 0xc0)
        Field(HBUS, DWordAcc, NoLock, Preserve) {
            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(0x5c),
            ,   3,
            TOUD,       5
        }
        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, 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, 0x
 80, 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)
            }
            CreateDWordField(BUF0, 0x01c2, M1MN)
            CreateDWordField(BUF0, 0x01c6, M1MX)
            CreateDWordField(BUF0, 0x01ce, M1LN)
            ShiftLeft(TOUD, 0x1b, M1MN)
            Add(Subtract(M1MX, M1MN, ), One, M1LN)
            Return(BUF0)
        }
        Method(_PRT) {
            If(GPIC) {
                Return(Package(0x11) {
                    Package(0x4) {
                        0x0001ffff,
                        Zero,
                        Zero,
                        0x10,
                    },
                    Package(0x4) {
                        0x0002ffff,
                        Zero,
                        Zero,
                        0x10,
                    },
                    Package(0x4) {
                        0x0007ffff,
                        Zero,
                        Zero,
                        0x10,
                    },
                    Package(0x4) {
                        0x001bffff,
                        Zero,
                        Zero,
                        0x16,
                    },
                    Package(0x4) {
                        0x001cffff,
                        Zero,
                        Zero,
                        0x11,
                    },
                    Package(0x4) {
                        0x001cffff,
                        One,
                        Zero,
                        0x10,
                    },
                    Package(0x4) {
                        0x001cffff,
                        0x2,
                        Zero,
                        0x12,
                    },
                    Package(0x4) {
                        0x001cffff,
                        0x3,
                        Zero,
                        0x13,
                    },
                    Package(0x4) {
                        0x001dffff,
                        Zero,
                        Zero,
                        0x17,
                    },
                    Package(0x4) {
                        0x001dffff,
                        One,
                        Zero,
                        0x13,
                    },
                    Package(0x4) {
                        0x001dffff,
                        0x2,
                        Zero,
                        0x12,
                    },
                    Package(0x4) {
                        0x001dffff,
                        0x3,
                        Zero,
                        0x10,
                    },
                    Package(0x4) {
                        0x001effff,
                        Zero,
                        Zero,
                        0x16,
                    },
                    Package(0x4) {
                        0x001effff,
                        One,
                        Zero,
                        0x14,
                    },
                    Package(0x4) {
                        0x001fffff,
                        Zero,
                        Zero,
                        0x12,
                    },
                    Package(0x4) {
                        0x001fffff,
                        One,
                        Zero,
                        0x13,
                    },
                    Package(0x4) {
                        0x001fffff,
                        0x3,
                        Zero,
                        0x10,
                    },
                })
            }
            Else {
                Return(Package(0x11) {
                    Package(0x4) {
                        0x0001ffff,
                        Zero,
                        ^LPCB.LNKA,
                        Zero,
                    },
                    Package(0x4) {
                        0x0002ffff,
                        Zero,
                        ^LPCB.LNKA,
                        Zero,
                    },
                    Package(0x4) {
                        0x0007ffff,
                        Zero,
                        ^LPCB.LNKA,
                        Zero,
                    },
                    Package(0x4) {
                        0x001bffff,
                        Zero,
                        ^LPCB.LNKG,
                        Zero,
                    },
                    Package(0x4) {
                        0x001cffff,
                        Zero,
                        ^LPCB.LNKB,
                        Zero,
                    },
                    Package(0x4) {
                        0x001cffff,
                        One,
                        ^LPCB.LNKA,
                        Zero,
                    },
                    Package(0x4) {
                        0x001cffff,
                        0x2,
                        ^LPCB.LNKC,
                        Zero,
                    },
                    Package(0x4) {
                        0x001cffff,
                        0x3,
                        ^LPCB.LNKD,
                        Zero,
                    },
                    Package(0x4) {
                        0x001dffff,
                        Zero,
                        ^LPCB.LNKH,
                        Zero,
                    },
                    Package(0x4) {
                        0x001dffff,
                        One,
                        ^LPCB.LNKD,
                        Zero,
                    },
                    Package(0x4) {
                        0x001dffff,
                        0x2,
                        ^LPCB.LNKC,
                        Zero,
                    },
                    Package(0x4) {
                        0x001dffff,
                        0x3,
                        ^LPCB.LNKA,
                        Zero,
                    },
                    Package(0x4) {
                        0x001effff,
                        Zero,
                        ^LPCB.LNKG,
                        Zero,
                    },
                    Package(0x4) {
                        0x001effff,
                        One,
                        ^LPCB.LNKE,
                        Zero,
                    },
                    Package(0x4) {
                        0x001fffff,
                        Zero,
                        ^LPCB.LNKC,
                        Zero,
                    },
                    Package(0x4) {
                        0x001fffff,
                        One,
                        ^LPCB.LNKD,
                        Zero,
                    },
                    Package(0x4) {
                        0x001fffff,
                        0x3,
                        ^LPCB.LNKA,
                        Zero,
                    },
                })
            }
        }
        Device(PDRC) {
            Name(_HID, 0x020cd041)
            Name(_UID, One)
            Name(_CRS, Buffer(0x4a) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe0, 
0x0, 0x0, 0x0, 0x10, 0x86, 0x9, 0x0, 0x1, 0x0, 0x40, 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, 0xc0, 0xd1, 0xfe, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 
0x0, 0xd2, 0xfe, 0x0, 0x0, 0x2, 0x0, 0x79, 0x0 })
        }
        Device(PEGP) {
            Name(_ADR, 0x00010000)
            Method(_PRT) {
                If(GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            Zero,
                            0x10,
                        },
                        Package(0x4) {
                            0xffff,
                            One,
                            Zero,
                            0x11,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            Zero,
                            0x12,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            Zero,
                            0x13,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            ^^LPCB.LNKA,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            One,
                            ^^LPCB.LNKB,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            ^^LPCB.LNKC,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            ^^LPCB.LNKD,
                            Zero,
                        },
                    })
                }
            }
            Device(VGA_) {
                Name(_ADR, Zero)
                Name(NHKI, Zero)
                Name(NCDD, Package(0xb) {
                    One,
                    One,
                    One,
                    0x5,
                    0x5,
                    0x3,
                    0x3,
                    0x4,
                    0x4,
                    0x2,
                    0x2,
                })
                Name(NADD, Package(0xb) {
                    0x3,
                    0x5,
                    0x7,
                    0x5,
                    0x7,
                    0x3,
                    0x7,
                    0x7,
                    0x5,
                    0x7,
                    0x3,
                })
                Name(NNDD, Package(0xb) {
                    0x2,
                    0x4,
                    0x2,
                    One,
                    One,
                    One,
                    0x5,
                    0x3,
                    0x5,
                    0x4,
                    0x3,
                })
                OperationRegion(EGFX, PCI_Config, Zero, 0x4)
                Field(EGFX, DWordAcc, NoLock, Preserve) {
                    EVID,       16
                }
                Method(_DOS, 1) {
                    Store(And(Arg0, 0x3, ), DSEN)
                }
                Method(_DOD) {
                    Return(Package(0x3) {
                        0x00010100,
                        0x00010110,
                        0x00010200,
                    })
                }
                Device(LCD_) {
                    Name(_ADR, 0x0110)
                    Method(_DCS) {
                        PHIS(0xc)
                        If(And(CSTE, One, )) {
                            Return(0x1f)
                        }
                        Return(0x1d)
                    }
                    Method(_DGS) {
                        If(And(NSTE, One, )) {
                            Return(One)
                        }
                        Return(Zero)
                    }
                    Method(_BCL) {
                        Return(Package(0xc) {
                            0x64,
                            0x46,
                            0xa,
                            0x14,
                            0x1e,
                            0x28,
                            0x32,
                            0x3c,
                            0x46,
                            0x50,
                            0x5a,
                            0x64,
                        })
                    }
                    Method(_BCM, 1) {
                        Divide(Arg0, 0xa, Local0, Local1)
                        Decrement(Local1)
                        Store(Local1, ^^^^LPCB.EC0_.BRTS)
                    }
                    Method(_BQC) {
                        Multiply(^^^^LPCB.EC0_.BRTS, 0xa, Local0)
                        Add(Local0, One, Local0)
                        Return(Local0)
                    }
                }
                Device(CRT1) {
                    Name(_ADR, 0x0100)
                    Method(_DCS) {
                        PHIS(0xc)
                        If(And(CSTE, 0x2, )) {
                            Return(0x1f)
                        }
                        Return(0x1d)
                    }
                    Method(_DGS) {
                        If(And(NSTE, 0x2, )) {
                            Return(One)
                        }
                        Return(Zero)
                    }
                }
                Device(DTV1) {
                    Name(_ADR, 0x0200)
                    Method(_DCS) {
                        PHIS(0xc)
                        If(And(CSTE, 0x4, )) {
                            Return(0x1f)
                        }
                        Return(0x1d)
                    }
                    Method(_DGS) {
                        If(And(NSTE, 0x4, )) {
                            Return(One)
                        }
                        Return(Zero)
                    }
                }
                Method(DSSW) {
                    If(LEqual(Zero, DSEN)) {
                        PHIS(0xc)
                        Store(0xb, NHKI)
                        Store(One, NSTE)
                        And(CADL, 0x7, CADL)
                        And(CSTE, 0x7, CSTE)
                        While(NHKI) {
                            Decrement(NHKI)
                            Store(DerefOf(Index(NCDD, NHKI, )), Local0)
                            If(LEqual(Local0, CSTE)) {
                                Store(DerefOf(Index(NADD, NHKI, )), Local0)
                                If(LEqual(Local0, CADL)) {
                                    Store(DerefOf(Index(NNDD, NHKI, )), NSTE)
                                    Store(Zero, NHKI)
                                }
                            }
                        }
                        Notify(VGA_, 0x80)
                    }
                    If(LEqual(One, DSEN)) {
                        PHIS(One)
                        Notify(VGA_, 0x81)
                    }
                }
            }
        }
        Device(GFX0) {
            Name(_ADR, 0x00020000)
            Name(IHKI, Zero)
            Name(ICDD, Package(0xb) {
                0x8,
                0x8,
                0x8,
                0xa,
                0xa,
                0x9,
                0x9,
                0x2,
                0x2,
                One,
                One,
            })
            Name(IADD, Package(0xb) {
                0x9,
                0xa,
                0xb,
                0xa,
                0xb,
                0x9,
                0xb,
                0xb,
                0xa,
                0xb,
                0x9,
            })
            Name(INDD, Package(0xb) {
                One,
                0x2,
                One,
                0x8,
                0x8,
                0x8,
                0xa,
                0x9,
                0xa,
                0x2,
                0x9,
            })
            OperationRegion(IGFX, PCI_Config, Zero, 0xa4)
            Field(IGFX, DWordAcc, NoLock, Preserve) {
                IVID,   16,
                Offset(0x95),
                IRES,   24
            }
            Method(_DOS, 1) {
                Store(And(Arg0, 0x3, ), DSEN)
            }
            Method(_DOD) {
                Return(Package(0x3) {
                    0x00010100,
                    0x00010400,
                    0x00010200,
                })
            }
            Device(LCD_) {
                Name(_ADR, 0x0400)
                Method(_DCS) {
                    PHIS(0xc)
                    If(And(CSTE, 0x8, )) {
                        Return(0x1f)
                    }
                    Return(0x1d)
                }
                Method(_DGS) {
                    If(And(NSTE, 0x8, )) {
                        Return(One)
                    }
                    Return(Zero)
                }
                Method(_BCL) {
                    Return(Package(0xc) {
                        0x64,
                        0x46,
                        0xa,
                        0x14,
                        0x1e,
                        0x28,
                        0x32,
                        0x3c,
                        0x46,
                        0x50,
                        0x5a,
                        0x64,
                    })
                }
                Method(_BCM, 1) {
                    Divide(Arg0, 0xa, Local0, Local1)
                    Decrement(Local1)
                    Store(Local1, ^^^LPCB.EC0_.BRTS)
                }
                Method(_BQC) {
                    Multiply(^^^LPCB.EC0_.BRTS, 0xa, Local0)
                    Add(Local0, One, Local0)
                    Return(Local0)
                }
            }
            Device(CRT1) {
                Name(_ADR, 0x0100)
                Method(_DCS) {
                    PHIS(0xc)
                    If(And(CSTE, One, )) {
                        Return(0x1f)
                    }
                    Return(0x1d)
                }
                Method(_DGS) {
                    If(And(NSTE, One, )) {
                        Return(One)
                    }
                    Return(Zero)
                }
            }
            Device(DTV1) {
                Name(_ADR, 0x0200)
                Method(_DCS) {
                    PHIS(0xc)
                    If(And(CSTE, 0x2, )) {
                        Return(0x1f)
                    }
                    Return(0x1d)
                }
                Method(_DGS) {
                    If(And(NSTE, 0x2, )) {
                        Return(One)
                    }
                    Return(Zero)
                }
            }
            Method(DSSW) {
                If(LEqual(Zero, DSEN)) {
                    PHIS(0xc)
                    Store(0xb, IHKI)
                    Store(0x8, NSTE)
                    And(CADL, 0xb, CADL)
                    And(CSTE, 0xb, CSTE)
                    While(IHKI) {
                        Decrement(IHKI)
                        Store(DerefOf(Index(ICDD, IHKI, )), Local0)
                        If(LEqual(Local0, CSTE)) {
                            Store(DerefOf(Index(IADD, IHKI, )), Local0)
                            If(LEqual(Local0, CADL)) {
                                Store(DerefOf(Index(INDD, IHKI, )), NSTE)
                                Store(Zero, IHKI)
                            }
                        }
                    }
                    Notify(GFX0, 0x80)
                }
                Else {
                    PHIS(One)
                    Notify(GFX0, 0x81)
                }
            }
        }
        Device(RP01) {
            Name(_ADR, 0x001c0000)
            OperationRegion(P1CS, PCI_Config, 0x40, 0x0100)
            Field(P1CS, AnyAcc, NoLock, WriteAsZeros) {
                Offset(0x1a),
                ABP1,   1,
                ,       2,
                PDC1,   1,
                ,       2,
                PDS1,   1,
                Offset(0x20),
                Offset(0x22),
                PSP1,   1,
                Offset(0x9c),
                ,       30,
                HPCS,   1,
                PMCS,   1
            }
            Device(PXS1) {
                Name(_ADR, Zero)
                OperationRegion(P1FG, PCI_Config, Zero, 0x8)
                Field(P1FG, DWordAcc, NoLock, Preserve) {
                    P1ID,       32
                }
                Method(_RMV) {
                    Return(One)
                }
                Method(_STA) {
                    If(LEqual(P1ID, Ones)) {
                        Return(Zero)
                    }
                    Else {
                        Return(0xf)
                    }
                }
                Name(_PRW, Package(0x2) {
                    0x9,
                    0x4,
                })
                Name(_EJD, "\_SB.PCI0.USB7.HUB7.PRT2")
            }
            Method(_PRT) {
                If(GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            Zero,
                            0x10,
                        },
                        Package(0x4) {
                            0xffff,
                            One,
                            Zero,
                            0x11,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            Zero,
                            0x12,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            Zero,
                            0x13,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            ^^LPCB.LNKA,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            One,
                            ^^LPCB.LNKB,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            ^^LPCB.LNKC,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            ^^LPCB.LNKD,
                            Zero,
                        },
                    })
                }
            }
        }
        Device(RP02) {
            Name(_ADR, 0x001c0001)
            OperationRegion(P2CS, PCI_Config, 0x40, 0x0100)
            Field(P2CS, AnyAcc, NoLock, WriteAsZeros) {
                Offset(0x1a),
                ABP2,   1,
                ,       2,
                PDC2,   1,
                ,       2,
                PDS2,   1,
                Offset(0x20),
                Offset(0x22),
                PSP2,   1,
                Offset(0x9c),
                ,       30,
                HPCS,   1,
                PMCS,   1
            }
            Device(PXS2) {
                Name(_ADR, Zero)
                OperationRegion(P2FG, PCI_Config, Zero, 0x8)
                Field(P2FG, DWordAcc, NoLock, Preserve) {
                    P2ID,       32
                }
                Method(_STA) {
                    If(LEqual(P2ID, Ones)) {
                        Return(Zero)
                    }
                    Else {
                        Return(0xf)
                    }
                }
                Name(_PRW, Package(0x2) {
                    0x9,
                    0x4,
                })
                Name(_EJD, "\_SB.PCI0.USB7.HUB7.PRT8")
            }
            Method(_PRT) {
                If(GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            Zero,
                            0x11,
                        },
                        Package(0x4) {
                            0xffff,
                            One,
                            Zero,
                            0x12,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            Zero,
                            0x13,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            Zero,
                            0x10,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            ^^LPCB.LNKB,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            One,
                            ^^LPCB.LNKC,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            ^^LPCB.LNKD,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            ^^LPCB.LNKA,
                            Zero,
                        },
                    })
                }
            }
        }
        Device(RP03) {
            Name(_ADR, 0x001c0002)
            OperationRegion(P3CS, PCI_Config, 0x40, 0x0100)
            Field(P3CS, AnyAcc, NoLock, WriteAsZeros) {
                Offset(0x1a),
                ABP3,   1,
                ,       2,
                PDC3,   1,
                ,       2,
                PDS3,   1,
                Offset(0x20),
                Offset(0x22),
                PSP3,   1,
                Offset(0x9c),
                ,       30,
                HPCS,   1,
                PMCS,   1
            }
            Method(_PRT) {
                If(GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            Zero,
                            0x12,
                        },
                        Package(0x4) {
                            0xffff,
                            One,
                            Zero,
                            0x13,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            Zero,
                            0x10,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            Zero,
                            0x11,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            ^^LPCB.LNKC,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            One,
                            ^^LPCB.LNKD,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            ^^LPCB.LNKA,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            ^^LPCB.LNKB,
                            Zero,
                        },
                    })
                }
            }
            Device(BCOL) {
                Name(_ADR, Zero)
                Name(_PRW, Package(0x2) {
                    0xb,
                    0x4,
                })
                Name(LANP, Zero)
                Method(_PSW, 1) {
                    If(LEqual(Arg0, Zero)) {
                        Store(Zero, LANP)
                    }
                    Else {
                        Store(One, LANP)
                    }
                }
            }
        }
        Device(RP04) {
            Name(_ADR, 0x001c0003)
            OperationRegion(P4CS, PCI_Config, 0x40, 0x0100)
            Field(P4CS, AnyAcc, NoLock, WriteAsZeros) {
                Offset(0x1a),
                ABP4,   1,
                ,       2,
                PDC4,   1,
                ,       2,
                PDS4,   1,
                Offset(0x20),
                Offset(0x22),
                PSP4,   1,
                Offset(0x9c),
                ,       30,
                HPCS,   1,
                PMCS,   1
            }
            Device(PXS4) {
                Name(_ADR, Zero)
                Name(_PRW, Package(0x2) {
                    0x9,
                    0x4,
                })
            }
            Method(_PRT) {
                If(GPIC) {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            Zero,
                            0x13,
                        },
                        Package(0x4) {
                            0xffff,
                            One,
                            Zero,
                            0x10,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            Zero,
                            0x11,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            Zero,
                            0x12,
                        },
                    })
                }
                Else {
                    Return(Package(0x4) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            ^^LPCB.LNKD,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            One,
                            ^^LPCB.LNKA,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            0x2,
                            ^^LPCB.LNKB,
                            Zero,
                        },
                        Package(0x4) {
                            0xffff,
                            0x3,
                            ^^LPCB.LNKC,
                            Zero,
                        },
                    })
                }
            }
        }
        Device(USB1) {
            Name(_ADR, 0x001d0000)
            Device(HUB1) {
                Name(_ADR, Zero)
                Device(PRT1) {
                    Name(_ADR, One)
                }
                Device(PRT2) {
                    Name(_ADR, 0x2)
                    Name(_EJD, "\_SB.PCI0.RP01.PXS1")
                }
            }
            OperationRegion(U1CS, PCI_Config, 0xc0, 0x8)
            Field(U1CS, DWordAcc, NoLock, Preserve) {
                Offset(0x1),
                U1SS,   4,
                Offset(0x4),
                U1EN,   2
            }
            Name(_PRW, Package(0x2) {
                0x3,
                0x3,
            })
            Method(_PSW, 1) {
                If(Arg0) {
                    Store(0x3, U1EN)
                }
                Else {
                    Store(Zero, U1EN)
                }
            }
        }
        Device(USB2) {
            Name(_ADR, 0x001d0001)
            Device(HUB2) {
                Name(_ADR, Zero)
                Device(PRT1) {
                    Name(_ADR, One)
                }
                Device(PRT2) {
                    Name(_ADR, 0x2)
                }
            }
            OperationRegion(U2CS, PCI_Config, 0xc0, 0x8)
            Field(U2CS, DWordAcc, NoLock, Preserve) {
                Offset(0x1),
                U2SS,   4,
                Offset(0x4),
                U2EN,   2
            }
            Name(_PRW, Package(0x2) {
                0x4,
                0x3,
            })
            Method(_PSW, 1) {
                If(Arg0) {
                    Store(0x3, U2EN)
                }
                Else {
                    Store(Zero, U2EN)
                }
            }
        }
        Device(USB3) {
            Name(_ADR, 0x001d0002)
            Device(HUB3) {
                Name(_ADR, Zero)
                Device(PRT1) {
                    Name(_ADR, One)
                }
                Device(PRT2) {
                    Name(_ADR, 0x2)
                }
            }
            OperationRegion(U3CS, PCI_Config, 0xc0, 0x8)
            Field(U3CS, DWordAcc, NoLock, Preserve) {
                Offset(0x1),
                U3SS,   4,
                Offset(0x4),
                U3EN,   2
            }
            Name(_PRW, Package(0x2) {
                0xc,
                0x3,
            })
            Method(_PSW, 1) {
                If(Arg0) {
                    Store(0x3, U3EN)
                }
                Else {
                    Store(Zero, U3EN)
                }
            }
        }
        Device(USB4) {
            Name(_ADR, 0x001d0003)
            Device(HUB4) {
                Name(_ADR, Zero)
                Device(PRT1) {
                    Name(_ADR, One)
                }
                Device(PRT2) {
                    Name(_ADR, 0x2)
                    Name(_EJD, "\_SB.PCI0.RP02.PXS2")
                }
            }
            OperationRegion(U4CS, PCI_Config, 0xc0, 0x8)
            Field(U4CS, DWordAcc, NoLock, Preserve) {
                Offset(0x1),
                U4SS,   4,
                Offset(0x4),
                U4EN,   2
            }
            Name(_PRW, Package(0x2) {
                0xe,
                0x3,
            })
            Method(_PSW, 1) {
                If(Arg0) {
                    Store(0x3, U4EN)
                }
                Else {
                    Store(Zero, U4EN)
                }
            }
        }
        Device(USB7) {
            Name(_ADR, 0x001d0007)
            Device(HUB7) {
                Name(_ADR, Zero)
                OperationRegion(U7CS, PCI_Config, 0x72, 0x4)
                Field(U7CS, DWordAcc, NoLock, Preserve) {
                    U7SS,       14
                }
                Method(_STA) {
                    Store(0x10, U7SS)
                    Return(0xf)
                }
                Device(PRT1) {
                    Name(_ADR, One)
                }
                Device(PRT2) {
                    Name(_ADR, 0x2)
                    Name(_EJD, "\_SB.PCI0.RP01.PXS1")
                }
                Device(PRT3) {
                    Name(_ADR, 0x3)
                }
                Device(PRT4) {
                    Name(_ADR, 0x4)
                }
                Device(PRT5) {
                    Name(_ADR, 0x5)
                }
                Device(PRT6) {
                    Name(_ADR, 0x6)
                }
                Device(PRT7) {
                    Name(_ADR, 0x7)
                }
                Device(PRT8) {
                    Name(_ADR, 0x8)
                    Name(_EJD, "\_SB.PCI0.RP02.PXS2")
                }
            }
            Name(_PRW, Package(0x2) {
                0xd,
                0x3,
            })
        }
        Device(PCIB) {
            Name(_ADR, 0x001e0000)
            Device(LANC) {
                Name(_ADR, 0x00010000)
                Name(_PRW, Package(0x2) {
                    0x8,
                    0x5,
                })
                Name(LANP, Zero)
                Method(_PSW, 1) {
                    If(LEqual(Arg0, Zero)) {
                        Store(Zero, LANP)
                    }
                    Else {
                        Store(One, LANP)
                    }
                }
            }
            Method(_PRT) {
                If(GPIC) {
                    Return(Package(0x1) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            Zero,
                            0x14,
                        },
                    })
                }
                Else {
                    Return(Package(0x1) {
                        Package(0x4) {
                            0xffff,
                            Zero,
                            ^^LPCB.LNKE,
                            Zero,
                        },
                    })
                }
            }
        }
        Device(MODM) {
            Name(_ADR, 0x001e0003)
            Name(_PRW, Package(0x2) {
                0x5,
                0x3,
            })
        }
        Device(LPCB) {
            Name(_ADR, 0x001f0000)
            OperationRegion(LPC0, PCI_Config, 0x40, 0xc0)
            Field(LPC0, AnyAcc, NoLock, Preserve) {
                Offset(0x20),
                PARC,   8,
                PBRC,   8,
                PCRC,   8,
                PDRC,   8,
                Offset(0x28),
                PERC,   8,
                PFRC,   8,
                PGRC,   8,
                PHRC,   8,
                Offset(0x40),
                IOD0,   8,
                IOD1,   8,
                CMA0,   1,
                CMB0,   1,
                LP0E,   1,
                FDDE,   1,
                Offset(0x44),
                DIO1,   16,
                RIO1,   8,
                Offset(0x60),
                ,       7,
                C4O3,   1
            }
            Device(LNKA) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, One)
                Method(_DIS, 0, Serialized) {
                    Store(0x80, PARC)
                }
                Name(_PRS, Buffer(0x6) {0x23, 0x62, 0xd4, 0x18, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    Name(RTLA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(RTLA, One, IRQ0)
                    Store(Zero, IRQ0)
                    ShiftLeft(One, And(PARC, 0xf, ), IRQ0)
                    Return(RTLA)
                }
                Method(_SRS, 1, Serialized) {
                    CreateWordField(Arg0, One, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(Local0, PARC)
                }
                Method(_STA, 0, Serialized) {
                    If(And(PARC, 0x80, )) {
                        Return(0x9)
                    }
                    Else {
                        Return(0xb)
                    }
                }
            }
            Device(LNKB) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x2)
                Method(_DIS, 0, Serialized) {
                    Store(0x80, PBRC)
                }
                Name(_PRS, Buffer(0x6) {0x23, 0x62, 0xd8, 0x18, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    Name(RTLB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(RTLB, One, IRQ0)
                    Store(Zero, IRQ0)
                    ShiftLeft(One, And(PBRC, 0xf, ), IRQ0)
                    Return(RTLB)
                }
                Method(_SRS, 1, Serialized) {
                    CreateWordField(Arg0, One, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(Local0, PBRC)
                }
                Method(_STA, 0, Serialized) {
                    If(And(PBRC, 0x80, )) {
                        Return(0x9)
                    }
                    Else {
                        Return(0xb)
                    }
                }
            }
            Device(LNKC) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x3)
                Method(_DIS, 0, Serialized) {
                    Store(0x80, PCRC)
                }
                Name(_PRS, Buffer(0x6) {0x23, 0x62, 0xd4, 0x18, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    Name(RTLC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(RTLC, One, IRQ0)
                    Store(Zero, IRQ0)
                    ShiftLeft(One, And(PCRC, 0xf, ), IRQ0)
                    Return(RTLC)
                }
                Method(_SRS, 1, Serialized) {
                    CreateWordField(Arg0, One, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(Local0, PCRC)
                }
                Method(_STA, 0, Serialized) {
                    If(And(PCRC, 0x80, )) {
                        Return(0x9)
                    }
                    Else {
                        Return(0xb)
                    }
                }
            }
            Device(LNKD) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x4)
                Method(_DIS, 0, Serialized) {
                    Store(0x80, PDRC)
                }
                Name(_PRS, Buffer(0x6) {0x23, 0x62, 0xd8, 0x18, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    Name(RTLD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(RTLD, One, IRQ0)
                    Store(Zero, IRQ0)
                    ShiftLeft(One, And(PDRC, 0xf, ), IRQ0)
                    Return(RTLD)
                }
                Method(_SRS, 1, Serialized) {
                    CreateWordField(Arg0, One, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(Local0, PDRC)
                }
                Method(_STA, 0, Serialized) {
                    If(And(PDRC, 0x80, )) {
                        Return(0x9)
                    }
                    Else {
                        Return(0xb)
                    }
                }
            }
            Device(LNKE) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x5)
                Method(_DIS, 0, Serialized) {
                    Store(0x80, PERC)
                }
                Name(_PRS, Buffer(0x6) {0x23, 0x62, 0xd4, 0x18, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    Name(RTLE, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(RTLE, One, IRQ0)
                    Store(Zero, IRQ0)
                    ShiftLeft(One, And(PERC, 0xf, ), IRQ0)
                    Return(RTLE)
                }
                Method(_SRS, 1, Serialized) {
                    CreateWordField(Arg0, One, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(Local0, PERC)
                }
                Method(_STA, 0, Serialized) {
                    If(And(PERC, 0x80, )) {
                        Return(0x9)
                    }
                    Else {
                        Return(0xb)
                    }
                }
            }
            Device(LNKF) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x6)
                Method(_DIS, 0, Serialized) {
                    Store(0x80, PFRC)
                }
                Name(_PRS, Buffer(0x6) {0x23, 0x62, 0xd8, 0x18, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    Name(RTLF, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(RTLF, One, IRQ0)
                    Store(Zero, IRQ0)
                    ShiftLeft(One, And(PFRC, 0xf, ), IRQ0)
                    Return(RTLF)
                }
                Method(_SRS, 1, Serialized) {
                    CreateWordField(Arg0, One, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(Local0, PFRC)
                }
                Method(_STA, 0, Serialized) {
                    If(And(PFRC, 0x80, )) {
                        Return(0x9)
                    }
                    Else {
                        Return(0xb)
                    }
                }
            }
            Device(LNKG) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x7)
                Method(_DIS, 0, Serialized) {
                    Store(0x80, PGRC)
                }
                Name(_PRS, Buffer(0x6) {0x23, 0x62, 0xd4, 0x18, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    Name(RTLG, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(RTLG, One, IRQ0)
                    Store(Zero, IRQ0)
                    ShiftLeft(One, And(PGRC, 0xf, ), IRQ0)
                    Return(RTLG)
                }
                Method(_SRS, 1, Serialized) {
                    CreateWordField(Arg0, One, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(Local0, PGRC)
                }
                Method(_STA, 0, Serialized) {
                    If(And(PGRC, 0x80, )) {
                        Return(0x9)
                    }
                    Else {
                        Return(0xb)
                    }
                }
            }
            Device(LNKH) {
                Name(_HID, 0x0f0cd041)
                Name(_UID, 0x8)
                Method(_DIS, 0, Serialized) {
                    Store(0x80, PHRC)
                }
                Name(_PRS, Buffer(0x6) {0x23, 0x62, 0xd8, 0x18, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    Name(RTLH, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
                    CreateWordField(RTLH, One, IRQ0)
                    Store(Zero, IRQ0)
                    ShiftLeft(One, And(PHRC, 0xf, ), IRQ0)
                    Return(RTLH)
                }
                Method(_SRS, 1, Serialized) {
                    CreateWordField(Arg0, One, IRQ0)
                    FindSetRightBit(IRQ0, Local0)
                    Decrement(Local0)
                    Store(Local0, PHRC)
                }
                Method(_STA, 0, Serialized) {
                    If(And(PHRC, 0x80, )) {
                        Return(0x9)
                    }
                    Else {
                        Return(0xb)
                    }
                }
            }
            Method(ECOK) {
                If(LEqual(^EC0_.ECRY, One)) {
                    If(LEqual(OSYS, 0x40)) {
                        Store(One, ^EC0_.OSIF)
                    }
                    Else {
                        Store(Zero, ^EC0_.OSIF)
                    }
                    Return(One)
                }
                Else {
                    Return(Zero)
                }
            }
            Device(EC0_) {
                Name(_HID, 0x090cd041)
                Name(_GPE, 0x19)
                Name(ECRY, Zero)
                Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 
0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 })
                Method(_REG, 2) {
                    If(LEqual(Arg0, 0x3)) {
                        Store(Arg1, ECRY)
                    }
                }
                OperationRegion(ERAM, EmbeddedControl, Zero, 0xff)
                Field(ERAM, ByteAcc, Lock, Preserve) {
                    SCAP,       8,
                    BTPV,       8,
                    THFN,       8,
                    BDME,       16,
                    BDFC,       16,
                    MLED,       1,
                    SCHG,       1,
                    SCCF,       1,
                    SCPF,       1,
                    ACIS,       1,
                    Offset(0x8),
                    Offset(0xf),
                    LIDS,       1,
                    Offset(0x10),
                    Offset(0x60),
                    SMPR,       8,
                    SMST,       8,
                    SMAD,       8,
                    SMCM,       8,
                    SMDR,       32,
                    BCNT,       8,
                    SMAA,       8,
                    SMD0,       8,
                    SMD1,       8,
                    Offset(0x90),
                    Offset(0x91),
                    Offset(0x92),
                    Offset(0x93),
                    Offset(0x94),
                    EXNI,       8,
                    EXNB,       8,
                    EXND,       8,
                    Offset(0x98),
                    Offset(0x99),
                    OSIF,       1,
                    Offset(0x9a),
                    BAL1,       1,
                    BAL2,       1,
                    BAL3,       1,
                    BAL4,       1,
                    BCL1,       1,
                    BCL2,       1,
                    BCL3,       1,
                    BCL4,       1,
                    BPU1,       1,
                    BPU2,       1,
                    BPU3,       1,
                    BPU4,       1,
                    BOS1,       1,
                    BOS2,       1,
                    BOS3,       1,
                    BOS4,       1,
                    PHDD,       1,
                    IFDD,       1,
                    IODD,       1,
                    SHDD,       1,
                    LS20,       1,
                    EFDD,       1,
                    ECRT,       1,
                    LANC,       1,
                    SBTN,       1,
                    VIDO,       1,
                    VOLD,       1,
                    VOLU,       1,
                    MUTE,       1,
                    CONT,       1,
                    BRGT,       1,
                    HBTN,       1,
                    S4SE,       1,
                    SKEY,       1,
                    BKEY,       1,
                    TKEY,       1,
                    FKEY,       1,
                    DVDM,       1,
                    DIGM,       1,
                    CDLK,       1,
                    ,   1,
                    LIDO,       1,
                    PMEE,       1,
                    PBET,       1,
                    RIIN,       1,
                    BTWK,       1,
                    DKIN,       1,
                    Offset(0xa0),
                    ,   6,
                    SWTH,       1,
                    HWTH,       1,
                    DKT0,       1,
                    DKT1,       1,
                    ,   2,
                    OSUD,       1,
                    OSDK,       1,
                    OSSU,       1,
                    DKCG,       1,
                    ODTS,       8,
                    S1LD,       1,
                    S3LD,       1,
                    VGAQ,       1,
                    PCMQ,       1,
                    PCMR,       1,
                    ADPT,       1,
                    SYS6,       1,
                    SYS7,       1,
                    PWAK,       1,
                    MWAK,       1,
                    LWAK,       1,
                    RWAK,       1,
                    ,   2,
                    KWAK,       1,
                    MSWK,       1,
                    CCAC,       1,
                    AOAC,       1,
                    BLAC,       1,
                    PSRC,       1,
                    BOAC,       1,
                    LCAC,       1,
                    AAAC,       1,
                    ACAC,       1,
                    PCEC,       8,
                    THON,       8,
                    THSD,       8,
                    THEM,       8,
                    TCON,       8,
                    THRS,       8,
                    THSE,       8,
                    FSSN,       4,
                    FANU,       4,
                    PTVL,       3,
                    ,   3,
                    TTSR,       1,
                    TTHR,       1,
                    TSTH,       1,
                    TSBC,       1,
                    TSBF,       1,
                    TSPL,       1,
                    TSBT,       1,
                    ,   2,
                    THTA,       1,
                    CTMP,       8,
                    LTMP,       8,
                    SKTA,       8,
                    SKTB,       8,
                    SKTC,       8,
                    CDTS,       8,
                    NBTP,       8,
                    LANP,       1,
                    LCDS,       1,
                    Offset(0xb8),
                    Offset(0xb9),
                    BRTS,       8,
                    CTRS,       8,
                    WLAT,       1,
                    BTAT,       1,
                    WLEX,       1,
                    BTEX,       1,
                    KLSW,       1,
                    WLOK,       1,
                    Offset(0xbc),
                    PJID,       8,
                    CPUN,       8,
                    Offset(0xc0),
                    BTYP,       8,
                    BST0,       8,
                    BRC0,       16,
                    BSN0,       16,
                    BPV0,       16,
                    BDV0,       16,
                    BDC0,       16,
                    BFC0,       16,
                    GAU0,       8,
                    BSCY,       8,
                    BSCU,       16,
                    BAC0,       16,
                    BTW0,       8,
                    BATV,       8,
                    BPTC,       8,
                    BTTC,       8,
                    BTMA,       16,
                    BTSC,       8,
                    BCIX,       8,
                    CCBA,       8,
                    CBOT,       8,
                    BTSS,       16,
                    OVCC,       8,
                    CCFC,       8,
                    BADC,       8,
                    BSC1,       16,
                    BSC2,       16,
                    BSC3,       16,
                    BSC4,       16,
                    Offset(0xed),
                    Offset(0xee),
                    Offset(0xef),
                    Offset(0xf0),
                    BTS1,       8,
                    BTS2,       8,
                    BSCS,       16,
                    BDAD,       16,
                    BACV,       16
                }
                Method(PCLK) {
                    Store(PTVL, Local0)
                    If(LEqual(Local0, Zero)) {
                        Store(Zero, THEN)
                    }
                    Else {
                        Not(Local0, Local0)
                        Add(Local0, One, Local0)
                        And(Local0, 0x7, Local0)
                        Store(Local0, DUTY)
                        If(LEqual(Local0, Zero)) {
                            Store(Zero, THEN)
                        }
                        Else {
                            Store(One, THEN)
                        }
                    }
                }
                Method(_Q2D) {
                    PHIS(0x2)
                }
                Method(_Q11) {
                    If(LEqual(OSYS, 0x07d6)) {
                        If(LEqual(^^^GFX0.IVID, 0x8086)) {
                            Notify(^^^GFX0.LCD_, 0x87)
                        }
                        Else {
                            Notify(^^^PEGP.VGA_.LCD_, 0x87)
                        }
                    }
                    Else {
                        If(LEqual(^^^^WMID.BAEF, One)) {
                            Store(BRTS, Local1)
                            Store(^^^^WMID.LBL0, Local2)
                            Add(Local2, Local1, Local2)
                            Store(Local2, ^^^^WMID.NTDC)
                            Notify(WMID, 0x80)
                        }
                    }
                }
                Method(_Q12) {
                    If(LEqual(OSYS, 0x07d6)) {
                        If(LEqual(^^^GFX0.IVID, 0x8086)) {
                            Notify(^^^GFX0.LCD_, 0x86)
                        }
                        Else {
                            Notify(^^^PEGP.VGA_.LCD_, 0x86)
                        }
                    }
                    Else {
                        If(LEqual(^^^^WMID.BAEF, One)) {
                            Store(BRTS, Local1)
                            Store(^^^^WMID.LBL0, Local2)
                            Add(Local2, Local1, Local2)
                            Store(Local2, ^^^^WMID.NTDC)
                            Notify(WMID, 0x80)
                        }
                    }
                }
                Method(_Q1D) {
                    PCLK()
                }
                Method(_Q22) {
                    Notify(BAT1, 0x80)
                }
                Method(_Q25) {
                    Notify(BAT1, 0x81)
                    Notify(BAT1, 0x80)
                }
                Method(_Q34) {
                    If(LEqual(^^^^WMID.BAEF, One)) {
                        Store(BTAT, Local1)
                        Store(^^^^WMID.BLTD, Local2)
                        Add(Local2, Local1, Local2)
                        Store(Local2, ^^^^WMID.NTDC)
                        Notify(WMID, 0x80)
                    }
                }
                Method(_Q37) {
                    Notify(ACAD, Zero)
                    Sleep(0x03e8)
                    Notify(BAT1, 0x80)
                    Notify(\_PR_.CPU0, 0x80)
                }
                Method(_Q38) {
                    Notify(ACAD, One)
                    Sleep(0x03e8)
                    Notify(BAT1, 0x80)
                    Notify(\_PR_.CPU0, 0x80)
                }
                Method(_Q60) {
                    If(LEqual(^^^^WMID.BAEF, One)) {
                        Store(WLAT, Local1)
                        Store(^^^^WMID.WLSD, Local2)
                        Add(Local2, Local1, Local2)
                        Store(Local2, ^^^^WMID.NTDC)
                        Notify(WMID, 0x80)
                    }
                }
                Method(_Q4F) {
                    If(LEqual(^^^^WMID.BAEF, One)) {
                        Store(One, Local1)
                        If(LEqual(LANC, One)) {
                            Store(Zero, Local1)
                        }
                        Store(^^^^WMID.LANI, Local2)
                        Add(Local2, Local1, Local2)
                        Store(Local2, ^^^^WMID.NTDC)
                        Notify(WMID, 0x80)
                    }
                }
                Method(_Q50) {
                    If(LEqual(^^^^WMID.BAEF, One)) {
                        Store(Zero, Local1)
                        If(LEqual(LCDS, One)) {
                            Store(One, Local1)
                        }
                        Store(^^^^WMID.LDOF, Local2)
                        Add(Local2, Local1, Local2)
                        Store(Local2, ^^^^WMID.NTDC)
                        Notify(WMID, 0x80)
                    }
                }
                OperationRegion(CCLK, SystemIO, 0x1010, 0x4)
                Field(CCLK, DWordAcc, NoLock, Preserve) {
                    ,   1,
                    DUTY,       3,
                    THEN,       1,
                    Offset(0x1),
                    FTT_,       1,
                    ,   8,
                    TSTS,       1
                }
                OperationRegion(ECRM, EmbeddedControl, Zero, 0xff)
                Field(ECRM, ByteAcc, Lock, Preserve) {
                    Offset(0x94),
                    ERIB,       16,
                    ERBD,       8
                }
                Mutex(FAMX, 0)
                Method(FANG, 1) {
                    Acquire(FAMX, 0xffff)
                    Store(Arg0, ERIB)
                    Store(ERBD, Local0)
                    Release(FAMX)
                    Return(Local0)
                }
                Method(FANW, 2) {
                    Acquire(FAMX, 0xffff)
                    Store(Arg0, ERIB)
                    Store(Arg1, ERBD)
                    Release(FAMX)
                    Return(Arg1)
                }
                Method(TUVR, 1) {
                    Return(0x3)
                }
                Method(THRO, 1) {
                    If(LEqual(Arg0, Zero)) {
                        Return(THEN)
                    }
                    Else {
                        If(LEqual(Arg0, One)) {
                            Return(DUTY)
                        }
                        Else {
                            If(LEqual(Arg0, 0x2)) {
                                Return(TTHR)
                            }
                            Else {
                                Return(0xff)
                            }
                        }
                    }
                }
                Method(CLCK, 1) {
                    If(LEqual(Arg0, Zero)) {
                        Store(Zero, THEN)
                    }
                    Else {
                        Store(Arg0, DUTY)
                        Store(One, THEN)
                    }
                    Return(THEN)
                }
            }
            Device(BAT1) {
                Name(_HID, 0x0a0cd041)
                Name(_UID, One)
                Name(_PCL, Package(0x1) {
                    _SB_,
                })
                Name(PBIF, Package(0xd) {
                    One,
                    0x0fa0,
                    0x0fa0,
                    One,
                    0x39d0,
                    0x0190,
                    0x78,
                    0x0108,
                    0x0ec4,
                    "Primary ",
                    "",
                    "Lion",
                    "ACER",
                })
                Name(PBST, Package(0x4) {
                    One,
                    Ones,
                    Ones,
                    0x39d0,
                })
                Method(_STA) {
                    If(ECOK()) {
                        If(^^EC0_.BAL1) {
                            Sleep(0x14)
                            Return(0x1f)
                        }
                        Else {
                            Sleep(0x14)
                            Return(0xf)
                        }
                    }
                    Else {
                        Sleep(0x14)
                        Return(0x1f)
                    }
                }
                Method(_BIF) {
                    If(ECOK()) {
                        Sleep(0x14)
                        Store(^^EC0_.BDC0, Index(PBIF, One, ))
                        Sleep(0x14)
                        Store(^^EC0_.BFC0, Index(PBIF, 0x2, ))
                        Sleep(0x14)
                        Store(^^EC0_.BDV0, Index(PBIF, 0x4, ))
                        Sleep(0x14)
                        Store(^^EC0_.BDC0, Local2)
                        Divide(Local2, 0x64, Local6, Local2)
                        Multiply(Local2, 0x5, Local3)
                        Store(Local3, Index(PBIF, 0x5, ))
                        Multiply(Local2, 0x3, Local4)
                        Store(Local4, Index(PBIF, 0x6, ))
                    }
                    Return(PBIF)
                }
                Method(_BST) {
                    If(ECOK()) {
                        Sleep(0x14)
                        Store(^^EC0_.BST0, Local0)
                        And(Local0, 0x7, Local0)
                        Store(Local0, Index(PBST, Zero, ))
                        Sleep(0x14)
                        Store(^^EC0_.GAU0, Local2)
                        Sleep(0x14)
                        Store(^^EC0_.BPV0, Local3)
                        Sleep(0x14)
                        Store(^^EC0_.BFC0, Local1)
                        Sleep(0x14)
                        If(Local2) {
                            Multiply(Local2, Local1, Local2)
                            Divide(Local2, 0x64, Local6, Local2)
                            If(Local6) {
                                Increment(Local2)
                            }
                        }
                        Store(^^EC0_.BAC0, Local1)
                        If(And(Local1, 0x8000, Local1)) {
                            Store(^^EC0_.BAC0, Local1)
                            Subtract(0xffff, Local1, Local1)
                        }
                        Else {
                            Store(Zero, Local1)
                        }
                        Sleep(0x14)
                        Store(Local1, Index(PBST, One, ))
                        Store(Local2, Index(PBST, 0x2, ))
                        Store(Local3, Index(PBST, 0x3, ))
                    }
                    Return(PBST)
                }
            }
            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(FWHD) {
                Name(_HID, 0x0008d425)
                Name(_CRS, Buffer(0xe) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 
0xff, 0x0, 0x0, 0x0, 0x1, 0x79, 0x0 })
            }
            Device(HPET) {
                Name(_HID, 0x0301d041)
                Name(_CID, 0x010cd041)
                Name(BUF0, Buffer(0xe) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd0, 
0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 })
                Method(_STA) {
                    If(LNot(LLess(OSYS, 0x07d1))) {
                        If(HPAE) {
                            Return(0xf)
                        }
                    }
                    Else {
                        If(HPAE) {
                            Return(0xb)
                        }
                    }
                    Return(Zero)
                }
                Method(_CRS, 0, Serialized) {
                    If(HPAE) {
                        CreateDWordField(BUF0, 0x4, HPT0)
                        If(LEqual(HPAS, One)) {
                            Store(0xfed01000, HPT0)
                        }
                        If(LEqual(HPAS, 0x2)) {
                            Store(0xfed02000, HPT0)
                        }
                        If(LEqual(HPAS, 0x3)) {
                            Store(0xfed03000, HPT0)
                        }
                    }
                    Return(BUF0)
                }
            }
            Device(IPIC) {
                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(MATH) {
                Name(_HID, 0x040cd041)
                Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 
0x1, 0x22, 0x0, 0x20, 0x79, 0x0 })
            }
            Device(LDRC) {
                Name(_HID, 0x020cd041)
                Name(_UID, 0x2)
                Name(BUF0, Buffer(0x92) {0x47, 0x1, 0x2e, 0x0, 0x2e, 0x0, 0x1, 
0x2, 0x47, 0x1, 0x4e, 0x0, 0x4e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x61, 0x0, 0x61, 
0x0, 0x1, 0x1, 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, 
0x68, 0x0, 0x68, 0x0, 0x1, 0x1, 0x47, 0x1, 0x6c, 0x0, 0x6c, 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, 0x0, 0x8, 0x0, 0x8, 0x1, 0x10, 0x47, 0x1, 0x0, 
0x10, 0x0, 0x10, 0x1, 0x80, 0x47, 0x1, 0x80, 0x11, 0x80, 0x11, 0x1, 0x40, 0x47, 
0x1, 0x40, 0x16, 0x40, 0x16, 0x1, 0x10, 0x47, 0x1, 0x0, 0xfe, 0x0, 0xfe, 0x1, 
0xff, 0x47, 0x1, 0x2c, 0xff, 0x2c, 0xff, 0x1, 0x4, 0x79, 0x0 })
                Name(BUF1, Buffer(0x82) {0x47, 0x1, 0x2e, 0x0, 0x2e, 0x0, 0x1, 
0x2, 0x47, 0x1, 0x4e, 0x0, 0x4e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x61, 0x0, 0x61, 
0x0, 0x1, 0x1, 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, 
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, 0x0, 0x8, 0x0, 0x8, 0x1, 0x10, 0x47, 0x1, 0x0, 0x10, 0x0, 
0x10, 0x1, 0x80, 0x47, 0x1, 0x80, 0x11, 0x80, 0x11, 0x1, 0x40, 0x47, 0x1, 0x40, 
0x16, 0x40, 0x16, 0x1, 0x10, 0x47, 0x1, 0x0, 0xfe, 0x0, 0xfe, 0x1, 0xff, 0x47, 
0x1, 0x2c, 0xff, 0x2c, 0xff, 0x1, 0x4, 0x79, 0x0 })
                Method(_CRS, 0, Serialized) {
                    If(CIRP) {
                        Return(BUF0)
                    }
                    Return(BUF1)
                }
            }
            Device(RTC_) {
                Name(_HID, 0x000bd041)
                Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 
0x8, 0x22, 0x0, 0x1, 0x79, 0x0 })
            }
            Device(TIMR) {
                Name(_HID, 0x0001d041)
                Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 
0x4, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
            }
            Device(PS2K) {
                Name(_HID, 0x0303d041)
                Method(_STA) {
                    If(LEqual(KBTP, 0x4a)) {
                        Return(Zero)
                    }
                    Else {
                        Return(0xf)
                    }
                }
                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 
})
            }
            Device(KBCJ) {
                Name(_HID, 0x2003d041)
                Method(_STA) {
                    If(LEqual(KBTP, 0x4a)) {
                        Return(0xf)
                    }
                    Else {
                        Return(Zero)
                    }
                }
                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 
})
            }
            Device(MSE0) {
                Name(_HID, 0x130fd041)
                Method(_STA) {
                    And(TSTE, 0x7, TSTE)
                    If(LEqual(TSTE, One)) {
                        Return(Zero)
                    }
                    Else {
                        If(LEqual(TSTE, 0x2)) {
                            Return(0xf)
                        }
                        Else {
                            If(LEqual(TSTE, 0x4)) {
                                Return(0xf)
                            }
                            Else {
                                Return(0xf)
                            }
                        }
                    }
                }
                Name(_CRS, Buffer(0x6) {0x23, 0x0, 0x10, 0x1, 0x79, 0x0 })
            }
            Device(MSS0) {
                Name(_HID, 0x071b2e4f)
                Name(_CID, Package(0x3) {
                    0x001b2e4f,
                    0x02002e4f,
                    0x130fd041,
                })
                Method(_STA) {
                    And(TSTE, 0x7, TSTE)
                    If(LEqual(TSTE, One)) {
                        Return(0xf)
                    }
                    Else {
                        If(LEqual(TSTE, 0x2)) {
                            Return(Zero)
                        }
                        Else {
                            If(LEqual(TSTE, 0x4)) {
                                Return(Zero)
                            }
                            Else {
                                Return(Zero)
                            }
                        }
                    }
                }
                Name(_CRS, Buffer(0x6) {0x23, 0x0, 0x10, 0x1, 0x79, 0x0 })
            }
            Device(ACAD) {
                Name(_HID, "ACPI0003")
                Name(_PCL, Package(0x1) {
                    _SB_,
                })
                Method(_PSR) {
                    If(ECOK()) {
                        Return(^^EC0_.ADPT)
                    }
                    Return(One)
                }
            }
        }
        Device(PATA) {
            Name(_ADR, 0x001f0001)
            OperationRegion(PACS, PCI_Config, 0x40, 0xc0)
            Field(PACS, DWordAcc, NoLock, Preserve) {
                PRIT,   16,
                Offset(0x4),
                PSIT,   4,
                Offset(0x8),
                SYNC,   4,
                Offset(0xa),
                SDT0,   2,
                ,       2,
                SDT1,   2,
                Offset(0x14),
                ICR0,   4,
                ICR1,   4,
                ICR2,   4,
                ICR3,   4,
                ICR4,   4,
                ICR5,   4
            }
            Device(PRID) {
                Name(_ADR, Zero)
                Method(_GTM) {
                    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, 0x4, DMA0)
                    CreateDWordField(PBUF, 0x8, PIO1)
                    CreateDWordField(PBUF, 0xc, 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, 0x2, ), And(ICR3, 0x2, ), And(ICR0, 
0x2, ), SDT1, And(ICR1, 0x2, )), DMA1)
                    If(LEqual(DMA1, Ones)) {
                        Store(PIO1, DMA1)
                    }
                    Store(GETF(And(SYNC, One, ), And(SYNC, 0x2, ), PRIT), FLAG)
                    If(And(LEqual(PIO0, Ones), LEqual(DMA0, Ones), )) {
                        Store(0x78, PIO0)
                        Store(0x14, DMA0)
                        Store(0x3, FLAG)
                    }
                    Return(PBUF)
                }
                Method(_STM, 3) {
                    CreateDWordField(Arg0, Zero, PIO0)
                    CreateDWordField(Arg0, 0x4, DMA0)
                    CreateDWordField(Arg0, 0x8, PIO1)
                    CreateDWordField(Arg0, 0xc, DMA1)
                    CreateDWordField(Arg0, 0x10, FLAG)
                    If(LEqual(SizeOf(Arg1), 0x0200)) {
                        And(PRIT, 0x40f0, PRIT)
                        And(SYNC, 0x2, SYNC)
                        Store(Zero, SDT0)
                        And(ICR0, 0x2, ICR0)
                        And(ICR1, 0x2, ICR1)
                        And(ICR3, 0x2, ICR3)
                        And(ICR5, 0x2, 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, 0x2, ), And(W490, 0x0800, ))) {
                            Or(PRIT, 0x2, 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)
                            }
                            If(And(W930, 0x2000, )) {
                                Or(ICR1, One, ICR1)
                            }
                        }
                    }
                    If(LEqual(SizeOf(Arg2), 0x0200)) {
                        And(PRIT, 0x3f0f, PRIT)
                        Store(Zero, PSIT)
                        And(SYNC, One, SYNC)
                        Store(Zero, SDT1)
                        And(ICR0, One, ICR0)
                        And(ICR1, One, ICR1)
                        And(ICR3, One, ICR3)
                        And(ICR5, One, 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, 0x8, ), 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, 0x4, )) {
                            Or(SYNC, 0x2, SYNC)
                            Store(SDMA(DMA1), SDT1)
                            If(LLess(DMA1, 0x1e)) {
                                Or(ICR3, 0x2, ICR3)
                            }
                            If(LLess(DMA1, 0x3c)) {
                                Or(ICR0, 0x2, ICR0)
                            }
                            If(And(W931, 0x2000, )) {
                                Or(ICR1, 0x2, ICR1)
                            }
                        }
                    }
                }
                Device(P_D0) {
                    Name(_ADR, Zero)
                    Method(_GTF) {
                        Name(PIB0, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 
0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
                        CreateByteField(PIB0, One, PMD0)
                        CreateByteField(PIB0, 0x8, DMD0)
                        If(And(PRIT, 0x2, )) {
                            If(LEqual(And(PRIT, 0x9, ), 0x8)) {
                                Store(0x8, PMD0)
                            }
                            Else {
                                Store(0xa, PMD0)
                                ShiftRight(And(PRIT, 0x0300, ), 0x8, Local0)
                                ShiftRight(And(PRIT, 0x3000, ), 0xc, Local1)
                                Add(Local0, Local1, Local2)
                                If(LEqual(0x3, Local2)) {
                                    Store(0xb, PMD0)
                                }
                                If(LEqual(0x5, Local2)) {
                                    Store(0xc, PMD0)
                                }
                            }
                        }
                        Else {
                            Store(One, PMD0)
                        }
                        If(And(SYNC, One, )) {
                            Store(Or(SDT0, 0x40, ), DMD0)
                            If(And(ICR1, One, )) {
                                If(And(ICR0, One, )) {
                                    Add(DMD0, 0x2, DMD0)
                                }
                                If(And(ICR3, One, )) {
                                    Store(0x45, DMD0)
                                }
                            }
                        }
                        Else {
                            Or(Subtract(And(PMD0, 0x7, ), 0x2, ), 0x20, DMD0)
                        }
                        Return(PIB0)
                    }
                }
                Device(P_D1) {
                    Name(_ADR, One)
                    Method(_GTF) {
                        Name(PIB1, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 
0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
                        CreateByteField(PIB1, One, PMD1)
                        CreateByteField(PIB1, 0x8, DMD1)
                        If(And(PRIT, 0x20, )) {
                            If(LEqual(And(PRIT, 0x90, ), 0x80)) {
                                Store(0x8, PMD1)
                            }
                            Else {
                                Add(And(PSIT, 0x3, ), ShiftRight(And(PSIT, 0xc, 
), 0x2, ), Local0)
                                If(LEqual(0x5, Local0)) {
                                    Store(0xc, PMD1)
                                }
                                Else {
                                    If(LEqual(0x3, Local0)) {
                                        Store(0xb, PMD1)
                                    }
                                    Else {
                                        Store(0xa, PMD1)
                                    }
                                }
                            }
                        }
                        Else {
                            Store(One, PMD1)
                        }
                        If(And(SYNC, 0x2, )) {
                            Store(Or(SDT1, 0x40, ), DMD1)
                            If(And(ICR1, 0x2, )) {
                                If(And(ICR0, 0x2, )) {
                                    Add(DMD1, 0x2, DMD1)
                                }
                                If(And(ICR3, 0x2, )) {
                                    Store(0x45, DMD1)
                                }
                            }
                        }
                        Else {
                            Or(Subtract(And(PMD1, 0x7, ), 0x2, ), 0x20, DMD1)
                        }
                        Return(PIB1)
                    }
                }
            }
        }
        Device(SATA) {
            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,
                Offset(0x53),
                PCSR,   8
            }
        }
        Device(SBUS) {
            Name(_ADR, 0x001f0003)
            OperationRegion(SMBP, PCI_Config, 0x40, 0xc0)
            Field(SMBP, DWordAcc, NoLock, Preserve) {
                ,       2,
                I2CE,   1
            }
            OperationRegion(SMBI, SystemIO, 0x5420, 0x10)
            Field(SMBI, ByteAcc, NoLock, Preserve) {
                HSTS,   8,
                Offset(0x2),
                HCON,   8,
                HCOM,   8,
                TXSA,   8,
                DAT0,   8,
                DAT1,   8,
                HBDR,   8,
                PECR,   8,
                RXSA,   8,
                SDAT,   16
            }
            Method(SSXB, 2, Serialized) {
                If(STRT()) {
                    Return(Zero)
                }
                Store(Zero, I2CE)
                Store(0xbf, HSTS)
                Store(Arg0, TXSA)
                Store(Arg1, HCOM)
                Store(0x48, HCON)
                If(COMP()) {
                    Or(HSTS, 0xff, HSTS)
                    Return(One)
                }
                Return(Zero)
            }
            Method(SRXB, 1, Serialized) {
                If(STRT()) {
                    Return(0xffff)
                }
                Store(Zero, I2CE)
                Store(0xbf, HSTS)
                Store(Or(Arg0, One, ), TXSA)
                Store(0x44, HCON)
                If(COMP()) {
                    Or(HSTS, 0xff, HSTS)
                    Return(DAT0)
                }
                Return(0xffff)
            }
            Method(SWRB, 3, Serialized) {
                If(STRT()) {
                    Return(Zero)
                }
                Store(Zero, I2CE)
                Store(0xbf, HSTS)
                Store(Arg0, TXSA)
                Store(Arg1, HCOM)
                Store(Arg2, DAT0)
                Store(0x48, HCON)
                If(COMP()) {
                    Or(HSTS, 0xff, HSTS)
                    Return(One)
                }
                Return(Zero)
            }
            Method(SRDB, 2, Serialized) {
                If(STRT()) {
                    Return(0xffff)
                }
                Store(Zero, I2CE)
                Store(0xbf, HSTS)
                Store(Or(Arg0, One, ), TXSA)
                Store(Arg1, HCOM)
                Store(0x48, HCON)
                If(COMP()) {
                    Or(HSTS, 0xff, HSTS)
                    Return(DAT0)
                }
                Return(0xffff)
            }
            Method(SBLW, 4, Serialized) {
                If(STRT()) {
                    Return(Zero)
                }
                Store(Arg3, I2CE)
                Store(0xbf, HSTS)
                Store(Arg0, TXSA)
                Store(Arg1, HCOM)
                Store(SizeOf(Arg2), DAT0)
                Store(Zero, Local1)
                Store(DerefOf(Index(Arg2, Zero, )), HBDR)
                Store(0x54, HCON)
                While(LGreater(SizeOf(Arg2), Local1)) {
                    Store(0x0fa0, Local0)
                    While(LAnd(LNot(And(HSTS, 0x80, )), Local0)) {
                        Decrement(Local0)
                        Stall(0x32)
                    }
                    If(LNot(Local0)) {
                        KILL()
                        Return(Zero)
                    }
                    Store(0x80, HSTS)
                    Increment(Local1)
                    If(LGreater(SizeOf(Arg2), Local1)) {
                        Store(DerefOf(Index(Arg2, Local1, )), HBDR)
                    }
                }
                If(COMP()) {
                    Or(HSTS, 0xff, HSTS)
                    Return(One)
                }
                Return(Zero)
            }
            Method(SBLR, 3, Serialized) {
                Name(TBUF, Buffer(0x0100) { })
                If(STRT()) {
                    Return(Zero)
                }
                Store(Arg2, I2CE)
                Store(0xbf, HSTS)
                Store(Or(Arg0, One, ), TXSA)
                Store(Arg1, HCOM)
                Store(0x54, HCON)
                Store(0x0fa0, Local0)
                While(LAnd(LNot(And(HSTS, 0x80, )), Local0)) {
                    Decrement(Local0)
                    Stall(0x32)
                }
                If(LNot(Local0)) {
                    KILL()
                    Return(Zero)
                }
                Store(DAT0, Index(TBUF, Zero, ))
                Store(0x80, HSTS)
                Store(One, Local1)
                While(LLess(Local1, DerefOf(Index(TBUF, Zero, )))) {
                    Store(0x0fa0, Local0)
                    While(LAnd(LNot(And(HSTS, 0x80, )), Local0)) {
                        Decrement(Local0)
                        Stall(0x32)
                    }
                    If(LNot(Local0)) {
                        KILL()
                        Return(Zero)
                    }
                    Store(HBDR, Index(TBUF, Local1, ))
                    Store(0x80, HSTS)
                    Increment(Local1)
                }
                If(COMP()) {
                    Or(HSTS, 0xff, HSTS)
                    Return(TBUF)
                }
                Return(Zero)
            }
            Method(STRT, 0, Serialized) {
                Store(0xc8, Local0)
                While(Local0) {
                    If(And(HSTS, 0x40, )) {
                        Decrement(Local0)
                        Sleep(One)
                        If(LEqual(Local0, Zero)) {
                            Return(One)
                        }
                    }
                    Else {
                        Store(Zero, Local0)
                    }
                }
                Store(0x0fa0, Local0)
                While(Local0) {
                    If(And(HSTS, One, )) {
                        Decrement(Local0)
                        Stall(0x32)
                        If(LEqual(Local0, Zero)) {
                            KILL()
                        }
                    }
                    Else {
                        Return(Zero)
                    }
                }
                Return(One)
            }
            Method(COMP, 0, Serialized) {
                Store(0x0fa0, Local0)
                While(Local0) {
                    If(And(HSTS, 0x2, )) {
                        Return(One)
                    }
                    Else {
                        Decrement(Local0)
                        Stall(0x32)
                        If(LEqual(Local0, Zero)) {
                            KILL()
                        }
                    }
                }
                Return(Zero)
            }
            Method(KILL, 0, Serialized) {
                Or(HCON, 0x2, HCON)
                Or(HSTS, 0xff, HSTS)
            }
        }
        Device(AZAL) {
            Name(_ADR, 0x001b0000)
            Name(_PRW, Package(0x2) {
                0x5,
                0x3,
            })
        }
    }
}

}
/*
APIC: Length=104, Revision=1, Checksum=155,
        OEMID=Acer, OEM Table ID=Acadia, OEM Revision=0x6040000,
        Creator ID=LOHR, Creator Revision=0x5a
 */
/*
HPET: Length=56, Revision=1, Checksum=216,
        OEMID=Acer, OEM Table ID=Acadia, OEM Revision=0x6040000,
        Creator ID=LOHR, Creator Revision=0x5a
 */
/*
MCFG: Length=60, Revision=1, Checksum=0,
        OEMID=Acer, OEM Table ID=Acadia, OEM Revision=0x6040000,
        Creator ID=LOHR, Creator Revision=0x5a
 */
/*
SLIC: Length=374, Revision=1, Checksum=158,
        OEMID=ACRSYS, OEM Table ID=ACRPRDCT, OEM Revision=0x6040000,
        Creator ID=LOHR, Creator Revision=0x0
 */
/*
DBGP: Length=52, Revision=1, Checksum=255,
        OEMID=Acer, OEM Table ID=Acadia, OEM Revision=0x6040000,
        Creator ID=LOHR, Creator Revision=0x0
 */
/*
APIC: Length=90, Revision=1, Checksum=62,
        OEMID=PTLTD, OEM Table ID=       APIC, OEM Revision=0x6040000,
        Creator ID= LTP, Creator Revision=0x0
 */
/*
BOOT: Length=40, Revision=1, Checksum=165,
        OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000,
        Creator ID= LTP, Creator Revision=0x1
 */
/*
SSDT: Length=522, Revision=1, Checksum=2,
        OEMID=SataRe, OEM Table ID=SataAhci, OEM Revision=0x1000,
        Creator ID=INTL, Creator Revision=0x20050228
 */
/*
SSDT: Length=1218, Revision=1, Checksum=200,
        OEMID=PmRef, OEM Table ID=Cpu0Cst, OEM Revision=0x3001,
        Creator ID=INTL, Creator Revision=0x20050228
 */
/*
SSDT: Length=607, Revision=1, Checksum=200,
        OEMID=PmRef, OEM Table ID=Cpu0Tst, OEM Revision=0x3000,
        Creator ID=INTL, Creator Revision=0x20050228
 */
/*
SSDT: Length=1228, Revision=1, Checksum=185,
        OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
        Creator ID=INTL, Creator Revision=0x20050228
 */
>How-To-Repeat:
>Fix:




Home | Main Index | Thread Index | Old Index