| Summary: | [acpi] ACPI-0438: *** Error: Looking up [Z00C] in namespace, AE_NOT_FOUND | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Dominique Werner <dwerner1974> |
| Component: | kern | Assignee: | freebsd-acpi (Nobody) <acpi> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 6.0-STABLE | ||
| Hardware: | Any | ||
| OS: | Any | ||
Responsible Changed From-To: freebsd-bugs->freebsd-acpi Over to maintainer(s). I see the same problem on the Acer Ferrari 4005, where Z00C isn't defined and thus the battery status method fails. Dana On Sat, 3 Dec 2005 18:00:21 GMT "Dana H. Myers" <dana.myers@gmail.com> wrote: > The following reply was made to PR kern/89879; it has been noted by > GNATS. > > From: "Dana H. Myers" <dana.myers@gmail.com> > To: bug-followup@FreeBSD.org, dwerner1974@yahoo.com > Cc: > Subject: Re: kern/89879: [acpi] ACPI-0438: *** Error: Looking up > [Z00C] in > namespace, AE_NOT_FOUND > Date: Sat, 03 Dec 2005 09:55:19 -0800 > > I see the same problem on the Acer Ferrari 4005, where Z00C isn't > defined and thus the battery status method fails. > This is actually easy to fix, provided that you know how to dump, edit and recompile your acpi dsdt using acpidump(8) and iasl(8). Take a look at http://people.freebsd.org/~ariff/acer_ferrari/ for an example on how to tweak and recover the functionality of battery status method. -- Ariff Abdullah FreeBSD I've fixed a few things but still get an error message upon boot, I don't know what exactly needs to be changed in the asl so it will work, this is my new output: lepus# iasl dsdt.asl Intel ACPI Component Architecture ASL Optimizing Compiler / AML Disassembler version 20041119 [Dec 13 2005] Copyright (C) 2000 - 2004 Intel Corporation Supports ACPI Specification Revision 2.0c dsdt.asl 2026: Method (DRUL, 1, NotSerialized) Warning 2019 - ^ Not all control paths return a value (DRUL) dsdt.asl 2673: Method (_DCK, 1, NotSerialized) Warning 2019 - ^ Not all control paths return a value (_DCK) dsdt.asl 2673: Method (_DCK, 1, NotSerialized) Warning 2026 - ^ Reserved method must return a value (_DCK) ASL Input: dsdt.asl - 7481 lines, 256525 bytes, 3332 keywords AML Output: DSDT.aml - 28716 bytes 702 named objects 2630 executable opcodes Compilation complete. 0 Errors, 3 Warnings, 0 Remarks, 1152 Optimizations --- Ariff Abdullah <ariff@FreeBSD.org> wrote: > On Sat, 3 Dec 2005 18:00:21 GMT > "Dana H. Myers" <dana.myers@gmail.com> wrote: > > The following reply was made to PR kern/89879; it > has been noted by > > GNATS. > > > > From: "Dana H. Myers" <dana.myers@gmail.com> > > To: bug-followup@FreeBSD.org, > dwerner1974@yahoo.com > > Cc: > > Subject: Re: kern/89879: [acpi] ACPI-0438: *** > Error: Looking up > > [Z00C] in > > namespace, AE_NOT_FOUND > > Date: Sat, 03 Dec 2005 09:55:19 -0800 > > > > I see the same problem on the Acer Ferrari 4005, > where Z00C isn't > > defined and thus the battery status method fails. > > > This is actually easy to fix, provided that you know > how to dump, edit > and recompile your acpi dsdt using acpidump(8) and > iasl(8). Take a > look at > http://people.freebsd.org/~ariff/acer_ferrari/ for > an example > on how to tweak and recover the functionality of > battery status > method. > > -- > Ariff Abdullah > FreeBSD > __________________________________________ Yahoo! DSL Something to write home about. Just $16.99/mo. or less. dsl.yahoo.com Thanks for your help again, Ariff...it's finally
fixed.
My laptop now boots like it should and when I unplug
it i can now see the remaining battery life.
lepus% apm
APM version: 1.2
APM Management: Enabled
AC Line status: off-line
Battery Status: high
Remaining battery life: 99%
Remaining battery time: 2:56:00
Number of batteries: 2
Battery 0:
Battery Status: high
Remaining battery life: 99%
Remaining battery time: 2:56:00
Battery 1:
not present
Resume timer: unknown
Resume on ring indicator: disabled
--- Ariff Abdullah <ariff@FreeBSD.org> wrote:
> On Sat, 3 Dec 2005 18:00:21 GMT
> "Dana H. Myers" <dana.myers@gmail.com> wrote:
> > The following reply was made to PR kern/89879; it
> has been noted by
> > GNATS.
> >
> > From: "Dana H. Myers" <dana.myers@gmail.com>
> > To: bug-followup@FreeBSD.org,
> dwerner1974@yahoo.com
> > Cc:
> > Subject: Re: kern/89879: [acpi] ACPI-0438: ***
> Error: Looking up
> > [Z00C] in
> > namespace, AE_NOT_FOUND
> > Date: Sat, 03 Dec 2005 09:55:19 -0800
> >
> > I see the same problem on the Acer Ferrari 4005,
> where Z00C isn't
> > defined and thus the battery status method fails.
> >
> This is actually easy to fix, provided that you know
> how to dump, edit
> and recompile your acpi dsdt using acpidump(8) and
> iasl(8). Take a
> look at
> http://people.freebsd.org/~ariff/acer_ferrari/ for
> an example
> on how to tweak and recover the functionality of
> battery status
> method.
>
> --
> Ariff Abdullah
> FreeBSD
>
__________________________________________
Yahoo! DSL Something to write home about.
Just $16.99/mo. or less.
dsl.yahoo.com
State Changed From-To: open->closed Problem was resolved by patching buggy ASL. |
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@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)