ACPI errors from today
Michael L. Hostbaek
mich at FreeBSD.org
Tue Jun 10 07:50:57 PDT 2003
Howdy,
I cvsup'ed and rebuild my sources today. On boot I get loads of these
errors:
ACPI-0340: *** Error: Could not release ACPI Global Lock,
AE_BAD_PARAMETER
Any ideas ?
I have attached full dmesg and acpidump. It is a noname laptop, however
I believe several parts are orginating from Dell.
Let me know, if you need more info.
/mich
--
Best Regards,
Michael L. Hostbaek
mich at FreeBSD.org - http://www.FreeBSD.org
*/ PGP-key available upon request /*
-------------- next part --------------
Copyright (c) 1992-2003 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 5.1-CURRENT #0: Tue Jun 10 15:45:30 CEST 2003
root at mich.itxmarket.com:/usr/obj/usr/src/sys/CURRENT_01
Preloaded elf kernel "/boot/kernel/kernel" at 0xc05bc000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc05bc1f4.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc05bc244.
Timecounter "i8254" frequency 1193182 Hz
Timecounter "TSC" frequency 497837701 Hz
CPU: Intel Pentium III (497.84-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x681 Stepping = 1
Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory = 268369920 (255 MB)
avail memory = 254439424 (242 MB)
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <COMPAL N30W > on motherboard
pcibios: BIOS version 2.10
Using $PIR table, 7 entries at 0xc00fdf50
Timecounter "ACPI-safe" frequency 3579545 Hz
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
acpi_cpu0: <CPU> port 0x530-0x537 on acpi0
acpi_tz0: <thermal zone> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_cmbat0: <Control method Battery> on acpi0
acpi_cmbat1: <Control method Battery> on acpi0
acpi_acad0: <AC adapter> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib0: slot 7 INTD is routed to irq 5
pcib0: slot 8 INTA is routed to irq 5
pcib0: slot 16 INTA is routed to irq 5
agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem 0xe0000000-0xe3ffffff at device 0.0 on pci0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib1: slot 0 INTA is routed to irq 11
pci1: <display, VGA> at device 0.0 (no driver attached)
cbb0: <TI1225 PCI-CardBus Bridge> at device 4.0 on pci0
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
pcib0: slot 4 INTA is routed to irq 11
cbb1: <TI1225 PCI-CardBus Bridge> at device 4.1 on pci0
cardbus1: <CardBus bus> on cbb1
pccard1: <16-bit PCCard bus> on cbb1
pcib0: slot 4 INTA is routed to irq 11
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 0x1050-0x105f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x1060-0x107f irq 5 at device 7.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> 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
pci0: <bridge, PCI-unknown> at device 7.3 (no driver attached)
pcm0: <ESS Technology Maestro-2E> port 0x1400-0x14ff irq 5 at device 8.0 on pci0
pcm0: <SigmaTel STAC9721/23 AC97 Codec>
malloc() of "64" with the following non-sleepablelocks held:
exclusive sleep mutex pcm0:mixer (pcm mixer) r = 0 (0xc2647bc0) locked @ /usr/src/sys/dev/sound/pcm/mixer.c:322
malloc() of "16" with the following non-sleepablelocks held:
exclusive sleep mutex pcm0:mixer (pcm mixer) r = 0 (0xc2647bc0) locked @ /usr/src/sys/dev/sound/pcm/mixer.c:322
malloc() of "16" with the following non-sleepablelocks held:
exclusive sleep mutex pcm0:mixer (pcm mixer) r = 0 (0xc2647bc0) locked @ /usr/src/sys/dev/sound/pcm/mixer.c:322
malloc() of "16" with the following non-sleepablelocks held:
exclusive sleep mutex pcm0:mixer (pcm mixer) r = 0 (0xc2647bc0) locked @ /usr/src/sys/dev/sound/pcm/mixer.c:322
malloc() of "64" with the following non-sleepablelocks held:
exclusive sleep mutex pcm0:mixer (pcm mixer) r = 0 (0xc2647bc0) locked @ /usr/src/sys/dev/sound/pcm/mixer.c:322
malloc() of "16" with the following non-sleepablelocks held:
exclusive sleep mutex pcm0:mixer (pcm mixer) r = 0 (0xc2647bc0) locked @ /usr/src/sys/dev/sound/pcm/mixer.c:322
malloc() of "16" with the following non-sleepablelocks held:
exclusive sleep mutex pcm0:mixer (pcm mixer) r = 0 (0xc2647bc0) locked @ /usr/src/sys/dev/sound/pcm/mixer.c:322
malloc() of "16" with the following non-sleepablelocks held:
exclusive sleep mutex pcm0:mixer (pcm mixer) r = 0 (0xc2647bc0) locked @ /usr/src/sys/dev/sound/pcm/mixer.c:322
pci0: <simple comms> at device 16.0 (no driver attached)
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
acpi_ec0: <embedded controller> port 0x66,0x62 on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0 port 0x2f8-0x2ff irq 3 on acpi0
sio0: type 16550A
sio1 port 0x258-0x25f,0x3f8-0x3ff irq 4 drq 0 on acpi0
sio1: type 16550A
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
orm0: <Option ROM> at iomem 0xc0000-0xcffff on isa0
pmtimer0 on isa0
ppc0: parallel port not found.
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
Timecounters tick every 10.000 msec
acpi_cpu: throttling enabled, 8 steps (100% to 12.5%), currently 100.0%
ep0: <3Com Megahertz 574B> at port 0x100-0x11f irq 11 function 0 config 1 on pccard0
ep0: Ethernet address 00:50:04:e7:26:08
ACPI-0432: *** Error: Handler for [EmbeddedControl] returned AE_ERROR
ACPI-1287: *** Error: Method execution failed [\\_SB_.BAT0._STA] (Node 0xc0eb9520), AE_ERROR
ACPI-0432: *** Error: Handler for [EmbeddedControl] returned AE_ERROR
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-1287: *** Error: Method execution failed [\\_SB_.BAT1._STA] (Node 0xc0eb9440), AE_ERROR
ata1-slave: timeout waiting for interrupt
ata1-slave: ATAPI identify failed
ad0: 17301MB <IBM-DARA-218000> [35152/16/63] at ata0-master UDMA33
ACPI-0432: *** Error: Handler for [EmbeddedControl] returned AE_ERROR
ACPI-1287: *** Error: Method execution failed [\\_SB_.BAT1._STA] (Node 0xc0eb9440), AE_ERROR
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
acd0: DVD-ROM <TOSHIBA DVD-ROM SD-C2302> at ata1-master PIO4
Mounting root from ufs:/dev/ad0s1a
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
ACPI-0340: *** Error: Could not release ACPI Global Lock, AE_BAD_PARAMETER
-------------- next part --------------
/*
RSD PTR: Checksum=231, OEMID=COMPAL, RsdtAddress=0x0fffb17f
*/
/*
RSDT: Length=44, Revision=1, Checksum=8,
OEMID=COMPAL, OEM Table ID=N30W, OEM Revision=0x6040000,
Creator ID= LTP, Creator Revision=0x0
*/
/*
Entries={ 0x0ffffb65, 0x0ffffbd9 }
*/
/*
DSDT=0xfffb1ab
INT_MODEL=PIC
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
PM1a_EVT_BLK=0x1000-0x1003
PM1a_CNT_BLK=0x1004-0x1005
PM2_TMR_BLK=0x1008-0x100b
PM2_GPE0_BLK=0x100c-0x100f
P_LVL2_LAT=10ms, P_LVL3_LAT=20ms
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=3
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
Flags={WBINVD,PWR_BUTTON,SLP_BUTTON,DCK_CAP}
*/
/*
DSDT: Length=18874, Revision=1, Checksum=248,
OEMID=COMPAL, OEM Table ID=N30W, OEM Revision=0x6040000,
Creator ID=MSFT, Creator Revision=0x100000b
*/
DefinitionBlock (
"acpi_dsdt.aml", //Output filename
"DSDT", //Signature
0x1, //DSDT Revision
"COMPAL", //OEMID
"N30W", //TABLE ID
0x6040000 //OEM Revision
)
{
Scope(\_PR_) {
Processor(CPU0, 0, 0x1010, 0x6) {
}
}
Name(SLST, 0x0)
Method(_PTS, 1) {
Store(Arg0, SLST)
Store(0x1, PWRS)
If(LEqual(Arg0, 0x1)) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.S1EN)
}
If(LNot(LLess(Arg0, 0x2))) {
Store(0x1, \_SB_.PCI0.CRST)
}
Else {
Store(0x0, \_SB_.PCI0.CRST)
}
If(LEqual(Arg0, 0x3)) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.LWAK)
Store(0x1, \_SB_.PCI0.PX40.EC0_.DCWT)
Store(0x88, \_SB_.BCMD)
Store(0x0, \_SB_.SMIC)
}
Return(0x0)
}
Method(_WAK, 1) {
Store(0x1, PWRS)
If(LEqual(Arg0, 0x1)) {
Store(0x0, \_SB_.PCI0.PX40.EC0_.S1EN)
}
If(LLess(Arg0, 0x3)) {
Store(0x86, \_SB_.BCMD)
Store(0x0, \_SB_.SMIC)
}
If(LEqual(Arg0, 0x4)) {
Notify(\_SB_.LID_, 0x80)
}
If(LNot(LLess(Arg0, 0x3))) {
Notify(\_SB_.PCI0, 0x0)
Store(\_SB_.PCI0.PX40.EC0_.DCID, Local0)
If(Local0) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.LDDS)
Store(0x0, \_SB_.PCI0.PX40.EC0_.DCWT)
}
If(LNot(LEqual(Local0, \_SB_.DKTP))) {
If(Local0) {
\_SB_.PCI0.PX40.EC0_._Q04()
}
Else {
\_SB_.PCI0.PX40.EC0_._Q05()
}
}
Else {
If(LEqual(Local0, 0x3)) {
\_SB_.PCI0.FDS_.ENQB()
}
}
}
Return(0x0)
}
Name(\_S0_, Package(0x3) {
0x5,
0x5,
0x0,
})
Name(\_S1_, Package(0x3) {
0x4,
0x4,
0x0,
})
Name(\_S3_, Package(0x3) {
0x1,
0x1,
0x0,
})
Name(\_S4_, Package(0x3) {
0x0,
0x0,
0x0,
})
Name(\_S5_, Package(0x3) {
0x0,
0x0,
0x0,
})
OperationRegion(LDS_, SystemIO, 0x102b, 0x1)
Field(LDS_, ByteAcc, NoLock, Preserve) {
SMFZ, 1,
LPOL, 1
}
OperationRegion(PMS_, SystemIO, 0x1001, 0x1)
Field(PMS_, ByteAcc, NoLock, Preserve) {
PWRS, 1
}
Scope(_GPE) {
Method(_L0A) {
If(\_SB_.PCI0.PX40.EC0_.PWRW) {
Store(0x0, \_SB_.PCI0.PX40.EC0_.PWRW)
Notify(\_SB_.PWRB, 0x2)
}
If(\_SB_.PCI0.PX40.EC0_.RNGW) {
Store(0x0, \_SB_.PCI0.PX40.EC0_.RNGW)
Notify(\_SB_.PCI0.MDM1, 0x2)
}
If(\_SB_.PCI0.PX40.EC0_.LANW) {
Store(0x0, \_SB_.PCI0.PX40.EC0_.LANW)
Notify(\_SB_.PCI0.FDS_, 0x2)
Notify(\_SB_.PCI0.MDM1, 0x2)
}
If(\_SB_.PCI0.PX40.EC0_.COMW) {
Store(0x0, \_SB_.PCI0.PX40.EC0_.COMW)
Notify(\_SB_.PCI0.PX40.SIO_.COM1, 0x2)
}
}
Method(_L0B) {
Not(LPOL, LPOL)
If(\_SB_.PCI0.PX40.ECOK()) {
If(LEqual(\_SB_.PCI0.PX40.EC0_.LIDC, 0x0)) {
Notify(\_SB_.LID_, 0x80)
}
}
Else {
Notify(\_SB_.LID_, 0x80)
}
}
}
Scope(\_SI_) {
Method(_MSG, 1) {
If(\_SB_.PCI0.PX40.ECOK()) {
If(LEqual(Arg0, 0x0)) {
Store(0x0, \_SB_.PCI0.PX40.EC0_.S1LD)
}
If(LEqual(Arg0, 0x1)) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.S1LD)
}
If(LEqual(Arg0, 0x2)) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.S1LD)
}
}
Store("SI_MSG", Debug)
}
Method(_SST, 1) {
If(\_SB_.PCI0.PX40.ECOK()) {
If(LEqual(Arg0, 0x0)) {
If(LNot(LEqual(SLST, 0x5))) {
Store(0x0, \_SB_.PCI0.PX40.EC0_.S1LD)
Store(0x0, \_SB_.PCI0.PX40.EC0_.S2LD)
}
Store(0x0, SLST)
}
If(LEqual(Arg0, 0x1)) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.S1LD)
Store(0x0, \_SB_.PCI0.PX40.EC0_.S2LD)
}
If(LEqual(Arg0, 0x2)) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.S1LD)
Store(0x1, \_SB_.PCI0.PX40.EC0_.S2LD)
}
If(LEqual(Arg0, 0x3)) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.S2LD)
}
If(LEqual(Arg0, 0x4)) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.S1LD)
Store(0x0, \_SB_.PCI0.PX40.EC0_.S2LD)
}
}
}
}
Scope(\_TZ_) {
Method(KELV, 1) {
If(And(Arg0, 0x80, )) {
Store(0xffffff00, Local1)
}
Else {
Store(Zero, Local1)
}
Or(Local1, Arg0, Local1)
Add(Local1, 0x0111, Local1)
Add(ShiftLeft(Local1, 0x1, ), ShiftLeft(Local1, 0x3, ), Local0)
Return(Local0)
}
PowerResource(PFN0, 0, 0) {
Method(_STA) {
If(\_SB_.PCI0.PX40.ECOK()) {
Return(\_SB_.PCI0.PX40.EC0_.FAN0)
}
Else {
Return(0x0)
}
}
Method(_ON_) {
If(\_SB_.PCI0.PX40.ECOK()) {
Store(One, \_SB_.PCI0.PX40.EC0_.FAN0)
}
}
Method(_OFF) {
If(\_SB_.PCI0.PX40.ECOK()) {
Store(Zero, \_SB_.PCI0.PX40.EC0_.FAN0)
}
}
}
PowerResource(PFN1, 0, 0) {
Method(_STA) {
If(\_SB_.PCI0.PX40.ECOK()) {
Return(\_SB_.PCI0.PX40.EC0_.FAN1)
}
Else {
Return(0x0)
}
}
Method(_ON_) {
If(\_SB_.PCI0.PX40.ECOK()) {
Store(One, \_SB_.PCI0.PX40.EC0_.FAN1)
}
}
Method(_OFF) {
If(\_SB_.PCI0.PX40.ECOK()) {
Store(Zero, \_SB_.PCI0.PX40.EC0_.FAN1)
}
}
}
Device(FAN0) {
Name(_HID, 0x0b0cd041)
Name(_PR0, Package(0x1) {
PFN0,
})
Name(_UID, 0x1)
Name(_PSC, 0x0)
Method(_PS0) {
Store(0x0, _PSC)
}
Method(_PS3) {
Store(0x3, _PSC)
}
}
Device(FAN1) {
Name(_HID, 0x0b0cd041)
Name(_PR0, Package(0x2) {
PFN0,
PFN1,
})
Name(_UID, 0x2)
Name(_PSC, 0x0)
Method(_PS0) {
Store(0x0, _PSC)
}
Method(_PS3) {
Store(0x3, _PSC)
}
}
ThermalZone(THRM) {
Name(_AL0, Package(0x1) {
FAN1,
})
Name(_AL1, Package(0x1) {
FAN0,
})
Method(_TMP) {
If(\_SB_.PCI0.PX40.ECOK()) {
Store(\_SB_.PCI0.PX40.EC0_.TMP_, Local0)
Return(KELV(Local0))
}
Else {
Return(KELV(0x44))
}
}
Method(_AC0) {
Return(KELV(0x50))
}
Method(_AC1) {
Return(KELV(0x4a))
}
Method(_PSV) {
Return(KELV(0x56))
}
Method(_CRT) {
Return(KELV(0x73))
}
Method(_SCP, 1) {
If(\_SB_.PCI0.PX40.ECOK()) {
Store(Arg0, \_SB_.PCI0.PX40.EC0_.MODE)
}
}
Name(_TC1, 0x4)
Name(_TC2, 0x3)
Name(_TSP, 0x012c)
}
}
Method(CMPS, 2) {
Name(STG1, Buffer(0x50) { })
Name(STG2, Buffer(0x50) { })
Store(Arg0, STG1)
Store(Arg1, STG2)
Store(SizeOf(Arg0), Local0)
Store(SizeOf(Arg1), Local1)
If(LNot(LEqual(Local0, Local1))) {
Return(Zero)
}
Store(Zero, Local4)
While(LLess(Local4, Local0)) {
Store(DerefOf(Index(STG1, Local4, )), Local2)
Store(DerefOf(Index(STG2, Local4, )), Local3)
If(LNot(LEqual(Local2, Local3))) {
Return(Zero)
}
Increment(Local4)
}
Return(One)
}
Name(WNOS, 0x0)
Method(CKOS) {
If(LEqual(WNOS, 0x0)) {
If(CMPS(\_OS_, "Microsoft Windows NT")) {
Store(0x2, WNOS)
}
If(CMPS(\_OS_, "Microsoft Windows")) {
Store(0x1, WNOS)
}
}
Return(WNOS)
}
Scope(\_SB_) {
Name(DCKF, 0x0)
Device(MEM_) {
Name(_HID, 0x010cd041)
Method(_CRS) {
Name(MCRS, Buffer(0x26) {0x86, 0x9, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0x0, 0x0, 0x2, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xfa, 0xff, 0x0, 0x0, 0x6, 0x0, 0x79, 0x0 })
Return(MCRS)
}
Method(_STA) {
Return(0xf)
}
}
OperationRegion(ACB_, SystemMemory, 0x0fffff2c, 0x00000090)
Field(ACB_, AnyAcc, NoLock, Preserve) {
BCMD, 8,
DID_, 32,
INFO, 1104
}
Field(ACB_, AnyAcc, NoLock, Preserve) {
Offset(0x5),
INF_, 8
}
Field(ACB_, AnyAcc, NoLock, Preserve) {
Offset(0x89),
MFLG, 8
}
Field(ACB_, AnyAcc, NoLock, Preserve) {
Offset(0x8b),
DKSN, 32
}
Field(ACB_, AnyAcc, NoLock, Preserve) {
Offset(0x8f),
DKTP, 8
}
OperationRegion(SMIB, SystemIO, 0x0000fe00, 0x00000002)
Field(SMIB, AnyAcc, NoLock, Preserve) {
SMIC, 8
}
Device(LID_) {
Name(_HID, 0x0d0cd041)
Method(_LID) {
Store("LID STATE", Debug)
Return(LPOL)
}
Name(_PRW, Package(0x2) {
0xb,
0x4,
})
}
Device(BAT0) {
Name(_UID, 0x1)
Name(_HID, 0x0a0cd041)
Name(_PCL, Package(0x1) {
\_SB_,
})
Method(_STA) {
If(\_SB_.PCI0.PX40.ECOK()) {
If(\_SB_.PCI0.PX40.EC0_.BAT0) {
Return(0x1f)
}
Else {
Return(0xf)
}
}
Else {
Return(0x1f)
}
}
Method(_BIF) {
Return(Package(0xd) {
0x1,
0x1194,
0x1194,
0x1,
0x3840,
0x01a4,
0x9c,
0x0108,
0x0ec4,
"N30W ",
"3658Q",
"Li-Ion",
"COMP",
})
}
Method(_BST) {
Store(0x1, Local0)
Store(0x01ff, Local1)
Store(0x0900, Local2)
Store(0x1fff, Local3)
Name(STAT, Package(0x4) {
})
If(\_SB_.PCI0.PX40.ECOK()) {
Store(\_SB_.PCI0.PX40.EC0_.BST0, Local0)
Store(\_SB_.PCI0.PX40.EC0_.BPR0, Local1)
Store(\_SB_.PCI0.PX40.EC0_.BRC0, Local2)
Store(\_SB_.PCI0.PX40.EC0_.BPV0, Local3)
}
Store(Local0, Index(STAT, 0x0, ))
Store(Local1, Index(STAT, 0x1, ))
Store(Local2, Index(STAT, 0x2, ))
Store(Local3, Index(STAT, 0x3, ))
Return(STAT)
}
}
Device(BAT1) {
Name(_UID, 0x2)
Name(_HID, 0x0a0cd041)
Name(_PCL, Package(0x1) {
\_SB_,
})
Method(_STA) {
If(\_SB_.PCI0.PX40.ECOK()) {
If(\_SB_.PCI0.PX40.EC0_.BAT1) {
Return(0x1f)
}
Else {
Return(0xf)
}
}
Else {
Return(0x1f)
}
}
Method(_BIF) {
Return(Package(0xd) {
0x1,
0x1194,
0x1194,
0x1,
0x3840,
0x01a4,
0x9c,
0x0108,
0x0ec4,
"N30W ",
"3659Q",
"Li-Ion",
"COMP",
})
}
Method(_BST) {
Store(Zero, Local0)
Store(Zero, Local1)
Store(Zero, Local2)
Store(Zero, Local3)
Name(STAT, Package(0x4) {
})
If(\_SB_.PCI0.PX40.ECOK()) {
Store(\_SB_.PCI0.PX40.EC0_.BST1, Local0)
Store(\_SB_.PCI0.PX40.EC0_.BPR1, Local1)
Store(\_SB_.PCI0.PX40.EC0_.BRC1, Local2)
Store(\_SB_.PCI0.PX40.EC0_.BPV1, Local3)
}
Store(Local0, Index(STAT, 0x0, ))
Store(Local1, Index(STAT, 0x1, ))
Store(Local2, Index(STAT, 0x2, ))
Store(Local3, Index(STAT, 0x3, ))
Return(STAT)
}
}
Device(AC__) {
Name(_HID, "ACPI0003")
Name(_PCL, Package(0x1) {
\_SB_,
})
Method(_PSR) {
If(\_SB_.PCI0.PX43.ACPW) {
Return(0x0)
}
Else {
Return(0x1)
}
}
Method(_STA) {
If(\_SB_.PCI0.PX43.ACPW) {
Return(0xf)
}
Else {
Return(0xf)
}
}
}
Device(PCI0) {
Name(_HID, 0x030ad041)
Name(_ADR, 0x0)
Name(_PRT, Package(0x6) {
Package(0x4) {
0x0007ffff,
0x3,
\_SB_.PCI0.PX40.LNKD,
0x0,
},
Package(0x4) {
0x0004ffff,
0x0,
\_SB_.PCI0.PX40.LNKA,
0x0,
},
Package(0x4) {
0x0004ffff,
0x1,
\_SB_.PCI0.PX40.LNKB,
0x0,
},
Package(0x4) {
0x0008ffff,
0x0,
\_SB_.PCI0.PX40.LNKD,
0x0,
},
Package(0x4) {
0x0010ffff,
0x0,
\_SB_.PCI0.PX40.LNKD,
0x0,
},
Package(0x4) {
0x000dffff,
0x0,
\_SB_.PCI0.PX40.LNKB,
0x0,
},
})
Name(_BBN, 0x0)
OperationRegion(REGS, PCI_Config, 0x40, 0xc0)
Field(REGS, DWordAcc, NoLock, Preserve) {
Offset(0x19),
PAM0, 8,
PAM1, 8,
PAM2, 8,
PAM3, 8,
PAM4, 8,
PAM5, 8,
PAM6, 8,
DRB0, 8,
DRB1, 8,
DRB2, 8,
DRB3, 8,
DRB4, 8,
DRB5, 8,
DRB6, 8,
DRB7, 8,
, 6,
HEN_, 2,
Offset(0x33),
T_EN, 1,
T_SZ, 2,
Offset(0x3a),
CRST, 1
}
Method(MDET) {
ShiftLeft(DRB7, 0x17, Local0)
Return(Local0)
}
Name(RSRC, Buffer(0x01da) {0x88, 0xe, 0x0, 0x2, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xe, 0x0, 0x1, 0xe, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x88, 0xe, 0x0, 0x1, 0xe, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x47, 0x1, 0x0, 0x10, 0x0, 0x10, 0x1, 0x16, 0x79, 0x0 })
Method(_CRS, 0, Serialized) {
Store(Zero, Local1)
If(T_EN) {
ShiftLeft(0x1, Add(T_SZ, 0x11, ), Local1)
}
CreateDWordField(RSRC, 0x017a, BTMN)
CreateDWordField(RSRC, 0x017e, BTMX)
CreateDWordField(RSRC, 0x0186, BTLN)
Multiply(DRB7, 0x00800000, Local0)
If(T_EN) {
Subtract(Local0, Local1, Local2)
Store(Local2, BTMN)
Subtract(Add(Local0, 0x10000000, ), BTMN, BTLN)
}
Else {
Store(Local0, BTMN)
Subtract(0xffe00000, Local0, BTLN)
Subtract(Add(BTMN, BTLN, ), 0x1, BTMX)
}
CreateDWordField(RSRC, 0x0195, ATMN)
CreateDWordField(RSRC, 0x0199, ATMX)
CreateDWordField(RSRC, 0x01a1, ATLN)
If(T_EN) {
Add(Add(BTMN, BTLN, ), Local1, ATMN)
Subtract(0xffe00000, ATMN, ATLN)
Subtract(Add(ATMN, ATLN, ), 0x1, ATMX)
}
Else {
Store(Zero, ATLN)
}
CreateBitField(RSRC, 0x0188, C0RW)
CreateDWordField(RSRC, 0x36, C0MN)
CreateDWordField(RSRC, 0x3a, C0MX)
CreateDWordField(RSRC, 0x42, C0LN)
Store(One, C0RW)
If(LEqual(And(PAM1, 0x3, ), 0x1)) {
Store(Zero, C0RW)
}
Store(Zero, C0LN)
If(LNot(And(PAM1, 0x3, ))) {
Store(0x4000, C0LN)
}
CreateBitField(RSRC, 0x0260, C4RW)
CreateDWordField(RSRC, 0x51, C4MN)
CreateDWordField(RSRC, 0x55, C4MX)
CreateDWordField(RSRC, 0x5d, C4LN)
Store(One, C4RW)
If(LEqual(And(PAM1, 0x30, ), 0x10)) {
Store(Zero, C4RW)
}
Store(Zero, C4LN)
If(LNot(And(PAM1, 0x30, ))) {
Store(0x4000, C4LN)
}
CreateBitField(RSRC, 0x0338, C8RW)
CreateDWordField(RSRC, 0x6c, C8MN)
CreateDWordField(RSRC, 0x70, C8MX)
CreateDWordField(RSRC, 0x78, C8LN)
Store(One, C8RW)
If(LEqual(And(PAM2, 0x3, ), 0x1)) {
Store(Zero, C8RW)
}
Store(Zero, C8LN)
If(LNot(And(PAM2, 0x3, ))) {
Store(0x4000, C8LN)
}
CreateBitField(RSRC, 0x0410, CCRW)
CreateDWordField(RSRC, 0x87, CCMN)
CreateDWordField(RSRC, 0x8b, CCMX)
CreateDWordField(RSRC, 0x93, CCLN)
Store(One, CCRW)
If(LEqual(And(PAM2, 0x30, ), 0x10)) {
Store(Zero, CCRW)
}
Store(Zero, CCLN)
If(LNot(And(PAM2, 0x30, ))) {
Store(0x4000, CCLN)
}
CreateBitField(RSRC, 0x04e8, D0RW)
CreateDWordField(RSRC, 0xa2, D0MN)
CreateDWordField(RSRC, 0xa6, D0MX)
CreateDWordField(RSRC, 0xae, D0LN)
Store(One, D0RW)
If(LEqual(And(PAM3, 0x3, ), 0x1)) {
Store(Zero, D0RW)
}
Store(Zero, D0LN)
If(LNot(And(PAM3, 0x3, ))) {
Store(0x4000, D0LN)
}
CreateBitField(RSRC, 0x05c0, D4RW)
CreateDWordField(RSRC, 0xbd, D4MN)
CreateDWordField(RSRC, 0xc1, D4MX)
CreateDWordField(RSRC, 0xc9, D4LN)
Store(One, D4RW)
If(LEqual(And(PAM3, 0x30, ), 0x10)) {
Store(Zero, D4RW)
}
Store(Zero, D4LN)
If(LNot(And(PAM3, 0x30, ))) {
Store(0x4000, D4LN)
}
CreateBitField(RSRC, 0x0698, D8RW)
CreateDWordField(RSRC, 0xd8, D8MN)
CreateDWordField(RSRC, 0xdc, D8MX)
CreateDWordField(RSRC, 0xe4, D8LN)
Store(One, D8RW)
If(LEqual(And(PAM4, 0x3, ), 0x1)) {
Store(Zero, D8RW)
}
Store(Zero, D8LN)
If(LNot(And(PAM4, 0x3, ))) {
Store(0x4000, D8LN)
}
CreateBitField(RSRC, 0x0770, DCRW)
CreateDWordField(RSRC, 0xf3, DCMN)
CreateDWordField(RSRC, 0xf7, DCMX)
CreateDWordField(RSRC, 0xff, DCLN)
Store(One, DCRW)
If(LEqual(And(PAM4, 0x30, ), 0x10)) {
Store(Zero, DCRW)
}
Store(Zero, DCLN)
If(LNot(And(PAM4, 0x30, ))) {
Store(0x4000, DCLN)
}
CreateBitField(RSRC, 0x0848, E0RW)
CreateDWordField(RSRC, 0x010e, E0MN)
CreateDWordField(RSRC, 0x0112, E0MX)
CreateDWordField(RSRC, 0x011a, E0LN)
Store(One, E0RW)
If(LEqual(And(PAM5, 0x3, ), 0x1)) {
Store(Zero, E0RW)
}
Store(Zero, E0LN)
If(LNot(And(PAM5, 0x3, ))) {
Store(0x4000, E0LN)
}
CreateBitField(RSRC, 0x0920, E4RW)
CreateDWordField(RSRC, 0x0129, E4MN)
CreateDWordField(RSRC, 0x012d, E4MX)
CreateDWordField(RSRC, 0x0135, E4LN)
Store(One, E4RW)
If(LEqual(And(PAM5, 0x30, ), 0x10)) {
Store(Zero, E4RW)
}
Store(Zero, E4LN)
If(LNot(And(PAM5, 0x30, ))) {
Store(0x4000, E4LN)
}
CreateBitField(RSRC, 0x09f8, E8RW)
CreateDWordField(RSRC, 0x0144, E8MN)
CreateDWordField(RSRC, 0x0148, E8MX)
CreateDWordField(RSRC, 0x0150, E8LN)
Store(One, E8RW)
If(LEqual(And(PAM6, 0x3, ), 0x1)) {
Store(Zero, E8RW)
}
Store(Zero, E8LN)
If(LNot(And(PAM6, 0x3, ))) {
Store(0x4000, E8LN)
}
CreateBitField(RSRC, 0x0ad0, ECRW)
CreateDWordField(RSRC, 0x015f, ECMN)
CreateDWordField(RSRC, 0x0163, ECMX)
CreateDWordField(RSRC, 0x016b, ECLN)
Store(One, ECRW)
If(LEqual(And(PAM6, 0x30, ), 0x10)) {
Store(Zero, ECRW)
}
Store(Zero, ECLN)
If(LNot(And(PAM6, 0x30, ))) {
Store(0x4000, ECLN)
}
Return(RSRC)
}
Method(_STA) {
Return(0xf)
}
Device(PX40) {
Name(_ADR, 0x00070000)
OperationRegion(PIRX, PCI_Config, 0x60, 0x4)
Field(PIRX, ByteAcc, NoLock, Preserve) {
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
OperationRegion(P4B0, PCI_Config, 0xb0, 0x4)
Field(P4B0, ByteAcc, NoLock, Preserve) {
ISEI, 1,
POSD, 1,
, 10,
SISI, 1,
Offset(0x2)
}
Name(LPT1, Package(0x3) {
0x03bc,
0x0378,
0x0278,
})
Name(LPT2, Package(0x3) {
0x03be,
0x037f,
0x027f,
})
Name(UAP1, Package(0x8) {
0x03f8,
0x02f8,
0x0220,
0x0228,
0x0238,
0x02e8,
0x0338,
0x03e8,
})
Name(UAP2, Package(0x8) {
0x03ff,
0x02ff,
0x0227,
0x022f,
0x023f,
0x02ef,
0x033f,
0x03ef,
})
Name(FDC1, Package(0x2) {
0x03f0,
0x0370,
})
Name(FDC2, Package(0x2) {
0x03f7,
0x0377,
})
Method(DECD, 4) {
Store("DECD", Debug)
Store(Arg0, Debug)
Store(Arg1, Debug)
Store(Arg2, Debug)
Store(Arg3, Debug)
DISB(Arg0, Arg1)
If(LNot(LEqual(Arg3, Ones))) {
ENAB(Arg2, Arg3, Arg0)
}
}
Method(DISB, 2) {
If(LAnd(^^PX43.LPTE, ^^PX43.LPTM)) {
If(LNot(LLess(Arg0, DerefOf(Index(LPT1, ^^PX43.LPTA, ))))) {
If(LNot(LGreater(Add(Arg0, Arg1, ), DerefOf(Index(LPT2, ^^PX43.LPTA, ))))) {
Store("LPT Decode Disabled", Debug)
Store(Arg0, Debug)
Store(Zero, ^^PX43.LPTE)
Return(Zero)
}
}
}
If(LAnd(^^PX43.U1E_, ^^PX43.U1M_)) {
If(LNot(LLess(Arg0, DerefOf(Index(UAP1, ^^PX43.U1A_, ))))) {
If(LNot(LGreater(Add(Arg0, Arg1, ), DerefOf(Index(UAP2, ^^PX43.U1A_, ))))) {
Store("COM1 Decode Disabled", Debug)
Store(Arg0, Debug)
Store(Zero, ^^PX43.U1E_)
Return(Zero)
}
}
}
If(LAnd(^^PX43.U2E_, ^^PX43.U2M_)) {
If(LNot(LLess(Arg0, DerefOf(Index(UAP1, ^^PX43.U2A_, ))))) {
If(LNot(LGreater(Add(Arg0, Arg1, ), DerefOf(Index(UAP2, ^^PX43.U2A_, ))))) {
Store("COM2 Decode Disabled", Debug)
Store(Arg0, Debug)
Store(Zero, ^^PX43.U2E_)
Return(Zero)
}
}
}
If(LAnd(^^PX43.FDCE, ^^PX43.FDCM)) {
If(LNot(LLess(Arg0, DerefOf(Index(FDC1, ^^PX43.FDCA, ))))) {
If(LNot(LGreater(Add(Arg0, Arg1, ), DerefOf(Index(FDC2, ^^PX43.FDCA, ))))) {
Store("FDC Decode Disabled", Debug)
Store(Arg0, Debug)
Store(Zero, ^^PX43.FDCE)
Return(Zero)
}
}
}
Return(Ones)
}
Method(ENAB, 3) {
Store(Arg0, Local0)
Add(Arg0, Arg1, Local1)
Store(SizeOf(LPT1), Local2)
While(Local2) {
Decrement(Local2)
If(LNot(LLess(Local0, DerefOf(Index(LPT1, Local2, ))))) {
If(LNot(LGreater(Local1, DerefOf(Index(LPT2, Local2, ))))) {
Store("LPT Decode Enabled", Debug)
Store(Arg0, Debug)
Store(Local2, Debug)
Store(Local2, ^^PX43.LPTA)
Store(One, ^^PX43.LPTE)
Store(One, ^^PX43.LPTM)
Return(Zero)
}
}
}
If(LEqual(Arg2, 0x11)) {
Store(SizeOf(UAP1), Local2)
While(Local2) {
Decrement(Local2)
If(LNot(LLess(Local0, DerefOf(Index(UAP1, Local2, ))))) {
If(LNot(LGreater(Local1, DerefOf(Index(UAP2, Local2, ))))) {
Store("COM1 Decode Enabled", Debug)
Store(Arg0, Debug)
Store(Local2, Debug)
Store(Local2, ^^PX43.U1A_)
Store(One, ^^PX43.U1E_)
Store(One, ^^PX43.U1M_)
Return(Zero)
}
}
}
}
If(LEqual(Arg2, 0x22)) {
Store(SizeOf(UAP1), Local2)
While(Local2) {
Decrement(Local2)
If(LNot(LLess(Local0, DerefOf(Index(UAP1, Local2, ))))) {
If(LNot(LGreater(Local1, DerefOf(Index(UAP2, Local2, ))))) {
Store("COM2 Decode Enabled", Debug)
Store(Arg0, Debug)
Store(Local2, Debug)
Store(Local2, ^^PX43.U2A_)
Store(One, ^^PX43.U2E_)
Store(One, ^^PX43.U2M_)
Return(Zero)
}
}
}
}
Store(SizeOf(FDC1), Local2)
While(Local2) {
Decrement(Local2)
If(LNot(LLess(Local0, DerefOf(Index(FDC1, Local2, ))))) {
If(LNot(LGreater(Local1, DerefOf(Index(FDC2, Local2, ))))) {
Store("FDC Decode Enabled", Debug)
Store(Arg0, Debug)
Store(Local2, Debug)
Store(Local2, ^^PX43.FDCA)
Store(One, ^^PX43.FDCE)
Store(One, ^^PX43.FDCM)
Return(Zero)
}
}
}
}
Device(SIO_) {
Name(_HID, 0x050ad041)
Name(_UID, 0x1)
Mutex(MSIO, 0)
Name(DMMP, Package(0x4) {
0x1,
0x4,
0x8,
0x2,
})
Name(DMMT, Package(0x5) {
0xff,
0x0,
0x3,
0x1,
0x2,
})
Name(LPMD, Package(0x4) {
0x2,
0x3,
0x4,
0xff,
})
OperationRegion(SMC1, SystemIO, 0x0370, 0x2)
Field(SMC1, ByteAcc, NoLock, Preserve) {
INDX, 8,
DATA, 8
}
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
CR00, 8,
CR01, 8,
CR02, 8,
Offset(0x4),
CR04, 8,
Offset(0x7),
CR07, 8,
Offset(0xc),
CR0C, 8,
Offset(0x20),
CR20, 8,
Offset(0x23),
CR23, 8,
CR24, 8,
CR25, 8,
CR26, 8,
CR27, 8,
CR28, 8,
Offset(0x2b),
CR2B, 8,
CR2C, 8
}
Method(ENFG) {
Acquire(MSIO, 0xffff)
Store(0x0370, \_SB_.PCI0.PX43.DEC1)
Store(0x11, \_SB_.PCI0.PX43.DEEN)
Store(0xd, INDX)
While(LNot(LEqual(DATA, 0x29))) {
Store(0x55, INDX)
Store(0xd, INDX)
}
}
Method(EXFG) {
Store(0xaa, INDX)
Store(0x1, \_SB_.PCI0.PX43.DEEN)
Release(MSIO)
}
Name(REGS, Package(0x18) {
0x0,
0x1,
0x2,
0x4,
0x5,
0x7,
0xa,
0xc,
0x1e,
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2b,
0x2c,
0x2d,
0x2e,
0x2f,
})
Name(SAVE, Package(0x18) {
0x0,
0x1,
0x2,
0x4,
0x5,
0x7,
0xa,
0xc,
0x1e,
0x20,
0x21,
0x22,
0x23,
0x24,
0x25,
0x26,
0x27,
0x28,
0x29,
0x2b,
0x2c,
0x2d,
0x2e,
0x2f,
})
Name(LPTM, 0x0)
Name(FDCM, 0x0)
Name(UT1M, 0x0)
Name(UT2M, 0x0)
Method(_INI) {
ENFG()
If(LNot(FDCM)) {
And(CR00, 0x8, Local0)
If(Local0) {
Store(0x1, FDCM)
}
Else {
Store(0xff, FDCM)
}
}
If(LNot(LPTM)) {
And(CR01, 0x4, Local0)
And(CR01, 0x8, Local1)
And(CR04, 0x3, Local2)
Store(0xff, LPTM)
If(Local0) {
If(Local1) {
Store(0xff, LPTM)
}
Else {
Store(DerefOf(Index(LPMD, Local2, )), LPTM)
}
}
Else {
Store(0xff, LPTM)
}
}
If(LNot(UT1M)) {
And(CR02, 0x8, Local0)
If(Local0) {
Store(0x1, UT1M)
}
Else {
Store(0xff, UT1M)
}
}
If(LNot(UT2M)) {
And(CR02, 0x80, Local0)
And(CR0C, 0x38, Local1)
And(CR2B, 0xe0, Local4)
Store(0xff, UT2M)
If(Local0) {
If(LEqual(Local1, 0x0)) {
Store(0xff, UT2M)
}
If(LEqual(Local1, 0x8)) {
If(Local4) {
Store(0x4, UT2M)
}
Else {
Store(0x2, UT2M)
}
}
If(LEqual(Local1, 0x10)) {
Store(0xff, UT2M)
}
}
Else {
Store(0xff, UT2M)
}
}
EXFG()
}
Name(_PSC, 0x0)
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
ON__()
}
Method(_PS3) {
OFF_()
}
Method(ON__) {
If(LEqual(_PSC, 0x3)) {
ENFG()
Store(Zero, Local0)
While(LLess(Local0, SizeOf(REGS))) {
Store(DerefOf(Index(REGS, Local0, )), INDX)
Store(DerefOf(Index(SAVE, Local0, )), DATA)
Increment(Local0)
}
EXFG()
}
Store(0x0, _PSC)
}
Method(OFF_) {
ENFG()
Store(Zero, Local0)
While(LLess(Local0, SizeOf(REGS))) {
Store(DerefOf(Index(REGS, Local0, )), INDX)
Store(DATA, Index(SAVE, Local0, ))
Increment(Local0)
}
EXFG()
Store(0x3, _PSC)
}
Device(FDC_) {
Name(_HID, 0x0007d041)
Method(_STA) {
ENFG()
Store(0x0, Local7)
If(LNot(LEqual(FDCM, 0xff))) {
And(CR00, 0x8, Local0)
And(CR20, 0xc0, Local1)
Store(0x5, Local7)
If(LAnd(Local0, Local1)) {
Store(0xf, Local7)
}
}
EXFG()
Return(Local7)
}
Method(_DIS) {
ENFG()
And(CR00, 0xf7, CR00)
EXFG()
}
Method(_CRS) {
Name(RSRC, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 })
ENFG()
CreateByteField(RSRC, 0x2, IO1_)
CreateByteField(RSRC, 0x3, IO2_)
CreateByteField(RSRC, 0x4, IO3_)
CreateByteField(RSRC, 0x5, IO4_)
CreateByteField(RSRC, 0xa, IO5_)
CreateByteField(RSRC, 0xb, IO6_)
CreateByteField(RSRC, 0xc, IO7_)
CreateByteField(RSRC, 0xd, IO8_)
CreateWordField(RSRC, 0x11, IRQV)
CreateByteField(RSRC, 0x14, DMAV)
ShiftLeft(CR20, 0x2, Local0)
ShiftRight(CR20, 0x6, Local1)
Store(Local0, IO1_)
Store(Local1, IO2_)
Store(Local0, IO3_)
Store(Local1, IO4_)
Add(Local0, 0x7, Local2)
Store(Local2, IO5_)
Store(Local1, IO6_)
Store(Local2, IO7_)
Store(Local1, IO8_)
ShiftRight(CR27, 0x4, Local3)
Store(0x1, Local4)
ShiftLeft(Local4, Local3, Local5)
And(Local5, 0xfe, IRQV)
ShiftRight(CR26, 0x4, Local6)
Store(0x0, DMAV)
If(LNot(LGreater(Local6, 0x3))) {
Store(DerefOf(Index(DMMP, Local6, )), DMAV)
}
EXFG()
Return(RSRC)
}
Name(_PRS, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, IO1_)
CreateByteField(Arg0, 0x3, IO2_)
CreateWordField(Arg0, 0x11, IRQV)
CreateByteField(Arg0, 0x14, DMAV)
CreateWordField(Arg0, 0x2, FDIO)
ENFG()
ShiftRight(IO1_, 0x2, Local0)
ShiftLeft(IO2_, 0x6, Local1)
Or(Local0, Local1, CR20)
FindSetRightBit(IRQV, Local3)
If(Local3) {
Decrement(Local3)
}
ShiftLeft(Local3, 0x4, Local3)
And(CR27, 0xf, CR27)
Or(CR27, Local3, CR27)
FindSetRightBit(DMAV, Local4)
Store(DerefOf(Index(DMMT, Local4, )), Local4)
ShiftLeft(Local4, 0x4, Local4)
And(CR26, 0xf, CR26)
Or(CR26, Local4, CR26)
EXFG()
Store(FDIO, Local6)
DECD(0x0, 0x0, Local6, 0x7)
}
Method(_PSC) {
ENFG()
If(And(CR00, 0x8, )) {
Store(0x0, Local0)
}
Else {
Store(0x3, Local0)
}
EXFG()
Return(Local0)
}
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
ENFG()
Or(CR00, 0x8, CR00)
EXFG()
}
Method(_PS3) {
ENFG()
And(CR00, 0xf7, CR00)
EXFG()
}
}
Device(LPT_) {
Method(_HID) {
Store(0x0004d041, Local7)
If(LEqual(LPTM, 0x4)) {
Store(0x0104d041, Local7)
}
Return(Local7)
}
Method(_STA) {
ENFG()
If(LNot(LEqual(LPTM, 0xff))) {
And(CR01, 0x4, Local0)
And(CR23, 0xc0, Local1)
Store(0x5, Local7)
If(LAnd(Local0, Local1)) {
Store(0xf, Local7)
}
}
Else {
Store(0x0, Local7)
}
EXFG()
Return(Local7)
}
Method(_DIS) {
ENFG()
And(CR23, 0x3f, CR23)
And(CR26, 0xf0, CR26)
And(CR27, 0xf0, CR27)
EXFG()
}
Method(_CRS) {
ENFG()
If(LNot(LEqual(LPTM, 0x4))) {
Name(CRSA, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
And(CR01, 0x4, Local0)
And(CR23, 0xc0, Local1)
And(CR26, 0xf, Local2)
And(CR27, 0xf, Local3)
CreateByteField(CRSA, 0x2, IOA1)
CreateByteField(CRSA, 0x3, IOA2)
CreateByteField(CRSA, 0x4, IOA3)
CreateByteField(CRSA, 0x5, IOA4)
CreateByteField(CRSA, 0x7, LNA1)
CreateWordField(CRSA, 0x9, IRQA)
ShiftLeft(CR23, 0x2, Local0)
ShiftRight(CR23, 0x6, Local1)
Store(Local0, IOA1)
Store(Local1, IOA2)
Store(Local0, IOA3)
Store(Local1, IOA4)
If(LEqual(Local0, 0x03bc)) {
Store(0x4, LNA1)
}
Else {
Store(0x8, LNA1)
}
And(CR27, 0xf, Local2)
Store(0x1, Local3)
ShiftLeft(Local3, Local2, Local4)
And(Local4, 0xfe, IRQA)
Store(CRSA, Local7)
}
Else {
Name(CRSB, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 })
CreateByteField(CRSB, 0x2, IOB1)
CreateByteField(CRSB, 0x3, IOB2)
CreateByteField(CRSB, 0x4, IOB3)
CreateByteField(CRSB, 0x5, IOB4)
CreateByteField(CRSB, 0x7, LNB1)
CreateByteField(CRSB, 0xa, IOB5)
CreateByteField(CRSB, 0xb, IOB6)
CreateByteField(CRSB, 0xc, IOB7)
CreateByteField(CRSB, 0xd, IOB8)
CreateByteField(CRSB, 0xf, LNB2)
CreateWordField(CRSB, 0x11, IRQB)
CreateWordField(CRSB, 0x14, DMAV)
ShiftLeft(CR23, 0x2, Local0)
ShiftRight(CR23, 0x6, Local1)
Store(Local0, IOB1)
Store(Local1, IOB2)
Store(Local0, IOB3)
Store(Local1, IOB4)
Store(Local0, IOB5)
Add(Local1, 0x4, IOB6)
Store(Local0, IOB7)
Add(Local1, 0x4, IOB8)
If(LEqual(Local0, 0x03bc)) {
Store(0x4, LNB1)
Store(0x4, LNB2)
}
Else {
Store(0x8, LNB1)
Store(0x8, LNB2)
}
And(CR27, 0xf, Local2)
Store(0x1, Local3)
ShiftLeft(Local3, Local2, Local4)
And(Local4, 0xfe, IRQB)
And(CR26, 0xf, Local5)
Store(0x0, DMAV)
If(LNot(LGreater(Local5, 0x3))) {
Store(DerefOf(Index(DMMP, Local5, )), DMAV)
}
Store(CRSB, Local7)
}
EXFG()
Return(Local7)
}
Name(PRSA, Buffer(0x6f) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x20, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x20, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0xa0, 0xc, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0xa0, 0xc, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0xa0, 0xc, 0x38, 0x79, 0x0 })
Name(PRSB, Buffer(0xd2) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0x80, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0x20, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0xa0, 0xc, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0xa0, 0xc, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x4, 0x22, 0xa0, 0xc, 0x2a, 0xb, 0x0, 0x38, 0x79, 0x0 })
Method(_PRS) {
Store(PRSA, Local7)
If(LEqual(LPTM, 0x4)) {
Store(PRSB, Local7)
}
Return(Local7)
}
Method(_SRS, 1) {
ENFG()
CreateByteField(Arg0, 0x2, IO1_)
CreateByteField(Arg0, 0x3, IO2_)
CreateWordField(Arg0, 0x9, IRQV)
CreateWordField(Arg0, 0x11, EIRQ)
CreateByteField(Arg0, 0x14, EDMA)
CreateWordField(Arg0, 0x2, LPIO)
ShiftRight(IO1_, 0x2, Local0)
ShiftLeft(IO2_, 0x6, Local1)
Or(Local0, Local1, CR23)
If(LEqual(LPTM, 0x4)) {
FindSetRightBit(EDMA, Local2)
Store(DerefOf(Index(DMMT, Local2, )), Local3)
And(CR26, 0xf0, CR26)
Or(CR26, Local3, CR26)
FindSetRightBit(EIRQ, Local4)
}
Else {
FindSetRightBit(IRQV, Local4)
}
If(Local4) {
Decrement(Local4)
}
And(CR27, 0xf0, CR27)
Or(CR27, Local4, CR27)
EXFG()
Store(LPIO, Local6)
DECD(0x0, 0x0, Local6, 0x7)
}
Method(_PSC) {
ENFG()
If(And(CR01, 0x4, )) {
Store(0x0, Local0)
}
Else {
Store(0x3, Local0)
}
EXFG()
Return(Local0)
}
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
ENFG()
Or(CR01, 0x4, CR01)
EXFG()
}
Method(_PS3) {
ENFG()
And(CR01, 0xfb, CR01)
EXFG()
}
}
Device(COM1) {
Name(_HID, 0x0105d041)
Method(_STA) {
ENFG()
Store(0x0, Local7)
If(LNot(LEqual(UT1M, 0xff))) {
Store(0xf, Local7)
If(And(CR02, 0x8, )) {
And(Local7, 0xf7, )
}
If(And(CR24, 0xc0, )) {
And(Local7, 0xfd, )
}
}
EXFG()
Return(Local7)
}
Method(_DIS) {
ENFG()
And(CR24, 0x3f, CR24)
EXFG()
}
Method(_CRS) {
Name(RSRC, Buffer(0xd) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x79, 0x0 })
ENFG()
CreateByteField(RSRC, 0x2, IO1_)
CreateByteField(RSRC, 0x3, IO2_)
CreateByteField(RSRC, 0x4, IO3_)
CreateByteField(RSRC, 0x5, IO4_)
CreateByteField(RSRC, 0x7, LN1_)
CreateWordField(RSRC, 0x9, IRQV)
ShiftLeft(CR24, 0x2, Local0)
ShiftRight(CR24, 0x6, Local1)
Store(Local0, IO1_)
Store(Local1, IO2_)
Store(Local0, IO3_)
Store(Local1, IO4_)
If(And(CR24, 0xc0, )) {
Store(0x8, LN1_)
}
Else {
Store(0x0, LN1_)
}
ShiftRight(CR28, 0x4, Local0)
Store(0x1, Local1)
ShiftLeft(Local1, Local0, Local0)
And(Local0, 0xfe, Local0)
Store(Local0, IRQV)
EXFG()
Return(RSRC)
}
Name(_PRS, Buffer(0x63) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, IO1_)
CreateByteField(Arg0, 0x3, IO2_)
CreateWordField(Arg0, 0x9, IRQV)
CreateWordField(Arg0, 0x2, CAIO)
ENFG()
Store(0x0, CR24)
ShiftRight(IO1_, 0x2, Local0)
ShiftLeft(IO2_, 0x6, Local1)
Or(Local0, Local1, CR24)
FindSetRightBit(IRQV, Local0)
If(Local0) {
Decrement(Local0)
}
ShiftLeft(Local0, 0x4, Local0)
And(CR28, 0xf, CR28)
Or(CR28, Local0, CR28)
EXFG()
Store(CAIO, Local6)
DECD(0x11, 0x0, Local6, 0x7)
}
Method(_PSC) {
ENFG()
If(And(CR02, 0x8, )) {
Store(0x0, Local0)
}
Else {
Store(0x3, Local0)
}
EXFG()
Return(Local0)
}
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
ENFG()
Or(CR02, 0x8, CR02)
EXFG()
}
Method(_PS3) {
ENFG()
And(CR02, 0xf7, CR02)
EXFG()
}
Name(_PRW, Package(0x2) {
0xa,
0x4,
})
}
Device(SIRA) {
Name(_HID, 0x1005d041)
Method(_STA) {
ENFG()
If(LEqual(UT2M, 0x2)) {
And(CR02, 0x80, Local0)
And(CR25, 0xc0, Local1)
And(CR28, 0xf, Local2)
Store(0x5, Local7)
If(LAnd(LAnd(Local0, Local1), LNot(LEqual(Local2, 0xf)))) {
Store(0xf, Local7)
}
}
Else {
Store(0x0, Local7)
}
EXFG()
Return(Local7)
}
Method(_DIS) {
ENFG()
And(CR02, 0x7f, CR02)
EXFG()
}
Method(_CRS) {
Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
ENFG()
And(CR25, 0xc0, Local0)
And(CR02, 0x80, Local1)
If(LAnd(Local0, Local1)) {
CreateByteField(RSRC, 0x2, IO1_)
CreateByteField(RSRC, 0x3, IO2_)
CreateByteField(RSRC, 0x4, IO3_)
CreateByteField(RSRC, 0x5, IO4_)
CreateWordField(RSRC, 0x9, IRQV)
ShiftLeft(CR25, 0x2, Local2)
ShiftRight(CR25, 0x6, Local3)
Store(Local2, IO1_)
Store(Local3, IO2_)
Store(Local2, IO3_)
Store(Local3, IO4_)
And(CR28, 0xf, Local5)
Store(0x1, Local4)
ShiftLeft(Local4, Local5, IRQV)
}
EXFG()
Return(RSRC)
}
Name(_PRS, Buffer(0x63) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x10, 0x0, 0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, IO1_)
CreateByteField(Arg0, 0x3, IO2_)
CreateWordField(Arg0, 0x9, IRQV)
CreateWordField(Arg0, 0x2, SIRO)
ENFG()
ShiftRight(IO1_, 0x2, Local1)
ShiftLeft(IO2_, 0x6, Local2)
Or(Local1, Local2, CR25)
FindSetRightBit(IRQV, Local3)
Decrement(Local3)
And(CR28, 0xf0, CR28)
Or(CR28, Local3, CR28)
Or(CR02, 0x80, CR02)
And(CR07, 0xdf, CR07)
EXFG()
Store(SIRO, Local6)
DECD(0x22, 0x0, Local6, 0x7)
}
Method(_PSC) {
ENFG()
If(And(CR02, 0x80, )) {
Store(0x0, Local0)
}
Else {
Store(0x3, Local0)
}
EXFG()
Return(Local0)
}
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
ENFG()
Or(CR02, 0x80, CR02)
EXFG()
}
Method(_PS3) {
ENFG()
And(CR02, 0x7f, CR02)
EXFG()
}
}
Device(FIRA) {
Name(_HID, 0x10f0a34d)
Method(_STA) {
ENFG()
If(LEqual(UT2M, 0x4)) {
And(CR02, 0x80, Local0)
And(CR25, 0xc0, Local1)
And(CR28, 0xf, Local2)
And(CR2B, 0xe0, Local3)
And(CR2C, 0xf, Local4)
Store(0x5, Local7)
If(LAnd(LAnd(Local0, Local1), LNot(LEqual(Local2, 0xf)))) {
If(LAnd(Local3, LNot(LGreater(Local4, 0x3)))) {
Store(0xf, Local7)
}
}
}
Else {
Store(0x0, Local7)
}
EXFG()
Return(Local7)
}
Method(_DIS) {
ENFG()
And(CR02, 0x7f, CR02)
EXFG()
}
Method(_CRS) {
Name(RSRC, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 })
ENFG()
And(CR25, 0xc0, Local0)
And(CR02, 0x80, Local1)
If(LAnd(Local0, Local1)) {
CreateByteField(RSRC, 0x2, IOU1)
CreateByteField(RSRC, 0x3, IOU2)
CreateByteField(RSRC, 0x4, IOU3)
CreateByteField(RSRC, 0x5, IOU4)
CreateByteField(RSRC, 0xa, IOF1)
CreateByteField(RSRC, 0xb, IOF2)
CreateByteField(RSRC, 0xc, IOF3)
CreateByteField(RSRC, 0xd, IOF4)
CreateWordField(RSRC, 0x11, IRQV)
CreateByteField(RSRC, 0x14, DMAV)
ShiftLeft(CR25, 0x2, Local2)
ShiftRight(CR25, 0x6, Local3)
Store(Local2, IOU1)
Store(Local3, IOU2)
Store(Local2, IOU3)
Store(Local3, IOU4)
And(CR28, 0xf, Local5)
Store(0x1, Local4)
ShiftLeft(CR2B, 0x3, Local6)
ShiftRight(CR2B, 0x5, Local7)
Store(Local6, IOF1)
Store(Local7, IOF2)
Store(Local6, IOF3)
Store(Local7, IOF4)
ShiftLeft(Local4, Local5, IRQV)
And(CR2C, 0xf, Local4)
Store(DerefOf(Index(DMMP, Local4, )), DMAV)
}
EXFG()
Return(RSRC)
}
Name(_PRS, Buffer(0xbb) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x58, 0x2, 0x58, 0x2, 0x8, 0x8, 0x22, 0x10, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x58, 0x1, 0x58, 0x1, 0x8, 0x8, 0x22, 0x8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x48, 0x2, 0x48, 0x2, 0x8, 0x8, 0x22, 0x10, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x48, 0x1, 0x48, 0x1, 0x8, 0x8, 0x22, 0x8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x58, 0x2, 0x58, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x58, 0x1, 0x58, 0x1, 0x8, 0x8, 0x22, 0x10, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x47, 0x1, 0x48, 0x2, 0x48, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x47, 0x1, 0x48, 0x1, 0x48, 0x1, 0x8, 0x8, 0x22, 0x10, 0x0, 0x2a, 0xb, 0x0, 0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, IOU1)
CreateByteField(Arg0, 0x3, IOU2)
CreateByteField(Arg0, 0xa, IOF1)
CreateByteField(Arg0, 0xb, IOF2)
CreateWordField(Arg0, 0x11, IRQV)
CreateWordField(Arg0, 0x14, DMAV)
CreateWordField(Arg0, 0x2, FIRO)
ENFG()
ShiftRight(IOU1, 0x2, Local1)
ShiftLeft(IOU2, 0x6, Local2)
Or(Local1, Local2, CR25)
FindSetRightBit(IRQV, Local3)
Decrement(Local3)
And(CR28, 0xf0, CR28)
Or(CR28, Local3, CR28)
ShiftRight(IOF1, 0x3, Local1)
ShiftLeft(IOF2, 0x5, Local2)
Or(Local1, Local2, CR2B)
FindSetRightBit(DMAV, Local4)
Store(DerefOf(Index(DMMT, Local4, )), Local4)
And(CR2C, 0xf, CR2C)
Or(CR2C, Local4, CR2C)
Or(CR02, 0x80, CR02)
EXFG()
Store(FIRO, Local6)
DECD(0x22, 0x0, Local6, 0x7)
}
Method(_PSC) {
ENFG()
If(And(CR02, 0x80, )) {
Store(0x0, Local0)
}
Else {
Store(0x3, Local0)
}
EXFG()
Return(Local0)
}
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
ENFG()
Or(CR02, 0x80, CR02)
EXFG()
}
Method(_PS3) {
ENFG()
And(CR02, 0x7f, CR02)
EXFG()
}
}
}
Device(LNKA) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x1)
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xce, 0x18, 0x79, 0x0 })
Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
Method(_DIS) {
Store("LNKA_DIS", Debug)
Or(\_SB_.PCI0.PX40.PIRA, 0x80, \_SB_.PCI0.PX40.PIRA)
}
Method(_CRS) {
Store("LNKA_CRS", Debug)
CreateWordField(RSRC, 0x1, IRQ0)
Store(Zero, IRQ0)
If(LNot(And(\_SB_.PCI0.PX40.PIRA, 0x80, ))) {
And(\_SB_.PCI0.PX40.PIRA, 0xf, Local0)
ShiftLeft(0x1, Local0, IRQ0)
}
Store(RSRC, Debug)
Return(RSRC)
}
Method(_SRS, 1) {
Store("LNKA_SRS", Debug)
Store(Arg0, Debug)
CreateWordField(Arg0, 0x1, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Or(Local0, And(\_SB_.PCI0.PX40.PIRA, 0x70, ), \_SB_.PCI0.PX40.PIRA)
}
Method(_STA) {
Store("LNKA_STA", Debug)
If(And(\_SB_.PCI0.PX40.PIRA, 0x80, )) {
Store(0x9, Debug)
Return(0x9)
}
Store(0xb, Debug)
Return(0xb)
}
}
Device(LNKB) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x2)
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xce, 0x18, 0x79, 0x0 })
Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
Method(_DIS) {
Store("LNKB_DIS", Debug)
Or(\_SB_.PCI0.PX40.PIRB, 0x80, \_SB_.PCI0.PX40.PIRB)
}
Method(_CRS) {
CreateWordField(RSRC, 0x1, IRQ0)
Store(Zero, IRQ0)
If(LNot(And(\_SB_.PCI0.PX40.PIRB, 0x80, ))) {
And(\_SB_.PCI0.PX40.PIRB, 0xf, Local0)
ShiftLeft(0x1, Local0, IRQ0)
}
Return(RSRC)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Or(Local0, And(\_SB_.PCI0.PX40.PIRB, 0x70, ), \_SB_.PCI0.PX40.PIRB)
}
Method(_STA) {
If(And(\_SB_.PCI0.PX40.PIRB, 0x80, )) {
Return(0x9)
}
Return(0xb)
}
}
Device(LNKC) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x3)
Name(_PRS, Buffer(0x6) {0x23, 0xa0, 0x0, 0x18, 0x79, 0x0 })
Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.PX40.PIRC, 0x80, \_SB_.PCI0.PX40.PIRC)
}
Method(_CRS) {
CreateWordField(RSRC, 0x1, IRQ0)
Store(Zero, IRQ0)
If(LNot(And(\_SB_.PCI0.PX40.PIRC, 0x80, ))) {
And(\_SB_.PCI0.PX40.PIRC, 0xf, Local0)
ShiftLeft(0x1, Local0, IRQ0)
}
Return(RSRC)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Or(Local0, And(\_SB_.PCI0.PX40.PIRC, 0x70, ), \_SB_.PCI0.PX40.PIRC)
}
Method(_STA) {
If(And(\_SB_.PCI0.PX40.PIRC, 0x80, )) {
Return(0x9)
}
Return(0xb)
}
}
Device(LNKD) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x4)
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xce, 0x18, 0x79, 0x0 })
Name(RSRC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.PX40.PIRD, 0x80, \_SB_.PCI0.PX40.PIRD)
}
Method(_CRS) {
CreateWordField(RSRC, 0x1, IRQ0)
Store(Zero, IRQ0)
If(LNot(And(\_SB_.PCI0.PX40.PIRD, 0x80, ))) {
And(\_SB_.PCI0.PX40.PIRD, 0xf, Local0)
ShiftLeft(0x1, Local0, IRQ0)
}
Return(RSRC)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRQ0)
FindSetRightBit(IRQ0, Local0)
Decrement(Local0)
Or(Local0, And(\_SB_.PCI0.PX40.PIRD, 0x70, ), \_SB_.PCI0.PX40.PIRD)
}
Method(_STA) {
If(And(\_SB_.PCI0.PX40.PIRD, 0x80, )) {
Return(0x9)
}
Return(0xb)
}
}
Device(MOTH) {
Name(_HID, 0x020cd041)
Name(_CRS, Buffer(0x22) {0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x40, 0x10, 0x40, 0x10, 0x1, 0x10, 0x47, 0x1, 0x10, 0x38, 0x10, 0x38, 0x1, 0x10, 0x47, 0x1, 0x16, 0x10, 0x16, 0x10, 0x1, 0x2a, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(DMAA) {
Name(_HID, 0x0002d041)
Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x2, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(RTC_) {
Name(_HID, 0x000bd041)
Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x2, 0x22, 0x0, 0x1, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(PIC_) {
Name(_HID, 0xd041)
Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(FPU_) {
Name(_HID, 0x040cd041)
Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0xf, 0x22, 0x0, 0x20, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(TMR_) {
Name(_HID, 0x0001d041)
Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(SPKR) {
Name(_HID, 0x0008d041)
Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Method(ECOK) {
If(LAnd(And(\_SB_.PCI0.PX40.EC0_.OPRG, 0x8, ), And(MFLG, 0x1, ))) {
Return(0x1)
}
Else {
Return(0x0)
}
}
Device(EC0_) {
Name(_HID, 0x090cd041)
Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 })
Name(_GPE, 0x9)
Name(OPRG, 0x17)
Method(_REG, 2) {
If(LEqual(Arg0, 0x3)) {
If(LEqual(Arg1, 0x0)) {
And(OPRG, Not(0x8, ), OPRG)
}
Else {
Or(OPRG, 0x8, OPRG)
}
}
}
OperationRegion(RAM_, EmbeddedControl, 0x28, 0x40)
Field(RAM_, AnyAcc, Lock, Preserve) {
TMP_, 8,
TMPC, 8,
TMPA, 8,
TMPP, 8,
DCID, 8,
Offset(0x6),
, 1,
, 1,
TME0, 1,
TME1, 1,
, 1,
PHDD, 1,
SHDD, 1,
FDD_, 1,
DPWR, 1,
UDR0, 1,
UDR5, 1,
EQBF, 1,
LDDS, 1,
CRST, 1,
DCWT, 1,
QVCC, 1,
S1LD, 1,
S2LD, 1,
VGAQ, 1,
LIDS, 1,
LWAK, 1,
MWAK, 1,
ADP_, 1,
POLL, 1,
Offset(0xa),
Offset(0x16),
BAT0, 1,
BAT1, 1,
BAT2, 1,
BAT3, 1,
Offset(0x17),
Offset(0x18),
BDC0, 16,
BDV0, 16,
BTY0, 1,
Offset(0x1d),
BST0, 8,
BPR0, 16,
BRC0, 16,
BPV0, 16,
BTP0, 16,
Offset(0x28),
BDC1, 16,
BDV1, 16,
BTY1, 1,
Offset(0x2d),
BST1, 8,
BPR1, 16,
BRC1, 16,
BPV1, 16,
BTP1, 16,
Offset(0x38),
LDEN, 1,
S1EN, 1,
, 3,
SFLD, 1,
LIDC, 1,
Offset(0x39),
Offset(0x3a),
Offset(0x3b),
Offset(0x3c),
Offset(0x3d),
Offset(0x3e),
MODE, 1,
FAN0, 1,
FAN1, 1,
Offset(0x3f),
PWRW, 1,
RNGW, 1,
LANW, 1,
COMW, 1,
Offset(0x40)
}
Method(_Q03) {
Notify(\_TZ_.THRM, 0x80)
}
Method(_Q04) {
Store(0x89, \_SB_.BCMD)
Store(0x0, \_SB_.SMIC)
Store(\_SB_.PCI0.PX40.EC0_.DCID, \_SB_.DKTP)
Store(\_SB_.PCI0.PX40.EC0_.DCID, \_SB_.DKSN)
Store(0x1, \_SB_.PCI0.PX40.EC0_.LDDS)
Store(0x0, \_SB_.PCI0.PX40.EC0_.DCWT)
If(LEqual(\_SB_.PCI0.PX40.EC0_.DCID, 0x3)) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.DPWR)
Notify(\_SB_.PCI0.FDS_, 0x0)
}
Else {
Notify(\_SB_.PCI0.SPR_, 0x0)
}
}
Method(_Q05) {
Store(\_SB_.PCI0.PX40.EC0_.DCID, \_SB_.DKTP)
Store(\_SB_.PCI0.PX40.EC0_.DCID, \_SB_.DKSN)
If(LNot(LEqual(\_SB_.PCI0.PX40.EC0_.DCID, 0x0))) {
If(LEqual(\_SB_.PCI0.PX40.EC0_.DCID, 0x3)) {
Notify(\_SB_.PCI0.FDS_, 0x1)
}
Else {
Notify(\_SB_.PCI0.SPR_, 0x1)
}
}
Else {
Store(0x89, \_SB_.BCMD)
Store(0x0, \_SB_.SMIC)
Store(0x0, \_SB_.PCI0.PX40.EC0_.LDDS)
Store(0x1, \_SB_.PCI0.PX40.EC0_.DCWT)
}
}
Method(_Q06) {
If(SHDD) {
Sleep(0x01f4)
Store(0x1, \_SB_.PCI0.PX40.SISI)
Store(0x1, \_SB_.PCI0.PX43.SDPW)
Store(0x1, \_SB_.PCI0.PX43.SRST)
Sleep(0x32)
Store(0x0, \_SB_.PCI0.PX43.SDPW)
Sleep(0x32)
Store(0x0, \_SB_.PCI0.PX40.SISI)
Sleep(0x32)
Store(0x1, \_SB_.PCI0.PX41.SIDE)
Sleep(0x32)
Store(0x0, \_SB_.PCI0.PX43.SRST)
Store(0x14, Local7)
While(Local7) {
Sleep(0x01f4)
Decrement(Local7)
}
Notify(\_SB_.PCI0.PX41.SECN, 0x0)
}
Else {
}
}
Method(_Q08) {
Store("Geyserville", Debug)
Store(0x83, \_SB_.BCMD)
Store(0x0, \_SB_.SMIC)
If(\_SB_.PCI0.PX43.ACPW) {
Notify(\_SB_.AC__, 0x80)
}
Else {
Notify(\_SB_.AC__, 0x80)
}
}
Method(_Q09) {
If(\_SB_.PCI0.PX40.EC0_.BAT0) {
Notify(\_SB_.BAT0, 0x80)
}
Else {
Notify(\_SB_.BAT0, 0x80)
}
If(\_SB_.PCI0.PX40.EC0_.BAT1) {
Notify(\_SB_.BAT1, 0x80)
}
Else {
Notify(\_SB_.BAT1, 0x80)
}
}
Method(_Q0B) {
Notify(\_SB_.BAT0, 0x80)
Notify(\_SB_.BAT1, 0x80)
}
Method(_Q0D) {
Notify(\_SB_.SBTN, 0x80)
}
Method(_Q0E) {
Store(0x1, PWRS)
Notify(\_SB_.PWRB, 0x80)
}
}
Device(KBC_) {
Name(_HID, 0x0303d041)
Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
Device(MOUE) {
Name(_HID, 0x130fd041)
Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
Method(_STA) {
Return(0xf)
}
}
}
Device(PX41) {
Name(_ADR, 0x00070001)
Device(PRIM) {
Name(_ADR, 0x0)
Method(_STA) {
Store("PCI IDE Primary _STA", Debug)
Return(0xf)
}
Device(MAST) {
Name(_ADR, 0x0)
}
Device(SLAV) {
Name(_ADR, 0x1)
}
}
Device(SECN) {
Name(_ADR, 0x1)
Method(_STA) {
Store(0x1, \_SB_.PCI0.PX41.SIDE)
Return(0xf)
}
Device(MAST) {
Name(_ADR, 0x0)
Method(_STA) {
Store(BEXT(), Local7)
Return(Local7)
}
Method(_EJ3, 1) {
If(Arg0) {
Store(0x0, \_SB_.PCI0.PX41.SIDE)
Store(0x1, \_SB_.PCI0.PX40.SISI)
Store(0x1, \_SB_.PCI0.PX43.SDPW)
}
Return(0x0)
}
}
Device(SLAV) {
Name(_ADR, 0x1)
Method(_STA) {
Store(BEXT(), Local7)
Return(Local7)
}
Name(_EJD, "\_SB_.PCI0.PX41.SECN.MAST")
}
Method(BEXT) {
If(\_SB_.PCI0.PX40.ECOK()) {
Store(0x0, Local7)
Store(\_SB_.PCI0.PX40.EC0_.SHDD, Local0)
Store(\_SB_.PCI0.PX41.SIDE, Local1)
Store(LNot(\_SB_.PCI0.PX43.SDPW), Local2)
Store(LNot(\_SB_.PCI0.PX43.SRST), Local3)
Store(LNot(\_SB_.PCI0.PX40.SISI), Local4)
If(LAnd(Local0, Local1)) {
If(LAnd(Local2, Local3)) {
If(Local4) {
Store(0xf, Local7)
}
}
}
If(LNot(Local7)) {
Store(0x1, \_SB_.PCI0.PX43.SDPW)
}
}
Else {
Store(0xf, Local7)
}
Return(Local7)
}
}
Name(_PSC, 0x0)
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
Store("IDE_PS0", Debug)
Store(0x0, _PSC)
}
Method(_PS3) {
Store("IDE_PS3", Debug)
Store(0x87, \_SB_.BCMD)
Store(0x0, \_SB_.SMIC)
Store(0x3, _PSC)
}
OperationRegion(PIDE, PCI_Config, 0x40, 0x4)
Field(PIDE, DWordAcc, NoLock, Preserve) {
, 31,
SIDE, 1
}
Field(PIDE, DWordAcc, NoLock, Preserve) {
Offset(0x2),
SIDT, 16
}
}
Device(PX42) {
Name(_ADR, 0x00070002)
Name(_PSC, 0x0)
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
Store("USB_PS0", Debug)
Store(0x0, _PSC)
}
Method(_PS3) {
Store("USB_PS3", Debug)
Store(0x3, _PSC)
}
Name(_PRW, Package(0x2) {
0x8,
0x4,
})
Method(_STA) {
Store("USB_STA", Debug)
Return(0xf)
}
}
Device(PX43) {
Name(_ADR, 0x00070003)
Method(_STA) {
Return(0xf)
}
OperationRegion(PCI_, PCI_Config, 0x50, 0x30)
Field(PCI_, DWordAcc, NoLock, Preserve) {
Offset(0x1),
, 4,
FDCM, 1,
, 1,
U1M_, 1,
Offset(0x2),
U2M_, 1,
, 1,
LPTM, 1,
Offset(0xc),
MDIE, 1,
MDIA, 2,
SBE_, 1,
, 1,
SBA_, 2,
MSSE, 1,
MSSA, 2,
Offset(0xf),
, 1,
AUDM, 1,
, 2,
KBCM, 1,
G12M, 1,
G13M, 1,
LPTE, 1,
G09A, 16,
G09L, 4,
, 1,
G09M, 1,
G09E, 1,
Offset(0x13),
, 1,
LPTA, 2,
, 1,
FDCA, 1,
FDCE, 1,
KBCE, 1,
Offset(0x14),
G10A, 16,
G10L, 4,
, 1,
G10M, 1,
G10E, 1,
Offset(0x17),
U1A_, 3,
U1E_, 1,
U2A_, 3,
U2E_, 1,
G12A, 16,
G12L, 4,
G12E, 1,
Offset(0x20),
G13A, 16,
G13L, 4,
G13E, 1,
Offset(0x2c),
DEC1, 16,
DEEN, 8
}
OperationRegion(SMBP, PCI_Config, 0xd2, 0x5)
Field(SMBP, DWordAcc, NoLock, Preserve) {
RD20, 8,
RD30, 8,
RD40, 8,
RD50, 8,
RD60, 8
}
OperationRegion(SMBI, SystemIO, 0x1040, 0xd)
Field(SMBI, ByteAcc, NoLock, Preserve) {
S000, 1,
S001, 1,
S002, 1,
S003, 1,
S004, 1,
Offset(0x1),
S010, 1,
, 1,
S012, 1,
S013, 1,
S014, 1,
S015, 1,
Offset(0x2),
S020, 1,
S021, 1,
S022, 3,
, 1,
S025, 1,
Offset(0x3),
S030, 8,
S040, 8,
S050, 8,
S060, 8,
S070, 8,
S080, 1,
S081, 1,
S082, 1,
S083, 1,
Offset(0x9),
S090, 8,
S0A0, 8,
Offset(0xc),
S0C0, 8
}
OperationRegion(GPOS, SystemIO, 0x1034, 0x4)
Field(GPOS, ByteAcc, NoLock, Preserve) {
, 1,
HDPW, 1,
SDPW, 1,
, 3,
PRST, 1,
SRST, 1,
ENFD, 1,
Offset(0x2),
Offset(0x3),
, 6,
, 1
}
OperationRegion(GPIS, SystemIO, 0x1030, 0x1)
Field(GPIS, ByteAcc, NoLock, Preserve) {
, 5,
ACPW, 1,
Offset(0x1)
}
}
Device(AUD_) {
Name(_ADR, 0x00080000)
Name(_PSC, 0x0)
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
Store("AUD_PS0", Debug)
Store(0x0, _PSC)
}
Method(_PS3) {
Store("AUD_PS3", Debug)
Store(0x3, _PSC)
}
Method(_STA) {
Store("AUD_STA", Debug)
Return(0xf)
}
}
Device(MDM1) {
Name(_ADR, 0x00100000)
OperationRegion(DMG1, PCI_Config, 0x0, 0x4)
Field(DMG1, DWordAcc, NoLock, Preserve) {
MDR1, 32
}
Name(_PSC, 0x0)
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
Store("MDM1_PS0", Debug)
Store(0x0, _PSC)
}
Method(_PS3) {
Store("MDM1_PS3", Debug)
Store(0x3, _PSC)
}
Method(_STA) {
Store("MDM1_STA", Debug)
If(LEqual(MDR1, 0xffffffff)) {
Return(0x0)
}
Else {
Return(0xf)
}
}
Name(_PRW, Package(0x2) {
0xa,
0x4,
})
}
Device(CB1_) {
Name(_ADR, 0x00040000)
Name(_PSC, 0x0)
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
Store("CB1_PS0", Debug)
Store(0x0, _PSC)
}
Method(_PS3) {
Store("CB1_PS3", Debug)
Store(0x3, _PSC)
}
Method(_STA) {
Return(0xf)
}
}
Device(CB2_) {
Name(_ADR, 0x00040001)
Name(_PSC, 0x0)
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
Store("CB2_PS0", Debug)
Store(0x0, _PSC)
}
Method(_PS3) {
Store("CB2_PS3", Debug)
Store(0x3, _PSC)
}
Method(_STA) {
Return(0xf)
}
}
Device(SPR_) {
Name(_HID, 0x050ad041)
Method(_UID) {
If(LEqual(\_SB_.DKTP, 0x1)) {
Return(0x11111111)
}
Else {
Return(0x2)
}
}
Name(_BDN, 0x1)
Name(_PSC, 0x0)
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
Store(0x0, _PSC)
}
Method(_PS3) {
Store(0x3, _PSC)
}
Method(_EJ3, 1) {
Return(0x1)
}
Method(_DCK, 1) {
If(Arg0) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.LDDS)
Store(0x0, \_SB_.PCI0.PX40.EC0_.DCWT)
}
Else {
Store(0x0, \_SB_.PCI0.PX40.EC0_.LDDS)
Store(0x1, \_SB_.PCI0.PX40.EC0_.DCWT)
Store(0x1, \_SB_.PCI0.PX40.EC0_.SFLD)
Return(0x1)
}
}
Method(_STA) {
If(LEqual(\_SB_.DKTP, 0x1)) {
Return(0xf)
}
Else {
Return(0x0)
}
}
}
Device(FDS_) {
Name(_ADR, 0x000d0000)
Mutex(MFDS, 0)
Method(_UID) {
If(LEqual(\_SB_.DKTP, 0x3)) {
Return(0x33333333)
}
Else {
Return(Ones)
}
}
Name(_BDN, 0x3)
Method(ENQB) {
Acquire(MFDS, 0xffff)
Name(CNT1, 0x0)
Store(0x1, \_SB_.PCI0.PX40.EC0_.DPWR)
Store(0x1, \_SB_.PCI0.PX40.EC0_.CRST)
Store(0x0, CNT1)
While(LNot(LGreater(CNT1, 0x1e))) {
If(LEqual(\_SB_.PCI0.PX40.EC0_.QVCC, 0x1)) {
Store(0xffff, CNT1)
}
Else {
Increment(CNT1)
Sleep(0x1e)
}
}
Release(MFDS)
If(LEqual(CNT1, 0xffff)) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.EQBF)
Store(0x0, \_SB_.PCI0.PX40.EC0_.CRST)
Store(0x0, \_SB_.PCI0.PX40.EC0_.DCWT)
Store(0x1, \_SB_.PCI0.PX40.EC0_.LDDS)
Return(0x1)
}
Else {
Store(0x0, \_SB_.PCI0.PX40.EC0_.EQBF)
Store(0x0, \_SB_.PCI0.PX40.EC0_.CRST)
Store(0x0, \_SB_.PCI0.PX40.EC0_.DPWR)
Store(0x0, \_SB_.PCI0.PX40.EC0_.DCWT)
Return(0x0)
}
}
Name(_PSC, 0x0)
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
Store(0x0, _PSC)
}
Method(_PS3) {
Store(0x3, _PSC)
}
Name(_PRW, Package(0x2) {
0xa,
0x4,
})
Method(_EJ3, 1) {
Return(0x1)
}
Method(_DCK, 1) {
If(Arg0) {
Return(ENQB())
}
Else {
Store(0x0, \_SB_.PCI0.PX40.EC0_.EQBF)
Store(0x0, \_SB_.PCI0.PX40.EC0_.LDDS)
Store(0x1, \_SB_.PCI0.PX40.EC0_.DCWT)
Store(0x1, \_SB_.PCI0.PX40.EC0_.SFLD)
Return(0x1)
}
}
Method(_STA) {
If(LEqual(\_SB_.DKTP, 0x3)) {
Return(0xf)
}
Else {
Return(0x0)
}
}
}
Method(_INI) {
If(LEqual(CKOS(), 0x2)) {
Store(0x85, \_SB_.BCMD)
Store(0x0, \_SB_.SMIC)
}
If(LEqual(CKOS(), 0x1)) {
Store(0x84, \_SB_.BCMD)
Store(0x0, \_SB_.SMIC)
}
}
Device(AGP_) {
Name(_ADR, 0x00010000)
Name(_PRT, Package(0x1) {
Package(0x4) {
0xffff,
0x0,
\_SB_.PCI0.PX40.LNKA,
0x0,
},
})
Device(VGA_) {
Name(_ADR, 0x0)
Name(_PSC, 0x0)
Name(_PR0, Package(0x0) {
})
Method(_PS0) {
Store("VGA_PS0", Debug)
If(\_SB_.PCI0.PX40.ECOK()) {
Store(0x0, \_SB_.PCI0.PX40.EC0_.LDEN)
}
Store(0x0, _PSC)
}
Method(_PS3) {
Store("VGA_PS3", Debug)
If(\_SB_.PCI0.PX40.ECOK()) {
Store(0x1, \_SB_.PCI0.PX40.EC0_.LDEN)
}
Store(0x3, _PSC)
}
Method(_STA) {
Store("VGA_STA", Debug)
Return(0xf)
}
}
}
}
Device(PWRB) {
Name(_HID, 0x0c0cd041)
Name(_PRW, Package(0x2) {
0xa,
0x4,
})
}
Device(SBTN) {
Name(_HID, 0x0e0cd041)
}
}
}
/*
BOOT: Length=39, Revision=1, Checksum=165,
OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000,
Creator ID= LTP, Creator Revision=0x1
*/
More information about the freebsd-current
mailing list