misc/89879: ACPI-0438: *** Error: Looking up [Z00C] in namespace,
AE_NOT_FOUND
Dominique Werner
dwerner1974 at yahoo.com
Sat Dec 3 09:30:29 GMT 2005
>Number: 89879
>Category: misc
>Synopsis: ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sat Dec 03 09:30:06 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Dominique Werner
>Release: FreeBSD 6.0-STABLE
>Organization:
>Environment:
$ uname -a
FreeBSD lepus.unixhome 6.0-STABLE FreeBSD 6.0-STABLE #0: Fri Dec 2 23:52:48 CET 2005 root at lepus.unixhome:/usr/obj/usr/src/sys/LEPUS i386
>Description:
When I boot my Acer TravelMate 4100, this is what I can find in dmesg. It doesnt really give me any problems working in X but I would like to see it fixed.
acpi0: <PTLTD RSDT> on motherboard
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc1996680 StartNode 0xc1996680 ReturnNode 0
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc1998640 StartNode 0xc1998640 ReturnNode 0
cpu0: Cx states changed
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc1996680 StartNode 0xc1996680 ReturnNode 0
ACPI-1304: *** Error: Method execution failed [\\_SB_.BAT1._BST] (Node 0xc1996580), AE_NOT_FOUND
---------------
this is the complete dmesg of this laptop:
Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.0-STABLE #0: Fri Dec 2 23:52:48 CET 2005
root at lepus.unixhome:/usr/obj/usr/src/sys/LEPUS
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) M processor 1.60GHz (1596.01-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x6d8 Stepping = 8
Features=0xafe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,PBE>
Features2=0x180<EST,TM2>
AMD Features=0x100000<NX>
real memory = 526909440 (502 MB)
avail memory = 506249216 (482 MB)
ACPI APIC Table: <INTEL ALVISO >
ioapic0 <Version 2.0> irqs 0-23 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <PTLTD RSDT> on motherboard
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc32476e0 StartNode 0xc32476e0 ReturnNode 0
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc324a6a0 StartNode 0xc324a6a0 ReturnNode 0
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi_bus_number: can't get _ADR
acpi0: Power Button (fixed)
acpi_ec0: <Embedded Controller: GPE 0x1d> port 0x62,0x66 on acpi0
unknown: I/O range not supported
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_perf0: <ACPI CPU Frequency Control> on cpu0
acpi_perf0: failed in PERF_STATUS attach
device_attach: acpi_perf0 attach returned 6
acpi_perf0: <ACPI CPU Frequency Control> on cpu0
acpi_perf0: failed in PERF_STATUS attach
device_attach: acpi_perf0 attach returned 6
acpi_perf0: <ACPI CPU Frequency Control> on cpu0
acpi_perf0: failed in PERF_STATUS attach
device_attach: acpi_perf0 attach returned 6
acpi_throttle0: <ACPI CPU Throttling> on cpu0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: <display, VGA> at device 2.0 (no driver attached)
pci0: <display> at device 2.1 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0
pci9: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> irq 16 at device 28.1 on pci0
pci10: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0
pci2: <ACPI PCI bus> on pcib3
uhci0: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-A> port 0x1820-0x183f
irq 23 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-B> port 0x1840-0x185f
irq 19 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-C> port 0x1860-0x187f
irq 18 at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-D> port 0x1880-0x189f
irq 16 at device 29.3 on pci0
uhci3: [GIANT-LOCKED]
usb3: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-D> on uhci3
usb3: USB revision 1.0
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xb0040000-0xb00403ff irq 23 at device 29.7 on pci0
ehci0: [GIANT-LOCKED]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <EHCI (generic) USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci6: <ACPI PCI bus> on pcib4
cbb0: <PCI-CardBus Bridge> mem 0xb0108000-0xb0108fff irq 18 at device 1.0 on pci6
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
fwohci0: <1394 Open Host Controller Interface> mem 0xb0109000-0xb01097ff,0xb0100000-0xb0103fff irq 18 at device 1.2 on pci6
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:c0:9f:00:00:57:35:36
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:c0:9f:57:35:36
fwe0: Ethernet address: 02:c0:9f:57:35:36
fwe0: if_start running deferred for Giant
fwohci0: Initiate bus reset
fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)
pci6: <mass storage> at device 1.3 (no driver attached)
pci6: <network> at device 3.0 (no driver attached)
bfe0: <Broadcom BCM4401 Fast Ethernet> mem 0xb0106000-0xb0107fff irq 16 at device 8.0 on pci6
miibus0: <MII bus> on bfe0
bmtphy0: <BCM4401 10/100baseTX PHY> on miibus0
bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
bfe0: Ethernet address: 00:c0:9f:a8:ae:82
pcm0: <Intel ICH6 (82801FB)> port 0x1c00-0x1cff,0x18c0-0x18ff mem 0xb0040800-0xb00409ff,0xb0040400-0xb00404ff irq 17 at device 30.2 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Unknown AC97 Codec (id = 0x43585430)>
pci0: <simple comms, generic modem> at device 30.3 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH6 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1810-0x181f at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_acad0: <AC Adapter> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
battery1: <ACPI Control Method Battery> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Generic PS/2 mouse, device ID 0
sio0 port 0x2f8-0x2ff irq 3 drq 1 flags 0x10 on acpi0
sio0: type 16550A
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xcf800-0xd0fff,0xe0000-0xe17ff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ums0: vendor 0x062a product 0x0001, rev 1.10/0.00, addr 2, iclass 3/1
ums0: 3 buttons and Z dir.
Timecounter "TSC" frequency 1596008603 Hz quality 800
Timecounters tick every 1.000 msec
ad0: DMA limited to UDMA33, controller found non-ATA66 cable
ad0: 57231MB <Seagate ST960821A 3.01> at ata0-master UDMA33
acd0: DVDR <QSI DVD+/-RW SDW-082/LX34> at ata0-slave UDMA33
cpu0: Cx states changed
cpu0: Cx states changed
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc32476e0 StartNode 0xc32476e0 ReturnNode 0
ACPI-1304: *** Error: Method execution failed [\\_SB_.BAT1._BST] (Node 0xc32475e0), AE_NOT_FOUND
cpu0: Cx states changed
cd0 at ata0 bus 0 target 1 lun 0
cd0: <QSI DVD+-RW SDW-082 LX34> Removable CD-ROM SCSI-0 device
cd0: 33.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
Trying to mount root from ufs:/dev/ad0s1a
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc32476e0 StartNode 0xc32476e0 ReturnNode 0
ACPI-1304: *** Error: Method execution failed [\\_SB_.BAT1._BST] (Node 0xc32
475e0), AE_NOT_FOUND
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc32476e0 StartNode 0xc32476e0 ReturnNode 0
ACPI-1304: *** Error: Method execution failed [\\_SB_.BAT1._BST] (Node 0xc32475e0), AE_NOT_FOUND
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc32476e0 StartNode 0xc32476e0 ReturnNode 0
ACPI-1304: *** Error: Method execution failed [\\_SB_.BAT1._BST] (Node 0xc32475e0), AE_NOT_FOUND
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc32476e0 StartNode 0xc32476e0 ReturnNode 0
ACPI-1304: *** Error: Method execution failed [\\_SB_.BAT1._BST] (Node 0xc32475e0), AE_NOT_FOUND
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc32476e0 StartNode 0xc32476e0 ReturnNode 0
ACPI-1304: *** Error: Method execution failed [\\_SB_.BAT1._BST] (Node 0xc32475e0), AE_NOT_FOUND
ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND
SearchNode 0xc32476e0 StartNode 0xc32476e0 ReturnNode 0
ACPI-1304: *** Error: Method execution failed [\\_SB_.BAT1._BST] (Node 0xc32
----------------
acpidump results:
/*
RSD PTR: OEM=PTLTD, ACPI_Rev=1.0x (0)
RSDT=0x1f680fdc, cksum=199
*/
/*
RSDT: Length=68, Revision=1, Checksum=254,
OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x6040000,
Creator ID= LTP, Creator Revision=0x0
Entries={ 0x1f688e8a, 0x1f688efe, 0x1f688f64, 0x1f688f9c, 0x1f688fd8, 0x1f681411, 0x1f681239, 0x1f681020 }
*/
/*
FACP: Length=116, Revision=1, Checksum=181,
OEMID=INTEL, OEM Table ID=ALVISO, OEM Revision=0x6040000,
Creator ID=LOHR, Creator Revision=0x5f
FACS=0x1f699fc0, DSDT=0x1f681856
INT_MODEL=PIC
Preferred_PM_Profile=Unspecified (0)
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
PSTATE_CNT=0x80
PM1a_EVT_BLK=0x1000-0x1003
PM1a_CNT_BLK=0x1004-0x1005
PM2_CNT_BLK=0x1020-0x1020
PM_TMR_BLK=0x1008-0x100b
GPE0_BLK=0x1028-0x102f
CST_CNT=0x85
P_LVL2_LAT=1 us, P_LVL3_LAT=85 us
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=3
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
IAPC_BOOT_ARCH=
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4,DCK_CAP}
*/
/*
FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
Global_Lock=
Flags=
Version=0
*/
/*
DSDT: Length=30260, Revision=1, Checksum=251,
OEMID=INTEL, OEM Table ID=ALVISO, OEM Revision=0x6040000,
Creator ID=MSFT, Creator Revision=0x100000e
*/
/*
APIC: Length=102, Revision=1, Checksum=80,
OEMID=INTEL, OEM Table ID=ALVISO, OEM Revision=0x6040000,
Creator ID=LOHR, Creator Revision=0x5f
Local APIC ADDR=0xfee00000
Flags={PC-AT}
Type=Local APIC
ACPI CPU=0
Flags={ENABLED}
APIC ID=0
Type=IO APIC
APIC ID=1
INT BASE=0
ADDR=0x00000000fec00000
Type=IO APIC
APIC ID=2
INT BASE=24
ADDR=0x00000000fec20000
Type=INT Override
BUS=0
IRQ=0
INTR=2
Flags={Polarity=conforming, Trigger=conforming}
Type=INT Override
BUS=0
IRQ=9
INTR=9
Flags={Polarity=active-hi, Trigger=level}
Type=Local NMI
ACPI CPU=0
LINT Pin=1
Flags={Polarity=active-hi, Trigger=edge}
*/
/*
HPET: Length=56, Revision=1, Checksum=87,
OEMID=INTEL, OEM Table ID=ALVISO, OEM Revision=0x6040000,
Creator ID=LOHR, Creator Revision=0x5f
HPET Number=0
ADDR=0x00000000
HW Rev=0x1
Comparitors=2
Counter Size=1
Legacy IRQ routing capable={TRUE}
PCI Vendor ID=0x8086
Minimal Tick=128
*/
/*
MCFG: Length=60, Revision=1, Checksum=127,
OEMID=INTEL, OEM Table ID=ALVISO, OEM Revision=0x6040000,
Creator ID=LOHR, Creator Revision=0x5f
Base Address= 0x00000000e0000000
Segment Group= 0x0000
Start Bus= 0
End Bus= 255
*/
/*
BOOT: Length=40, Revision=1, Checksum=165,
OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000,
Creator ID= LTP, Creator Revision=0x1
*/
/*
SSDT: Length=565, Revision=1, Checksum=54,
OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
Creator ID=INTL, Creator Revision=0x20030224
*/
/*
SSDT: Length=472, Revision=1, Checksum=247,
OEMID=PmRef, OEM Table ID=Cpu0Cst, OEM Revision=0x3001,
Creator ID=INTL, Creator Revision=0x20030224
*/
/*
SSDT: Length=537, Revision=1, Checksum=36,
OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
Creator ID=INTL, Creator Revision=0x20030224
*/
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20041119
*
* Disassembly of /tmp/acpidump.gOBTGW, Sat Dec 3 10:22:14 2005
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "INTEL ", "ALVISO ", 100925440)
{
OperationRegion (PRT0, SystemIO, 0x80, 0x04)
Field (PRT0, DWordAcc, Lock, Preserve)
{
P80H, 32
}
OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
Field (IO_T, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
Offset (0x04),
Offset (0x06),
Offset (0x08),
TRP0, 8,
Offset (0x0A),
Offset (0x0B),
Offset (0x0C),
Offset (0x0D),
Offset (0x0E),
Offset (0x0F),
Offset (0x10)
}
OperationRegion (PMIO, SystemIO, 0x1000, 0x3C)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
Offset (0x28),
, 1,
HOTS, 1,
Offset (0x2A),
BAYS, 2,
Offset (0x2B),
, 3,
LIDS, 1,
Z000, 1,
Offset (0x2C),
, 1,
HOTP, 1
}
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 (0x0C),
GL00, 8,
GL01, 8,
BAYO, 1,
, 4,
GP21, 1,
, 1,
BAYR, 1,
, 1,
GP25, 1,
Offset (0x10),
Offset (0x18),
GB00, 8,
GB01, 8,
GB02, 8,
GB03, 8,
Offset (0x2C),
GIV0, 8,
, 3,
LIDP, 1,
Z001, 1,
Offset (0x2E),
GIV2, 8,
GIV3, 8,
GU04, 8,
GU05, 8,
GU06, 8,
GU07, 8,
GIO4, 8,
GIO5, 8,
GIO6, 8,
GIO7, 8,
, 1,
GP33, 1,
Offset (0x39),
GL05, 8,
GL06, 8,
GL07, 8
}
OperationRegion (MNVS, SystemMemory, 0x1F689D2C, 0x0100)
Field (MNVS, AnyAcc, Lock, Preserve)
{
OSYS, 16,
SMIF, 8,
PRM0, 8,
PRM1, 8,
SCIF, 8,
PRM2, 8,
PRM3, 8,
Offset (0x09),
Offset (0x0A),
Offset (0x0B),
P80D, 32,
Offset (0x10),
Offset (0x11),
Offset (0x12),
Offset (0x14),
Offset (0x1E),
Offset (0x28),
APIC, 8,
CPUL, 8,
CPUH, 8,
GV3E, 8,
HTTE, 8,
WTHT, 8,
Offset (0x32),
Offset (0x3C),
IGDS, 8,
TLST, 8,
CADL, 8,
PADL, 8,
CSTE, 16,
NSTE, 16,
SSTE, 16,
NDID, 8,
DID1, 32,
DID2, 32,
DID3, 32,
DID4, 32,
DID5, 32,
Offset (0x67),
Offset (0x69),
Offset (0x6E),
Offset (0x78),
D400, 8,
Offset (0x82),
GTF0, 56,
GTF2, 56,
IDEM, 8
}
OperationRegion (RCRB, SystemMemory, 0xF0008000, 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,
AZAD, 1,
A97D, 1,
Offset (0x341A),
RP1D, 1,
RP2D, 1,
RP3D, 1,
RP4D, 1
}
Mutex (MUTX, 0x00)
Name (_S0, Package (0x03)
{
0x00,
0x00,
0x00
})
Name (_S3, Package (0x03)
{
0x05,
0x05,
0x00
})
Name (_S4, Package (0x03)
{
0x06,
0x06,
0x00
})
Name (_S5, Package (0x03)
{
0x07,
0x07,
0x00
})
Scope (\_PR)
{
Processor (CPU0, 0x00, 0x00001010, 0x06) {}
Processor (CPU1, 0x01, 0x00001010, 0x06) {}
}
Name (\DSEN, 0x00)
Name (\ECON, 0x00)
Name (\GPIC, 0x00)
Name (\CTYP, 0x00)
Name (\L01C, 0x00)
Name (\INSX, 0x00)
Name (\PPMF, 0x80000000)
Method (\_PIC, 1, NotSerialized)
{
Store (Arg0, GPIC)
}
Method (_PTS, 1, NotSerialized)
{
Store (0x00, P80D)
P8XH (0x00, Arg0)
If (LEqual (Arg0, 0x04))
{
Store (0x01, INS4)
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (0x01, \_SB.PCI0.LPCB.EC0.FLS4)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
}
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
If (LEqual (\_SB.PCI0.PCIB.LANC.LANP, 0x00))
{
Store (0x00, \_SB.PCI0.LPCB.EC0.VAUX)
}
Else
{
Store (0x01, \_SB.PCI0.LPCB.EC0.VAUX)
}
Release (\_SB.PCI0.LPCB.EC0.MUT1)
}
\_SB.PHSR (0x08, 0x00)
Store (0x00, HOTP)
}
Method (_WAK, 1, NotSerialized)
{
P8XH (0x00, 0x00)
Store (\_SB.PCI0.PATA.PRID.BAY.BAYF (), Local0)
If (LEqual (Local0, 0x00))
{
Store (0x01, BAYO)
Store (0x00, BAYR)
Notify (\_SB.PCI0.PATA.PRID.BAY, 0x03)
Sleep (0x01F4)
}
If (LEqual (Arg0, 0x03))
{
\_SB.PHSR (0x00, 0x00)
Store (0x01, INSX)
}
If (LEqual (Arg0, 0x04))
{
\_SB.PHSR (0x09, 0x00)
Store (0x00, INS4)
}
\_SB.PHSR (0x08, 0x01)
If (Z001)
{
If (LEqual (\_SB.PCI0.DOCK.DCKS, 0x00))
{
XOr (Z001, 0x01, Z001)
Store (0x00, Z001)
}
}
Else
{
If (LEqual (\_SB.PCI0.DOCK.DCKS, 0x01))
{
XOr (Z001, 0x01, Z001)
Store (0x01, Z001)
}
}
If (LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x03)))
{
Store (\_SB.BTEN, \_SB.PCI0.LPCB.EC0.BLTH)
Store (\_SB.WLAN, \_SB.PCI0.LPCB.EC0.WLAN)
Store (0x01, \_SB.PCI0.LPCB.EC0.CPLE)
}
Return (Package (0x02)
{
0x00,
0x00
})
}
Scope (\_GPE)
{
Method (_L01, 0, NotSerialized)
{
Add (L01C, 0x01, L01C)
P8XH (0x00, 0x01)
P8XH (0x01, L01C)
Sleep (0x64)
If (\_SB.PCI0.RP01.HPCS)
{
If (\_SB.PCI0.RP01.PDC1)
{
Store (0x01, \_SB.PCI0.RP01.PDC1)
}
Store (0x01, \_SB.PCI0.RP01.HPCS)
Sleep (0x64)
Notify (\_SB.PCI0.RP01, 0x00)
Sleep (0x64)
}
If (\_SB.PCI0.RP02.HPCS)
{
If (\_SB.PCI0.RP02.PDC2)
{
Store (0x01, \_SB.PCI0.RP02.PDC2)
}
Store (0x01, \_SB.PCI0.RP02.HPCS)
Sleep (0x64)
Notify (\_SB.PCI0.RP02, 0x00)
Sleep (0x64)
}
If (\_SB.PCI0.RP03.HPCS)
{
If (\_SB.PCI0.RP03.PDC3)
{
Sleep (0x01F4)
\_SB.PHSR (0x07, 0x00)
Sleep (0x01F4)
Store (0x00, INSX)
Store (0x01, \_SB.PCI0.RP03.PDC3)
}
Store (0x01, \_SB.PCI0.RP03.HPCS)
}
If (\_SB.PCI0.RP04.HPCS)
{
If (\_SB.PCI0.RP04.PDC4)
{
Store (0x01, \_SB.PCI0.RP04.PDC4)
}
Store (0x01, \_SB.PCI0.RP04.HPCS)
}
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB1, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
}
Method (_L05, 0, NotSerialized)
{
If (AZAD)
{
Notify (\_SB.PCI0.MODM, 0x02)
}
Else
{
}
}
Method (_L09, 0, NotSerialized)
{
If (\_SB.PCI0.RP01.PSP1)
{
Store (0x01, \_SB.PCI0.RP01.PSP1)
Store (0x01, \_SB.PCI0.RP01.PMCS)
Notify (\_SB.PCI0.RP01, 0x02)
}
If (\_SB.PCI0.RP02.PSP2)
{
Store (0x01, \_SB.PCI0.RP02.PSP2)
Store (0x01, \_SB.PCI0.RP02.PMCS)
Notify (\_SB.PCI0.RP02, 0x02)
}
If (\_SB.PCI0.RP03.PSP3)
{
Store (0x01, \_SB.PCI0.RP03.PSP3)
Store (0x01, \_SB.PCI0.RP03.PMCS)
Notify (\_SB.PCI0.RP03, 0x02)
}
If (\_SB.PCI0.RP04.PSP4)
{
Store (0x01, \_SB.PCI0.RP04.PSP4)
Store (0x01, \_SB.PCI0.RP04.PMCS)
Notify (\_SB.PCI0.RP04, 0x02)
}
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.PCIB, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB3, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB7, 0x02)
}
Method (_L0E, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB4, 0x02)
}
Method (_L1B, 0, NotSerialized)
{
Notify (\_SB.LID, 0x80)
}
Method (_L1C, 0, NotSerialized)
{
Sleep (0x012C)
Store (0x01, Z000)
Store (Z000, Local1)
If (LEqual (Local1, 0x01))
{
Store (Z001, Local0)
If (Local0)
{
Store (\PPMF, CFGD)
Notify (\_PR.CPU0, 0x81)
Sleep (0x012C)
Store (0x1C, P80H)
If (LEqual (\_SB.PCI0.RP03.Z002, 0x01))
{
Store (0x1E, P80H)
Store (0x00, \_SB.PCI0.RP03.Z002)
Sleep (0x01F4)
Store (0x01, \_SB.PCI0.RP03.LDP3)
Notify (\_SB.PCI0.RP03, 0x00)
Sleep (0x07D0)
}
Store (0x00, \_SB.PCI0.DOCK.DCKS)
Notify (\_SB.PCI0.DOCK, 0x01)
}
Else
{
And (CFGD, 0xFFFFFF3F, CFGD)
Notify (\_PR.CPU0, 0x81)
Sleep (0x012C)
Store (0x1D, P80H)
Store (0x01, \_SB.PCI0.DOCK.DCKS)
Store (0x00, \_SB.PCI0.RP03.LDP3)
Sleep (0x01F4)
Store (0x01, \_SB.PCI0.RP03.Z002)
Sleep (0x0BB8)
Notify (\_SB.PCI0.DOCK, 0x00)
}
XOr (Z001, 0x01, Z001)
}
}
}
Method (GETB, 3, Serialized)
{
Multiply (Arg0, 0x08, Local0)
Multiply (Arg1, 0x08, Local1)
CreateField (Arg2, Local0, Local1, TBF3)
Return (TBF3)
}
Method (HKDS, 1, Serialized)
{
If (LEqual (0x00, DSEN))
{
Store (Arg0, SMIF)
Store (0x00, TRP0)
If (LEqual (SMIF, 0x00))
{
If (LNot (LEqual (CADL, PADL)))
{
Store (CADL, PADL)
If (LEqual (OSYS, 0x07D1))
{
Notify (\_SB.PCI0, 0x00)
}
Else
{
Notify (\_SB.PCI0.GFX0, 0x00)
}
Sleep (0x02EE)
}
Notify (\_SB.PCI0.GFX0, 0x80)
}
}
If (LEqual (0x01, DSEN))
{
Store (Increment (Arg0), SMIF)
Store (0x00, TRP0)
If (LEqual (SMIF, 0x00))
{
Notify (\_SB.PCI0.GFX0, 0x81)
}
}
}
Method (LSDS, 1, Serialized)
{
If (Arg0)
{
HKDS (0x0C)
}
Else
{
HKDS (0x0E)
}
If (LNot (LEqual (DSEN, 0x01)))
{
Sleep (0x32)
While (LEqual (DSEN, 0x02))
{
Sleep (0x32)
}
}
}
Method (P8XH, 2, Serialized)
{
If (LEqual (Arg0, 0x00))
{
Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
}
If (LEqual (Arg0, 0x01))
{
Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)), P80D)
}
If (LEqual (Arg0, 0x02))
{
Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)), P80D)
}
If (LEqual (Arg0, 0x03))
{
Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)), P80D)
}
Store (P80D, P80H)
}
Method (PNOT, 0, Serialized)
{
If (HTTE)
{
If (LEqual (And (PDC0, 0x0A), 0x0A))
{
Notify (\_PR.CPU0, 0x80)
}
If (LEqual (And (PDC1, 0x0A), 0x0A))
{
Notify (\_PR.CPU1, 0x80)
}
}
Else
{
Notify (\_PR.CPU0, 0x80)
Sleep (0x64)
Notify (\_PR.CPU0, 0x81)
}
}
Method (VTOB, 1, NotSerialized)
{
Store (0x01, Local0)
ShiftLeft (Local0, Arg0, Local0)
Return (Local0)
}
Method (BTOV, 1, NotSerialized)
{
ShiftRight (Arg0, 0x01, Local0)
Store (0x00, Local1)
While (Local0)
{
Increment (Local1)
ShiftRight (Local0, 0x01, Local0)
}
Return (Local1)
}
Method (MKWD, 2, NotSerialized)
{
If (And (Arg1, 0x80))
{
Store (0xFFFF0000, Local0)
}
Else
{
Store (Zero, Local0)
}
Or (Local0, Arg0, Local0)
Or (Local0, ShiftLeft (Arg1, 0x08), Local0)
Return (Local0)
}
Method (POSW, 1, NotSerialized)
{
If (And (Arg0, 0x8000))
{
If (LEqual (Arg0, 0xFFFF))
{
Return (0xFFFFFFFF)
}
Else
{
Not (Arg0, Local0)
Increment (Local0)
And (Local0, 0xFFFF, Local0)
Return (Local0)
}
}
Else
{
Return (Arg0)
}
}
Method (GBFE, 3, NotSerialized)
{
CreateByteField (Arg0, Arg1, TIDX)
Store (TIDX, Arg2)
}
Method (PBFE, 3, NotSerialized)
{
CreateByteField (Arg0, Arg1, TIDX)
Store (Arg2, TIDX)
}
Method (ITOS, 1, NotSerialized)
{
Store (Buffer (0x09)
{
0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00
}, Local0)
Store (Buffer (0x11)
{
"0123456789ABCDEF"
}, Local7)
Store (0x08, Local1)
Store (0x00, Local2)
Store (0x00, Local3)
While (Local1)
{
Decrement (Local1)
And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4)
If (Local4)
{
Store (Ones, Local3)
}
If (Local3)
{
GBFE (Local7, Local4, RefOf (Local5))
PBFE (Local0, Local2, Local5)
Increment (Local2)
}
}
Return (Local0)
}
Method (GETP, 1, Serialized)
{
If (LEqual (And (Arg0, 0x09), 0x00))
{
Return (0xFFFFFFFF)
}
If (LEqual (And (Arg0, 0x09), 0x08))
{
Return (0x0384)
}
ShiftRight (And (Arg0, 0x0300), 0x08, Local0)
ShiftRight (And (Arg0, 0x3000), 0x0C, Local1)
Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1))))
}
Method (GDMA, 5, Serialized)
{
If (Arg0)
{
If (LAnd (Arg1, Arg4))
{
Return (0x14)
}
If (LAnd (Arg2, Arg4))
{
Return (Multiply (Subtract (0x04, Arg3), 0x0F))
}
Return (Multiply (Subtract (0x04, Arg3), 0x1E))
}
Return (0xFFFFFFFF)
}
Method (GETT, 1, Serialized)
{
Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02), 0x03), And (Arg0, 0x03)))))
}
Method (GETF, 3, Serialized)
{
Name (TMPF, 0x00)
If (Arg0)
{
Or (TMPF, 0x01, TMPF)
}
If (And (Arg2, 0x02))
{
Or (TMPF, 0x02, TMPF)
}
If (Arg1)
{
Or (TMPF, 0x04, TMPF)
}
If (And (Arg2, 0x20))
{
Or (TMPF, 0x08, TMPF)
}
If (And (Arg2, 0x4000))
{
Or (TMPF, 0x10, TMPF)
}
Return (TMPF)
}
Method (SETP, 3, Serialized)
{
If (LGreater (Arg0, 0xF0))
{
Return (0x08)
}
Else
{
If (And (Arg1, 0x02))
{
If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02)))
{
Return (0x2301)
}
If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, 0x01)))
{
Return (0x2101)
}
}
Return (0x1001)
}
}
Method (SDMA, 1, Serialized)
{
If (LNot (LGreater (Arg0, 0x14)))
{
Return (0x01)
}
If (LNot (LGreater (Arg0, 0x1E)))
{
Return (0x02)
}
If (LNot (LGreater (Arg0, 0x2D)))
{
Return (0x01)
}
If (LNot (LGreater (Arg0, 0x3C)))
{
Return (0x02)
}
If (LNot (LGreater (Arg0, 0x5A)))
{
Return (0x01)
}
Return (0x00)
}
Method (SETT, 3, Serialized)
{
If (And (Arg1, 0x02))
{
If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02)))
{
Return (0x0B)
}
If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, 0x01)))
{
Return (0x09)
}
}
Return (0x04)
}
OperationRegion (NV1, SystemIO, 0x72, 0x02)
Field (NV1, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x6E),
INS4, 1,
Offset (0x70),
DLST, 8
}
Scope (\_SB)
{
Name (ECOK, 0x00)
Device (PCI0)
{
Method (_INI, 0, NotSerialized)
{
If (CondRefOf (_OSI, Local0))
{
Store (0x07D1, OSYS)
If (HTTE)
{
Store (0x32, SMIF)
Store (0x00, TRP0)
}
}
Else
{
If (LOr (LEqual (SizeOf (_OS), 0x14), LEqual (SizeOf (_OS), 0x05)))
{
Store (0x07D0, OSYS)
Store (0x35, SMIF)
Store (0x00, TRP0)
}
Else
{
If (LEqual (SizeOf (_OS), 0x27))
{
Store (0x07CF, OSYS)
}
Else
{
Store (0x07CE, OSYS)
}
}
}
If (LNot (LGreater (OSYS, 0x07CF)))
{
Store (0x01, ECON)
Store (0x2B, SMIF)
Store (0x00, TRP0)
PNOT ()
}
\_SB.PCI0.PATA.PRID.BAY.BAYF ()
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
Name (_HID, EisaId ("PNP0A08"))
Name (_CID, 0x030AD041)
Name (_ADR, 0x00)
Name (_BBN, 0x00)
OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
Offset (0x14),
, 1,
PEGA, 1,
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, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000,
0x0000,
0x00FF,
0x0000,
0x0100, 0x00)
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000,
0x00000000,
0x00000CF7,
0x00000000,
0x00000CF8, 0x00)
IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000,
0x00000D00,
0x0000BFFF,
0x00000000,
0x0000B300, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000A0000,
0x000BFFFF,
0x00000000,
0x00020000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000C0000,
0x000C3FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000C4000,
0x000C7FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000C8000,
0x000CBFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000CC000,
0x000CFFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000D0000,
0x000D3FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000D4000,
0x000D7FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000D8000,
0x000DBFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000DC000,
0x000DFFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000E0000,
0x000E3FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000E4000,
0x000E7FFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000E8000,
0x000EBFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000EC000,
0x000EFFFF,
0x00000000,
0x00004000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000F0000,
0x000FFFFF,
0x00000000,
0x00010000, 0x00)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x00000000,
0xFEBFFFFF,
0x00000000,
0x00000000, 0x00)
})
Method (_CRS, 0, Serialized)
{
If (PM1L)
{
CreateDWordField (BUF0, 0x80, C0LN)
Store (Zero, C0LN)
}
If (LEqual (PM1L, 0x01))
{
CreateBitField (BUF0, 0x0378, C0RW)
Store (Zero, C0RW)
}
If (PM1H)
{
CreateDWordField (BUF0, 0x9B, C4LN)
Store (Zero, C4LN)
}
If (LEqual (PM1H, 0x01))
{
CreateBitField (BUF0, 0x0450, C4RW)
Store (Zero, C4RW)
}
If (PM2L)
{
CreateDWordField (BUF0, 0xB6, C8LN)
Store (Zero, C8LN)
}
If (LEqual (PM2L, 0x01))
{
CreateBitField (BUF0, 0x0528, C8RW)
Store (Zero, C8RW)
}
If (PM2H)
{
CreateDWordField (BUF0, 0xD1, CCLN)
Store (Zero, CCLN)
}
If (LEqual (PM2H, 0x01))
{
CreateBitField (BUF0, 0x0600, CCRW)
Store (Zero, CCRW)
}
If (PM3L)
{
CreateDWordField (BUF0, 0xEC, D0LN)
Store (Zero, D0LN)
}
If (LEqual (PM3L, 0x01))
{
CreateBitField (BUF0, 0x06D8, D0RW)
Store (Zero, D0RW)
}
If (PM3H)
{
CreateDWordField (BUF0, 0x0107, D4LN)
Store (Zero, D4LN)
}
If (LEqual (PM3H, 0x01))
{
CreateBitField (BUF0, 0x07B0, D4RW)
Store (Zero, D4RW)
}
If (PM4L)
{
CreateDWordField (BUF0, 0x0122, D8LN)
Store (Zero, D8LN)
}
If (LEqual (PM4L, 0x01))
{
CreateBitField (BUF0, 0x0888, D8RW)
Store (Zero, D8RW)
}
If (PM4H)
{
CreateDWordField (BUF0, 0x013D, DCLN)
Store (Zero, DCLN)
}
If (LEqual (PM4H, 0x01))
{
CreateBitField (BUF0, 0x0960, DCRW)
Store (Zero, DCRW)
}
If (PM5L)
{
CreateDWordField (BUF0, 0x0158, E0LN)
Store (Zero, E0LN)
}
If (LEqual (PM5L, 0x01))
{
CreateBitField (BUF0, 0x0A38, E0RW)
Store (Zero, E0RW)
}
If (PM5H)
{
CreateDWordField (BUF0, 0x0173, E4LN)
Store (Zero, E4LN)
}
If (LEqual (PM5H, 0x01))
{
CreateBitField (BUF0, 0x0B10, E4RW)
Store (Zero, E4RW)
}
If (PM6L)
{
CreateDWordField (BUF0, 0x018E, E8LN)
Store (Zero, E8LN)
}
If (LEqual (PM6L, 0x01))
{
CreateBitField (BUF0, 0x0BE8, E8RW)
Store (Zero, E8RW)
}
If (PM6H)
{
CreateDWordField (BUF0, 0x01A9, ECLN)
Store (Zero, ECLN)
}
If (LEqual (PM6H, 0x01))
{
CreateBitField (BUF0, 0x0CC0, ECRW)
Store (Zero, ECRW)
}
If (PM0H)
{
CreateDWordField (BUF0, 0x01C4, F0LN)
Store (Zero, F0LN)
}
If (LEqual (PM0H, 0x01))
{
CreateBitField (BUF0, 0x0D98, F0RW)
Store (Zero, F0RW)
}
CreateDWordField (BUF0, 0x01D3, M1MN)
CreateDWordField (BUF0, 0x01D7, M1MX)
CreateDWordField (BUF0, 0x01DF, M1LN)
ShiftLeft (TOUD, 0x1B, M1MN)
Add (Subtract (M1MX, M1MN), 0x01, M1LN)
Return (BUF0)
}
Device (PDRC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x01)
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite, 0xE0000000, 0x10000000)
Memory32Fixed (ReadWrite, 0xF0000000, 0x00004000)
Memory32Fixed (ReadWrite, 0xF0004000, 0x00001000)
Memory32Fixed (ReadWrite, 0xF0005000, 0x00001000)
Memory32Fixed (ReadWrite, 0xF0008000, 0x00004000)
Memory32Fixed (ReadWrite, 0xFED20000, 0x00070000)
})
}
Method (_PRT, 0, NotSerialized)
{
If (GPIC)
{
Return (Package (0x11)
{
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0007FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001BFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x001CFFFF,
0x01,
0x00,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001CFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x00,
0x00,
0x17
},
Package (0x04)
{
0x001DFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
0x00,
0x10
},
Package (0x04)
{
0x001EFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x001EFFFF,
0x01,
0x00,
0x14
},
Package (0x04)
{
0x001FFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x001FFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0x001FFFFF,
0x03,
0x00,
0x10
}
})
}
Else
{
Return (Package (0x11)
{
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x001BFFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x01,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x03,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x00,
\_SB.PCI0.LPCB.LNKH,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x01,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x01,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x00,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00
}
})
}
}
Device (PEGP)
{
Name (_ADR, 0x00010000)
Method (_STA, 0, NotSerialized)
{
If (PEGA)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_PRT, 0, NotSerialized)
{
If (GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKD,
0x00
}
})
}
}
Device (VGA)
{
Name (_ADR, 0x00)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS1, 0, NotSerialized)
{
Store (0x01, _PSC)
}
Method (_PS2, 0, NotSerialized)
{
Store (0x02, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Name (DISW, 0x01)
Name (NDSP, 0x00)
Name (VRSM, 0x00)
Name (PDSP, 0x00)
Name (CDSP, 0x00)
Name (TGLT, Package (0x04)
{
Package (0x08)
{
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01
},
Package (0x08)
{
0x01,
0x02,
0x03,
0x01,
0x01,
0x01,
0x01,
0x01
},
Package (0x08)
{
0x01,
0x05,
0x01,
0x01,
0x01,
0x01,
0x01,
0x01
},
Package (0x08)
{
0x01,
0x02,
0x03,
0x05,
0x01,
0x01,
0x01,
0x01
}
})
Name (TGLP, 0x00)
Device (LCD)
{
Name (_ADR, 0x0110)
Name (_PSC, 0x00)
Name (_S3D, 0x03)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS1, 0, NotSerialized)
{
Store (0x01, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Name (_DCS, 0x1B)
Name (_DGS, 0x00)
Method (_DSS, 1, NotSerialized)
{
Store (Arg0, Local0)
If (And (Local0, 0x01))
{
Store ("LCD._DSS(1) called", Debug)
Or (NDSP, 0x01, NDSP)
}
Else
{
Store ("LCD._DSS(0) called", Debug)
And (NDSP, 0xFE, NDSP)
}
And (Local0, 0xC0000000, Local0)
And (Local0, 0x80000000, Local0)
If (LNot (LEqual (Local0, 0x00)))
{
Store ("LCD._DSS, update next _DGS", Debug)
Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS)
Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS)
Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS)
UDGS ()
}
}
}
Device (CRT)
{
Name (_ADR, 0x0100)
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS1, 0, NotSerialized)
{
Store (0x01, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Name (_DCS, 0x1B)
Name (_DGS, 0x00)
Method (_DSS, 1, NotSerialized)
{
Store (Arg0, Local0)
If (And (Local0, 0x01))
{
Store ("CRT._DSS(1) called", Debug)
Or (NDSP, 0x02, NDSP)
}
Else
{
Store ("CRT._DSS(0) called", Debug)
And (NDSP, 0xFD, NDSP)
}
And (Local0, 0xC0000000, Local0)
And (Local0, 0x80000000, Local0)
If (LNot (LEqual (Local0, 0x00)))
{
Store ("CRT._DSS, update next _DGS", Debug)
Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS)
Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS)
Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS)
UDGS ()
}
}
}
Device (TV)
{
Name (_ADR, 0x0200)
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS1, 0, NotSerialized)
{
Store (0x01, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Name (_DCS, 0x1B)
Name (_DGS, 0x00)
Method (_DSS, 1, NotSerialized)
{
Store (Arg0, Local0)
If (And (Local0, 0x01))
{
Store ("TV_._DSS(1) called", Debug)
Or (NDSP, 0x04, NDSP)
}
Else
{
Store ("TV_._DSS(0) called", Debug)
And (NDSP, 0xFB, NDSP)
}
And (Local0, 0xC0000000, Local0)
And (Local0, 0x80000000, Local0)
If (LNot (LEqual (Local0, 0x00)))
{
Store ("TV_._DSS, update next _DGS", Debug)
Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS)
Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS)
Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS)
UDGS ()
}
}
}
Method (_INI, 0, NotSerialized)
{
USTA ()
Store (CDSP, PDSP)
Store (CDSP, Local1)
Or (ShiftRight (And (Local1, 0x10), 0x03), 0x1D, ^LCD._DCS)
Or (Or (ShiftLeft (And (Local1, 0x02), 0x03), ShiftRight (And (Local1, 0x20), 0x04)), 0x0D, ^CRT._DCS)
Or (Or (ShiftLeft (And (Local1, 0x04), 0x02), ShiftRight (And (Local1, 0x40), 0x05)), 0x0D, ^TV._DCS)
ShiftRight (Local1, 0x04, NDSP)
Store (ShiftRight (And (^LCD._DCS, 0x02), 0x01), ^LCD._DGS)
Store (ShiftRight (And (^CRT._DCS, 0x02), 0x01), ^CRT._DGS)
Store (ShiftRight (And (^TV._DCS, 0x02), 0x01), ^TV._DGS)
}
Method (_DOS, 1, NotSerialized)
{
Store (Arg0, DISW)
}
Method (_DOD, 0, NotSerialized)
{
Return (Package (0x03)
{
0x00010100,
0x00010110,
0x00010200
})
}
Method (DRUL, 1, NotSerialized)
{
USTA ()
If (LNot (LEqual (And (PDSP, 0x07), And (CDSP, 0x07))))
{
UDGS ()
Store (CDSP, PDSP)
}
Store (CDSP, Local2)
Store (^CRT._DCS, Local1)
Or (Or (ShiftLeft (And (Local2, 0x02), 0x03), ShiftRight (And (Local2, 0x20), 0x04)), And (Local1, 0x0D), ^CRT._DCS)
Store (^TV._DCS, Local3)
Or (Or (ShiftLeft (And (Local2, 0x04), 0x02), ShiftRight (And (Local2, 0x40), 0x05)), And (Local3, 0x0D), ^TV._DCS)
If (LEqual (Arg0, 0x01))
{
If (LOr (LAnd (^CRT._DGS, LNot (And (^CRT._DCS, 0x10))), LAnd (^TV._DGS, LNot (And (^TV._DCS, 0x10)))))
{
UDGS ()
Return (0x00)
}
Else
{
Notify (VGA, 0x80)
Return (0x00)
}
}
}
Method (USTA, 0, NotSerialized)
{
Store (\_SB.PHSR (0x06, 0x00), CDSP)
And (CDSP, 0x0F, Local1)
If (LEqual (Local1, 0x03))
{
Store (0x01, TGLP)
}
Else
{
If (LEqual (Local1, 0x05))
{
Store (0x02, TGLP)
}
Else
{
If (LEqual (Local1, 0x07))
{
Store (0x03, TGLP)
}
Else
{
Store (0x00, TGLP)
}
}
}
}
Method (UDGS, 0, NotSerialized)
{
And (^LCD._DGS, 0x01, Local0)
Or (Local0, ShiftLeft (And (^CRT._DGS, 0x01), 0x01), Local0)
Or (Local0, ShiftLeft (And (^TV._DGS, 0x01), 0x02), Local0)
Store (DerefOf (Index (DerefOf (Index (TGLT, TGLP)), Local0)), Local1)
And (Local1, 0x01, ^LCD._DGS)
ShiftRight (And (Local1, 0x02), 0x01, ^CRT._DGS)
ShiftRight (And (Local1, 0x04), 0x02, ^TV._DGS)
}
}
}
Device (GFX0)
{
Name (_ADR, 0x00020000)
Method (_STA, 0, NotSerialized)
{
If (PEGA)
{
Return (0x00)
}
Else
{
Return (0x0F)
}
}
OperationRegion (VNVS, SystemMemory, 0x1F689E2C, 0x00010000)
Field (VNVS, AnyAcc, Lock, Preserve)
{
VBF1, 262144,
VBF2, 262144
}
Method (_DOS, 1, NotSerialized)
{
Store (And (Arg0, 0x03), DSEN)
}
Method (_DOD, 0, NotSerialized)
{
If (LEqual (NDID, 0x01))
{
Name (TMP1, Package (0x01)
{
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP1, 0x00))
Return (TMP1)
}
If (LEqual (NDID, 0x02))
{
Name (TMP2, Package (0x02)
{
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP2, 0x00))
Store (Or (0x00010000, DID2), Index (TMP2, 0x01))
Return (TMP2)
}
If (LEqual (NDID, 0x03))
{
Name (TMP3, Package (0x03)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP3, 0x00))
Store (Or (0x00010000, DID2), Index (TMP3, 0x01))
Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
Return (TMP3)
}
If (LEqual (NDID, 0x04))
{
Name (TMP4, Package (0x04)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP4, 0x00))
Store (Or (0x00010000, DID2), Index (TMP4, 0x01))
Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
Return (TMP4)
}
Name (TMP5, Package (0x05)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP5, 0x00))
Store (Or (0x00010000, DID2), Index (TMP5, 0x01))
Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
Store (Or (0x00010000, DID5), Index (TMP5, 0x04))
Return (TMP5)
}
Method (_ROM, 2, NotSerialized)
{
If (LNot (LLess (Arg0, 0x8000)))
{
Return (GETB (Subtract (Arg0, 0x8000), Arg1, VBF2))
}
If (LGreater (Add (Arg0, Arg1), 0x8000))
{
Subtract (0x8000, Arg0, Local0)
Subtract (Arg1, Local0, Local1)
Store (GETB (Arg0, Local0, VBF1), Local3)
Store (GETB (0x00, Local1, VBF2), Local4)
Concatenate (Local3, Local4, Local5)
Return (Local5)
}
Return (GETB (Arg0, Arg1, VBF1))
}
Device (DD01)
{
Method (_ADR, 0, Serialized)
{
Return (And (0xFFFF, DID1))
}
Method (_DCS, 0, NotSerialized)
{
Store (0x01, SMIF)
Store (0x00, TRP0)
If (And (CSTE, 0x01))
{
Return (0x1F)
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized)
{
If (And (NSTE, 0x01))
{
Return (0x01)
}
Return (0x00)
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
Device (DD02)
{
Method (_ADR, 0, Serialized)
{
Return (And (0xFFFF, DID2))
}
Method (_DCS, 0, NotSerialized)
{
Store (0x01, SMIF)
Store (0x00, TRP0)
If (And (CSTE, 0x02))
{
Return (0x1F)
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized)
{
If (And (NSTE, 0x02))
{
Return (0x01)
}
Return (0x00)
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
Device (DD03)
{
Method (_ADR, 0, Serialized)
{
Return (And (0xFFFF, DID3))
}
Method (_DCS, 0, NotSerialized)
{
Store (0x01, SMIF)
Store (0x00, TRP0)
If (And (CSTE, 0x04))
{
Return (0x1F)
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized)
{
If (And (NSTE, 0x04))
{
Return (0x01)
}
Return (0x00)
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
Device (DD04)
{
Method (_ADR, 0, Serialized)
{
Return (And (0xFFFF, DID4))
}
Method (_DCS, 0, NotSerialized)
{
Store (0x01, SMIF)
Store (0x00, TRP0)
If (And (CSTE, 0x08))
{
Return (0x1F)
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized)
{
If (And (NSTE, 0x08))
{
Return (0x01)
}
Return (0x00)
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
Device (DD05)
{
Method (_ADR, 0, Serialized)
{
Return (And (0xFFFF, DID5))
}
Method (_DCS, 0, NotSerialized)
{
Store (0x01, SMIF)
Store (0x00, TRP0)
If (And (CSTE, 0x10))
{
Return (0x1F)
}
Return (0x1D)
}
Method (_DGS, 0, NotSerialized)
{
If (And (NSTE, 0x10))
{
Return (0x01)
}
Return (0x00)
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
}
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, 0x00)
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_PRT, 0, NotSerialized)
{
If (\GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKD,
0x00
}
})
}
}
}
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, 0x00)
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_PRT, 0, NotSerialized)
{
If (\GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x10
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00
}
})
}
}
}
Device (RP03)
{
Name (_ADR, 0x001C0002)
OperationRegion (P3CS, PCI_Config, 0x40, 0x0100)
Field (P3CS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x10),
, 4,
LDP3, 1,
Offset (0x18),
, 5,
HPI3, 1,
Offset (0x19),
PIC3, 2,
PCC3, 1,
Offset (0x1A),
ABP3, 1,
, 2,
PDC3, 1,
, 2,
PDS3, 1,
Offset (0x20),
Offset (0x22),
PSP3, 1,
Offset (0x9B),
, 6,
Z002, 1,
Z003, 1,
, 30,
HPCS, 1,
PMCS, 1
}
Scope (\_SB.PCI0)
{
Device (DOCK)
{
Name (_HID, EisaId ("PNP0C15"))
Name (_UID, 0x01)
Name (_BDN, "EZ4 ")
Name (DCKS, 0x00)
Method (_DCK, 1, NotSerialized)
{
If (LEqual (Arg0, 0x01))
{
Return (0x01)
}
Else
{
Store (0x00, \_SB.PCI0.RP03.Z002)
Store (0x01, \_SB.PCI0.RP03.LDP3)
}
}
Method (XEJ0, 1, NotSerialized)
{
Store (0x01, HOTS)
}
Method (_STA, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.RP03.LDP3, 0x01))
{
Return (0x00)
}
Else
{
If (DCKS)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
}
}
}
Device (PXHA)
{
Name (_ADR, 0x00)
OperationRegion (PXHR, PCI_Config, 0x00, 0xC0)
Field (PXHR, DWordAcc, NoLock, Preserve)
{
PVID, 16,
PDID, 16
}
Name (_EJD, "_SB.PCI0.DOCK")
Method (_INI, 0, NotSerialized)
{
Store (CFGD, \PPMF)
If (LEqual (\_SB.PCI0.RP03.PXHA.PDID, 0x032C))
{
Store (0x01, \_SB.PCI0.DOCK.DCKS)
And (CFGD, 0xFFFFFF3F, CFGD)
Notify (\_PR.CPU0, 0x81)
Sleep (0x012C)
}
Else
{
Store (0x00, \_SB.PCI0.DOCK.DCKS)
Store (0x00, \_SB.PCI0.RP03.Z002)
Store (0x01, \_SB.PCI0.RP03.LDP3)
Store (\PPMF, CFGD)
Notify (\_PR.CPU0, 0x81)
Sleep (0x012C)
}
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Method (_PRT, 0, NotSerialized)
{
Return (Package (0x0A)
{
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x18
},
Package (0x04)
{
0x0002FFFF,
0x01,
0x00,
0x19
},
Package (0x04)
{
0x0002FFFF,
0x02,
0x00,
0x1A
},
Package (0x04)
{
0x0003FFFF,
0x00,
0x00,
0x1B
},
Package (0x04)
{
0x0003FFFF,
0x01,
0x00,
0x1C
},
Package (0x04)
{
0x0003FFFF,
0x02,
0x00,
0x1D
},
Package (0x04)
{
0x0004FFFF,
0x00,
0x00,
0x1E
},
Package (0x04)
{
0x0005FFFF,
0x00,
0x00,
0x1F
},
Package (0x04)
{
0x0006FFFF,
0x00,
0x00,
0x20
},
Package (0x04)
{
0x0006FFFF,
0x01,
0x00,
0x21
}
})
}
Device (PXHI)
{
Name (_ADR, 0x00040000)
Name (PXHS, 0x00)
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.DOCK.DCKS, 0x01))
{
If (LEqual (PXHS, 0x00))
{
\_SB.PHSR (0x0A, 0x00)
Store (0x01, PXHS)
}
}
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
}
}
}
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
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_PRT, 0, NotSerialized)
{
If (\GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x12
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKC,
0x00
}
})
}
}
}
Device (USB1)
{
Name (_ADR, 0x001D0000)
OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
Field (U1CS, DWordAcc, NoLock, Preserve)
{
U1EN, 2
}
Name (_PRW, Package (0x02)
{
0x03,
0x03
})
Method (_PSW, 1, NotSerialized)
{
Store (0x03, U1EN)
}
}
Device (USB2)
{
Name (_ADR, 0x001D0001)
OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
Field (U2CS, DWordAcc, NoLock, Preserve)
{
U2EN, 2
}
Name (_PRW, Package (0x02)
{
0x04,
0x03
})
Method (_PSW, 1, NotSerialized)
{
Store (0x03, U2EN)
}
}
Device (USB3)
{
Name (_ADR, 0x001D0002)
OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
Field (U2CS, DWordAcc, NoLock, Preserve)
{
U3EN, 2
}
Name (_PRW, Package (0x02)
{
0x0C,
0x03
})
Method (_PSW, 1, NotSerialized)
{
Store (0x03, U3EN)
}
}
Device (USB4)
{
Name (_ADR, 0x001D0003)
OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)
Field (U4CS, DWordAcc, NoLock, Preserve)
{
U4EN, 2
}
Name (_PRW, Package (0x02)
{
0x0E,
0x03
})
Method (_PSW, 1, NotSerialized)
{
Store (0x03, U4EN)
}
}
Device (USB7)
{
Name (_ADR, 0x001D0007)
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
}
Device (PCIB)
{
Name (_ADR, 0x001E0000)
Method (_PRT, 0, NotSerialized)
{
If (GPIC)
{
Return (Package (0x05)
{
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0x0008FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0003FFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x0003FFFF,
0x01,
0x00,
0x13
}
})
}
Else
{
Return (Package (0x15)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKF,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKG,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKH,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.PCI0.LPCB.LNKG,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x01,
\_SB.PCI0.LPCB.LNKF,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x02,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x03,
\_SB.PCI0.LPCB.LNKH,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x02,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x02,
\_SB.PCI0.LPCB.LNKF,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x03,
\_SB.PCI0.LPCB.LNKG,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x01,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x02,
\_SB.PCI0.LPCB.LNKG,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x03,
\_SB.PCI0.LPCB.LNKF,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
\_SB.PCI0.LPCB.LNKE,
0x00
}
})
}
}
Device (LANC)
{
Name (_ADR, 0x00080000)
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
Name (LANP, 0x00)
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Store (0x00, LANP)
}
Else
{
Store (0x01, LANP)
}
}
}
}
Device (AUD0)
{
Name (_ADR, 0x001E0002)
}
Device (MODM)
{
Name (_ADR, 0x001E0003)
Name (_PRW, Package (0x02)
{
0x05,
0x03
})
}
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,
Z004, 1,
Z005, 1,
LPTE, 1,
Offset (0x60),
, 7,
Offset (0x61)
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_DIS, 0, Serialized)
{
Store (0x80, PARC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (RTLA, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PARC, 0x0F), IRQ0)
Return (RTLA)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PARC)
}
Method (_STA, 0, Serialized)
{
If (And (PARC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_DIS, 0, Serialized)
{
Store (0x80, PBRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (RTLB, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PBRC, 0x0F), IRQ0)
Return (RTLB)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PBRC)
}
Method (_STA, 0, Serialized)
{
If (And (PBRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_DIS, 0, Serialized)
{
Store (0x80, PCRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (RTLC, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PCRC, 0x0F), IRQ0)
Return (RTLC)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PCRC)
}
Method (_STA, 0, Serialized)
{
If (And (PCRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_DIS, 0, Serialized)
{
Store (0x80, PDRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (RTLD, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PDRC, 0x0F), IRQ0)
Return (RTLD)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PDRC)
}
Method (_STA, 0, Serialized)
{
If (And (PDRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_DIS, 0, Serialized)
{
Store (0x80, PERC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (RTLE, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PERC, 0x0F), IRQ0)
Return (RTLE)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PERC)
}
Method (_STA, 0, Serialized)
{
If (And (PERC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_DIS, 0, Serialized)
{
Store (0x80, PFRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (RTLF, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PFRC, 0x0F), IRQ0)
Return (RTLF)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PFRC)
}
Method (_STA, 0, Serialized)
{
If (And (PFRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_DIS, 0, Serialized)
{
Store (0x80, PGRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLG, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (RTLG, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PGRC, 0x0F), IRQ0)
Return (RTLG)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PGRC)
}
Method (_STA, 0, Serialized)
{
If (And (PGRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_DIS, 0, Serialized)
{
Store (0x80, PHRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (RTLH, 0x01, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PHRC, 0x0F), IRQ0)
Return (RTLH)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PHRC)
}
Method (_STA, 0, Serialized)
{
If (And (PHRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0062, 0x0062, 0x01, 0x01)
IO (Decode16, 0x0066, 0x0066, 0x01, 0x01)
})
Name (_GPE, 0x1D)
Name (SEL0, 0xF0)
Name (BFLG, 0x00)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, Local0)
If (Local0)
{
Store (0x01, ECOK)
}
Else
{
Store (0x00, ECOK)
}
}
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (0x03, \_SB.PCI0.LPCB.EC0.RG59)
Store (\_SB.BTEN, \_SB.PCI0.LPCB.EC0.BLTH)
Store (\_SB.WLAN, \_SB.PCI0.LPCB.EC0.WLAN)
Store (0x01, \_SB.PCI0.LPCB.EC0.CPLE)
Store (\_SB.PHSR (0x05, 0x00), DOFF)
If (LEqual (\_SB.Z006, 0x01))
{
Store (0x01, \_SB.PCI0.LPCB.EC0.VGAF)
}
Else
{
Store (0x00, \_SB.PCI0.LPCB.EC0.VGAF)
}
Release (\_SB.PCI0.LPCB.EC0.MUT1)
}
}
OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF)
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
CMCM, 8,
CMD1, 8,
CMD2, 8,
CMD3, 8,
Offset (0x18),
SMPR, 8,
SMST, 8,
SMAD, 8,
SMCM, 8,
SMD0, 256,
BCNT, 8,
SMAA, 8,
BATD, 16,
ACDF, 1,
Offset (0x41),
, 4,
FPR1, 1,
FLS4, 1,
S5LW, 1,
PFLG, 1,
Offset (0x43),
TMSS, 2,
, 2,
BANK, 4,
Offset (0x45),
VFAN, 1,
Offset (0x46),
RL01, 1,
RD01, 1,
RF01, 1,
RP01, 1,
RB01, 1,
RC01, 1,
, 1,
R701, 1,
R801, 1,
RM01, 1,
RI01, 1,
, 1,
, 1,
, 1,
RA01, 1,
RR01, 1,
RL10, 1,
RD10, 1,
RF10, 1,
RP10, 1,
RB10, 1,
RC10, 1,
, 1,
R710, 1,
R810, 1,
RM10, 1,
RI10, 1,
, 1,
, 1,
, 1,
RA10, 1,
RR10, 1,
LIDE, 1,
BAYE, 1,
PRDE, 1,
WP01, 1,
WB01, 1,
WC01, 1,
, 1,
W701, 1,
W801, 1,
WM01, 1,
WI01, 1,
, 1,
, 1,
, 1,
WA01, 1,
WR01, 1,
LIDS, 1,
BAYI, 1,
PRCT, 1,
WP10, 1,
WB10, 1,
WC10, 1,
, 1,
W710, 1,
W810, 1,
WM10, 1,
WI10, 1,
, 1,
, 1,
, 1,
WA10, 1,
WR10, 1,
Offset (0x53),
DOFF, 8,
Offset (0x57),
RG57, 8,
CTMP, 8,
RG59, 8,
RG5A, 8,
RG5B, 8,
FSPD, 16,
Offset (0x5F),
WLAN, 1,
BLTH, 1,
CPLE, 1,
Offset (0x61),
BRLV, 8,
Offset (0x63),
, 7,
VGAF, 1,
Offset (0x71),
MBTS, 1,
MBTF, 1,
Offset (0x72),
MBTC, 1,
, 2,
LION, 1,
Offset (0x77),
BA1C, 8,
Offset (0x81),
ABTS, 1,
ABFC, 1,
, 3,
ABBL, 1,
Z007, 1,
ABCT, 1,
ABCG, 1,
, 2,
ABTP, 1,
Offset (0x87),
BA2C, 8,
Offset (0x8A),
ACUR, 16,
Offset (0xC1),
MCUR, 16,
MBRM, 16,
MBVG, 16,
BTST, 8,
ABCR, 16,
ABRM, 16,
ABVG, 16,
Offset (0xD0),
EBPL, 1,
Offset (0xD1),
PWRE, 1,
Offset (0xD2),
, 6,
VAUX, 1,
Offset (0xD6),
DBPL, 8,
Offset (0xD8),
LFCC, 16,
BTSN, 16,
BTDC, 16,
BTDV, 16,
BTMN, 8,
BTMD, 8,
AFCC, 16,
ABSN, 16,
ABDC, 16,
ABDV, 16,
ABMN, 8,
ABMD, 8,
TRDV, 3
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
SMW0, 16
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
SMB0, 8
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
FLD0, 64
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
FLD1, 128
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
FLD2, 192
}
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x1C),
FLD3, 256
}
Mutex (MUT1, 0x00)
Mutex (MUT0, 0x00)
Method (SMRD, 4, NotSerialized)
{
If (LEqual (\_SB.ECOK, 0x00))
{
Return (0xFF)
}
If (LNot (LEqual (Arg0, 0x07)))
{
If (LNot (LEqual (Arg0, 0x09)))
{
If (LNot (LEqual (Arg0, 0x0B)))
{
Return (0x19)
}
}
}
Acquire (MUT0, 0xFFFF)
Store (0x04, Local0)
While (LGreater (Local0, 0x01))
{
And (SMST, 0x40, SMST)
Store (Arg2, SMCM)
Store (Arg1, SMAD)
Store (Arg0, SMPR)
Store (0x00, Local3)
While (LNot (And (SMST, 0xBF, Local1)))
{
Sleep (0x02)
Increment (Local3)
If (LEqual (Local3, 0x32))
{
And (SMST, 0x40, SMST)
Store (Arg2, SMCM)
Store (Arg1, SMAD)
Store (Arg0, SMPR)
Store (0x00, Local3)
}
}
If (LEqual (Local1, 0x80))
{
Store (0x00, Local0)
}
Else
{
Decrement (Local0)
}
}
If (Local0)
{
Store (And (Local1, 0x1F), Local0)
}
Else
{
If (LEqual (Arg0, 0x07))
{
Store (SMB0, Arg3)
}
If (LEqual (Arg0, 0x09))
{
Store (SMW0, Arg3)
}
If (LEqual (Arg0, 0x0B))
{
Store (BCNT, Local3)
ShiftRight (0x0100, 0x03, Local2)
If (LGreater (Local3, Local2))
{
Store (Local2, Local3)
}
If (LLess (Local3, 0x09))
{
Store (FLD0, Local2)
}
Else
{
If (LLess (Local3, 0x11))
{
Store (FLD1, Local2)
}
Else
{
If (LLess (Local3, 0x19))
{
Store (FLD2, Local2)
}
Else
{
Store (FLD3, Local2)
}
}
}
Increment (Local3)
Store (Buffer (Local3) {}, Local4)
Decrement (Local3)
Store (Zero, Local5)
While (LGreater (Local3, Local5))
{
GBFE (Local2, Local5, RefOf (Local6))
PBFE (Local4, Local5, Local6)
Increment (Local5)
}
PBFE (Local4, Local5, 0x00)
Store (Local4, Arg3)
}
}
Release (MUT0)
Return (Local0)
}
Method (SMWR, 4, NotSerialized)
{
If (LEqual (\_SB.ECOK, 0x00))
{
Return (0xFF)
}
If (LNot (LEqual (Arg0, 0x06)))
{
If (LNot (LEqual (Arg0, 0x08)))
{
If (LNot (LEqual (Arg0, 0x0A)))
{
Return (0x19)
}
}
}
Acquire (MUT0, 0xFFFF)
Store (0x04, Local0)
While (LGreater (Local0, 0x01))
{
If (LEqual (Arg0, 0x06))
{
Store (Arg3, SMB0)
}
If (LEqual (Arg0, 0x08))
{
Store (Arg3, SMW0)
}
If (LEqual (Arg0, 0x0A))
{
Store (Arg3, SMD0)
}
And (SMST, 0x40, SMST)
Store (Arg2, SMCM)
Store (Arg1, SMAD)
Store (Arg0, SMPR)
Store (0x00, Local3)
While (LNot (And (SMST, 0xBF, Local1)))
{
Sleep (0x02)
Increment (Local3)
If (LEqual (Local3, 0x32))
{
And (SMST, 0x40, SMST)
Store (Arg2, SMCM)
Store (Arg1, SMAD)
Store (Arg0, SMPR)
Store (0x00, Local3)
}
}
If (LEqual (Local1, 0x80))
{
Store (0x00, Local0)
}
Else
{
Decrement (Local0)
}
}
If (Local0)
{
Store (And (Local1, 0x1F), Local0)
}
Release (MUT0)
Return (Local0)
}
Method (APOL, 1, NotSerialized)
{
Store (Arg0, DBPL)
Store (0x01, EBPL)
}
Name (PSTA, 0x00)
Method (CPOL, 1, NotSerialized)
{
If (LEqual (PSTA, 0x00))
{
If (LNot (LEqual (\_SB.ECOK, 0x00)))
{
APOL (Arg0)
Store (0x01, PSTA)
}
}
}
Method (_Q20, 0, NotSerialized)
{
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
If (And (SMST, 0x40))
{
Store (SMAA, Local0)
If (LEqual (Local0, 0x14))
{
And (SMST, 0xBF, SMST)
Store (PWRE, Local1)
If (Local1)
{
Store (0x00, PWRE)
Store (0x12, BFLG)
CPOL (0x01)
}
}
If (LEqual (Local0, 0x16))
{
And (SMST, 0xBF, SMST)
Store (0x04, \_SB.BAT1.BCRI)
Notify (\_SB.BAT1, 0x80)
Sleep (0x01F4)
Store (0x04, \_SB.BAT2.BCRI)
Notify (\_SB.BAT2, 0x80)
}
Else
{
Store (0x00, \_SB.BAT1.BCRI)
Store (0x00, \_SB.BAT2.BCRI)
}
}
Release (\_SB.PCI0.LPCB.EC0.MUT1)
}
}
Method (_Q09, 0, NotSerialized)
{
If (\_SB.ECOK)
{
Store (0x00, \_SB.PCI0.LPCB.EC0.PSTA)
\_SB.BAT1.Z008 ()
\_SB.BAT2.Z008 ()
Notify (\_SB.ACAD, 0x80)
Sleep (0x01F4)
Notify (\_SB.BAT1, 0x80)
Sleep (0x01F4)
Notify (\_SB.BAT2, 0x80)
If (\_SB.BAT1.BTCH)
{
\_SB.BAT1.UBIF ()
Notify (\_SB.BAT1, 0x81)
Store (0x00, \_SB.BAT1.BTCH)
}
If (\_SB.BAT2.BTCH)
{
\_SB.BAT2.UBIF ()
Notify (\_SB.BAT2, 0x81)
Store (0x00, \_SB.BAT2.BTCH)
}
}
}
Method (_Q8A, 0, NotSerialized)
{
Store (0x8A, P80H)
\_SB.PCI0.PATA.PRID.BAY.Z009 ()
}
Method (_Q0F, 0, NotSerialized)
{
Store (DLST, Local0)
Store (Local0, TLST)
HKDS (0x0A)
}
Method (_Q0D, 0, NotSerialized)
{
Notify (\_SB.SLPB, 0x80)
}
Method (_Q0E, 0, NotSerialized)
{
If (\_SB.PCI0.PEGA)
{
\_SB.PCI0.PEGP.VGA.DRUL (0x01)
}
Else
{
Store (0x01, TLST)
HKDS (0x0A)
}
}
}
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x20)
IO (Decode16, 0x0081, 0x0081, 0x01, 0x11)
IO (Decode16, 0x0093, 0x0093, 0x01, 0x0D)
IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20)
DMA (Compatibility, NotBusMaster, Transfer8_16) {4}
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (BUF0, ResourceTemplate ()
{
IRQNoFlags () {0}
IRQNoFlags () {8}
Memory32Fixed (ReadOnly, 0xFED00000, 0x00000400)
})
Method (_STA, 0, NotSerialized)
{
If (LNot (LLess (OSYS, 0x07D1)))
{
If (HPAE)
{
Return (0x0F)
}
}
Else
{
If (HPAE)
{
Return (0x0B)
}
}
Return (0x00)
}
Method (_CRS, 0, Serialized)
{
If (HPAE)
{
CreateDWordField (BUF0, 0x0A, HPT0)
If (LEqual (HPAS, 0x01))
{
Store (0xFED01000, HPT0)
}
If (LEqual (HPAS, 0x02))
{
Store (0xFED02000, HPT0)
}
If (LEqual (HPAS, 0x03))
{
Store (0xFED03000, HPT0)
}
}
Return (BUF0)
}
}
Device (IPIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
IO (Decode16, 0x0024, 0x0024, 0x01, 0x02)
IO (Decode16, 0x0028, 0x0028, 0x01, 0x02)
IO (Decode16, 0x002C, 0x002C, 0x01, 0x02)
IO (Decode16, 0x0030, 0x0030, 0x01, 0x02)
IO (Decode16, 0x0034, 0x0034, 0x01, 0x02)
IO (Decode16, 0x0038, 0x0038, 0x01, 0x02)
IO (Decode16, 0x003C, 0x003C, 0x01, 0x02)
IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
IO (Decode16, 0x00A4, 0x00A4, 0x01, 0x02)
IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02)
IO (Decode16, 0x00AC, 0x00AC, 0x01, 0x02)
IO (Decode16, 0x00B0, 0x00B0, 0x01, 0x02)
IO (Decode16, 0x00B4, 0x00B4, 0x01, 0x02)
IO (Decode16, 0x00B8, 0x00B8, 0x01, 0x02)
IO (Decode16, 0x00BC, 0x00BC, 0x01, 0x02)
IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
IRQNoFlags () {2}
})
}
Device (MATH)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x01)
IRQNoFlags () {13}
})
}
Device (LDRC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x02)
Name (BUF1, ResourceTemplate ()
{
IO (Decode16, 0x002E, 0x002E, 0x01, 0x02)
IO (Decode16, 0x004E, 0x004E, 0x01, 0x02)
IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
IO (Decode16, 0x0063, 0x0063, 0x01, 0x01)
IO (Decode16, 0x0065, 0x0065, 0x01, 0x01)
IO (Decode16, 0x0067, 0x0067, 0x01, 0x01)
IO (Decode16, 0x0068, 0x006F, 0x01, 0x08)
IO (Decode16, 0x0070, 0x0070, 0x01, 0x01)
IO (Decode16, 0x0080, 0x0080, 0x01, 0x01)
IO (Decode16, 0x0092, 0x0092, 0x01, 0x01)
IO (Decode16, 0x00B2, 0x00B2, 0x01, 0x02)
IO (Decode16, 0x0680, 0x0680, 0x01, 0x80)
IO (Decode16, 0x0800, 0x0800, 0x01, 0x10)
IO (Decode16, 0x1000, 0x1000, 0x01, 0x80)
IO (Decode16, 0x1180, 0x1180, 0x01, 0x40)
IO (Decode16, 0x1600, 0x1600, 0x01, 0x80)
})
Method (_CRS, 0, Serialized)
{
Return (BUF1)
}
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16, 0x0070, 0x0070, 0x01, 0x08)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16, 0x0070, 0x0070, 0x01, 0x08)
IRQNoFlags () {8}
})
Method (_CRS, 0, Serialized)
{
If (HPAE)
{
Return (BUF0)
}
Return (BUF1)
}
}
Device (TIMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
IO (Decode16, 0x0050, 0x0050, 0x10, 0x04)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
IO (Decode16, 0x0050, 0x0050, 0x10, 0x04)
IRQNoFlags () {0}
})
Method (_CRS, 0, Serialized)
{
If (HPAE)
{
Return (BUF0)
}
Return (BUF1)
}
}
Device (SIO)
{
Name (_HID, EisaId ("PNP0A05"))
OperationRegion (SIIO, SystemIO, 0x164E, 0x02)
Field (SIIO, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
Mutex (N383, 0x00)
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x07),
LDN, 8,
Offset (0x26),
, 1,
LPTE, 1,
Z00A, 1,
Z00B, 1,
Offset (0x30),
ACTR, 1,
Offset (0x60),
IOAH, 8,
IOAL, 8,
Offset (0x70),
INTR, 8,
Offset (0x74),
DMCH, 8,
Offset (0xF0),
OPT1, 8
}
Method (ENFG, 1, NotSerialized)
{
Acquire (N383, 0xFFFF)
Store (0x07, INDX)
Store (Arg0, DATA)
}
Method (EXFG, 0, NotSerialized)
{
Release (N383)
}
Device (FIR)
{
Name (_HID, EisaId ("NSC6001"))
Method (_STA, 0, NotSerialized)
{
ENFG (0x02)
If (LEqual (Z00A, 0x00))
{
If (ACTR)
{
Store (0x0F, Local0)
}
Else
{
Store (0x0D, Local0)
}
}
Else
{
Store (0x00, Local0)
}
EXFG ()
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
ENFG (0x02)
If (ACTR)
{
Store (0x00, ACTR)
Store (0x00, INTR)
Store (0x00, IOAH)
Store (0x00, IOAL)
Store (0x00, DMCH)
}
EXFG ()
Store (0x00, \_SB.PCI0.LPCB.Z005)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
EndDependentFn ()
})
Method (_CRS, 0, NotSerialized)
{
Name (DCRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IRQNoFlags () {3}
DMA (Compatibility, NotBusMaster, Transfer8) {0}
})
ENFG (0x02)
If (ACTR)
{
Store (IOAH, Local1)
Store (IOAL, Local0)
Store (Local0, Index (DCRS, 0x02))
Store (Local0, Index (DCRS, 0x04))
Store (Local1, Index (DCRS, 0x03))
Store (Local1, Index (DCRS, 0x05))
ShiftLeft (0x01, INTR, Local0)
Store (Local0, Index (DCRS, 0x09))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x0A))
ShiftLeft (0x01, DMCH, Local0)
Store (Local0, Index (DCRS, 0x0C))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x0D))
}
Else
{
Store (0x00, Index (DCRS, 0x02))
Store (0x00, Index (DCRS, 0x04))
Store (0x00, Index (DCRS, 0x03))
Store (0x00, Index (DCRS, 0x05))
Store (0x00, Index (DCRS, 0x09))
Store (0x00, Index (DCRS, 0x0A))
Store (0x00, Index (DCRS, 0x0C))
Store (0x00, Index (DCRS, 0x0D))
}
EXFG ()
Return (DCRS)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, ADRL)
CreateByteField (Arg0, 0x03, ADRM)
CreateWordField (Arg0, 0x09, IRQM)
CreateWordField (Arg0, 0x0C, DMAM)
FindSetRightBit (IRQM, Local0)
Decrement (Local0)
FindSetRightBit (DMAM, Local1)
Decrement (Local1)
And (IOD0, 0x0F, Local2)
If (LEqual (ADRM, 0x03))
{
If (LEqual (ADRL, 0xF8))
{
Store (Local2, IOD0)
}
Else
{
Or (Local2, 0x70, IOD0)
}
}
Else
{
If (LEqual (ADRL, 0xF8))
{
Or (Local2, 0x10, IOD0)
}
Else
{
Or (Local2, 0x50, IOD0)
}
}
Store (0x01, \_SB.PCI0.LPCB.Z005)
ENFG (0x02)
Store (Local0, INTR)
Store (Local1, DMCH)
Store (ADRM, IOAH)
Store (ADRL, IOAL)
Store (0x01, ACTR)
Or (0x80, OPT1, OPT1)
EXFG ()
}
}
Device (COMA)
{
Name (_HID, EisaId ("PNP0501"))
Method (_STA, 0, NotSerialized)
{
If (\_SB.DOCK)
{
ENFG (0x03)
If (LEqual (Z00B, 0x00))
{
If (ACTR)
{
Store (0x0F, Local0)
}
Else
{
Store (0x0D, Local0)
}
}
Else
{
Store (0x00, Local0)
}
EXFG ()
}
Else
{
Store (0x00, Local0)
}
If (LEqual (Local0, 0x00))
{
Store (0x00, \_SB.PCI0.LPCB.Z004)
}
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
ENFG (0x03)
If (ACTR)
{
Store (0x00, ACTR)
Store (0x00, INTR)
Store (0x00, IOAH)
Store (0x00, IOAL)
}
EXFG ()
Store (0x00, \_SB.PCI0.LPCB.Z004)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
IRQNoFlags () {4}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
IRQNoFlags () {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
IRQNoFlags () {4}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
IRQNoFlags () {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
IRQNoFlags () {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
IRQNoFlags () {4}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
IRQNoFlags () {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
IRQNoFlags () {4}
}
EndDependentFn ()
})
Method (_CRS, 0, NotSerialized)
{
Name (DCRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IRQNoFlags () {3}
})
ENFG (0x03)
If (ACTR)
{
Store (IOAH, Local1)
Store (IOAL, Local0)
Store (Local0, Index (DCRS, 0x02))
Store (Local0, Index (DCRS, 0x04))
Store (Local1, Index (DCRS, 0x03))
Store (Local1, Index (DCRS, 0x05))
ShiftLeft (0x01, INTR, Local0)
Store (Local0, Index (DCRS, 0x09))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x0A))
}
Else
{
Store (0x00, Index (DCRS, 0x02))
Store (0x00, Index (DCRS, 0x04))
Store (0x00, Index (DCRS, 0x03))
Store (0x00, Index (DCRS, 0x05))
Store (0x00, Index (DCRS, 0x09))
Store (0x00, Index (DCRS, 0x0A))
}
EXFG ()
Return (DCRS)
}
Method (_SRS, 1, NotSerialized)
{
Store (0x55, P80H)
CreateByteField (Arg0, 0x02, ADRL)
CreateByteField (Arg0, 0x03, ADRM)
CreateWordField (Arg0, 0x09, IRQM)
FindSetRightBit (IRQM, Local0)
Decrement (Local0)
And (IOD0, 0xF0, Local1)
If (LEqual (ADRM, 0x03))
{
If (LEqual (ADRL, 0xF8))
{
Store (Local1, IOD0)
}
Else
{
Or (Local1, 0x07, IOD0)
}
}
Else
{
If (LEqual (ADRL, 0xF8))
{
Or (Local1, 0x01, IOD0)
}
Else
{
Or (Local1, 0x05, IOD0)
}
}
Store (0x01, \_SB.PCI0.LPCB.Z004)
ENFG (0x03)
Store (Local0, INTR)
Store (ADRM, IOAH)
Store (ADRL, IOAL)
Store (0x01, ACTR)
EXFG ()
}
}
Device (ECP)
{
Name (_HID, EisaId ("PNP0401"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
ENFG (0x01)
Store (OPT1, Local0)
Store (LPTE, Local2)
Store (ACTR, Local3)
EXFG ()
ShiftRight (Local0, 0x05, Local0)
If (LAnd (LEqual (Local2, 0x00), LOr (LEqual (Local0, 0x04), LEqual (Local0, 0x07))))
{
If (\_SB.DOCK)
{
ShiftLeft (Local3, 0x01, Local1)
Add (0x0D, Local1, Local1)
}
Else
{
Store (0x00, Local1)
}
}
Else
{
Store (0x00, Local1)
}
Return (Local1)
}
Method (_DIS, 0, NotSerialized)
{
ENFG (0x01)
Store (OPT1, Local0)
ShiftRight (Local0, 0x05, Local0)
If (LAnd (LEqual (LPTE, 0x00), LOr (LEqual (Local0, 0x04), LEqual (Local0, 0x07))))
{
If (ACTR)
{
Store (0x00, ACTR)
Store (0x00, INTR)
Store (0x00, IOAH)
Store (0x00, IOAL)
Store (0x00, DMCH)
}
Store (0x00, \_SB.PCI0.LPCB.LPTE)
}
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
IRQNoFlags () {5}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {1}
}
EndDependentFn ()
})
Method (_CRS, 0, NotSerialized)
{
Name (DCRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
})
ENFG (0x01)
If (ACTR)
{
Store (IOAH, Local1)
Store (IOAL, Local0)
Store (Local0, Index (DCRS, 0x02))
Store (Local0, Index (DCRS, 0x0A))
Store (Local0, Index (DCRS, 0x04))
Store (Local0, Index (DCRS, 0x0C))
Store (Local1, Index (DCRS, 0x03))
Store (Local1, Index (DCRS, 0x05))
Add (Local1, 0x04, Local1)
Store (Local1, Index (DCRS, 0x0B))
Store (Local1, Index (DCRS, 0x0D))
ShiftLeft (0x01, INTR, Local0)
Store (Local0, Index (DCRS, 0x11))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x12))
ShiftLeft (0x01, DMCH, Local0)
Store (Local0, Index (DCRS, 0x14))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x15))
}
Else
{
Store (0x00, Index (DCRS, 0x02))
Store (0x00, Index (DCRS, 0x0A))
Store (0x00, Index (DCRS, 0x04))
Store (0x00, Index (DCRS, 0x0C))
Store (0x00, Index (DCRS, 0x03))
Store (0x00, Index (DCRS, 0x05))
Store (0x00, Index (DCRS, 0x0B))
Store (0x00, Index (DCRS, 0x0D))
Store (0x00, Index (DCRS, 0x11))
Store (0x00, Index (DCRS, 0x12))
Store (0x00, Index (DCRS, 0x14))
Store (0x00, Index (DCRS, 0x15))
}
EXFG ()
Return (DCRS)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, ADRL)
CreateByteField (Arg0, 0x03, ADRM)
CreateWordField (Arg0, 0x11, IRQM)
CreateWordField (Arg0, 0x14, DMAM)
FindSetRightBit (IRQM, Local0)
Decrement (Local0)
FindSetRightBit (DMAM, Local1)
Decrement (Local1)
Store (0x00, \_SB.PCI0.LPCB.LPTE)
And (IOD1, 0xF0, Local2)
If (LEqual (ADRM, 0x03))
{
Store (Local2, IOD1)
}
Else
{
Or (Local2, 0x01, IOD1)
}
Store (0x01, \_SB.PCI0.LPCB.LPTE)
ENFG (0x01)
Store (Local0, INTR)
Store (Local1, DMCH)
Store (ADRM, IOAH)
Store (ADRL, IOAL)
Store (0x01, ACTR)
EXFG ()
}
}
Device (EPP)
{
Name (_HID, EisaId ("PNP0400"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
ENFG (0x01)
Store (OPT1, Local0)
Store (LPTE, Local2)
Store (ACTR, Local3)
EXFG ()
ShiftRight (Local0, 0x05, Local0)
If (LAnd (LEqual (Local2, 0x00), LOr (LEqual (Local0, 0x02), LEqual (Local0, 0x03))))
{
If (\_SB.DOCK)
{
ShiftLeft (Local3, 0x01, Local1)
Add (0x0D, Local1, Local1)
}
Else
{
Store (0x00, Local1)
}
}
Else
{
Store (0x00, Local1)
}
Return (Local1)
}
Method (_DIS, 0, NotSerialized)
{
ENFG (0x01)
Store (OPT1, Local0)
ShiftRight (Local0, 0x05, Local0)
If (LAnd (LEqual (LPTE, 0x00), LOr (LEqual (Local0, 0x02), LEqual (Local0, 0x03))))
{
If (ACTR)
{
Store (0x00, ACTR)
Store (0x00, INTR)
Store (0x00, IOAH)
Store (0x00, IOAL)
}
Store (0x00, \_SB.PCI0.LPCB.LPTE)
}
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
IRQNoFlags () {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
IRQNoFlags () {5}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
IRQNoFlags () {5}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
IRQNoFlags () {7}
}
EndDependentFn ()
})
Method (_CRS, 0, NotSerialized)
{
Name (DCRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IRQNoFlags () {7}
})
ENFG (0x01)
If (ACTR)
{
Store (IOAH, Local1)
Store (IOAL, Local0)
Store (Local0, Index (DCRS, 0x02))
Store (Local0, Index (DCRS, 0x0A))
Store (Local0, Index (DCRS, 0x04))
Store (Local0, Index (DCRS, 0x0C))
Store (Local1, Index (DCRS, 0x03))
Store (Local1, Index (DCRS, 0x05))
Add (Local1, 0x04, Local1)
Store (Local1, Index (DCRS, 0x0B))
Store (Local1, Index (DCRS, 0x0D))
ShiftLeft (0x01, INTR, Local0)
Store (Local0, Index (DCRS, 0x11))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x12))
}
Else
{
Store (0x00, Index (DCRS, 0x02))
Store (0x00, Index (DCRS, 0x0A))
Store (0x00, Index (DCRS, 0x04))
Store (0x00, Index (DCRS, 0x0C))
Store (0x00, Index (DCRS, 0x03))
Store (0x00, Index (DCRS, 0x05))
Store (0x00, Index (DCRS, 0x0B))
Store (0x00, Index (DCRS, 0x0D))
Store (0x00, Index (DCRS, 0x11))
Store (0x00, Index (DCRS, 0x12))
}
EXFG ()
Return (DCRS)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, ADRL)
CreateByteField (Arg0, 0x03, ADRM)
CreateWordField (Arg0, 0x11, IRQM)
FindSetRightBit (IRQM, Local0)
Decrement (Local0)
Store (0x00, \_SB.PCI0.LPCB.LPTE)
And (IOD1, 0xF0, Local2)
If (LEqual (ADRM, 0x03))
{
Store (Local2, IOD1)
}
Else
{
Or (Local2, 0x01, IOD1)
}
Store (0x01, \_SB.PCI0.LPCB.LPTE)
ENFG (0x01)
Store (Local0, INTR)
Store (ADRM, IOAH)
Store (ADRL, IOAL)
Store (0x01, ACTR)
EXFG ()
}
}
Device (LPTB)
{
Name (_HID, EisaId ("PNP0400"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
ENFG (0x01)
Store (OPT1, Local0)
Store (LPTE, Local2)
Store (ACTR, Local3)
EXFG ()
ShiftRight (Local0, 0x05, Local0)
If (LAnd (LEqual (Local2, 0x00), LEqual (Local0, 0x01)))
{
If (\_SB.DOCK)
{
ShiftLeft (Local3, 0x01, Local1)
Add (0x0D, Local1, Local1)
}
Else
{
Store (0x00, Local1)
}
}
Else
{
Store (0x00, Local1)
}
Return (Local1)
}
Method (_DIS, 0, NotSerialized)
{
ENFG (0x01)
Store (OPT1, Local0)
ShiftRight (Local0, 0x05, Local0)
If (LAnd (LEqual (LPTE, 0x00), LEqual (Local0, 0x01)))
{
If (ACTR)
{
Store (0x00, ACTR)
Store (0x00, INTR)
Store (0x00, IOAH)
Store (0x00, IOAL)
}
Store (0x00, \_SB.PCI0.LPCB.LPTE)
}
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
IRQNoFlags () {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
IRQNoFlags () {5}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
IRQNoFlags () {5}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
IRQNoFlags () {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
IRQNoFlags () {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
IRQNoFlags () {5}
}
EndDependentFn ()
})
Method (_CRS, 0, NotSerialized)
{
Name (DCRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IRQNoFlags () {7}
})
ENFG (0x01)
If (ACTR)
{
Store (IOAH, Local1)
Store (IOAL, Local0)
Store (Local0, Index (DCRS, 0x02))
Store (Local0, Index (DCRS, 0x0A))
Store (Local0, Index (DCRS, 0x04))
Store (Local0, Index (DCRS, 0x0C))
Store (Local1, Index (DCRS, 0x03))
Store (Local1, Index (DCRS, 0x05))
Add (Local1, 0x04, Local1)
Store (Local1, Index (DCRS, 0x0B))
Store (Local1, Index (DCRS, 0x0D))
If (And (Local0, 0x04))
{
Store (0x04, Local0)
}
Else
{
Store (0x08, Local0)
}
Store (Local0, Index (DCRS, 0x06))
Store (Local0, Index (DCRS, 0x07))
Store (Local0, Index (DCRS, 0x0E))
Store (Local0, Index (DCRS, 0x0F))
ShiftLeft (0x01, INTR, Local0)
Store (Local0, Index (DCRS, 0x11))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x12))
}
Else
{
Store (0x00, Index (DCRS, 0x02))
Store (0x00, Index (DCRS, 0x0A))
Store (0x00, Index (DCRS, 0x04))
Store (0x00, Index (DCRS, 0x0C))
Store (0x00, Index (DCRS, 0x03))
Store (0x00, Index (DCRS, 0x05))
Store (0x00, Index (DCRS, 0x0B))
Store (0x00, Index (DCRS, 0x0D))
Store (0x00, Index (DCRS, 0x11))
Store (0x00, Index (DCRS, 0x12))
}
EXFG ()
Return (DCRS)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, ADRL)
CreateByteField (Arg0, 0x03, ADRM)
CreateWordField (Arg0, 0x11, IRQM)
FindSetRightBit (IRQM, Local0)
Decrement (Local0)
Store (0x00, \_SB.PCI0.LPCB.LPTE)
And (IOD1, 0xF0, Local2)
If (LEqual (ADRM, 0x03))
{
If (LEqual (ADRL, 0xBC))
{
Or (Local2, 0x02, IOD1)
}
Else
{
Store (Local2, IOD1)
}
}
Else
{
Or (Local2, 0x01, IOD1)
}
Store (0x01, \_SB.PCI0.LPCB.LPTE)
ENFG (0x01)
Store (Local0, INTR)
Store (ADRM, IOAH)
Store (ADRL, IOAL)
Store (0x01, ACTR)
EXFG ()
}
}
Device (LPT)
{
Name (_HID, EisaId ("PNP0400"))
Name (_UID, 0x00)
Method (_STA, 0, NotSerialized)
{
ENFG (0x01)
Store (OPT1, Local0)
Store (LPTE, Local2)
Store (ACTR, Local3)
EXFG ()
ShiftRight (Local0, 0x05, Local0)
If (LAnd (LEqual (Local2, 0x00), LEqual (Local0, 0x00)))
{
If (\_SB.DOCK)
{
ShiftLeft (Local3, 0x01, Local1)
Add (0x0D, Local1, Local1)
}
Else
{
Store (0x00, Local1)
}
}
Else
{
Store (0x00, Local1)
}
Return (Local1)
}
Method (_DIS, 0, NotSerialized)
{
ENFG (0x01)
Store (OPT1, Local0)
ShiftRight (Local0, 0x05, Local0)
If (LAnd (LEqual (LPTE, 0x00), LEqual (Local0, 0x00)))
{
If (ACTR)
{
Store (0x00, ACTR)
Store (0x00, INTR)
Store (0x00, IOAH)
Store (0x00, IOAL)
}
Store (0x00, \_SB.PCI0.LPCB.LPTE)
}
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
IRQNoFlags () {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
IRQNoFlags () {5}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
IRQNoFlags () {5}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
IRQNoFlags () {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
IRQNoFlags () {7}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
IRQNoFlags () {5}
}
EndDependentFn ()
})
Method (_CRS, 0, NotSerialized)
{
Name (DCRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
IRQNoFlags () {7}
})
ENFG (0x01)
If (ACTR)
{
Store (IOAH, Local1)
Store (IOAL, Local0)
Store (Local0, Index (DCRS, 0x02))
Store (Local0, Index (DCRS, 0x0A))
Store (Local0, Index (DCRS, 0x04))
Store (Local0, Index (DCRS, 0x0C))
Store (Local1, Index (DCRS, 0x03))
Store (Local1, Index (DCRS, 0x05))
Add (Local1, 0x04, Local1)
Store (Local1, Index (DCRS, 0x0B))
Store (Local1, Index (DCRS, 0x0D))
If (And (Local0, 0x04))
{
Store (0x04, Local0)
}
Else
{
Store (0x08, Local0)
}
Store (Local0, Index (DCRS, 0x06))
Store (Local0, Index (DCRS, 0x07))
Store (Local0, Index (DCRS, 0x0E))
Store (Local0, Index (DCRS, 0x0F))
ShiftLeft (0x01, INTR, Local0)
Store (Local0, Index (DCRS, 0x11))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x12))
}
Else
{
Store (0x00, Index (DCRS, 0x02))
Store (0x00, Index (DCRS, 0x0A))
Store (0x00, Index (DCRS, 0x04))
Store (0x00, Index (DCRS, 0x0C))
Store (0x00, Index (DCRS, 0x03))
Store (0x00, Index (DCRS, 0x05))
Store (0x00, Index (DCRS, 0x0B))
Store (0x00, Index (DCRS, 0x0D))
Store (0x00, Index (DCRS, 0x11))
Store (0x00, Index (DCRS, 0x12))
}
EXFG ()
Return (DCRS)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, ADRL)
CreateByteField (Arg0, 0x03, ADRM)
CreateWordField (Arg0, 0x11, IRQM)
FindSetRightBit (IRQM, Local0)
Decrement (Local0)
Store (0x00, \_SB.PCI0.LPCB.LPTE)
And (IOD1, 0xF0, Local2)
If (LEqual (ADRM, 0x03))
{
If (LEqual (ADRL, 0xBC))
{
Or (Local2, 0x02, IOD1)
}
Else
{
Store (Local2, IOD1)
}
}
Else
{
Or (Local2, 0x01, IOD1)
}
Store (0x01, \_SB.PCI0.LPCB.LPTE)
ENFG (0x01)
Store (Local0, INTR)
Store (ADRM, IOAH)
Store (ADRL, IOAL)
Store (0x01, ACTR)
EXFG ()
}
}
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
IRQ (Edge, ActiveHigh, Exclusive) {1}
})
}
Device (PS2M)
{
Name (_HID, EisaId ("SYN1003"))
Name (_CID, Package (0x03)
{
0x00102E4F,
0x02002E4F,
0x130FD041
})
Name (_CRS, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive) {12}
})
}
}
Device (PATA)
{
Name (_ADR, 0x001F0001)
OperationRegion (PACS, PCI_Config, 0x40, 0xC0)
Field (PACS, DWordAcc, NoLock, Preserve)
{
PRIT, 16,
Offset (0x04),
PSIT, 4,
Offset (0x08),
SYNC, 4,
Offset (0x0A),
SDT0, 2,
, 2,
SDT1, 2,
Offset (0x14),
ICR0, 4,
ICR1, 4,
ICR2, 4,
ICR3, 4,
ICR4, 4,
ICR5, 4
}
Device (PRID)
{
Name (_ADR, 0x00)
Method (_GTM, 0, NotSerialized)
{
Return (Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x1F, 0x00, 0x00, 0x00
})
}
Method (_STM, 3, NotSerialized)
{
CreateDWordField (Arg0, 0x00, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
If (LEqual (SizeOf (Arg1), 0x0200))
{
And (PRIT, 0x40F0, PRIT)
And (SYNC, 0x02, SYNC)
Store (0x00, SDT0)
And (ICR0, 0x02, ICR0)
And (ICR1, 0x02, ICR1)
And (ICR3, 0x02, ICR3)
And (ICR5, 0x02, ICR5)
CreateWordField (Arg1, 0x62, W490)
CreateWordField (Arg1, 0x6A, W530)
CreateWordField (Arg1, 0x7E, W630)
CreateWordField (Arg1, 0x80, W640)
CreateWordField (Arg1, 0xB0, W880)
CreateWordField (Arg1, 0xBA, W930)
Or (PRIT, 0x8004, PRIT)
If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
{
Or (PRIT, 0x02, PRIT)
}
Or (PRIT, SETP (PIO0, W530, W640), PRIT)
If (And (FLAG, 0x01))
{
Or (SYNC, 0x01, SYNC)
Store (SDMA (DMA0), SDT0)
If (LLess (DMA0, 0x1E))
{
Or (ICR3, 0x01, ICR3)
}
If (LLess (DMA0, 0x3C))
{
Or (ICR0, 0x01, ICR0)
}
If (And (W930, 0x2000))
{
Or (ICR1, 0x01, ICR1)
}
}
}
If (LEqual (SizeOf (Arg2), 0x0200))
{
And (PRIT, 0x3F0F, PRIT)
Store (0x00, PSIT)
And (SYNC, 0x01, SYNC)
Store (0x00, SDT1)
And (ICR0, 0x01, ICR0)
And (ICR1, 0x01, ICR1)
And (ICR3, 0x01, ICR3)
And (ICR5, 0x01, ICR5)
CreateWordField (Arg2, 0x62, W491)
CreateWordField (Arg2, 0x6A, W531)
CreateWordField (Arg2, 0x7E, W631)
CreateWordField (Arg2, 0x80, W641)
CreateWordField (Arg2, 0xB0, W881)
CreateWordField (Arg2, 0xBA, W931)
Or (PRIT, 0x8040, PRIT)
If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
{
Or (PRIT, 0x20, PRIT)
}
If (And (FLAG, 0x10))
{
Or (PRIT, 0x4000, PRIT)
If (LGreater (PIO1, 0xF0))
{
Or (PRIT, 0x80, PRIT)
}
Else
{
Or (PRIT, 0x10, PRIT)
Store (SETT (PIO1, W531, W641), PSIT)
}
}
If (And (FLAG, 0x04))
{
Or (SYNC, 0x02, SYNC)
Store (SDMA (DMA1), SDT1)
If (LLess (DMA1, 0x1E))
{
Or (ICR3, 0x02, ICR3)
}
If (LLess (DMA1, 0x3C))
{
Or (ICR0, 0x02, ICR0)
}
If (And (W931, 0x2000))
{
Or (ICR1, 0x02, ICR1)
}
}
}
}
Device (P_D0)
{
Name (_ADR, 0x00)
Method (_RMV, 0, NotSerialized)
{
Return (XOr (SATD, 0x01))
}
Method (_GTF, 0, NotSerialized)
{
Name (PIB0, Buffer (0x0E)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
})
CreateByteField (PIB0, 0x01, PMD0)
CreateByteField (PIB0, 0x08, DMD0)
If (And (PRIT, 0x02))
{
If (LEqual (And (PRIT, 0x09), 0x08))
{
Store (0x08, PMD0)
}
Else
{
Store (0x0A, PMD0)
ShiftRight (And (PRIT, 0x0300), 0x08, Local0)
ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)
Add (Local0, Local1, Local2)
If (LEqual (0x03, Local2))
{
Store (0x0B, PMD0)
}
If (LEqual (0x05, Local2))
{
Store (0x0C, PMD0)
}
}
}
Else
{
Store (0x01, PMD0)
}
If (And (SYNC, 0x01))
{
Store (Or (SDT0, 0x40), DMD0)
If (And (ICR1, 0x01))
{
If (And (ICR0, 0x01))
{
Add (DMD0, 0x02, DMD0)
}
If (And (ICR3, 0x01))
{
Store (0x45, DMD0)
}
}
}
Else
{
Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
}
Return (PIB0)
}
}
Device (BAY)
{
Name (_ADR, 0x01)
Name (IDER, 0x00)
Name (BAYE, 0x00)
Method (_INI, 0, NotSerialized)
{
Store (\_SB.PCI0.PATA.PRID.BAY._STA (), Local0)
If (Local0)
{
Store (0x01, BAYE)
}
Else
{
Store (0x00, BAYE)
}
}
Method (_STA, 0, NotSerialized)
{
And (0x03, BAYS, BAYS)
Store (BAYS, Local0)
If (Or (LEqual (Local0, 0x03), LEqual (Local0, 0x00)))
{
Return (0x00)
}
Else
{
Return (0x0F)
}
}
Method (_EJ0, 1, NotSerialized)
{
If (Arg0)
{
Store (0x01, BAYO)
Sleep (0x012C)
Store (0x00, BAYR)
Sleep (0x01F4)
Store (0x01, BAYR)
Sleep (0x01F4)
}
}
Method (BAYF, 0, NotSerialized)
{
Store (\_SB.PCI0.PATA.PRID.BAY._STA (), Local0)
If (Local0)
{
Store (0x01, \_SB.PCI0.PATA.PRID.BAY.IDER)
Store (0xAA, P80H)
}
Else
{
Store (0x00, \_SB.PCI0.PATA.PRID.BAY.IDER)
Store (0x55, P80H)
}
Return (Local0)
}
Method (Z009, 0, NotSerialized)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.LPCB.EC0.BAYE, Local1)
Store (\_SB.PCI0.LPCB.EC0.BAYI, Local2)
Store (0x01, \_SB.PCI0.LPCB.EC0.BAYE)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
If (Local1)
{
If (Local2)
{
Store (\_SB.PCI0.PATA.PRID.BAY._STA (), Local0)
If (Local0)
{
If (LEqual (BAYE, 0x00))
{
If (LEqual (BAYO, 0x00))
{
Store (0x01, BAYO)
Store (0x00, BAYR)
Sleep (0x012C)
}
Store (0x01, BAYE)
}
If (BAYO)
{
Store (0x00, BAYO)
Sleep (0x012C)
Store (0x00, BAYR)
Sleep (0x01F4)
Store (0x01, BAYR)
Sleep (0x0BB8)
Store (0x8B, P80H)
If (LEqual (\_SB.PCI0.PATA.PRID.BAY.IDER, 0x00))
{
\_SB.PHSR (0x04, 0x00)
Store (0x01, \_SB.PCI0.PATA.PRID.BAY.IDER)
}
Notify (\_SB.PCI0.PATA.PRID.BAY, 0x00)
}
}
}
Else
{
Store (0x88, P80H)
Store (0x00, BAYE)
If (LEqual (BAYO, 0x00))
{
Store (0x89, P80H)
Notify (\_SB.PCI0.PATA.PRID.BAY, 0x03)
Sleep (0x01F4)
}
}
}
}
Method (_GTF, 0, NotSerialized)
{
Name (PIB1, Buffer (0x0E)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
})
CreateByteField (PIB1, 0x01, PMD1)
CreateByteField (PIB1, 0x08, DMD1)
If (And (PRIT, 0x20))
{
If (LEqual (And (PRIT, 0x90), 0x80))
{
Store (0x08, PMD1)
}
Else
{
Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0)
If (LEqual (0x05, Local0))
{
Store (0x0C, PMD1)
}
Else
{
If (LEqual (0x03, Local0))
{
Store (0x0B, PMD1)
}
Else
{
Store (0x0A, PMD1)
}
}
}
}
Else
{
Store (0x01, PMD1)
}
If (And (SYNC, 0x02))
{
Store (Or (SDT1, 0x40), DMD1)
If (And (ICR1, 0x02))
{
If (And (ICR0, 0x02))
{
Add (DMD1, 0x02, DMD1)
}
If (And (ICR3, 0x02))
{
Store (0x45, DMD1)
}
}
}
Else
{
Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
}
Return (PIB1)
}
}
}
}
Device (SATA)
{
Name (_ADR, 0x001F0002)
OperationRegion (SACS, PCI_Config, 0x40, 0xC0)
Field (SACS, DWordAcc, NoLock, Preserve)
{
PRIT, 16,
SECT, 16,
PSIT, 4,
SSIT, 4,
Offset (0x08),
SYNC, 4,
Offset (0x0A),
SDT0, 2,
, 2,
SDT1, 2,
Offset (0x0B),
SDT2, 2,
, 2,
SDT3, 2,
Offset (0x14),
ICR0, 4,
ICR1, 4,
ICR2, 4,
ICR3, 4,
ICR4, 4,
ICR5, 4,
Offset (0x50),
MAPV, 2,
Offset (0x52),
PCSR, 8
}
}
Device (SBUS)
{
Name (_ADR, 0x001F0003)
OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
Field (SMBP, DWordAcc, NoLock, Preserve)
{
, 2,
I2CE, 1
}
OperationRegion (SMBI, SystemIO, 0x20A0, 0x10)
Field (SMBI, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
Offset (0x02),
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 (0x00)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}
Return (0x00)
}
Method (SRXB, 1, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (0x44, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (DAT0)
}
Return (0xFFFF)
}
Method (SWRB, 3, Serialized)
{
If (STRT ())
{
Return (0x00)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (Arg2, DAT0)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}
Return (0x00)
}
Method (SRDB, 2, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (Arg1, HCOM)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (DAT0)
}
Return (0xFFFF)
}
Method (SBLW, 4, Serialized)
{
If (STRT ())
{
Return (0x00)
}
Store (Arg3, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (SizeOf (Arg2), DAT0)
Store (0x00, Local1)
Store (DerefOf (Index (Arg2, 0x00)), 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 (0x00)
}
Store (0x80, HSTS)
Increment (Local1)
If (LGreater (SizeOf (Arg2), Local1))
{
Store (DerefOf (Index (Arg2, Local1)), HBDR)
}
}
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}
Return (0x00)
}
Method (SBLR, 3, Serialized)
{
Name (TBUF, Buffer (0x0100) {})
If (STRT ())
{
Return (0x00)
}
Store (Arg2, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), 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 (0x00)
}
Store (DAT0, Index (TBUF, 0x00))
Store (0x80, HSTS)
Store (0x01, Local1)
While (LLess (Local1, DerefOf (Index (TBUF, 0x00))))
{
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}
If (LNot (Local0))
{
KILL ()
Return (0x00)
}
Store (HBDR, Index (TBUF, Local1))
Store (0x80, HSTS)
Increment (Local1)
}
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (TBUF)
}
Return (0x00)
}
Method (STRT, 0, Serialized)
{
Store (0xC8, Local0)
While (Local0)
{
If (And (HSTS, 0x40))
{
Decrement (Local0)
Sleep (0x01)
If (LEqual (Local0, 0x00))
{
Return (0x01)
}
}
Else
{
Store (0x00, Local0)
}
}
Store (0x0FA0, Local0)
While (Local0)
{
If (And (HSTS, 0x01))
{
Decrement (Local0)
Stall (0x32)
If (LEqual (Local0, 0x00))
{
KILL ()
}
}
Else
{
Return (0x00)
}
}
Return (0x01)
}
Method (COMP, 0, Serialized)
{
Store (0x0FA0, Local0)
While (Local0)
{
If (And (HSTS, 0x02))
{
Return (0x01)
}
Else
{
Decrement (Local0)
Stall (0x32)
If (LEqual (Local0, 0x00))
{
KILL ()
}
}
}
Return (0x00)
}
Method (KILL, 0, Serialized)
{
Or (HCON, 0x02, HCON)
Or (HSTS, 0xFF, HSTS)
}
}
}
OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
Field (SMI0, AnyAcc, NoLock, Preserve)
{
SMIC, 8
}
OperationRegion (SMI1, SystemMemory, 0x1F699E2D, 0x00000120)
Field (SMI1, AnyAcc, NoLock, Preserve)
{
BCMD, 8,
DID, 32,
INF, 8
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
Offset (0x110),
BTEN, 1,
WLAN, 1,
DOCK, 1,
Z006, 1
}
Mutex (PSMX, 0x00)
Method (PHSR, 2, NotSerialized)
{
Acquire (\_SB.PSMX, 0xFFFF)
Store (0x90, BCMD)
Store (Arg0, DID)
Store (Arg1, INF)
Store (Zero, SMIC)
Store (INF, Local0)
Release (\_SB.PSMX)
Return (Local0)
}
Device (ACAD)
{
Name (_HID, "ACPI0003")
Name (_PCL, Package (0x01)
{
\_SB
})
Name (ACST, 0x00)
Method (_PSR, 0, NotSerialized)
{
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.LPCB.EC0.ACDF, ACST)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
}
Else
{
Store (0x01, ACST)
}
If (ACST)
{
Store (0x01, Local0)
Store (0x00, \_SB.BAT1.BCRI)
}
Else
{
Store (0x00, Local0)
}
Return (Local0)
}
}
Device (BAT1)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, 0x01)
Name (CBTI, 0x00)
Name (PBTI, 0x00)
Name (BTIN, 0x00)
Name (BTCH, 0x00)
Name (BIFI, 0x00)
Name (SEL0, 0x00)
Name (BCRI, 0x00)
Name (PBIF, Package (0x0D)
{
0x01,
0x1130,
0x1130,
0x01,
0x2B5C,
0x012C,
0x84,
0x20,
0x20,
"BAT1 ",
"11 ",
"11 ",
"11 "
})
Name (PBST, Package (0x04)
{
0x00,
Z00C,
Z00C,
0x2710
})
Name (ERRC, 0x00)
Name (_PCL, Package (0x01)
{
\_SB
})
Method (_STA, 0, NotSerialized)
{
If (BTIN)
{
Return (0x1F)
}
Else
{
Return (0x0F)
}
}
Method (_BIF, 0, NotSerialized)
{
If (LEqual (BIFI, 0x00))
{
\_SB.BAT1.UBIF ()
Store (0x01, BIFI)
}
Return (PBIF)
}
Name (LFCC, 0x1130)
Method (UBIF, 0, NotSerialized)
{
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.LPCB.EC0.BTDC, Local0)
Store (\_SB.PCI0.LPCB.EC0.LFCC, Local1)
Store (\_SB.PCI0.LPCB.EC0.BTDV, Local2)
Store (\_SB.PCI0.LPCB.EC0.BTMD, Local3)
Store (\_SB.PCI0.LPCB.EC0.BTMN, Local4)
Store (\_SB.PCI0.LPCB.EC0.BTSN, Local5)
Store (\_SB.PCI0.LPCB.EC0.LION, Local6)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
Store (Local0, Index (PBIF, 0x01))
Store (Local1, Index (PBIF, 0x02))
Store (Local2, Index (PBIF, 0x04))
Store (Local1, LFCC)
If (Local6)
{
Store ("NiMH", Index (PBIF, 0x0B))
}
Else
{
Store ("LION", Index (PBIF, 0x0B))
}
And (Local3, 0x0F, Local3)
If (LEqual (Local3, 0x01))
{
Store ("ZL01", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x02))
{
Store ("ZL02", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x03))
{
Store ("ZL03", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x04))
{
Store ("ZL04", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x05))
{
Store ("ZL05", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x06))
{
Store ("ZL06", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x08))
{
Store ("ZL08", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x09))
{
Store ("ZL09", Index (PBIF, 0x09))
}
}
}
}
}
}
}
}
If (LEqual (Local4, 0x08))
{
Store ("MOTOROLA", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x06))
{
Store ("SIMPLO", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x05))
{
Store ("SANYO", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x04))
{
Store ("SONY", Index (PBIF, 0x0C))
}
}
}
}
Store (ITOS (ToBCD (Local5)), Index (PBIF, 0x0A))
}
}
Name (RCAP, 0x00)
Method (_BST, 0, NotSerialized)
{
If (LEqual (BTIN, 0x00))
{
Store (0x00, Index (PBST, 0x00))
Store (0xFFFFFFFF, Index (PBST, 0x01))
Store (0xFFFFFFFF, Index (PBST, 0x02))
Store (0xFFFFFFFF, Index (PBST, 0x03))
Return (PBST)
}
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.LPCB.EC0.MBTC, Local0)
Store (\_SB.PCI0.LPCB.EC0.MBRM, Local1)
Store (\_SB.PCI0.LPCB.EC0.MBVG, Local2)
Store (\_SB.PCI0.LPCB.EC0.MCUR, Local3)
Store (\_SB.PCI0.LPCB.EC0.BTST, Local4)
Store (\_SB.PCI0.LPCB.EC0.MBTF, Local5)
Store (\_SB.PCI0.LPCB.EC0.ACDF, Local6)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
If (Local6)
{
If (LEqual (Local5, 0x01))
{
Store (0x00, Local7)
Store (LFCC, Local1)
}
Else
{
If (LEqual (Local0, 0x01))
{
Store (0x02, Local7)
}
Else
{
Store (0x00, Local7)
}
}
}
Else
{
If (LAnd (Local4, 0x01))
{
Store (0x01, Local7)
}
Else
{
Store (0x00, Local7)
}
}
And (Local4, 0x04, Local4)
If (LEqual (Local4, 0x04))
{
Or (Local7, Local4, Local7)
}
Store (Local7, Index (PBST, 0x00))
If (LNot (And (Local1, 0x8000)))
{
Store (Local1, Index (PBST, 0x02))
}
If (LNot (And (Local2, 0x8000)))
{
Store (Local7, Index (PBST, 0x03))
}
If (LAnd (Local3, 0x8000))
{
If (LNot (LEqual (Local3, 0xFFFF)))
{
Not (Local3, Local3)
Increment (Local3)
And (Local3, 0xFFFF, Local3)
}
}
Store (Local3, Index (PBST, 0x01))
}
Return (PBST)
}
Method (Z008, 0, NotSerialized)
{
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.LPCB.EC0.MBTS, Local0)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
If (LEqual (Local0, 0x01))
{
If (LEqual (\_SB.BAT1.BTIN, 0x00))
{
Store (0x01, \_SB.BAT1.BTCH)
Store (0x00, \_SB.BAT1.BIFI)
}
Store (0x01, \_SB.BAT1.BTIN)
}
Else
{
If (LEqual (\_SB.BAT1.BTIN, 0x01))
{
Store (0x01, \_SB.BAT1.BTCH)
Store (0x00, \_SB.BAT1.BIFI)
}
Store (0x00, \_SB.BAT1.BTIN)
}
}
}
}
Device (BAT2)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, 0x02)
Name (CBTI, 0x00)
Name (PBTI, 0x00)
Name (BTIN, 0x00)
Name (BTCH, 0x00)
Name (BIFI, 0x00)
Name (SEL0, 0x00)
Name (BCRI, 0x00)
Name (PBIF, Package (0x0D)
{
0x01,
0x1130,
0x1130,
0x01,
0x2B5C,
0x012C,
0x84,
0x20,
0x20,
"BAT2 ",
"11 ",
"11 ",
"11 "
})
Name (PBST, Package (0x04)
{
0x00,
Z00C,
Z00C,
0x2710
})
Name (ERRC, 0x00)
Name (_PCL, Package (0x01)
{
\_SB
})
Method (_STA, 0, NotSerialized)
{
If (BTIN)
{
Return (0x1F)
}
Else
{
Return (0x0F)
}
}
Method (_BIF, 0, NotSerialized)
{
If (LEqual (BIFI, 0x00))
{
\_SB.BAT2.UBIF ()
Store (0x01, BIFI)
}
Return (\_SB.BAT2.PBIF)
}
Name (LFCC, 0x1130)
Method (UBIF, 0, NotSerialized)
{
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.LPCB.EC0.ABDC, Local0)
Store (\_SB.PCI0.LPCB.EC0.AFCC, Local1)
Store (\_SB.PCI0.LPCB.EC0.ABDV, Local2)
Store (\_SB.PCI0.LPCB.EC0.ABMD, Local3)
Store (\_SB.PCI0.LPCB.EC0.ABMN, Local4)
Store (\_SB.PCI0.LPCB.EC0.ABSN, Local5)
Store (\_SB.PCI0.LPCB.EC0.ABTP, Local6)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
Store (Local0, Index (PBIF, 0x01))
Store (Local1, Index (PBIF, 0x02))
Store (Local2, Index (PBIF, 0x04))
Store (Local1, LFCC)
If (Local6)
{
Store ("NiMH", Index (PBIF, 0x0B))
}
Else
{
Store ("LION", Index (PBIF, 0x0B))
}
And (Local3, 0x0F, Local3)
If (LEqual (Local3, 0x01))
{
Store ("ZL01", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x02))
{
Store ("ZL02", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x03))
{
Store ("ZL03", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x07))
{
Store ("ZL07", Index (PBIF, 0x09))
}
}
}
}
If (LEqual (Local4, 0x08))
{
Store ("MOTOROLA", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x06))
{
Store ("SIMPLO", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x05))
{
Store ("SANYO", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x04))
{
Store ("SONY", Index (PBIF, 0x0C))
}
}
}
}
Store (ITOS (ToBCD (Local5)), Index (PBIF, 0x0A))
}
}
Name (RCAP, 0x00)
Name (AUXB, 0x00)
Method (_BST, 0, NotSerialized)
{
If (LEqual (BTIN, 0x00))
{
Store (0x00, Index (PBST, 0x00))
Store (0xFFFFFFFF, Index (PBST, 0x01))
Store (0xFFFFFFFF, Index (PBST, 0x02))
Store (0xFFFFFFFF, Index (PBST, 0x03))
Return (PBST)
}
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.LPCB.EC0.ABCG, Local0)
Store (\_SB.PCI0.LPCB.EC0.ABRM, Local1)
Store (\_SB.PCI0.LPCB.EC0.ABVG, Local2)
Store (\_SB.PCI0.LPCB.EC0.ABCR, Local3)
Store (\_SB.PCI0.LPCB.EC0.ABCT, Local4)
Store (\_SB.PCI0.LPCB.EC0.ABFC, Local5)
Store (\_SB.PCI0.LPCB.EC0.ACDF, Local6)
Store (\_SB.PCI0.LPCB.EC0.Z007, AUXB)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
If (Local6)
{
If (LEqual (Local5, 0x01))
{
Store (0x00, Local7)
Store (LFCC, Local1)
}
Else
{
If (LEqual (Local0, 0x01))
{
Store (0x02, Local7)
}
Else
{
Store (0x00, Local7)
}
}
}
Else
{
If (AUXB)
{
Store (0x01, Local7)
}
Else
{
Store (0x00, Local7)
}
If (LEqual (Local4, 0x01))
{
And (0xFE, Local7)
Or (Local7, 0x04, Local7)
}
}
Store (Local7, Index (PBST, 0x00))
If (LNot (And (Local1, 0x8000)))
{
Store (Local1, Index (PBST, 0x02))
}
If (LNot (And (Local2, 0x8000)))
{
Store (Local7, Index (PBST, 0x03))
}
If (LAnd (Local3, 0x8000))
{
If (LNot (LEqual (Local3, 0xFFFF)))
{
Not (Local3, Local3)
Increment (Local3)
And (Local3, 0xFFFF, Local3)
}
}
Store (Local3, Index (PBST, 0x01))
}
Return (PBST)
}
Method (Z008, 0, NotSerialized)
{
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.LPCB.EC0.ABTS, Local0)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
If (LEqual (Local0, 0x01))
{
If (LEqual (\_SB.BAT2.BTIN, 0x00))
{
Store (0x01, \_SB.BAT2.BTCH)
Store (0x00, \_SB.BAT2.BIFI)
}
Store (0x01, \_SB.BAT2.BTIN)
}
Else
{
If (LEqual (\_SB.BAT2.BTIN, 0x01))
{
Store (0x01, \_SB.BAT2.BTCH)
Store (0x00, \_SB.BAT2.BIFI)
}
Store (0x00, \_SB.BAT2.BTIN)
}
}
}
}
Device (LID)
{
Name (_HID, EisaId ("PNP0C0D"))
Method (_INI, 0, NotSerialized)
{
Store (0x01, LIDS)
}
Method (_LID, 0, NotSerialized)
{
Store (0x01, LIDS)
If (LIDS)
{
If (LIDP)
{
Store (0x00, Local0)
}
Else
{
Store (0x01, Local0)
}
}
Else
{
Store (LIDP, Local0)
}
Return (Local0)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
}
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
}
Scope (\_TZ)
{
ThermalZone (THRM)
{
Method (_TMP, 0, NotSerialized)
{
If (\_SB.ECOK)
{
Acquire (\_SB.PCI0.LPCB.EC0.MUT1, 0xFFFF)
Store (\_SB.PCI0.LPCB.EC0.CTMP, Local0)
Release (\_SB.PCI0.LPCB.EC0.MUT1)
Return (Add (Multiply (Local0, 0x0A), 0x0AAC))
}
Else
{
Return (0x0C3C)
}
}
Method (_PSV, 0, NotSerialized)
{
Return (Add (Multiply (0x5D, 0x0A), 0x0AAC))
}
Name (_PSL, Package (0x01)
{
\_PR.CPU0
})
Name (_TSP, 0x28)
Name (_TC1, 0x02)
Name (_TC2, 0x03)
Method (_CRT, 0, NotSerialized)
{
Return (Add (Multiply (0x61, 0x0A), 0x0AAC))
}
}
}
}
Name (FWSO, "FWSO")
Scope (\_PR.CPU0)
{
Method (_PPC, 0, NotSerialized)
{
Return (0x00)
}
Method (_PCT, 0, NotSerialized)
{
If (And (CFGD, 0x4000))
{
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000000800)
},
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000000802)
}
})
}
If (LAnd (And (CFGD, 0x02), And (PDC0, 0x01)))
{
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
}
})
}
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO, 0x10, 0x00, 0x00000000000000B2)
},
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x00000000000000B3)
}
})
}
Method (_PSS, 0, NotSerialized)
{
If (LAnd (LNot (And (CFGD, 0x4000)), LAnd (And (CFGD, 0x02), And (PDC0, 0x01))))
{
Return (NPSS)
}
Return (SPSS)
}
Name (SPSS, Package (0x04)
{
Package (0x06)
{
0x00000640,
0x00006978,
0x0000006E,
0x0000000A,
0x00000083,
0x00000000
},
Package (0x06)
{
0x00000535,
0x000055F0,
0x0000006E,
0x0000000A,
0x00000183,
0x00000001
},
Package (0x06)
{
0x0000042B,
0x00004650,
0x0000006E,
0x0000000A,
0x00000283,
0x00000002
},
Package (0x06)
{
0x00000320,
0x000032C8,
0x0000006E,
0x0000000A,
0x00000383,
0x00000003
}
})
Name (NPSS, Package (0x04)
{
Package (0x06)
{
0x00000640,
0x00006978,
0x0000000A,
0x0000000A,
0x00000C29,
0x00000C29
},
Package (0x06)
{
0x00000535,
0x000055F0,
0x0000000A,
0x0000000A,
0x00000A22,
0x00000A22
},
Package (0x06)
{
0x0000042B,
0x00004650,
0x0000000A,
0x0000000A,
0x0000081A,
0x0000081A
},
Package (0x06)
{
0x00000320,
0x000032C8,
0x0000000A,
0x0000000A,
0x00000612,
0x00000612
}
})
}
Scope (\_PR.CPU0)
{
Method (_CST, 0, NotSerialized)
{
If (And (CFGD, 0x4000))
{
Return (Package (0x02)
{
0x01,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x01, 0x01, 0x0000000000000809)
},
0x01,
0x01,
0x03E8
}
})
}
If (And (CFGD, 0x80))
{
Return (Package (0x05)
{
0x04,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
0x01,
0x01,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001014)
},
0x02,
0x01,
0x01F4
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001015)
},
0x03,
0x55,
0xFA
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001016)
},
0x03,
0xB9,
0x64
}
})
}
If (And (CFGD, 0x40))
{
Return (Package (0x04)
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
0x01,
0x01,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001014)
},
0x02,
0x01,
0x01F4
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001015)
},
0x03,
0x55,
0xFA
}
})
}
If (And (CFGD, 0x20))
{
Return (Package (0x03)
{
0x02,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
0x01,
0x01,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001014)
},
0x02,
0x01,
0x01F4
}
})
}
Return (Package (0x02)
{
0x01,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
0x01,
0x01,
0x03E8
}
})
}
}
Scope (\)
{
Name (SSDT, Package (0x0C)
{
"CPU0IST ",
0x1F681411,
0x00000235,
"CPU1IST ",
0x00000000,
0xF000FF53,
"CPU0CST ",
0x1F681239,
0x000001D8,
"CPU1CST ",
0x00000000,
0xF000FF53
})
Name (CFGD, 0x06D882F2)
Name (\PDC0, 0x80000000)
Name (\PDC1, 0x80000000)
}
Scope (\_PR.CPU0)
{
Name (HI0, 0x00)
Name (HC0, 0x00)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, CAP0)
Store (CAP0, PDC0)
If (LAnd (And (CFGD, 0x4000), LEqual (And (PDC0, 0x0A), 0x0A)))
{
If (And (CFGD, 0x03))
{
OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, 0x01)), DerefOf (Index (SSDT, 0x02)))
Load (IST0, HI0)
}
If (And (CFGD, 0x10))
{
OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08)))
Load (CST0, HC0)
}
}
}
}
Scope (\_PR.CPU1)
{
Name (HI1, 0x00)
Name (HC1, 0x00)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, CAP1)
Store (CAP1, PDC1)
If (LAnd (And (CFGD, 0x4000), LEqual (And (PDC1, 0x0A), 0x0A)))
{
If (And (CFGD, 0x03))
{
OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05)))
Load (IST1, HI1)
}
If (And (CFGD, 0x10))
{
OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
Load (CST1, HC1)
}
}
If (LEqual (And (PDC1, 0x0A), 0x0A))
{
If (LEqual (WTHT, 0x01))
{
Store (0x00, WTHT)
Store (0x33, SMIF)
Store (0x00, TRP0)
}
}
}
}
}
>How-To-Repeat:
Same problem exists after upgrading and building custom kernel from 5.4-RELEASE to 6.0-STABLE
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list