FreeBSD 8.0 Asus P5N64 WS Professional ACPI error
Sam Fourman Jr.
sfourman at gmail.com
Sun Jun 14 08:09:19 UTC 2009
hello,
I am putting this information out there for archival pourposes, but I
was wondering if someone would know how to fix this error in the dmesg
I am not sure if this is somthing to worry about or not.
atrtc1: <AT realtime clock> port 0x70-0x71 on acpi0
cpu0: <ACPI CPU> on acpi0
ACPI Warning (tbutils-0243): Incorrect checksum in table [OEMB] - D6,
should be CE [20070320]
here is a link to the motherboard
http://www.asus.com/product.aspx?P_ID=o5ztautLyFiNMFcJ&templete=2
# dmesg
Copyright (c) 1992-2009 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 is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-CURRENT #2: Mon Apr 13 18:21:46 CDT 2009
sfourman@:/usr/obj/usr/src/sys/Ziggy3
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz (2666.65-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x1067a Stepping = 10
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0x408e3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE>
AMD Features=0x20100000<NX,LM>
AMD Features2=0x1<LAHF>
TSC: P-state invariant
Cores per package: 4
real memory = 4294967296 (4096 MB)
avail memory = 3139842048 (2994 MB)
ACPI APIC Table: <101308 APIC1117>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
cpu2 (AP): APIC ID: 2
cpu3 (AP): APIC ID: 3
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <101308 XSDT1117> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of fec00000, 1000 (3) failed
acpi0: reservation of fee00000, 1000 (3) failed
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, bff00000 (3) failed
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x2008-0x200b on acpi0
acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 25000000 Hz quality 900
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: <memory, RAM> at device 0.1 (no driver attached)
pci0: <memory, RAM> at device 0.2 (no driver attached)
pci0: <memory, RAM> at device 0.3 (no driver attached)
pci0: <memory, RAM> at device 0.4 (no driver attached)
pci0: <memory, RAM> at device 0.5 (no driver attached)
pci0: <memory, RAM> at device 0.6 (no driver attached)
pci0: <memory, RAM> at device 0.7 (no driver attached)
pci0: <memory, RAM> at device 1.0 (no driver attached)
pci0: <memory, RAM> at device 1.1 (no driver attached)
pci0: <memory, RAM> at device 1.2 (no driver attached)
pci0: <memory, RAM> at device 1.3 (no driver attached)
pci0: <memory, RAM> at device 1.4 (no driver attached)
pci0: <memory, RAM> at device 1.5 (no driver attached)
pci0: <memory, RAM> at device 1.6 (no driver attached)
pci0: <memory, RAM> at device 1.7 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 2.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> port 0xdc00-0xdc7f mem
0xfa000000-0xfaffffff,0xd0000000-0xdfffffff,0xf8000000-0xf9ffffff irq
16 at device 0.0 on pci1
nvidia0: <GeForce GTX 275> on vgapci0
vgapci0: child nvidia0 requested pci_enable_busmaster
vgapci0: child nvidia0 requested pci_enable_io
vgapci0: child nvidia0 requested pci_enable_io
nvidia0: [GIANT-LOCKED]
nvidia0: [ITHREAD]
pcib2: <ACPI PCI-PCI bridge> irq 17 at device 4.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pci0: <memory, RAM> at device 9.0 (no driver attached)
isab0: <PCI-ISA bridge> port 0x2f00-0x2f7f at device 10.0 on pci0
isa0: <ISA bus> on isab0
pci0: <serial bus, SMBus> at device 10.1 (no driver attached)
ohci0: <OHCI (generic) USB controller> mem 0xf7ffb000-0xf7ffbfff irq
22 at device 11.0 on pci0
ohci0: [ITHREAD]
usbus0: <OHCI (generic) USB controller> on ohci0
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xf7ffac00-0xf7ffacff
irq 23 at device 11.1 on pci0
ehci0: [ITHREAD]
usbus1: EHCI version 1.0
usbus1: <EHCI (generic) USB 2.0 controller> on ehci0
atapci0: <nVidia nForce MCP55 UDMA133 controller> port
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 13.0 on
pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
atapci1: <nVidia nForce MCP55 SATA300 controller> port
0xc400-0xc407,0xc080-0xc083,0xc000-0xc007,0xbc00-0xbc03,0xb880-0xb88f
mem 0xf7ff9000-0xf7ff9fff irq 21 at device 14.0 on pci0
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
ata3: [ITHREAD]
atapci2: <nVidia nForce MCP55 SATA300 controller> port
0xb800-0xb807,0xb480-0xb483,0xb400-0xb407,0xb080-0xb083,0xb000-0xb00f
mem 0xf7ff8000-0xf7ff8fff irq 22 at device 14.1 on pci0
atapci2: [ITHREAD]
ata4: <ATA channel 0> on atapci2
ata4: [ITHREAD]
ata5: <ATA channel 1> on atapci2
ata5: [ITHREAD]
atapci3: <nVidia nForce MCP55 SATA300 controller> port
0xac00-0xac07,0xa880-0xa883,0xa800-0xa807,0xa480-0xa483,0xa400-0xa40f
mem 0xf7ff7000-0xf7ff7fff irq 23 at device 14.2 on pci0
atapci3: [ITHREAD]
ata6: <ATA channel 0> on atapci3
ata6: [ITHREAD]
ata7: <ATA channel 1> on atapci3
ata7: [ITHREAD]
pcib3: <ACPI PCI-PCI bridge> at device 15.0 on pci0
pci3: <ACPI PCI bus> on pcib3
fwohci0: <VIA Fire II (VT6306)> port 0xec00-0xec7f mem
0xfbfff800-0xfbffffff irq 18 at device 7.0 on pci3
fwohci0: [ITHREAD]
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:1e:8c:00:01:af:44:a4
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
dcons_crom0: <dcons configuration ROM> on firewire0
dcons_crom0: bus_addr 0xbcba8000
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 02:1e:8c:af:44:a4
fwe0: Ethernet address: 02:1e:8c:af:44:a4
fwip0: <IP over FireWire> on firewire0
fwip0: Firewire address: 00:1e:8c:00:01:af:44:a4 @ 0xfffe00000000,
S400, maxrec 2048
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwohci0: Initiate bus reset
fwohci0: fwohci_intr_core: BUS reset
fwohci0: fwohci_intr_core: node_id=0x00000000, SelfID Count=1, CYCLEMASTER mode
hdac0: <NVidia MCP55 High Definition Audio Controller> mem
0xf7ff0000-0xf7ff3fff irq 21 at device 15.1 on pci0
hdac0: HDA Driver Revision: 20090401_0132
hdac0: [ITHREAD]
nfe0: <NVIDIA nForce MCP55 Networking Adapter> port 0xa080-0xa087 mem
0xf7ff6000-0xf7ff6fff,0xf7ffa800-0xf7ffa8ff,0xf7ffa400-0xf7ffa40f irq
20 at device 17.0 on pci0
miibus0: <MII bus> on nfe0
e1000phy0: <Marvell 88E1116 Gigabit PHY> PHY 1 on miibus0
e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
nfe0: Ethernet address: 00:23:54:96:dd:8d
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe1: <NVIDIA nForce MCP55 Networking Adapter> port 0xa000-0xa007 mem
0xf7ff5000-0xf7ff5fff,0xf7ffa000-0xf7ffa0ff,0xf7ff4c00-0xf7ff4c0f irq
20 at device 18.0 on pci0
miibus1: <MII bus> on nfe1
e1000phy1: <Marvell 88E1116 Gigabit PHY> PHY 2 on miibus1
e1000phy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
nfe1: Ethernet address: 00:23:54:96:de:2f
nfe1: [FILTER]
nfe1: [FILTER]
nfe1: [FILTER]
nfe1: [FILTER]
nfe1: [FILTER]
nfe1: [FILTER]
nfe1: [FILTER]
nfe1: [FILTER]
pcib4: <ACPI PCI-PCI bridge> at device 19.0 on pci0
pci4: <ACPI PCI bus> on pcib4
pcib5: <ACPI PCI-PCI bridge> at device 22.0 on pci0
pci5: <ACPI PCI bus> on pcib5
pcib6: <ACPI PCI-PCI bridge> at device 23.0 on pci0
pci6: <ACPI PCI bus> on pcib6
pcib7: <ACPI PCI-PCI bridge> at device 24.0 on pci0
pci7: <ACPI PCI bus> on pcib7
acpi_button0: <Power Button> on acpi0
fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq
2 on acpi0
fdc0: [FILTER]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atrtc1: <AT realtime clock> port 0x70-0x71 on acpi0
cpu0: <ACPI CPU> on acpi0
ACPI Warning (tbutils-0243): Incorrect checksum in table [OEMB] - D6,
should be CE [20070320]
coretemp0: <CPU On-Die Thermal Sensors> on cpu0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
cpu1: <ACPI CPU> on acpi0
coretemp1: <CPU On-Die Thermal Sensors> on cpu1
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
cpu2: <ACPI CPU> on acpi0
coretemp2: <CPU On-Die Thermal Sensors> on cpu2
est2: <Enhanced SpeedStep Frequency Control> on cpu2
p4tcc2: <CPU Frequency Thermal Control> on cpu2
cpu3: <ACPI CPU> on acpi0
coretemp3: <CPU On-Die Thermal Sensors> on cpu3
est3: <Enhanced SpeedStep Frequency Control> on cpu3
p4tcc3: <CPU Frequency Thermal Control> on cpu3
pmtimer0 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
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
atrtc0: <AT Real Time Clock> at port 0x70 irq 8 on isa0
atrtc0: Warning: Couldn't map I/O.
atrtc0: Warning: Couldn't map Interrupt.
ppc0: parallel port not found.
Timecounters tick every 1.000 msec
firewire0: 1 nodes, maxhop <= 0 Not IRM capable irm(-1)
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 480Mbps High Speed USB v2.0
ad4: 152627MB <Seagate ST3160815AS 3.AAC> at ata2-master SATA300
ugen0.1: <nVidia> at usbus0
uhub0: <nVidia OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <nVidia> at usbus1
uhub1: <nVidia EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ad6: 152627MB <Seagate ST3160815AS 3.AAC> at ata3-master SATA300
ad10: 238475MB <Seagate ST3250820AS 3.AAD> at ata5-master SATA300
acd0: DVDR <SONY DVD RW AW-G170S/1.72> at ata6-master SATA150
acd1: DVDR <SONY DVD RW AW-G170S/1.72> at ata7-master SATA150
hdac0: HDA Codec #0: Analog Devices AD1988B
pcm0: <HDA Analog Devices AD1988B PCM #0 Analog> at cad 0 nid 1 on hdac0
pcm1: <HDA Analog Devices AD1988B PCM #1 Analog> at cad 0 nid 1 on hdac0
pcm2: <HDA Analog Devices AD1988B PCM #2 Digital> at cad 0 nid 1 on hdac0
uhub0: 10 ports with 10 removable, self powered
GEOM: ad6: partition 1 does not end on a track boundary.
GEOM: ad4s1: geometry does not match label (255h,63s != 16h,63s).
GEOM_LABEL: Label for provider ad4s2 is ufsid/49e566dc1068ba46.
GEOM_LABEL: Label for provider ad4s1a is ufsid/488e4b3067839641.
GEOM_LABEL: Label for provider ad4s1d is ufsid/488e4b32de16fc7b.
GEOM_LABEL: Label for provider ad4s1e is ufsid/488e4b305fbaa0dc.
GEOM_LABEL: Label for provider ad4s1f is ufsid/488e4b30ef1fe83e.
GEOM_LABEL: Label for provider ad10s1a is ufsid/4a34732705581f46.
(probe8:ata4:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe8:ata4:0:0:0): CAM Status: SCSI Status Error
(probe8:ata4:0:0:0): SCSI Status: Check Condition
(probe8:ata4:0:0:0): NOT READY asc:3a,0
(probe8:ata4:0:0:0): Medium not present
(probe8:ata4:0:0:0): Unretryable error
uhub1: 10 ports with 10 removable, self powered
(probe7:ata3:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(probe7:ata3:0:0:0): CAM Status: SCSI Status Error
(probe7:ata3:0:0:0): SCSI Status: Check Condition
(probe7:ata3:0:0:0): NOT READY asc:3a,0
(probe7:ata3:0:0:0): Medium not present
(probe7:ata3:0:0:0): Unretryable error
cd0 at ata3 bus 0 target 0 lun 0
cd0: <SONY DVD RW AW-G170S 1.72> Removable CD-ROM SCSI-0 device
cd0: 3.300MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
cd1 at ata4 bus 0 target 0 lun 0
cd1: <SONY DVD RW AW-G170S 1.72> Removable CD-ROM SCSI-0 device
cd1: 3.300MB/s transfers
cd1: Attempt to query device size failed: NOT READY, Medium not present
SMP: AP CPU #1 Launched!
SMP: AP CPU #3 Launched!
SMP: AP CPU #2 Launched!
Root mount waiting for: usbus1
Root mount waiting for: usbus1
ugen0.2: <Logitech> at usbus0
uhub2: <Logitech product 0xc223, class 9/0, rev 1.10/1.03, addr 2> on usbus0
ugen1.2: <Ralink> at usbus1
Trying to mount root from ufs:/dev/ad4s1a
uhub2: 4 ports with 2 removable, bus powered
GEOM_LABEL: Label ufsid/488e4b3067839641 removed.
GEOM_LABEL: Label for provider ad4s1a is ufsid/488e4b3067839641.
GEOM_LABEL: Label ufsid/488e4b305fbaa0dc removed.
GEOM_LABEL: Label for provider ad4s1e is ufsid/488e4b305fbaa0dc.
GEOM_LABEL: Label ufsid/488e4b30ef1fe83e removed.
GEOM_LABEL: Label for provider ad4s1f is ufsid/488e4b30ef1fe83e.
GEOM_LABEL: Label ufsid/488e4b32de16fc7b removed.
GEOM_LABEL: Label for provider ad4s1d is ufsid/488e4b32de16fc7b.
GEOM_LABEL: Label ufsid/49e566dc1068ba46 removed.
GEOM_LABEL: Label for provider ad4s2 is ufsid/49e566dc1068ba46.
GEOM_LABEL: Label ufsid/488e4b3067839641 removed.
ugen0.3: <Logitech> at usbus0
ukbd0: <Logitech Logitech Gaming Keyboard, class 0/0, rev 2.00/1.70,
addr 3> on usbus0
kbd2 at ukbd0
uhid0: <Logitech Logitech Gaming Keyboard, class 0/0, rev 2.00/1.70,
addr 3> on usbus0
GEOM_LABEL: Label ufsid/488e4b305fbaa0dc removed.
GEOM_LABEL: Label ufsid/488e4b30ef1fe83e removed.
GEOM_LABEL: Label ufsid/488e4b32de16fc7b removed.
warning: KLD '/boot/kernel.working/linprocfs.ko' is newer than the
linker.hints file
GEOM_LABEL: Label ufsid/49e566dc1068ba46 removed.
ugen0.4: <Logitech> at usbus0
ums0: <Logitech USB-PS/2 Optical Mouse, class 0/0, rev 2.00/21.00,
addr 4> on usbus0
ums0: 8 buttons and [XYZ] coordinates ID=0
ugen0.5: <Logitech> at usbus0
uhid1: <Logitech product 0xc222, class 0/0, rev 2.00/1.03, addr 5> on usbus0
hid_get_item:286: Number of items truncated to 255
hid_get_item:286: Number of items truncated to 255
hid_get_item:286: Number of items truncated to 255
fuse4bsd: version 0.3.9-pre1, FUSE ABI 7.8
nfe0: link state changed to UP
#
Here is a acpidump
# acpidump -t -d < acpi.txt
/*
RSD PTR: OEM=ACPIAM, ACPI_Rev=2.0x (2)
XSDT=0xbff40100, length=36, cksum=40
*/
/*
XSDT: Length=76, Revision=1, Checksum=63,
OEMID=101308, OEM Table ID=XSDT1117, OEM Revision=0x20081013,
Creator ID=MSFT, Creator Revision=0x97
Entries={ 0xbff40290, 0xbff40390, 0xbff40410, 0xbff4e040, 0xbff49370 }
*/
/*
FACP: Length=244, Revision=3, Checksum=195,
OEMID=101308, OEM Table ID=FACP1117, OEM Revision=0x20081013,
Creator ID=MSFT, Creator Revision=0x97
FACS=0xbff4e000, DSDT=0xbff40450
INT_MODEL=APIC
Preferred_PM_Profile=Desktop (1)
SCI_INT=9
SMI_CMD=0x242e, ACPI_ENABLE=0xe1, ACPI_DISABLE=0x1e, S4BIOS_REQ=0x0
PSTATE_CNT=0xe2
PM1a_EVT_BLK=0x2000-0x2003
PM1a_CNT_BLK=0x2004-0x2005
PM_TMR_BLK=0x2008-0x200b
GPE0_BLK=0x2020-0x2027
GPE1_BLK=0x24a0-0x24af, GPE1_BASE=32
CST_CNT=0xe3
P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
FLUSH_SIZE=1024, FLUSH_STRIDE=16
DUTY_OFFSET=1, DUTY_WIDTH=3
DAY_ALRM=125, MON_ALRM=126, CENTURY=50
IAPC_BOOT_ARCH={LEGACY_DEV,8042}
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
X_FACS=0xbff4e000, X_DSDT=0xbff40450
X_PM1a_EVT_BLK=0x2000:0[32] (IO)
X_PM1a_CNT_BLK=0x2004:0[16] (IO)
X_PM_TMR_BLK=0x2008:0[32] (IO)
X_GPE0_BLK=0x2020:0[64] (IO)
X_GPE1_BLK=0x24a0:0[128] (IO)
*/
/*
FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
Global_Lock=
Flags=
Version=1
*/
/*
DSDT: Length=36639, Revision=1, Checksum=208,
OEMID=A0939, OEM Table ID=A0939058, OEM Revision=0x58,
Creator ID=INTL, Creator Revision=0x20060113
*/
/*
APIC: Length=128, Revision=1, Checksum=187,
OEMID=101308, OEM Table ID=APIC1117, OEM Revision=0x20081013,
Creator ID=MSFT, Creator Revision=0x97
Local APIC ADDR=0xfee00000
Flags={PC-AT}
Type=Local APIC
ACPI CPU=1
Flags={ENABLED}
APIC ID=0
Type=Local APIC
ACPI CPU=2
Flags={ENABLED}
APIC ID=1
Type=Local APIC
ACPI CPU=3
Flags={ENABLED}
APIC ID=2
Type=Local APIC
ACPI CPU=4
Flags={ENABLED}
APIC ID=3
Type=IO APIC
APIC ID=4
INT BASE=0
ADDR=0x00000000fec00000
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=INT Override
BUS=0
IRQ=14
INTR=14
Flags={Polarity=active-hi, Trigger=edge}
Type=INT Override
BUS=0
IRQ=15
INTR=15
Flags={Polarity=active-hi, Trigger=edge}
*/
/*
MCFG: Length=60, Revision=1, Checksum=96,
OEMID=101308, OEM Table ID=OEMMCFG, OEM Revision=0x20081013,
Creator ID=MSFT, Creator Revision=0x97
Base Address= 0x00000000e0000000
Segment Group= 0x0000
Start Bus= 0
End Bus= 255
*/
/*
HPET: Length=56, Revision=1, Checksum=159,
OEMID=101308, OEM Table ID=OEMHPET0, OEM Revision=0x20081013,
Creator ID=MSFT, Creator Revision=0x97
HPET Number=0
ADDR=0xfed00000:0[8] (Memory) HW Rev=0x1
Comparitors=2
Counter Size=0
Legacy IRQ routing capable={TRUE}
PCI Vendor ID=0x10de
Minimal Tick=14318
*/
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20070320
*
* Disassembly of /tmp/acpidump.ghdSXi, Sun Jun 14 02:28:43 2009
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x00008F1F (36639)
* Revision 0x01
* OEM ID "A0939"
* OEM Table ID "A0939058"
* OEM Revision 0x00000058 (88)
* Creator ID "INTL"
* Creator Revision 0x20060113 (537264403)
*/
DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "A0939", "A0939058",
0x00000058)
{
Scope (_PR)
{
Processor (CPU1, 0x01, 0x00002010, 0x06)
{
OperationRegion (STBL, SystemMemory, 0xBFF4E0C0, 0x01D2)
Name (NCPU, 0x04)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (CFGD, 0x01000007)
Name (TBLD, 0x80)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, Zero, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS0, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS0, TEMP, Local2)
_OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C,
0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58,
0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, Zero, STS0)
CreateDWordField (Arg3, 0x04, CAP0)
CreateDWordField (Arg0, Zero, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID0, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29,
0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (UID0, Zero, EID0)
CreateDWordField (UID0, 0x04, EID1)
CreateDWordField (UID0, 0x08, EID2)
CreateDWordField (UID0, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual
(IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, STS0)
Return (Arg3)
}
If (LNotEqual (Arg1, One))
{
Store (0x0A, STS0)
Return (Arg3)
}
Or (And (TYPE, 0x7FFFFFFF), CAP0, TYPE)
If (And (CFGD, One))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE,
0x09), 0x09)), LNot (And (TBLD, One))))
{
Or (TBLD, One, TBLD)
Load (STBL, HNDL)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
)), LNot (And (TBLD, 0x02))))
{
Or (TBLD, 0x02, TBLD)
}
}
Return (Arg3)
}
}
}
Scope (_PR)
{
Processor (CPU2, 0x02, 0x00000810, 0x06)
{
OperationRegion (STBL, SystemMemory, 0xBFF4E2A0, 0x0143)
Name (NCPU, 0x04)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (CFGD, 0x01000007)
Name (TBLD, 0x80)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, Zero, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS1, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS1, TEMP, Local2)
_OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C,
0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58,
0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, Zero, STS1)
CreateDWordField (Arg3, 0x04, CAP1)
CreateDWordField (Arg0, Zero, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID0, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29,
0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (UID0, Zero, EID0)
CreateDWordField (UID0, 0x04, EID1)
CreateDWordField (UID0, 0x08, EID2)
CreateDWordField (UID0, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual
(IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, STS1)
Return (Arg3)
}
If (LNotEqual (Arg1, One))
{
Store (0x0A, STS1)
Return (Arg3)
}
Or (And (TYPE, 0x7FFFFFFF), CAP1, TYPE)
If (And (CFGD, One))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE,
0x09), 0x09)), LNot (And (TBLD, One))))
{
Or (TBLD, One, TBLD)
Load (STBL, HNDL)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
)), LNot (And (TBLD, 0x02))))
{
Or (TBLD, 0x02, TBLD)
}
}
Return (Arg3)
}
}
}
Scope (_PR)
{
Processor (CPU3, 0x03, 0x00000810, 0x06)
{
OperationRegion (STBL, SystemMemory, 0xBFF4E3F0, 0x0143)
Name (NCPU, 0x04)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (CFGD, 0x01000007)
Name (TBLD, 0x80)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, Zero, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS2, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS2, TEMP, Local2)
_OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C,
0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58,
0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, Zero, STS2)
CreateDWordField (Arg3, 0x04, CAP2)
CreateDWordField (Arg0, Zero, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID0, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29,
0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (UID0, Zero, EID0)
CreateDWordField (UID0, 0x04, EID1)
CreateDWordField (UID0, 0x08, EID2)
CreateDWordField (UID0, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual
(IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, STS2)
Return (Arg3)
}
If (LNotEqual (Arg1, One))
{
Store (0x0A, STS2)
Return (Arg3)
}
Or (And (TYPE, 0x7FFFFFFF), CAP2, TYPE)
If (And (CFGD, One))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE,
0x09), 0x09)), LNot (And (TBLD, One))))
{
Or (TBLD, One, TBLD)
Load (STBL, HNDL)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
)), LNot (And (TBLD, 0x02))))
{
Or (TBLD, 0x02, TBLD)
}
}
Return (Arg3)
}
}
}
Scope (_PR)
{
Processor (CPU4, 0x04, 0x00000810, 0x06)
{
OperationRegion (STBL, SystemMemory, 0xBFF4E540, 0x0143)
Name (NCPU, 0x04)
Name (TYPE, 0x80000000)
Name (HNDL, 0x80000000)
Name (CFGD, 0x01000007)
Name (TBLD, 0x80)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, Zero, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS3, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS3, TEMP, Local2)
_OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C,
0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58,
0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, Zero, STS3)
CreateDWordField (Arg3, 0x04, CAP3)
CreateDWordField (Arg0, Zero, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID0, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29,
0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (UID0, Zero, EID0)
CreateDWordField (UID0, 0x04, EID1)
CreateDWordField (UID0, 0x08, EID2)
CreateDWordField (UID0, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual
(IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, STS3)
Return (Arg3)
}
If (LNotEqual (Arg1, One))
{
Store (0x0A, STS3)
Return (Arg3)
}
Or (And (TYPE, 0x7FFFFFFF), CAP3, TYPE)
If (And (CFGD, One))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE,
0x09), 0x09)), LNot (And (TBLD, One))))
{
Or (TBLD, One, TBLD)
Load (STBL, HNDL)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
)), LNot (And (TBLD, 0x02))))
{
Or (TBLD, 0x02, TBLD)
}
}
Return (Arg3)
}
}
}
Name (FZTF, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5
})
Name (DP80, 0x80)
Name (DP90, 0x90)
Name (SPIO, 0x2E)
Name (IOPB, 0x0C00)
Name (IOPL, 0x10)
Name (IOEB, 0x0D00)
Name (IOEL, 0x10)
Name (IOGB, 0x0A20)
Name (IOGL, 0x10)
Name (IODB, 0x0A30)
Name (IODL, 0x10)
Name (IO1B, 0x0A20)
Name (IO1L, 0x08)
Name (IO3B, 0x0D00)
Name (IO3L, 0x80)
Name (SSMI, 0x242E)
Name (SSEP, 0x99)
Name (SSEN, One)
Name (SHPB, 0xFED00000)
Name (SHPL, 0x1000)
Name (PMBS, 0x2000)
Name (PMLN, 0x0100)
Name (SCBS, 0x2400)
Name (SCLN, 0x0100)
Name (ACBS, 0x2800)
Name (ACLN, 0x0100)
Name (MTAB, 0x2F00)
Name (MTAL, 0x0100)
Name (IGPB, 0x2C00)
Name (IGLN, 0x0100)
Name (ACA4, 0x20A4)
Name (SCIO, 0x2400)
Name (SCTL, 0x2090)
Name (EXTS, Zero)
Name (MUAE, Zero)
Name (APIC, One)
Name (T1OF, Zero)
Name (T2OF, Zero)
Name (T3OF, Zero)
Name (CQST, 0x3C)
Name (PCIB, 0xE0000000)
Name (PCIL, 0x10000000)
Name (SMIT, 0x242E)
Name (CMRQ, 0xE0)
Name (CMER, 0xE1)
Name (CMOR, 0xE3)
Name (NSLB, 0xD0000000)
Name (SMBS, 0x2D00)
OperationRegion (BIOS, SystemMemory, 0xBFF4E064, 0xFF)
Field (BIOS, ByteAcc, NoLock, Preserve)
{
SS1, 1,
SS2, 1,
SS3, 1,
SS4, 1,
Offset (0x01),
IOST, 16,
TOPM, 32,
ROMS, 32,
MG1B, 32,
MG1L, 32,
MG2B, 32,
MG2L, 32,
Offset (0x1C),
DMAX, 8,
HPTA, 32,
CPB0, 32,
CPB1, 32,
CPB2, 32,
CPB3, 32,
ASSB, 8,
AOTB, 8,
AAXB, 32,
SMIF, 8,
DTSE, 8,
DTS1, 8,
DTS2, 8,
MPEN, 8,
TPMF, 8,
MG3B, 32,
MG3L, 32,
MH1B, 32,
MH1L, 32
}
Method (RRIO, 4, NotSerialized)
{
Store ("RRIO", Debug)
}
Method (RDMA, 3, NotSerialized)
{
Store ("rDMA", Debug)
}
Name (PICM, Zero)
Method (_PIC, 1, NotSerialized)
{
If (Arg0)
{
Store (0xAA, DBG8)
}
Else
{
Store (0xAC, DBG8)
}
Store (Arg0, PICM)
}
Name (OSVR, Ones)
Method (OSFL, 0, NotSerialized)
{
If (LNotEqual (OSVR, Ones))
{
Return (OSVR)
}
If (LEqual (PICM, Zero))
{
Store (0xAC, DBG8)
}
Store (One, OSVR)
If (CondRefOf (_OSI, Local1))
{
If (_OSI ("Windows 2000"))
{
Store (0x04, OSVR)
}
If (_OSI ("Windows 2001"))
{
Store (Zero, OSVR)
}
If (_OSI ("Windows 2001 SP1"))
{
Store (Zero, OSVR)
}
If (_OSI ("Windows 2001 SP2"))
{
Store (Zero, OSVR)
}
If (_OSI ("Windows 2001.1"))
{
Store (Zero, OSVR)
}
If (_OSI ("Windows 2001.1 SP1"))
{
Store (Zero, OSVR)
}
If (_OSI ("Windows 2006"))
{
Store (Zero, OSVR)
}
}
Else
{
If (MCTH (_OS, "Microsoft Windows NT"))
{
Store (0x04, OSVR)
}
Else
{
If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store (0x02, OSVR)
}
If (MCTH (_OS, "Linux"))
{
Store (0x03, OSVR)
}
}
}
Return (OSVR)
}
Method (MCTH, 2, NotSerialized)
{
If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
{
Return (Zero)
}
Add (SizeOf (Arg0), One, Local0)
Name (BUF0, Buffer (Local0) {})
Name (BUF1, Buffer (Local0) {})
Store (Arg0, BUF0)
Store (Arg1, BUF1)
While (Local0)
{
Decrement (Local0)
If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
BUF1, Local0))))
{
Return (Zero)
}
}
Return (One)
}
Name (PRWP, Package (0x02)
{
Zero,
Zero
})
Method (GPRW, 2, NotSerialized)
{
Store (Arg0, Index (PRWP, Zero))
Store (ShiftLeft (SS1, One), Local0)
Or (Local0, ShiftLeft (SS2, 0x02), Local0)
Or (Local0, ShiftLeft (SS3, 0x03), Local0)
Or (Local0, ShiftLeft (SS4, 0x04), Local0)
If (And (ShiftLeft (One, Arg1), Local0))
{
Store (Arg1, Index (PRWP, One))
}
Else
{
ShiftRight (Local0, One, Local0)
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
FindSetLeftBit (Local0, Index (PRWP, One))
}
Else
{
FindSetRightBit (Local0, Index (PRWP, One))
}
}
Return (PRWP)
}
Name (WAKP, Package (0x02)
{
Zero,
Zero
})
OperationRegion (DEB0, SystemIO, DP80, One)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8
}
OperationRegion (DEB1, SystemIO, DP90, 0x02)
Field (DEB1, WordAcc, NoLock, Preserve)
{
DBG9, 16
}
Scope (_SB)
{
Name (PR00, Package (0x36)
{
Package (0x04)
{
0x000AFFFF,
Zero,
LSMB,
Zero
},
Package (0x04)
{
0x000AFFFF,
One,
LPMU,
Zero
},
Package (0x04)
{
0x000BFFFF,
One,
LUB2,
Zero
},
Package (0x04)
{
0x0011FFFF,
Zero,
LMAC,
Zero
},
Package (0x04)
{
0x0012FFFF,
Zero,
LMAD,
Zero
},
Package (0x04)
{
0x000EFFFF,
Zero,
LSA0,
Zero
},
Package (0x04)
{
0x000EFFFF,
One,
LSA1,
Zero
},
Package (0x04)
{
0x000EFFFF,
0x02,
LSA2,
Zero
},
Package (0x04)
{
0x000FFFFF,
One,
LAZA,
Zero
},
Package (0x04)
{
0x0018FFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0x0018FFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0x0018FFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0x0018FFFF,
0x03,
LNED,
Zero
},
Package (0x04)
{
0x0017FFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0x0017FFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0x0017FFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0x0017FFFF,
0x03,
LNEA,
Zero
},
Package (0x04)
{
0x0016FFFF,
Zero,
LNEC,
Zero
},
Package (0x04)
{
0x0016FFFF,
One,
LNED,
Zero
},
Package (0x04)
{
0x0016FFFF,
0x02,
LNEA,
Zero
},
Package (0x04)
{
0x0016FFFF,
0x03,
LNEC,
Zero
},
Package (0x04)
{
0x0015FFFF,
Zero,
LNED,
Zero
},
Package (0x04)
{
0x0015FFFF,
One,
LNEA,
Zero
},
Package (0x04)
{
0x0015FFFF,
0x02,
LNEB,
Zero
},
Package (0x04)
{
0x0015FFFF,
0x03,
LNEC,
Zero
},
Package (0x04)
{
0x0014FFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0x0014FFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0x0014FFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0x0014FFFF,
0x03,
LNED,
Zero
},
Package (0x04)
{
0x0013FFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0x0013FFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0x0013FFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0x0013FFFF,
0x03,
LNEA,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0x0002FFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNED,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0x0003FFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNEA,
Zero
},
Package (0x04)
{
0x0004FFFF,
Zero,
LNEC,
Zero
},
Package (0x04)
{
0x0004FFFF,
One,
LNED,
Zero
},
Package (0x04)
{
0x0004FFFF,
0x02,
LNEA,
Zero
},
Package (0x04)
{
0x0004FFFF,
0x03,
LNEB,
Zero
},
Package (0x04)
{
0x0005FFFF,
Zero,
LNED,
Zero
},
Package (0x04)
{
0x0005FFFF,
One,
LNEA,
Zero
},
Package (0x04)
{
0x0005FFFF,
0x02,
LNEB,
Zero
},
Package (0x04)
{
0x0005FFFF,
0x03,
LNEC,
Zero
},
Package (0x04)
{
0x0006FFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0x0006FFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0x0006FFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0x0006FFFF,
0x03,
LNED,
Zero
},
Package (0x04)
{
0x000BFFFF,
Zero,
LUB0,
Zero
}
})
Name (AR00, Package (0x36)
{
Package (0x04)
{
0x000AFFFF,
Zero,
LSMB,
Zero
},
Package (0x04)
{
0x000AFFFF,
One,
LPMU,
Zero
},
Package (0x04)
{
0x000BFFFF,
One,
LUB2,
Zero
},
Package (0x04)
{
0x0011FFFF,
Zero,
LMAC,
Zero
},
Package (0x04)
{
0x0012FFFF,
Zero,
LMAD,
Zero
},
Package (0x04)
{
0x000EFFFF,
Zero,
LSA0,
Zero
},
Package (0x04)
{
0x000EFFFF,
One,
LSA1,
Zero
},
Package (0x04)
{
0x000EFFFF,
0x02,
LSA2,
Zero
},
Package (0x04)
{
0x000FFFFF,
One,
LAZA,
Zero
},
Package (0x04)
{
0x0018FFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0x0018FFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0x0018FFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0x0018FFFF,
0x03,
LNED,
Zero
},
Package (0x04)
{
0x0017FFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0x0017FFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0x0017FFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0x0017FFFF,
0x03,
LNEA,
Zero
},
Package (0x04)
{
0x0016FFFF,
Zero,
LNEC,
Zero
},
Package (0x04)
{
0x0016FFFF,
One,
LNED,
Zero
},
Package (0x04)
{
0x0016FFFF,
0x02,
LNEA,
Zero
},
Package (0x04)
{
0x0016FFFF,
0x03,
LNEB,
Zero
},
Package (0x04)
{
0x0015FFFF,
Zero,
LNED,
Zero
},
Package (0x04)
{
0x0015FFFF,
One,
LNEA,
Zero
},
Package (0x04)
{
0x0015FFFF,
0x02,
LNEB,
Zero
},
Package (0x04)
{
0x0015FFFF,
0x03,
LNEC,
Zero
},
Package (0x04)
{
0x0014FFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0x0014FFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0x0014FFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0x0014FFFF,
0x03,
LNED,
Zero
},
Package (0x04)
{
0x0013FFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0x0013FFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0x0013FFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0x0013FFFF,
0x03,
LNEA,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0x0002FFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNED,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0x0003FFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNEA,
Zero
},
Package (0x04)
{
0x0004FFFF,
Zero,
LNEC,
Zero
},
Package (0x04)
{
0x0004FFFF,
One,
LNED,
Zero
},
Package (0x04)
{
0x0004FFFF,
0x02,
LNEA,
Zero
},
Package (0x04)
{
0x0004FFFF,
0x03,
LNEB,
Zero
},
Package (0x04)
{
0x0005FFFF,
Zero,
LNED,
Zero
},
Package (0x04)
{
0x0005FFFF,
One,
LNEA,
Zero
},
Package (0x04)
{
0x0005FFFF,
0x02,
LNEB,
Zero
},
Package (0x04)
{
0x0005FFFF,
0x03,
LNEC,
Zero
},
Package (0x04)
{
0x0006FFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0x0006FFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0x0006FFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0x0006FFFF,
0x03,
LNED,
Zero
},
Package (0x04)
{
0x000BFFFF,
Zero,
LUB0,
Zero
}
})
Name (PR10, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNED,
Zero
}
})
Name (AR10, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNED,
Zero
}
})
Name (PR11, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEA,
Zero
}
})
Name (AR11, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEA,
Zero
}
})
Name (PR12, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEB,
Zero
}
})
Name (AR12, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEB,
Zero
}
})
Name (PR13, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEC,
Zero
}
})
Name (AR13, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEC,
Zero
}
})
Name (PR14, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNED,
Zero
}
})
Name (AR14, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNED,
Zero
}
})
Name (PR15, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEA,
Zero
}
})
Name (AR15, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEA,
Zero
}
})
Name (PR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNED,
Zero
}
})
Name (AR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNED,
Zero
}
})
Name (PR0A, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEA,
Zero
}
})
Name (AR0A, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEA,
Zero
}
})
Name (PR0B, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEB,
Zero
}
})
Name (AR0B, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEB,
Zero
}
})
Name (PR0C, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEC,
Zero
}
})
Name (AR0C, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNED,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNEC,
Zero
}
})
Name (PR0D, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNED,
Zero
}
})
Name (AR0D, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNEA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNEB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNEC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNED,
Zero
}
})
Name (PR01, Package (0x09)
{
Package (0x04)
{
0x000AFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x000AFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x000AFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x000AFFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0009FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x0009FFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0x0009FFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0x0009FFFF,
0x03,
LNKA,
Zero
},
Package (0x04)
{
0x0007FFFF,
Zero,
LNKD,
Zero
}
})
Name (AR01, Package (0x09)
{
Package (0x04)
{
0x000AFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x000AFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x000AFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x000AFFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0009FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x0009FFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0x0009FFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0x0009FFFF,
0x03,
LNKA,
Zero
},
Package (0x04)
{
0x0007FFFF,
Zero,
LNKD,
Zero
}
})
Name (PRSA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{5,7,10,11,14}
})
Alias (PRSA, PRSB)
Alias (PRSA, PRSC)
Alias (PRSA, PRSD)
Alias (PRSA, RSEA)
Alias (PRSA, RSEB)
Alias (PRSA, RSEC)
Alias (PRSA, RSED)
Alias (PRSA, RSMB)
Alias (PRSA, RSB2)
Alias (PRSA, RSMU)
Alias (PRSA, RSA1)
Alias (PRSA, RSA0)
Alias (PRSA, RSB0)
Alias (PRSA, RSAD)
Alias (PRSA, RSAC)
Alias (PRSA, RSZA)
Alias (PRSA, RSTA)
Alias (PRSA, RSA2)
Name (RSIR, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000010,
0x00000011,
0x00000012,
0x00000013,
}
})
Name (RS20, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000014,
}
})
Name (RSII, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000015,
0x00000016,
0x00000017,
}
})
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, Zero)
Method (^BN00, 0, NotSerialized)
{
Return (Zero)
}
Method (_BBN, 0, NotSerialized)
{
Return (BN00 ())
}
Name (_UID, Zero)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR00)
}
Return (PR00)
}
Method (NPTS, 1, NotSerialized)
{
}
Method (NWAK, 1, NotSerialized)
{
}
Device (MICP)
{
Name (_ADR, 0x02)
}
Device (SBRG)
{
Name (_ADR, 0x000A0000)
Method (SPTS, 1, NotSerialized)
{
Store (Arg0, ^^IDE0.PTS0)
Store (^^IDE0.ID20, ^^IDE0.SID0)
Store (^^IDE0.IDTS, ^^IDE0.SID1)
Store (^^IDE0.IDTP, ^^IDE0.SID2)
Store (^^IDE0.ID22, ^^IDE0.SID3)
Store (^^IDE0.UMSS, ^^IDE0.SID4)
Store (^^IDE0.UMSP, ^^IDE0.SID5)
Store (One, PS1S)
Store (One, PS1E)
Store (One, SLPS)
}
Method (SWAK, 1, NotSerialized)
{
Store (Zero, SLPS)
Store (Zero, PS1E)
Store (0x02, S1CT)
Store (0x02, S3CT)
Store (0x02, S4CT)
Store (0x02, S5CT)
}
OperationRegion (SMIE, SystemIO, SCIO, 0x08)
Field (SMIE, ByteAcc, NoLock, Preserve)
{
, 15,
PS1S, 1,
, 31,
PS1E, 1,
Offset (0x08)
}
OperationRegion (SXCT, SystemIO, SCTL, 0x10)
Field (SXCT, ByteAcc, NoLock, Preserve)
{
S1CT, 2,
Offset (0x04),
S3CT, 2,
Offset (0x08),
S4CT, 2,
Offset (0x0C),
S5CT, 2,
Offset (0x10)
}
Scope (\_SB)
{
OperationRegion (\SCPP, SystemIO, SSMI, One)
Field (SCPP, ByteAcc, NoLock, Preserve)
{
SMIP, 8
}
OperationRegion (\APA4, SystemIO, ACA4, 0x04)
Field (APA4, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
LCTM, 1,
LCNM, 1
}
Name (SLPS, Zero)
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
Method (_STA, 0, NotSerialized)
{
If (EXTS)
{
Return (0x0F)
}
Return (Zero)
}
Method (SBEV, 0, NotSerialized)
{
If (SLPS)
{
Notify (SLPB, 0x02)
}
Else
{
Notify (SLPB, 0x80)
}
}
Method (\_GPE._L01, 0, NotSerialized)
{
\_SB.SLPB.SBEV ()
}
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
One,
0x04
})
}
}
Scope (PCI0)
{
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL (), 0x02))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Name (_S1D, One)
Name (NATA, Package (0x01)
{
0x00050000
})
Device (NVRB)
{
Name (_HID, "NVRAID20")
Name (FNVR, 0xFF)
Method (_DIS, 0, NotSerialized)
{
Store (Zero, FNVR)
}
Method (_SRS, 1, NotSerialized)
{
Store (0xFF, FNVR)
}
Method (_STA, 0, NotSerialized)
{
If (And (CPB0, One))
{
If (LEqual (FNVR, 0xFF))
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x04D2, // Range Minimum
0x04D2, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
}
}
}
OperationRegion (UCFG, PCI_Config, 0x78, One)
Field (UCFG, ByteAcc, NoLock, Preserve)
{
U1CF, 8
}
Device (MUAR)
{
Name (_UID, 0xFF)
Name (_HID, EisaId ("PNP0501"))
Method (_STA, 0, NotSerialized)
{
If (MUAE)
{
And (U1CF, 0x83, Local0)
If (LEqual (Local0, 0x82))
{
Return (0x0F)
}
}
Return (Zero)
}
Method (_CRS, 0, NotSerialized)
{
If (LEqual (U1CF, 0xC2))
{
Store (0x03F8, UIO1)
ShiftLeft (One, 0x04, UIRQ)
Store (One, _UID)
}
If (LEqual (U1CF, 0xA6))
{
Store (0x02F8, UIO1)
ShiftLeft (One, 0x03, UIRQ)
Store (0x02, _UID)
}
Store (UIO1, UIO2)
Return (UCRS)
}
Name (UCRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x08, // Length
_Y01)
IRQNoFlags (_Y00)
{}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
})
CreateWordField (UCRS, \_SB.PCI0.SBRG.MUAR._Y00._INT, UIRQ)
CreateWordField (UCRS, \_SB.PCI0.SBRG.MUAR._Y01._MIN, UIO1)
CreateWordField (UCRS, \_SB.PCI0.SBRG.MUAR._Y01._MAX, UIO2)
}
OperationRegion (PIMC, PCI_Config, 0x7C, 0x0C)
Field (PIMC, ByteAcc, NoLock, Preserve)
{
PIRA, 4,
PIRB, 4,
PIRC, 4,
PIRD, 4,
PREA, 4,
PREB, 4,
PREC, 4,
PRED, 4,
, 4,
Offset (0x05),
PIRM, 4,
PIU2, 4,
, 4,
PMUD, 4,
SIID, 4,
PIID, 4,
PIU0, 4,
PILM, 4,
PILN, 4,
PAZA, 4,
, 4,
Offset (0x0B),
PR0E, 4,
SIR2, 4
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (DMAD)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8, )
{4}
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0087, // Range Minimum
0x0087, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0089, // Range Minimum
0x0089, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x008F, // Range Minimum
0x008F, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x00, // Alignment
0x20, // Length
)
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x00, // Alignment
0x01, // Length
)
})
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IRQNoFlags ()
{13}
})
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Method (_FDE, 0, NotSerialized)
{
Name (FDEP, Package (0x05)
{
Zero,
Zero,
0x02,
0x02,
0x02
})
If (_STA ())
{
Store (One, Index (FDEP, Zero))
}
Return (FDEP)
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x03))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x03, Zero)
}
Method (_CRS, 0, NotSerialized)
{
DCRS (0x03, One)
Store (IRQM, IRQE)
Store (DMAM, DMAE)
Store (IO11, IO21)
Store (IO12, IO22)
Store (0x06, LEN2)
Add (IO21, 0x07, IO31)
Store (IO31, IO32)
Store (One, LEN3)
Return (CRS2)
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, 0x03)
CreateWordField (Arg0, 0x11, IRQE)
CreateByteField (Arg0, 0x14, DMAE)
ENFG (CGLD (0x03))
If (IRQE)
{
FindSetRightBit (IRQE, Local0)
Subtract (Local0, One, INTR)
}
Else
{
Store (Zero, INTR)
}
If (DMAE)
{
FindSetRightBit (DMAE, Local0)
Subtract (Local0, One, DMCH)
}
Else
{
Store (0x04, DMCH)
}
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x03F0, // Range Minimum
0x03F0, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x03F7, // Range Minimum
0x03F7, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{6}
DMA (Compatibility, NotBusMaster, Transfer8, )
{2}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F0, // Range Minimum
0x03F0, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x03F7, // Range Minimum
0x03F7, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0370, // Range Minimum
0x0370, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x0377, // Range Minimum
0x0377, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{0,1,2,3}
}
EndDependentFn ()
})
}
Device (SIOR)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_UID, 0, NotSerialized)
{
Return (SPIO)
}
Name (CRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y02)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y03)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y04)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y05)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y06)
})
Method (_CRS, 0, NotSerialized)
{
If (LAnd (LNotEqual (SPIO, 0x03F0), LGreater
(SPIO, 0xF0)))
{
CreateWordField (CRS,
\_SB.PCI0.SBRG.SIOR._Y02._MIN, GP10)
CreateWordField (CRS,
\_SB.PCI0.SBRG.SIOR._Y02._MAX, GP11)
CreateByteField (CRS,
\_SB.PCI0.SBRG.SIOR._Y02._LEN, GPL1)
Store (SPIO, GP10)
Store (SPIO, GP11)
Store (0x02, GPL1)
}
If (IOPB)
{
CreateWordField (CRS,
\_SB.PCI0.SBRG.SIOR._Y03._MIN, GP20)
CreateWordField (CRS,
\_SB.PCI0.SBRG.SIOR._Y03._MAX, GP21)
CreateByteField (CRS,
\_SB.PCI0.SBRG.SIOR._Y03._LEN, GPL2)
Store (IOPB, GP20)
Store (IOPB, GP21)
Store (IOPL, GPL2)
}
If (IOEB)
{
CreateWordField (CRS,
\_SB.PCI0.SBRG.SIOR._Y04._MIN, GP30)
CreateWordField (CRS,
\_SB.PCI0.SBRG.SIOR._Y04._MAX, GP31)
CreateByteField (CRS,
\_SB.PCI0.SBRG.SIOR._Y04._LEN, GPL3)
Store (IOEB, GP30)
Store (IOEB, GP31)
Store (IOEL, GPL3)
}
If (IOGB)
{
CreateWordField (CRS,
\_SB.PCI0.SBRG.SIOR._Y05._MIN, GP40)
CreateWordField (CRS,
\_SB.PCI0.SBRG.SIOR._Y05._MAX, GP41)
CreateByteField (CRS,
\_SB.PCI0.SBRG.SIOR._Y05._LEN, GPL4)
Store (IOGB, GP40)
Store (IOGB, GP41)
Store (IOGL, GPL4)
}
If (IODB)
{
CreateWordField (CRS,
\_SB.PCI0.SBRG.SIOR._Y06._MIN, GP50)
CreateWordField (CRS,
\_SB.PCI0.SBRG.SIOR._Y06._MAX, GP51)
CreateByteField (CRS,
\_SB.PCI0.SBRG.SIOR._Y06._LEN, GPL5)
Store (IODB, GP50)
Store (IODB, GP51)
Store (IODL, GPL5)
}
Return (CRS)
}
}
Name (DCAT, Package (0x16)
{
One,
0x02,
0x03,
Zero,
0xFF,
0x08,
0xFF,
0xFF,
0x09,
0xFF,
0x05,
0x04,
0xFF,
0xFF,
0xFF,
0xFF,
0x0A,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
})
Name (IKEY, Package (0x02)
{
Package (0x04)
{
0x87,
One,
0x55,
0x55
},
Package (0x04)
{
0x87,
One,
0x55,
0xAA
}
})
Name (KBFG, One)
Name (MSFG, One)
Name (UR1F, One)
Method (ENFG, 1, NotSerialized)
{
Store (Zero, Local1)
If (LEqual (SPIO, 0x2E))
{
Store (Zero, Local1)
}
If (LEqual (SPIO, 0x4E))
{
Store (One, Local1)
}
Store (Zero, Local0)
While (LNotEqual (Local0, 0x04))
{
Store (DerefOf (Index (DerefOf (Index (IKEY,
Local1)), Local0)),
INDX)
Increment (Local0)
}
Store (Arg0, LDN)
}
Method (ENTR, 0, NotSerialized)
{
Store (0x87, INDX)
Store (One, INDX)
Store (0x55, INDX)
If (LEqual (SPIO, 0x2E))
{
Store (0x55, INDX)
}
Else
{
Store (0xAA, INDX)
}
}
Method (EXFG, 0, NotSerialized)
{
Store (0x02, INDX)
Store (0x02, DATA)
}
Method (LPTM, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
And (OPT0, 0x02, Local0)
EXFG ()
Return (Local0)
}
Method (UHID, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
And (OPT0, 0x70, Local0)
EXFG ()
If (Local0)
{
Return (0x1005D041)
}
Return (0x0105D041)
}
Method (ORF0, 1, NotSerialized)
{
ENTR ()
Or (OPT0, Arg0, OPT0)
EXFG ()
}
Method (ORF1, 1, NotSerialized)
{
ENTR ()
Or (OPT1, Arg0, OPT1)
EXFG ()
}
Method (ORF2, 1, NotSerialized)
{
ENTR ()
Or (OPT2, Arg0, OPT2)
EXFG ()
}
Method (ANF0, 1, NotSerialized)
{
ENTR ()
And (OPT0, Arg0, OPT0)
EXFG ()
}
Method (ANF2, 1, NotSerialized)
{
ENTR ()
And (OPT2, Arg0, OPT2)
EXFG ()
}
Method (ANF4, 1, NotSerialized)
{
ENTR ()
And (OPT4, Arg0, OPT4)
EXFG ()
}
Method (STF0, 1, NotSerialized)
{
ENTR ()
Store (Arg0, OPT0)
EXFG ()
}
Method (STF1, 1, NotSerialized)
{
ENTR ()
Store (Arg0, OPT1)
EXFG ()
}
Method (SIOS, 1, NotSerialized)
{
Store ("SIOS", Debug)
Store (Zero, GP10)
If (LLess (Arg0, 0x05))
{
ENFG (0x04)
Store (One, ACTR)
EXFG ()
ANF4 (0xFC)
ORF1 (0x18)
If (KBFG)
{
ORF0 (0x08)
}
Else
{
ANF0 (0xF7)
}
If (MSFG)
{
ORF0 (0x10)
}
Else
{
ANF0 (0xEF)
ENFG (0x06)
Store (Zero, ACTR)
EXFG ()
}
ENFG (0x04)
ANF2 (0xF0)
}
Else
{
}
}
Method (SIOW, 1, NotSerialized)
{
Store (One, GP10)
Store (One, GP40)
Store ("SIOW", Debug)
ENFG (0x04)
Store (Zero, ACTR)
EXFG ()
STF0 (Zero)
STF1 (0xFF)
ENFG (0x07)
Or (OP29, 0x10, OP29)
Or (OPC0, One, OPC0)
Or (OPC3, One, OPC3)
EXFG ()
ENFG (0x05)
Or (ACTR, One, ACTR)
EXFG ()
ENFG (0x06)
Or (ACTR, One, ACTR)
EXFG ()
ENFG (0x04)
Store (One, ACTR)
EXFG ()
}
Method (SIOH, 0, NotSerialized)
{
Store ("SIOH", Debug)
}
OperationRegion (IOID, SystemIO, SPIO, 0x02)
Field (IOID, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x07),
LDN, 8,
Offset (0x29),
OP29, 8,
Offset (0x30),
ACTR, 8,
Offset (0x60),
IOAH, 8,
IOAL, 8,
IOH2, 8,
IOL2, 8,
Offset (0x70),
INTR, 8,
Offset (0x74),
DMCH, 8,
Offset (0xC0),
OPC0, 8,
OPC1, 8,
OPC2, 8,
OPC3, 8,
Offset (0xF0),
OPT0, 8,
OPT1, 8,
OPT2, 8,
OPT3, 8,
OPT4, 8,
Offset (0xF8),
OPF8, 8,
OPF9, 8,
OPFA, 8,
OPFB, 8
}
Method (CGLD, 1, NotSerialized)
{
Return (DerefOf (Index (DCAT, Arg0)))
}
Method (DSTA, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
Store (ACTR, Local0)
EXFG ()
If (LEqual (Local0, 0xFF))
{
Return (Zero)
}
And (Local0, One, Local0)
Or (IOST, ShiftLeft (Local0, Arg0), IOST)
If (Local0)
{
Return (0x0F)
}
Else
{
If (And (ShiftLeft (One, Arg0), IOST))
{
Return (0x0D)
}
Else
{
Return (Zero)
}
}
}
Method (DCNT, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, Local1)
Or (IOAL, Local1, Local1)
RRIO (Arg0, Arg1, Local1, 0x08)
If (LAnd (LLess (DMCH, 0x04), LNotEqual (And (DMCH, 0x03,
Local1), Zero)))
{
RDMA (Arg0, Arg1, Increment (Local1))
}
Store (Arg1, ACTR)
EXFG ()
}
Name (CRS1, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x00, // Length
_Y09)
IRQNoFlags (_Y07)
{}
DMA (Compatibility, NotBusMaster, Transfer8, _Y08)
{}
})
CreateWordField (CRS1, \_SB.PCI0.SBRG._Y07._INT, IRQM)
CreateByteField (CRS1, \_SB.PCI0.SBRG._Y08._DMA, DMAM)
CreateWordField (CRS1, \_SB.PCI0.SBRG._Y09._MIN, IO11)
CreateWordField (CRS1, \_SB.PCI0.SBRG._Y09._MAX, IO12)
CreateByteField (CRS1, \_SB.PCI0.SBRG._Y09._LEN, LEN1)
Name (CRS2, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x00, // Length
_Y0C)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x00, // Length
_Y0D)
IRQNoFlags (_Y0A)
{6}
DMA (Compatibility, NotBusMaster, Transfer8, _Y0B)
{2}
})
CreateWordField (CRS2, \_SB.PCI0.SBRG._Y0A._INT, IRQE)
CreateByteField (CRS2, \_SB.PCI0.SBRG._Y0B._DMA, DMAE)
CreateWordField (CRS2, \_SB.PCI0.SBRG._Y0C._MIN, IO21)
CreateWordField (CRS2, \_SB.PCI0.SBRG._Y0C._MAX, IO22)
CreateByteField (CRS2, \_SB.PCI0.SBRG._Y0C._LEN, LEN2)
CreateWordField (CRS2, \_SB.PCI0.SBRG._Y0D._MIN, IO31)
CreateWordField (CRS2, \_SB.PCI0.SBRG._Y0D._MAX, IO32)
CreateByteField (CRS2, \_SB.PCI0.SBRG._Y0D._LEN, LEN3)
Method (DCRS, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, IO11)
Or (IOAL, IO11, IO11)
Store (IO11, IO12)
Subtract (FindSetRightBit (IO11), One, Local0)
ShiftLeft (One, Local0, LEN1)
If (INTR)
{
ShiftLeft (One, INTR, IRQM)
}
Else
{
Store (Zero, IRQM)
}
If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero)))
{
Store (Zero, DMAM)
}
Else
{
And (DMCH, 0x03, Local1)
ShiftLeft (One, Local1, DMAM)
}
EXFG ()
Return (CRS1)
}
Method (DSRS, 2, NotSerialized)
{
CreateWordField (Arg0, 0x09, IRQM)
CreateByteField (Arg0, 0x0C, DMAM)
CreateWordField (Arg0, 0x02, IO11)
ENFG (CGLD (Arg1))
And (IO11, 0xFF, IOAL)
ShiftRight (IO11, 0x08, IOAH)
If (IRQM)
{
FindSetRightBit (IRQM, Local0)
Subtract (Local0, One, INTR)
}
Else
{
Store (Zero, INTR)
}
If (DMAM)
{
FindSetRightBit (DMAM, Local0)
Subtract (Local0, One, DMCH)
}
Else
{
Store (0x04, DMCH)
}
EXFG ()
DCNT (Arg1, One)
}
OperationRegion (GPIO, SystemIO, IO1B, 0x04)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
GP10, 1,
GP11, 1,
GP12, 1,
GP13, 1,
GO14, 1,
GO15, 1,
GO16, 1,
GO17, 1,
GP20, 1,
GP21, 1,
GP22, 1,
GP23, 1,
GO24, 1,
GO25, 1,
GO26, 1,
GO27, 1,
GP30, 1,
GP31, 1,
GP32, 1,
GP33, 1,
GO34, 1,
GO35, 1,
GO36, 1,
GO37, 1,
GP40, 1,
GP41, 1,
GP42, 1,
GP43, 1,
GO44, 1,
GO45, 1,
GO46, 1,
GO47, 1
}
Device (RMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x10)
Name (CRS, ResourceTemplate ()
{
DWordMemory (ResourceProducer, PosDecode,
MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D0000, // Range Minimum
0x000D3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode,
MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D4000, // Range Minimum
0x000D7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode,
MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000DE000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00002000, // Length
,, , AddressRangeMemory, TypeStatic)
IO (Decode16,
0x0010, // Range Minimum
0x0010, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x0022, // Range Minimum
0x0022, // Range Maximum
0x00, // Alignment
0x1E, // Length
)
IO (Decode16,
0x0044, // Range Minimum
0x0044, // Range Maximum
0x00, // Alignment
0x1C, // Length
)
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x00, // Alignment
0x0B, // Length
)
IO (Decode16,
0x0072, // Range Minimum
0x0072, // Range Maximum
0x00, // Alignment
0x0E, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0084, // Range Minimum
0x0084, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0088, // Range Minimum
0x0088, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x008C, // Range Minimum
0x008C, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0090, // Range Minimum
0x0090, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x00A2, // Range Minimum
0x00A2, // Range Maximum
0x00, // Alignment
0x1E, // Length
)
IO (Decode16,
0x00E0, // Range Minimum
0x00E0, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y0E)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y0F)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y10)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y11)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y12)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y13)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y14)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y15)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y16)
Memory32Fixed (ReadOnly,
0xFEE01000, // Address Base
0x000FF000, // Address Length
)
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y0E._MIN, GP00)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y0E._MAX, GP01)
CreateByteField (CRS,
\_SB.PCI0.SBRG.RMSC._Y0E._LEN, GP0L)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y0F._MIN, GP10)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y0F._MAX, GP11)
CreateByteField (CRS,
\_SB.PCI0.SBRG.RMSC._Y0F._LEN, GP1L)
Store (PMBS, GP00)
Store (PMBS, GP01)
If (LGreaterEqual (PMLN, 0x0100))
{
ShiftRight (PMLN, One, GP0L)
Add (GP00, GP0L, GP10)
Add (GP01, GP0L, GP11)
Subtract (PMLN, GP0L, GP1L)
}
Else
{
Store (PMLN, GP0L)
}
If (SCBS)
{
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y10._MIN, SC00)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y10._MAX, SC01)
CreateByteField (CRS,
\_SB.PCI0.SBRG.RMSC._Y10._LEN, SC0L)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y11._MIN, SC10)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y11._MAX, SC11)
CreateByteField (CRS,
\_SB.PCI0.SBRG.RMSC._Y11._LEN, SC1L)
Store (SCBS, SC00)
Store (SCBS, SC01)
If (LGreaterEqual (SCLN, 0x0100))
{
ShiftRight (SCLN, One, SC0L)
Add (SC00, SC0L, SC10)
Add (SC01, SC0L, SC11)
Subtract (SCLN, SC0L, SC1L)
}
Else
{
Store (SCLN, SC0L)
}
}
If (ACBS)
{
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y12._MIN, AC00)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y12._MAX, AC01)
CreateByteField (CRS,
\_SB.PCI0.SBRG.RMSC._Y12._LEN, AC0L)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y13._MIN, AC10)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y13._MAX, AC11)
CreateByteField (CRS,
\_SB.PCI0.SBRG.RMSC._Y13._LEN, AC1L)
Store (ACBS, AC00)
Store (ACBS, AC01)
If (LGreaterEqual (ACLN, 0x0100))
{
ShiftRight (ACLN, One, AC0L)
Add (AC00, AC0L, AC10)
Add (AC01, AC0L, AC11)
Subtract (ACLN, AC0L, AC1L)
}
Else
{
Store (ACLN, AC0L)
}
}
If (IGPB)
{
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y14._MIN, IC00)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y14._MAX, IC01)
CreateByteField (CRS,
\_SB.PCI0.SBRG.RMSC._Y14._LEN, IC0L)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y15._MIN, IC10)
CreateWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y15._MAX, IC11)
CreateByteField (CRS,
\_SB.PCI0.SBRG.RMSC._Y15._LEN, IC1L)
Store (IGPB, IC00)
Store (IGPB, IC01)
If (LGreaterEqual (IGLN, 0x0100))
{
ShiftRight (IGLN, One, IC0L)
Add (IC00, IC0L, IC10)
Add (IC01, IC0L, IC11)
Subtract (IGLN, IC0L, IC1L)
}
Else
{
Store (IGLN, IC0L)
}
}
CreateDWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y16._BAS, MB01)
CreateDWordField (CRS,
\_SB.PCI0.SBRG.RMSC._Y16._LEN, ML01)
Store (CPB1, MB01)
Store (CPB2, ML01)
Return (CRS)
}
}
Scope (\)
{
OperationRegion (RAMW, SystemMemory, 0xBFFF0000, 0x00010000)
Field (RAMW, ByteAcc, NoLock, Preserve)
{
PAR0, 32,
PAR1, 32,
PAR2, 32
}
OperationRegion (IOB2, SystemIO, 0x242E, 0x02)
Field (IOB2, ByteAcc, NoLock, Preserve)
{
SMIC, 8,
SMIS, 8
}
Method (ISMI, 1, Serialized)
{
Store (Arg0, SMIC)
}
Method (GNVS, 1, Serialized)
{
Store (Arg0, PAR0)
ISMI (0x70)
Return (PAR1)
}
Method (SNVS, 2, Serialized)
{
Store (Arg0, PAR0)
Store (Arg1, PAR1)
ISMI (0x71)
}
Method (GMAX, 1, Serialized)
{
Store (Arg0, PAR0)
ISMI (0x74)
Return (PAR1)
}
Method (GMDX, 1, Serialized)
{
Store (Arg0, PAR0)
ISMI (0x75)
Return (PAR1)
}
Method (GCAX, 1, Serialized)
{
Store (Arg0, PAR0)
ISMI (0x76)
Return (PAR1)
}
Method (GCDX, 1, Serialized)
{
Store (Arg0, PAR0)
ISMI (0x77)
Return (PAR1)
}
}
Scope (\_SB.PCI0.SBRG)
{
Device (ASOC)
{
Name (_HID, "ATK0110")
Name (_UID, 0x01010110)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (_INI, 0, NotSerialized)
{
If (LGreater (And (GCAX (One), 0x0FF0,
Local0), 0x06F0))
{
Store (GMAX (0x2C), Local0)
And (ShiftRight (Local0, 0x08), 0xFF, Local2)
And (Local0, 0xFF, Local1)
Subtract (Local1, Local2, Local0)
Store (GMDX (0x0198), Local7)
And (ShiftRight (Local7, 0x08), 0xFF, Local7)
If (LLess (Local7, Local0))
{
Store (Local1, Local7)
}
}
Else
{
Store (GMAX (0x17), Local0)
And (ShiftRight (Local0, 0x08), 0x1F, Local1)
Store (Local1, Local7)
Store (GMAX (0x0198), Local0)
And (ShiftRight (Local0, 0x18), 0x1F, Local0)
}
Multiply (Local0, 0x0A, Local2)
Or (Local2, 0xFF000000, Index (G3T2, 0x04))
If (And (GMAX (0x0198), 0x80000000))
{
Store (0x1F, Local1)
}
If (And (GMAX (0x17), 0x00800000))
{
And (GMAX (0x17), 0x4000, Local2)
Store (0x05, Index (G3T2, 0x05))
Store (ShiftRight (And (GMAX (0x17),
0x4000), 0x0E), Local5)
Store (Subtract (Local7, Local0), Local4)
Multiply (Local4, 0x02, Local6)
Add (Local6, Local5, Index (G3T2, 0x03))
Multiply (Subtract (Local1, Local0,
Local3), 0x02, Local3)
Add (Local3, One, Local3)
If (Local2)
{
Add (Local3, One, Local3)
}
Store (Local3, Index (G3T2, 0x06))
}
Else
{
Store (0x0A, Index (G3T2, 0x05))
Store (Subtract (Local7, Local0),
Index (G3T2, 0x03))
Add (Subtract (Local1, Local0,
Local3), One, Index (G3T2, 0x06))
}
}
Name (MBIF, Package (0x08)
{
0x03,
"P5N64-WS",
0x01000101,
0x01000100,
0xE0000000,
Zero,
Zero,
Zero
})
Name (ASBF, Buffer (0x08)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00
})
CreateDWordField (ASBF, Zero, ASB0)
CreateDWordField (ASBF, 0x04, ASB1)
Method (GGRP, 1, Serialized)
{
Name (_T_0, Zero)
Store (Arg0, _T_0)
If (LEqual (_T_0, Zero))
{
Return (GRP0)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Return (GRP3)
}
Else
{
If (LEqual (_T_0, 0x04))
{
Return (GRP4)
}
Else
{
If (LEqual (_T_0, 0x06))
{
Return (GRP6)
}
Else
{
If (LEqual (_T_0, 0x09))
{
Return (GRP9)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
Return (GRPB)
}
Else
{
If (LEqual (_T_0, 0x0E))
{
Return (GRPE)
}
Else
{
Return (Zero)
}
}
}
}
}
}
}
}
Method (GITM, 1, Serialized)
{
CreateDWordField (Arg0, Zero, PRM0)
CreateByteField (Arg0, 0x03, GPID)
Store (One, ASB0)
Name (_T_0, Zero)
Store (GPID, _T_0)
If (LEqual (_T_0, Zero))
{
GIT0 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x03))
{
GIT3 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x04))
{
GIT4 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x06))
{
GIT6 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x09))
{
GIT9 (PRM0)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
GITB (PRM0)
}
Else
{
If (LEqual (_T_0, 0x0E))
{
GITE (PRM0)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
Return (ASBF)
}
Method (SITM, 1, Serialized)
{
CreateDWordField (Arg0, Zero, PRM0)
CreateDWordField (Arg0, 0x04, PRM1)
CreateDWordField (Arg0, 0x08, PRM2)
CreateByteField (Arg0, 0x03, GPID)
Store (One, ASB0)
Name (_T_0, Zero)
Store (GPID, _T_0)
If (LEqual (_T_0, Zero))
{
SIT0 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x03))
{
SIT3 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x04))
{
SIT4 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x06))
{
SIT6 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x09))
{
SIT9 (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
SITB (PRM0, PRM1, PRM2)
}
Else
{
If (LEqual (_T_0, 0x0E))
{
SITE (PRM0, PRM1, PRM2)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
Return (ASBF)
}
Method (OP2V, 2, NotSerialized)
{
Store (DerefOf (Index (Arg1, 0x04)), Local0)
Store (DerefOf (Index (Arg1, 0x05)), Local1)
Multiply (Arg0, Local1, Local1)
Add (Local0, Local1, Local0)
Return (Local0)
}
Method (V2OP, 2, NotSerialized)
{
Store (DerefOf (Index (Arg1, 0x04)), Local0)
Store (DerefOf (Index (Arg1, 0x05)), Local1)
Subtract (Arg0, Local0, Local0)
Divide (Local0, Local1, Local1, Local0)
Return (Local0)
}
}
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (_UID, Zero)
Name (CRS0, ResourceTemplate ()
{
})
Name (CRS1, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y17)
IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
})
Method (_STA, 0, NotSerialized)
{
If (LEqual (OSFL (), Zero))
{
If (LEqual (NVID, 0x10DE))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Zero)
}
}
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS1,
\_SB.PCI0.SBRG.HPET._Y17._BAS, HPX1)
CreateDWordField (CRS1,
\_SB.PCI0.SBRG.HPET._Y17._LEN, HPX2)
If (LEqual (NVID, 0x10DE))
{
Store (SHPB, HPX1)
Store (SHPL, HPX2)
Return (CRS1)
}
Else
{
Return (CRS0)
}
}
OperationRegion (HPTE, SystemMemory, SHPB, 0x04)
Field (HPTE, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
NVID, 16
}
}
OperationRegion (LPDC, PCI_Config, 0xA0, 0x06)
Field (LPDC, ByteAcc, NoLock, Preserve)
{
S3F8, 1,
S2F8, 1,
, 3,
S2E8, 1,
, 1,
S3E8, 1,
, 4,
M300, 1,
, 2,
M330, 1,
, 4,
FDC0, 1,
Offset (0x03),
P378, 1,
P278, 1,
P3BC, 1,
Offset (0x04),
G200, 8,
G208, 8
}
Method (RRIO, 4, NotSerialized)
{
If (LOr (LEqual (Arg0, Zero), LEqual (Arg0, One)))
{
If (LEqual (Arg2, 0x03F8))
{
Store (Arg1, S3F8)
}
If (LEqual (Arg2, 0x02F8))
{
Store (Arg1, S2F8)
}
If (LEqual (Arg2, 0x03E8))
{
Store (Arg1, S3E8)
}
If (LEqual (Arg2, 0x02E8))
{
Store (Arg1, S2E8)
}
}
If (LEqual (Arg0, 0x02))
{
If (LEqual (Arg2, 0x0378))
{
Store (Arg1, P378)
}
If (LEqual (Arg2, 0x0278))
{
Store (Arg1, P278)
}
If (LEqual (Arg2, 0x03BC))
{
Store (Arg1, P3BC)
}
}
If (LEqual (Arg0, 0x03))
{
Store (Arg1, FDC0)
}
If (LEqual (Arg0, 0x05))
{
If (LEqual (Arg2, 0x0330))
{
Store (Arg1, M330)
}
If (LEqual (Arg2, 0x0300))
{
Store (Arg1, M300)
}
}
If (LEqual (Arg0, 0x08))
{
Store (Zero, Local0)
If (Arg1)
{
Store (0xFF, Local0)
}
If (LEqual (Arg2, 0x0200))
{
Store (Local0, G200)
}
If (LEqual (Arg2, 0x0208))
{
Store (Local0, G208)
}
}
}
Method (RDMA, 3, NotSerialized)
{
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (CRS0, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x00, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
Name (CRS1, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x00, // Alignment
0x04, // Length
)
})
Method (_CRS, 0, NotSerialized)
{
If (LEqual (^^HPET.NVID, 0x10DE))
{
Return (CRS1)
}
Return (CRS0)
}
}
Device (RTC0)
{
Name (_HID, EisaId ("PNP0B00"))
Name (CRS0, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IRQNoFlags ()
{8}
})
Name (CRS1, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x02, // Length
)
})
Method (_CRS, 0, NotSerialized)
{
If (LEqual (^^HPET.NVID, 0x10DE))
{
Return (CRS1)
}
Return (CRS0)
}
}
Device (^PCIE)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x11)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xE0000000, // Address Base
0x10000000, // Address Length
_Y18)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, \_SB.PCI0.PCIE._Y18._BAS, BAS1)
CreateDWordField (CRS, \_SB.PCI0.PCIE._Y18._LEN, LEN1)
Store (PCIB, BAS1)
Store (PCIL, LEN1)
Return (CRS)
}
}
Scope (\_GPE)
{
Method (_L31, 0, NotSerialized)
{
Notify (\_SB.PCI0.SBRG.ASOC, One)
Sleep (0x03E8)
}
}
Scope (ASOC)
{
Name (VESL, Zero)
Method (SPLV, 1, Serialized)
{
And (Arg0, 0xFFFF, VESL)
Store (VESL, PAR0)
ISMI (0x88)
Store (And (PAR0, 0xFFFF), Local0)
Return (Local0)
}
Method (GPLV, 0, Serialized)
{
Return (VESL)
}
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, 0x0B03D041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (One, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (Zero)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IRQNoFlags ()
{1}
})
}
Method (PS2K._PRW, 0, NotSerialized)
{
Return (GPRW (0x10, 0x04))
}
Device (UAR1)
{
Name (_UID, One)
Method (_HID, 0, NotSerialized)
{
Return (UHID (Zero))
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (Zero))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (Zero, Zero)
}
Method (_CRS, 0, NotSerialized)
{
Return (DCRS (Zero, One))
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, Zero)
}
Method (_PRS, 0, NotSerialized)
{
Return (CMPR)
}
Name (CMPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{0,1,2,3}
}
EndDependentFn ()
})
}
Method (UAR1._PRW, 0, NotSerialized)
{
Return (GPRW (0x03, 0x04))
}
Device (OMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, Zero)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y19)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y1A)
})
Name (CRS1, ResourceTemplate ()
{
FixedIO (
0x0060, // Address
0x01, // Length
)
FixedIO (
0x0064, // Address
0x01, // Length
)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y1B)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y1C)
})
Method (_CRS, 0, NotSerialized)
{
If (APIC)
{
CreateDWordField (CRS,
\_SB.PCI0.SBRG.OMSC._Y19._LEN, ML01)
CreateDWordField (CRS,
\_SB.PCI0.SBRG.OMSC._Y19._BAS, MB01)
CreateDWordField (CRS,
\_SB.PCI0.SBRG.OMSC._Y1A._LEN, ML02)
CreateDWordField (CRS,
\_SB.PCI0.SBRG.OMSC._Y1A._BAS, MB02)
Store (0xFEC00000, MB01)
Store (0x1000, ML01)
Store (0xFEE00000, MB02)
Store (0x1000, ML02)
CreateDWordField (CRS1,
\_SB.PCI0.SBRG.OMSC._Y1B._LEN, ML03)
CreateDWordField (CRS1,
\_SB.PCI0.SBRG.OMSC._Y1B._BAS, MB03)
CreateDWordField (CRS1,
\_SB.PCI0.SBRG.OMSC._Y1C._LEN, ML04)
CreateDWordField (CRS1,
\_SB.PCI0.SBRG.OMSC._Y1C._BAS, MB04)
Store (0xFEC00000, MB03)
Store (0x1000, ML03)
Store (0xFEE00000, MB04)
Store (0x1000, ML04)
}
ShiftLeft (0x05, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (CRS)
}
Else
{
Return (CRS1)
}
}
}
Device (^^RMEM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, One)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x000A0000, // Address Length
)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y1D)
Memory32Fixed (ReadOnly,
0x000E0000, // Address Base
0x00020000, // Address Length
_Y1E)
Memory32Fixed (ReadWrite,
0x00100000, // Address Base
0x00000000, // Address Length
_Y1F)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_Y20)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, \_SB.RMEM._Y1D._BAS, BAS1)
CreateDWordField (CRS, \_SB.RMEM._Y1D._LEN, LEN1)
CreateDWordField (CRS, \_SB.RMEM._Y1E._BAS, BAS2)
CreateDWordField (CRS, \_SB.RMEM._Y1E._LEN, LEN2)
CreateDWordField (CRS, \_SB.RMEM._Y1F._LEN, LEN3)
CreateDWordField (CRS, \_SB.RMEM._Y20._BAS, BAS4)
CreateDWordField (CRS, \_SB.RMEM._Y20._LEN, LEN4)
If (OSFL ()) {}
Else
{
If (MG1B)
{
If (LGreater (MG1B, 0x000C0000))
{
Store (0x000C0000, BAS1)
Subtract (MG1B, BAS1, LEN1)
}
}
Else
{
Store (0x000C0000, BAS1)
Store (0x00020000, LEN1)
}
If (Add (MG1B, MG1L, Local0))
{
Store (Local0, BAS2)
Subtract (0x00100000, BAS2, LEN2)
}
}
Subtract (MG2B, 0x00100000, LEN3)
Store (MH1B, BAS4)
Subtract (Zero, BAS4, LEN4)
Return (CRS)
}
}
}
Device (NSMB)
{
Name (_ADR, 0x000A0001)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
}
Device (USB2)
{
Name (_ADR, 0x000B0001)
Name (_S1D, One)
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x05, 0x03))
}
}
Device (NMAC)
{
Name (_ADR, 0x00110000)
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
Scope (\_GPE)
{
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.NMAC, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
}
Device (NMAD)
{
Name (_ADR, 0x00120000)
Name (_PRW, Package (0x02)
{
0x0A,
0x05
})
Scope (\_GPE)
{
Method (_L0A, 0, NotSerialized)
{
Notify (\_SB.PCI0.NMAD, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
}
Device (IDE0)
{
Name (_ADR, 0x000D0000)
Name (PTS0, Zero)
Name (SID0, Zero)
Name (SID1, Zero)
Name (SID2, Zero)
Name (SID3, Zero)
Name (SID4, Zero)
Name (SID5, Zero)
OperationRegion (IRQM, SystemIO, 0x21, One)
Field (IRQM, ByteAcc, NoLock, Preserve)
{
IR0M, 1
}
Name (REGF, One)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x02))
{
Store (Arg1, REGF)
}
}
OperationRegion (A090, PCI_Config, 0x50, 0x18)
Field (A090, DWordAcc, NoLock, Preserve)
{
ID20, 16,
Offset (0x08),
IDTS, 16,
IDTP, 16,
ID22, 32,
UMSS, 16,
UMSP, 16
}
Name (TIM0, Package (0x07)
{
Package (0x05)
{
0x3C,
0x78,
0xB4,
0xF0,
0x0384
},
Package (0x05)
{
0x11,
0x20,
0x22,
0x47,
0xA8
},
Package (0x07)
{
0x78,
0x49,
0x3C,
0x2D,
0x1E,
0x14,
0x0F
},
Package (0x05)
{
0x05,
0x04,
0x03,
0x02,
Zero
},
Package (0x04)
{
0x02,
One,
Zero,
Zero
},
Package (0x08)
{
0x02,
One,
Zero,
Zero,
0x03,
0x04,
0x05,
0x06
},
Package (0x07)
{
0x02,
One,
Zero,
0x04,
0x05,
0x06,
0x07
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, Zero, PIO0)
CreateDWordField (TMD0, 0x04, DMA0)
CreateDWordField (TMD0, 0x08, PIO1)
CreateDWordField (TMD0, 0x0C, DMA1)
CreateDWordField (TMD0, 0x10, CHNF)
OperationRegion (CFG2, PCI_Config, 0x58, 0x0C)
Field (CFG2, DWordAcc, NoLock, Preserve)
{
SSPT, 8,
SMPT, 8,
PSPT, 8,
PMPT, 8,
SSAS, 2,
SMAS, 2,
PSAS, 2,
PMAS, 2,
Offset (0x06),
SDDR, 4,
SDDA, 4,
PDDR, 4,
PDDA, 4,
SSUT, 3,
, 3,
SSUE, 2,
SMUT, 3,
, 3,
SMUE, 2,
PSUT, 3,
, 3,
PSUE, 2,
PMUT, 3,
, 3,
PMUE, 2
}
Name (GMPT, Zero)
Name (GMUE, Zero)
Name (GMUT, Zero)
Name (GSPT, Zero)
Name (GSUE, Zero)
Name (GSUT, Zero)
Device (CHN0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
Store ("GTM_CHN0", Debug)
Return (GTM (PMPT, PMUE, PMUT, PSPT, PSUE, PSUT))
}
Method (_STM, 3, NotSerialized)
{
Store ("STM_CHN0", Debug)
Store (Arg0, Debug)
Store (Arg0, TMD0)
Store (PMPT, GMPT)
Store (PMUE, GMUE)
Store (PMUT, GMUT)
Store (PSPT, GSPT)
Store (PSUE, GSUE)
Store (PSUT, GSUT)
STM ()
Store (GMPT, PMPT)
Store (GMUE, PMUE)
Store (GMUT, PMUT)
Store (GSPT, PSPT)
Store (GSUE, PSUE)
Store (GSUT, PSUT)
Store (GTF (Zero, Arg1), ATA0)
Store (GTF (One, Arg2), ATA1)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN0_DRV0", Debug)
Return (Concatenate (RATA (ATA0), FZTF))
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN0_DRV1", Debug)
Return (Concatenate (RATA (ATA1), FZTF))
}
}
}
Device (CHN1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
Store ("GTM_CHN1", Debug)
Return (GTM (SMPT, SMUE, SMUT, SSPT, SSUE, SSUT))
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Debug)
Store (Arg0, TMD0)
Store (SMPT, GMPT)
Store (SMUE, GMUE)
Store (SMUT, GMUT)
Store (SSPT, GSPT)
Store (SSUE, GSUE)
Store (SSUT, GSUT)
STM ()
Store (GMPT, SMPT)
Store (GMUE, SMUE)
Store (GMUT, SMUT)
Store (GSPT, SSPT)
Store (GSUE, SSUE)
Store (GSUT, SSUT)
Store (GTF (Zero, Arg1), ATA2)
Store (GTF (One, Arg2), ATA3)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN1_DRV0", Debug)
Return (Concatenate (RATA (ATA2), FZTF))
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN1_DRV1", Debug)
Return (Concatenate (RATA (ATA3), FZTF))
}
}
}
Method (DRMP, 0, NotSerialized)
{
ShiftRight (CPB0, 0x04, Local1)
And (Local1, 0x0F, Local0)
Return (Local0)
}
Method (GTM, 6, Serialized)
{
Store (Ones, PIO0)
Store (Ones, PIO1)
Store (Ones, DMA0)
Store (Ones, DMA1)
Store (0x10, CHNF)
If (REGF) {}
Else
{
Return (TMD0)
}
If (LEqual (PTS0, One))
{
If (OSFL ())
{
Store (One, IR0M)
}
}
Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR,
Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0,
Zero)), Local6)),
Local7)
Store (Local7, DMA0)
Store (Local7, PIO0)
Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg3, MTR,
Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0,
Zero)), Local6)),
Local7)
Store (Local7, DMA1)
Store (Local7, PIO1)
If (Arg1)
{
Store (DerefOf (Index (DerefOf (Index (TIM0,
0x05)), Arg2)),
Local5)
Store (DerefOf (Index (DerefOf (Index (TIM0,
0x02)), Local5)),
DMA0)
Or (CHNF, One, CHNF)
}
If (Arg4)
{
Store (DerefOf (Index (DerefOf (Index (TIM0,
0x05)), Arg5)),
Local5)
Store (DerefOf (Index (DerefOf (Index (TIM0,
0x02)), Local5)),
DMA1)
Or (CHNF, 0x04, CHNF)
}
Store (TMD0, Debug)
Return (TMD0)
}
Method (STM, 0, Serialized)
{
If (REGF) {}
Else
{
Return (Zero)
}
If (PTS0)
{
Store (SID0, ID20)
Store (SID1, IDTS)
Store (SID2, IDTP)
Store (SID3, ID22)
Store (SID4, UMSS)
Store (SID5, UMSP)
}
Else
{
Store (ID20, SID0)
Store (IDTS, SID1)
Store (IDTP, SID2)
Store (ID22, SID3)
Store (UMSS, SID4)
Store (UMSP, SID5)
}
Store (Zero, PTS0)
Store (Zero, GMUE)
Store (Zero, GMUT)
Store (Zero, GSUE)
Store (Zero, GSUT)
If (And (CHNF, One))
{
Store (Match (DerefOf (Index (TIM0, 0x02)),
MLE, DMA0, MTR,
Zero, Zero), Local0)
If (LGreater (Local0, 0x06))
{
Store (0x06, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0,
0x06)), Local0)),
GMUT)
Or (GMUE, 0x03, GMUE)
}
Else
{
If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero)))
{
Store (DMA0, PIO0)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x02)),
MLE, DMA1, MTR,
Zero, Zero), Local0)
If (LGreater (Local0, 0x06))
{
Store (0x06, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0,
0x06)), Local0)),
GSUT)
Or (GSUE, 0x03, GSUE)
}
Else
{
If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero)))
{
Store (DMA1, PIO1)
}
}
}
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR,
Zero, Zero), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0,
One)), Local0)),
Local1)
Store (Local1, GMPT)
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR,
Zero, Zero), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0,
One)), Local0)),
Local1)
Store (Local1, GSPT)
Return (Zero)
}
Name (AT01, Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
})
Name (AT02, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
})
Name (AT03, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
})
Name (AT04, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
})
Name (ATA0, Buffer (0x1D) {})
Name (ATA1, Buffer (0x1D) {})
Name (ATA2, Buffer (0x1D) {})
Name (ATA3, Buffer (0x1D) {})
Name (ATAB, Buffer (0x1D) {})
CreateByteField (ATAB, Zero, CMDC)
Method (GTFB, 3, Serialized)
{
Multiply (CMDC, 0x38, Local0)
Add (Local0, 0x08, Local1)
CreateField (ATAB, Local1, 0x38, CMDX)
Multiply (CMDC, 0x07, Local0)
CreateByteField (ATAB, Add (Local0, 0x02), A001)
CreateByteField (ATAB, Add (Local0, 0x06), A005)
Store (Arg0, CMDX)
Store (Arg1, A001)
Store (Arg2, A005)
Increment (CMDC)
}
Method (GTF, 2, Serialized)
{
Store ("GTF_Entry", Debug)
Store (Arg1, Debug)
Store (Zero, CMDC)
Name (ID49, 0x0C00)
Name (ID59, Zero)
Name (ID53, 0x04)
Name (ID63, 0x0F00)
Name (ID88, 0x0F00)
Name (IRDY, One)
Name (PIOT, Zero)
Name (DMAT, Zero)
If (LEqual (SizeOf (Arg1), 0x0200))
{
CreateWordField (Arg1, 0x62, IW49)
Store (IW49, ID49)
CreateWordField (Arg1, 0x6A, IW53)
Store (IW53, ID53)
CreateWordField (Arg1, 0x7E, IW63)
Store (IW63, ID63)
CreateWordField (Arg1, 0x76, IW59)
Store (IW59, ID59)
CreateWordField (Arg1, 0xB0, IW88)
Store (IW88, ID88)
}
Store (0xA0, Local7)
If (Arg0)
{
Store (0xB0, Local7)
And (CHNF, 0x08, IRDY)
If (And (CHNF, 0x10))
{
Store (PIO1, PIOT)
}
Else
{
Store (PIO0, PIOT)
}
If (And (CHNF, 0x04))
{
If (And (CHNF, 0x10))
{
Store (DMA1, DMAT)
}
Else
{
Store (DMA0, DMAT)
}
}
}
Else
{
And (CHNF, 0x02, IRDY)
Store (PIO0, PIOT)
If (And (CHNF, One))
{
Store (DMA0, DMAT)
}
}
If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00
)), DMAT))
{
Store (Match (DerefOf (Index (TIM0, 0x02)),
MLE, DMAT, MTR,
Zero, Zero), Local1)
If (LGreater (Local1, 0x06))
{
Store (0x06, Local1)
}
GTFB (AT01, Or (0x40, Local1), Local7)
}
Else
{
If (LAnd (And (ID63, 0xFF00), PIOT))
{
And (Match (DerefOf (Index (TIM0, Zero)),
MGE, PIOT, MTR,
Zero, Zero), 0x03, Local0)
Or (0x20, DerefOf (Index (DerefOf (Index
(TIM0, 0x04)), Local0
)), Local1)
GTFB (AT01, Local1, Local7)
}
}
If (IRDY)
{
And (Match (DerefOf (Index (TIM0, Zero)), MGE,
PIOT, MTR,
Zero, Zero), 0x07, Local0)
Or (0x08, DerefOf (Index (DerefOf (Index
(TIM0, 0x03)), Local0
)), Local1)
GTFB (AT01, Local1, Local7)
}
Else
{
If (And (ID49, 0x0400))
{
GTFB (AT01, One, Local7)
}
}
If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
{
GTFB (AT03, And (ID59, 0xFF), Local7)
}
Store ("ATAB_GTF", Debug)
Store (ATAB, Debug)
Return (ATAB)
}
Method (RATA, 1, NotSerialized)
{
CreateByteField (Arg0, Zero, CMDN)
Multiply (CMDN, 0x38, Local0)
CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
Return (RETB)
}
}
Device (ATA0)
{
Name (_ADR, 0x000E0000)
Device (PRI0)
{
Name (_ADR, Zero)
Name (SPTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SPTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SPTM)
}
Device (MAST)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
If (SSEN)
{
Store (SSEP, SMIP)
}
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Concatenate (Local0, FZTF))
}
}
}
Device (SEC0)
{
Name (_ADR, One)
Name (SSTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SSTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SSTM)
}
Device (MAST)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
If (SSEN)
{
Store (SSEP, SMIP)
}
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Concatenate (Local0, FZTF))
}
}
}
Method (DRMP, 0, NotSerialized)
{
Store (0x10, Local0)
If (LEqual (And (_ADR, 0x0F), One))
{
Store (0x0C, Local0)
}
If (LEqual (And (_ADR, 0x0F), Zero))
{
Store (0x08, Local0)
}
ShiftRight (CPB0, Local0, Local1)
And (Local1, 0x0F, Local0)
Return (Local0)
}
}
Device (ATA1)
{
Name (_ADR, 0x000E0001)
Device (PRI0)
{
Name (_ADR, Zero)
Name (SPTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SPTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SPTM)
}
Device (MAST)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
If (SSEN)
{
Store (SSEP, SMIP)
}
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Concatenate (Local0, FZTF))
}
}
}
Device (SEC0)
{
Name (_ADR, One)
Name (SSTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SSTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SSTM)
}
Device (MAST)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
If (SSEN)
{
Store (SSEP, SMIP)
}
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Concatenate (Local0, FZTF))
}
}
}
Method (DRMP, 0, NotSerialized)
{
Store (0x10, Local0)
If (LEqual (And (_ADR, 0x0F), One))
{
Store (0x0C, Local0)
}
If (LEqual (And (_ADR, 0x0F), Zero))
{
Store (0x08, Local0)
}
ShiftRight (CPB0, Local0, Local1)
And (Local1, 0x0F, Local0)
Return (Local0)
}
}
Device (ATA2)
{
Name (_ADR, 0x000E0002)
Device (PRI0)
{
Name (_ADR, Zero)
Name (SPTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SPTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SPTM)
}
Device (MAST)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
If (SSEN)
{
Store (SSEP, SMIP)
}
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Concatenate (Local0, FZTF))
}
}
}
Device (SEC0)
{
Name (_ADR, One)
Name (SSTM, Buffer (0x14)
{
/* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x00,
/* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF,
/* 0010 */ 0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SSTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SSTM)
}
Device (MAST)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
If (SSEN)
{
Store (SSEP, SMIP)
}
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Concatenate (Local0, FZTF))
}
}
}
Method (DRMP, 0, NotSerialized)
{
Store (0x10, Local0)
If (LEqual (And (_ADR, 0x0F), One))
{
Store (0x0C, Local0)
}
If (LEqual (And (_ADR, 0x0F), Zero))
{
Store (0x08, Local0)
}
ShiftRight (CPB0, Local0, Local1)
And (Local1, 0x0F, Local0)
Return (Local0)
}
}
Device (P0P1)
{
Name (_ADR, 0x000F0000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (Zero, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR01)
}
Return (PR01)
}
}
Device (HDAC)
{
Name (_ADR, 0x000F0001)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x15, 0x04))
}
}
Device (BR10)
{
Name (_ADR, 0x00180000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR10)
}
Return (PR10)
}
}
Device (BR11)
{
Name (_ADR, 0x00170000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR11)
}
Return (PR11)
}
}
Device (BR12)
{
Name (_ADR, 0x00160000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR12)
}
Return (PR12)
}
}
Device (BR13)
{
Name (_ADR, 0x00150000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR13)
}
Return (PR13)
}
}
Device (BR14)
{
Name (_ADR, 0x00140000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR14)
}
Return (PR14)
}
}
Device (BR15)
{
Name (_ADR, 0x00130000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR15)
}
Return (PR15)
}
}
Device (P0P8)
{
Name (_ADR, 0x00020000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR08)
}
Return (PR08)
}
}
Device (P0PA)
{
Name (_ADR, 0x00030000)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR0A)
}
Return (PR0A)
}
}
Device (P0PB)
{
Name (_ADR, 0x00040000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR0B)
}
Return (PR0B)
}
}
Device (P0PC)
{
Name (_ADR, 0x00050000)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR0C)
}
Return (PR0C)
}
}
Device (P0PD)
{
Name (_ADR, 0x00060000)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR0D)
}
Return (PR0D)
}
}
Device (USB0)
{
Name (_ADR, 0x000B0000)
Name (_S1D, One)
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
}
}
Scope (\_GPE)
{
Method (_L10, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
}
Method (_L03, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
Notify (\_SB.PWRB, 0x02)
}
Method (_L09, 0, NotSerialized)
{
Notify (\_SB.PCI0.NSMB, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L00, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P1, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L15, 0, NotSerialized)
{
Notify (\_SB.PCI0.HDAC, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L11, 0, NotSerialized)
{
Notify (\_SB.PCI0.BR10, 0x02)
Notify (\_SB.PCI0.BR11, 0x02)
Notify (\_SB.PCI0.BR12, 0x02)
Notify (\_SB.PCI0.BR13, 0x02)
Notify (\_SB.PCI0.BR14, 0x02)
Notify (\_SB.PCI0.BR15, 0x02)
Notify (\_SB.PCI0.P0P8, 0x02)
Notify (\_SB.PCI0.P0PB, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_UID, 0xAA)
Name (_STA, 0x0B)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x03, 0x04))
}
}
}
Scope (_SB)
{
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{15}
})
CreateWordField (BUFA, One, ICRS)
Method (LSTA, 1, NotSerialized)
{
If (Arg0)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (LPRS, 2, NotSerialized)
{
If (PICM)
{
Return (Arg1)
}
Else
{
Return (Arg0)
}
}
Method (LCRS, 1, NotSerialized)
{
If (PICM)
{
Name (BUFB, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow,
Shared, ,, _Y21)
{
0x00000011,
}
})
CreateByteField (BUFB, \_SB.LCRS._Y21._INT, AIRQ)
Store (Arg0, AIRQ)
If (LEqual (Arg0, One))
{
Store (0x17, AIRQ)
}
If (LEqual (Arg0, 0x02))
{
Store (0x16, AIRQ)
}
If (LEqual (Arg0, 0x03))
{
Store (0x10, AIRQ)
}
If (LEqual (Arg0, 0x04))
{
Store (0x11, AIRQ)
}
If (LEqual (Arg0, 0x06))
{
Store (0x12, AIRQ)
}
If (LEqual (Arg0, 0x08))
{
Store (0x14, AIRQ)
}
If (LEqual (Arg0, 0x0C))
{
Store (0x13, AIRQ)
}
If (LEqual (Arg0, 0x0D))
{
Store (0x15, AIRQ)
}
Return (BUFB)
}
Else
{
ShiftLeft (One, Arg0, ICRS)
Return (BUFA)
}
}
Method (LCRO, 1, NotSerialized)
{
If (PICM)
{
Name (BUFB, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow,
Shared, ,, _Y22)
{
0x00000014,
}
})
CreateByteField (BUFB, \_SB.LCRO._Y22._INT, AIRQ)
Store (Arg0, AIRQ)
If (LEqual (Arg0, One))
{
Store (0x17, AIRQ)
}
If (LEqual (Arg0, 0x02))
{
Store (0x16, AIRQ)
}
If (LEqual (Arg0, 0x03))
{
Store (0x10, AIRQ)
}
If (LEqual (Arg0, 0x04))
{
Store (0x11, AIRQ)
}
If (LEqual (Arg0, 0x06))
{
Store (0x12, AIRQ)
}
If (LEqual (Arg0, 0x08))
{
Store (0x14, AIRQ)
}
If (LEqual (Arg0, 0x0C))
{
Store (0x13, AIRQ)
}
If (LEqual (Arg0, 0x0D))
{
Store (0x15, AIRQ)
}
Return (BUFB)
}
Else
{
ShiftLeft (One, Arg0, ICRS)
Return (BUFA)
}
}
Method (LSRS, 1, NotSerialized)
{
If (PICM)
{
CreateByteField (Arg0, 0x05, SAIR)
Store (SAIR, Local0)
If (LEqual (Local0, 0x17))
{
Store (One, Local0)
}
If (LEqual (Local0, 0x16))
{
Store (0x02, Local0)
}
If (LEqual (Local0, 0x10))
{
Store (0x03, Local0)
}
If (LEqual (Local0, 0x11))
{
Store (0x04, Local0)
}
If (LEqual (Local0, 0x12))
{
Store (0x06, Local0)
}
If (LEqual (Local0, 0x14))
{
Store (0x08, Local0)
}
If (LEqual (Local0, 0x13))
{
Store (0x0C, Local0)
}
If (LEqual (Local0, 0x15))
{
Store (0x0D, Local0)
}
Return (Local0)
}
Else
{
CreateWordField (Arg0, One, ISRS)
FindSetRightBit (ISRS, Local0)
Return (Decrement (Local0))
}
}
Method (LSRO, 1, NotSerialized)
{
If (PICM)
{
CreateByteField (Arg0, 0x05, SAIR)
Store (SAIR, Local0)
If (LEqual (Local0, 0x14))
{
Store (0x08, Local0)
}
If (LEqual (Local0, 0x15))
{
Store (0x0D, Local0)
}
If (LEqual (Local0, 0x16))
{
Store (0x02, Local0)
}
If (LEqual (Local0, 0x17))
{
Store (One, Local0)
}
Return (Local0)
}
Else
{
CreateWordField (Arg0, One, ISRS)
FindSetRightBit (ISRS, Local0)
Return (Decrement (Local0))
}
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PIRA))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSA, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PIRA)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (^^PCI0.SBRG.PIRA))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), ^^PCI0.SBRG.PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PIRB))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSB, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PIRB)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (^^PCI0.SBRG.PIRB))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), ^^PCI0.SBRG.PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PIRC))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSC, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PIRC)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (^^PCI0.SBRG.PIRC))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), ^^PCI0.SBRG.PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PIRD))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSD, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PIRD)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (^^PCI0.SBRG.PIRD))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), ^^PCI0.SBRG.PIRD)
}
}
Device (LNEA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PREA))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSA, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PREA)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (^^PCI0.SBRG.PREA))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), ^^PCI0.SBRG.PREA)
}
}
Device (LNEB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PREB))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSB, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PREB)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (^^PCI0.SBRG.PREB))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), ^^PCI0.SBRG.PREB)
}
}
Device (LNEC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PREC))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSC, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PREC)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (^^PCI0.SBRG.PREC))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), ^^PCI0.SBRG.PREC)
}
}
Device (LNED)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PRED))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSD, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PRED)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (^^PCI0.SBRG.PRED))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), ^^PCI0.SBRG.PRED)
}
}
Device (LUB0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x09)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PIU0))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSB0, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PIU0)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (^^PCI0.SBRG.PIU0))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), ^^PCI0.SBRG.PIU0)
}
}
Device (LMAD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0A)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PILM))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSAD, RS20))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PILM)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (^^PCI0.SBRG.PILM))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), ^^PCI0.SBRG.PILM)
}
}
Device (LUB2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0B)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PIU2))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSB2, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PIU2)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (^^PCI0.SBRG.PIU2))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), ^^PCI0.SBRG.PIU2)
}
}
Device (LMAC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0C)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PILN))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSAC, RS20))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PILN)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (^^PCI0.SBRG.PILN))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), ^^PCI0.SBRG.PILN)
}
}
Device (LAZA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0D)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PAZA))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSZA, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PAZA)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (^^PCI0.SBRG.PAZA))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), ^^PCI0.SBRG.PAZA)
}
}
Device (LSMB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x10)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PIRM))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSMB, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PIRM)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (^^PCI0.SBRG.PIRM))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), ^^PCI0.SBRG.PIRM)
}
}
Device (LPMU)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x11)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PMUD))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSMU, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PMUD)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (^^PCI0.SBRG.PMUD))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), ^^PCI0.SBRG.PMUD)
}
}
Device (LSA0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x12)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PIID))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSA0, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PIID)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (^^PCI0.SBRG.PIID))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), Local0)
Store (Local0, ^^PCI0.SBRG.PIID)
}
}
Device (LSA1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x13)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.SIID))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSA1, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.SIID)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (^^PCI0.SBRG.SIID))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), Local0)
Store (Local0, ^^PCI0.SBRG.SIID)
}
}
Device (LATA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x14)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.PR0E))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSTA, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.PR0E)
}
Method (_CRS, 0, NotSerialized)
{
If (OSFL ())
{
Return (Zero)
}
Else
{
Return (LCRO (^^PCI0.SBRG.PR0E))
}
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), ^^PCI0.SBRG.PR0E)
}
}
Device (LSA2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x15)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (^^PCI0.SBRG.SIR2))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSA2, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (Zero, ^^PCI0.SBRG.SIR2)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (^^PCI0.SBRG.SIR2))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), Local0)
Store (Local0, ^^PCI0.SBRG.SIR2)
}
}
}
Scope (_SB)
{
Name (XCPD, Zero)
Name (XNPT, One)
Name (XCAP, 0x02)
Name (XDCP, 0x04)
Name (XDCT, 0x08)
Name (XDST, 0x0A)
Name (XLCP, 0x0C)
Name (XLCT, 0x10)
Name (XLST, 0x12)
Name (XSCP, 0x14)
Name (XSCT, 0x18)
Name (XSST, 0x1A)
Name (XRCT, 0x1C)
Mutex (MUTE, 0x00)
Method (RBPE, 1, NotSerialized)
{
Acquire (MUTE, 0x03E8)
Add (Arg0, PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, One)
Field (PCFG, ByteAcc, NoLock, Preserve)
{
XCFG, 8
}
Release (MUTE)
Return (XCFG)
}
Method (RWPE, 1, NotSerialized)
{
Acquire (MUTE, 0x03E8)
And (Arg0, 0xFFFFFFFE, Arg0)
Add (Arg0, PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x02)
Field (PCFG, WordAcc, NoLock, Preserve)
{
XCFG, 16
}
Release (MUTE)
Return (XCFG)
}
Method (RDPE, 1, NotSerialized)
{
Acquire (MUTE, 0x03E8)
And (Arg0, 0xFFFFFFFC, Arg0)
Add (Arg0, PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x04)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
XCFG, 32
}
Release (MUTE)
Return (XCFG)
}
Method (WBPE, 2, NotSerialized)
{
Acquire (MUTE, 0x0FFF)
Add (Arg0, PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, One)
Field (PCFG, ByteAcc, NoLock, Preserve)
{
XCFG, 8
}
Store (Arg1, XCFG)
Release (MUTE)
}
Method (WWPE, 2, NotSerialized)
{
Acquire (MUTE, 0x03E8)
And (Arg0, 0xFFFFFFFE, Arg0)
Add (Arg0, PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x02)
Field (PCFG, WordAcc, NoLock, Preserve)
{
XCFG, 16
}
Store (Arg1, XCFG)
Release (MUTE)
}
Method (WDPE, 2, NotSerialized)
{
Acquire (MUTE, 0x03E8)
And (Arg0, 0xFFFFFFFC, Arg0)
Add (Arg0, PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x04)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
XCFG, 32
}
Store (Arg1, XCFG)
Release (MUTE)
}
Method (RWDP, 3, NotSerialized)
{
Acquire (MUTE, 0x03E8)
And (Arg0, 0xFFFFFFFC, Arg0)
Add (Arg0, PCIB, Local0)
OperationRegion (PCFG, SystemMemory, Local0, 0x04)
Field (PCFG, DWordAcc, NoLock, Preserve)
{
XCFG, 32
}
And (XCFG, Arg2, Local1)
Or (Local1, Arg1, XCFG)
Release (MUTE)
}
Method (RPME, 1, NotSerialized)
{
Add (Arg0, 0x84, Local0)
Store (RDPE (Local0), Local1)
If (LEqual (Local1, Ones))
{
Return (Zero)
}
Else
{
If (LAnd (Local1, 0x00010000))
{
WDPE (Local0, And (Local1, 0x00010000))
Return (One)
}
Return (Zero)
}
}
}
Scope (_SB.PCI0)
{
Name (SUPP, Zero)
Name (CTRL, Zero)
Method (_OSC, 4, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7,
0x1F, 0x1C, 0x40,
/* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0,
0x3D, 0xD7, 0x66
}))
{
CreateDWordField (Arg3, Zero, CDW1)
CreateDWordField (Arg3, 0x04, CDW2)
CreateDWordField (Arg3, 0x08, CDW3)
Store (CDW2, SUPP)
Store (CDW3, CTRL)
If (LNotEqual (And (SUPP, 0x16), 0x16))
{
And (CTRL, 0x1E, CTRL)
}
And (CTRL, 0x1D, CTRL)
If (Not (And (CDW1, One)))
{
If (And (CTRL, One)) {}
If (And (CTRL, 0x04)) {}
If (And (CTRL, 0x10)) {}
}
If (LNotEqual (Arg1, One))
{
Or (CDW1, 0x08, CDW1)
}
If (LNotEqual (CDW3, CTRL))
{
Or (CDW1, 0x10, CDW1)
}
Store (CTRL, CDW3)
Return (Arg3)
}
Else
{
Or (CDW1, 0x04, CDW1)
Return (Arg3)
}
}
}
OperationRegion (SMRG, SystemIO, 0x2D00, 0x50)
Field (SMRG, ByteAcc, NoLock, Preserve)
{
PRTC, 8,
HSTS, 8,
HADR, 8,
HCMD, 8,
HDT0, 8,
Offset (0x3C),
DAT1, 8,
DAT2, 8
}
OperationRegion (S2RG, SystemIO, 0x2E00, 0x50)
Field (S2RG, ByteAcc, NoLock, Preserve)
{
P2TC, 8,
H2TS, 8,
H2DR, 8,
H2MD, 8,
H2T0, 8,
Offset (0x3C),
D2T1, 8,
D2T2, 8
}
Method (RBYT, 2, NotSerialized)
{
Return (And (SCMD (Arg0, Arg1, Zero, 0x07), 0xFF))
}
Method (WBYT, 3, NotSerialized)
{
Return (And (SCMD (Arg0, Arg1, Arg2, 0x06), 0xFF))
}
Method (R2BT, 2, NotSerialized)
{
Return (And (S2MD (Arg0, Arg1, Zero, 0x07), 0xFF))
}
Method (W2BT, 3, NotSerialized)
{
Return (And (S2MD (Arg0, Arg1, Arg2, 0x06), 0xFF))
}
Method (SCMD, 4, Serialized)
{
Store (0x1F, HSTS)
Store (One, DAT1)
Store (0x07, DAT2)
Store (0x05, Local0)
While (Local0)
{
Store (Arg0, HADR)
Store (Arg3, PRTC)
Store (Arg1, HCMD)
If (LEqual (Arg3, 0x06))
{
Store (Arg2, HDT0)
}
Stall (0xFF)
If (LNotEqual (HSTS, 0x80))
{
Decrement (Local0)
}
Else
{
If (LEqual (Arg3, 0x07))
{
Return (HDT0)
}
Else
{
Return (Zero)
}
}
}
Return (Ones)
}
Method (S2MD, 4, Serialized)
{
Store (0x1F, H2TS)
Store (One, D2T1)
Store (0x07, D2T2)
Store (0x05, Local0)
While (Local0)
{
Store (Arg0, H2DR)
Store (Arg3, P2TC)
Store (Arg1, H2MD)
If (LEqual (Arg3, 0x06))
{
Store (Arg2, H2T0)
}
Stall (0xFF)
If (LNotEqual (H2TS, 0x80))
{
Decrement (Local0)
}
Else
{
If (LEqual (Arg3, 0x07))
{
Return (H2T0)
}
Else
{
Return (Zero)
}
}
}
Return (Ones)
}
Method (SBYT, 2, NotSerialized)
{
}
Method (WWRD, 3, NotSerialized)
{
}
Method (RSBT, 2, NotSerialized)
{
Store (Zero, Local0)
Return (Local0)
}
Method (RWRD, 2, NotSerialized)
{
Store (Zero, Local0)
Return (Local0)
}
Method (WBLK, 4, NotSerialized)
{
}
Method (RBLK, 3, NotSerialized)
{
Store (Zero, Local0)
Return (Local0)
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G0T0, Package (0x07)
{
0x00060000,
"AP version",
0x40000000,
Zero,
Zero,
One,
0x02
})
Name (G0T1, Package (0x07)
{
0x00060001,
"Feature flag",
0x40000000,
Zero,
Zero,
One,
0x08
})
Name (G0T2, Package (0x07)
{
0x00070002,
"ASAP function",
0x40000000,
Zero,
Zero,
Zero,
0x02
})
Name (G0T3, Package (0x07)
{
0x00070003,
"AMD Cool&Quiet",
0x20000000,
Zero,
Zero,
Zero,
0x02
})
Name (GRP0, Package (0x04)
{
G0T0,
G0T1,
G0T2,
G0T3
})
Method (GIT0, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (Zero, ASB1)
}
Else
{
If (LEqual (_T_0, One))
{
Store (One, ASB1)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (0x02, ASB1)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Store (0x03, ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
Method (SIT0, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (0x0300, DBG8)
}
Else
{
If (LEqual (_T_0, One))
{
Store (0x0301, DBG8)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (0x0302, DBG8)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Store (0x0303, DBG8)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G3T0, Package (0x07)
{
0x03010011,
"CPU Frequency",
Zero,
Zero,
0x4E20,
0x64,
0x0259
})
Name (G3T2, Package (0x07)
{
0x03060013,
"CPU Ratio",
Zero,
Zero,
0x06,
One,
0x19
})
Name (G321, Package (0x09)
{
0x03820032,
"DRAM Voltage",
Zero,
Zero,
0x05DC,
0x14,
0x50,
One,
"Auto"
})
Name (G322, Package (0x10)
{
0x03080031,
"DRAM Frequency",
Zero,
Zero,
0x0B,
"Auto",
"800 MHz",
"833 MHz",
"886 MHz",
"1000 MHz",
"1067 MHz",
"1111 MHz",
"1333 MHz",
"1600 MHz",
"1800 MHz",
"2000 MHz"
})
Name (G340, Package (0x09)
{
0x03810051,
"PCIE Frequency",
Zero,
Zero,
0x2710,
0x64,
0x33,
One,
"Auto"
})
Name (GRP3, Package (0x05)
{
G3T0,
G3T2,
G321,
G322,
G340
})
Name (IDEX, Zero)
Method (GIT3, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Divide (GNVS (0x02A8), 0x04, , Local0)
Subtract (Local0, 0xC8, ASB1)
}
Else
{
If (LEqual (_T_0, 0x13))
{
If (LGreater (And (GCAX (One), 0x0FF0, Local0), 0x06F0))
{
Store (GMAX (0x2C), Local0)
And (ShiftRight (Local0, 0x08), 0xFF, Local2)
And (Local0, 0xFF, Local1)
Subtract (Local1, Local2, Local0)
Store (GMDX (0x0198), Local7)
And (ShiftRight (Local7, 0x08), 0xFF, Local7)
If (LLess (Local7, Local0))
{
Store (Local1, Local7)
}
}
Else
{
Store (GMDX (0x0198), Local0)
And (ShiftRight (Local0, 0x08), 0x1F, Local1)
Store (Local1, Local7)
Store (GMAX (0x0198), Local0)
And (ShiftRight (Local0, 0x18), 0x1F, Local0)
}
If (LEqual (GNVS (0x1660), Zero))
{
If (And (GMAX (0x17), 0x00800000))
{
Store (ShiftRight (And (GMAX (0x17),
0x4000), 0x0E), Local5)
Store (Subtract (Local7, Local0), Local4)
Multiply (Local4, 0x02, Local6)
Add (Local6, Local5, ASB1)
}
Else
{
Store (Subtract (Local7, Local0), ASB1)
}
}
Else
{
If (And (GMAX (0x17), 0x00800000))
{
Store (ShiftRight (And (GNVS (0x8298),
0x40), 0x06), Local5)
Store (Subtract (And (GNVS (0x8298),
0x1F), Local0), Local4)
Multiply (Local4, 0x02, Local6)
Add (Local6, Local5, ASB1)
}
Else
{
Store (Subtract (And (GNVS (0x8298),
0x1F), Local0), ASB1)
}
}
Store (ASB1, IDEX)
}
Else
{
If (LEqual (_T_0, 0x31))
{
If (LEqual (GNVS (0x2350), 0x02))
{
Store (GNVS (0xC2D0), Local0)
Store (0x0A, Local1)
Store (Zero, Local2)
While (LNotEqual (Local1, Local2))
{
If (LEqual (Local0, DerefOf (Index
(MEMF, Local2))))
{
Increment (Local2)
Store (Local2, ASB1)
Store (Local1, Local2)
Store (One, Local0)
}
Else
{
Increment (Local2)
}
}
If (LNotEqual (Local0, One))
{
Store (Zero, ASB1)
}
Store (One, ASB0)
}
}
Else
{
If (LEqual (_T_0, 0x32))
{
Store (GNVS (0x7388), Local0)
If (LEqual (Local0, Zero))
{
Store (Zero, ASB1)
Store (One, ASB0)
}
Else
{
Store (Local0, ASB1)
Store (One, ASB0)
}
}
Else
{
If (LEqual (_T_0, 0x51))
{
Store (GNVS (0x7370), Local0)
Increment (Local0)
Store (Local0, ASB1)
Store (One, ASB0)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
Method (SIT3, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Store (Arg1, Local0)
Add (Local0, 0xC8, Local0)
If (LEqual (Arg1, Zero))
{
Store (CPTP (), Local0)
Store (DerefOf (Index (CPFS, Local0)), Local0)
}
Or (ASB0, 0x02, ASB0)
Multiply (Local0, 0x04, Local0)
SNVS (0x02A8, Local0)
SNVS (0x2360, Zero)
}
Else
{
If (LEqual (_T_0, 0x13))
{
If (LNotEqual (IDEX, Arg1))
{
If (And (Arg2, One))
{
SNVS (0x35B3, 0x04)
SNVS (0x1660, One)
If (LGreater (And (GCAX (One), 0x0FF0,
Local0), 0x06F0))
{
Store (GMAX (0x2C), Local0)
And (ShiftRight (Local0, 0x08), 0xFF, Local2)
And (Local0, 0xFF, Local1)
Subtract (Local1, Local2, Local3)
}
Else
{
Store (GMDX (0x0198), Local0)
And (ShiftRight (Local0, 0x08), 0x1F, Local1)
Store (GMAX (0x0198), Local0)
And (ShiftRight (Local0, 0x18), 0x1F, Local3)
}
If (And (GMAX (0x17), 0x00800000))
{
Store (Arg1, Local2)
And (Local2, One, Local0)
ShiftRight (Local2, One, Arg1)
Add (Arg1, Local3, Arg1)
}
Else
{
Store (Zero, Local0)
Add (Arg1, Local3, Arg1)
}
Or (Arg1, ShiftLeft (Local0, 0x06), Arg1)
SNVS (0x8298, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
If (LEqual (_T_0, 0x32))
{
If (LNotEqual (GNVS (0x7388), Arg1))
{
If (And (Arg2, One))
{
SNVS (0x7388, Arg1)
W2BT (0x3C, Zero, Arg1)
W2BT (0x3C, One, One)
W2BT (0x3C, 0x02, One)
W2BT (0x3C, 0x40, One)
}
}
}
Else
{
If (LEqual (_T_0, 0x31))
{
If (LNotEqual (Arg1, Zero))
{
Subtract (Arg1, One, Local0)
Store (DerefOf (Index (MEMF, Local0)), Local0)
If (And (Arg2, One))
{
SNVS (0x2350, 0x02)
SNVS (0xC2D0, Local0)
SNVS (0xC2F0, Local0)
}
Or (ASB0, 0x02, ASB0)
}
Else
{
If (And (Arg2, One))
{
SNVS (0x2350, Zero)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
If (LEqual (_T_0, 0x51))
{
If (LNotEqual (GNVS (0x7370), Arg1))
{
If (And (Arg2, One))
{
Decrement (Arg1)
SNVS (0x7370, Arg1)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
Name (CPFS, Package (0x04)
{
0xC8,
0x010B,
0x014D,
0x0190
})
Name (MEMF, Package (0x0A)
{
0x0320,
0x0341,
0x0376,
0x03E8,
0x042B,
0x0457,
0x0535,
0x0640,
0x0708,
0x07D0
})
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G4T0, Package (0x04)
{
0x04070010,
"CPU Q-FAN Control",
0x80000000,
Zero
})
Name (G4T1, Package (0x08)
{
0x04080011,
"CPU Q-FAN Profile",
0x00100001,
Zero,
0x03,
"Performance",
"Optimal",
"Silent"
})
Name (G420, Package (0x04)
{
0x04070070,
"Chassis Q-FAN Control",
0x80000000,
Zero
})
Name (G421, Package (0x0A)
{
0x04080071,
"Chassis FAN Ratio",
0x00700001,
Zero,
0x05,
"Auto",
"90%",
"80%",
"70%",
"60%"
})
Name (GRP4, Package (0x04)
{
G4T0,
G4T1,
G420,
G421
})
Method (GIT4, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x10))
{
Store (GNVS (0x16A5), ASB1)
}
Else
{
If (LEqual (_T_0, 0x11))
{
Store (GNVS (0x261E), ASB1)
}
Else
{
If (LEqual (_T_0, 0x70))
{
Store (GNVS (0x16A6), ASB1)
}
Else
{
If (LEqual (_T_0, 0x71))
{
Store (GNVS (0x35D8), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
Method (SIT4, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x10))
{
If (LNotEqual (GNVS (0x16A5), Arg1))
{
If (And (Arg2, One))
{
SNVS (0x16A5, Arg1)
Store (0x77, PAR0)
ISMI (0x88)
}
}
}
Else
{
If (LEqual (_T_0, 0x11))
{
If (LNotEqual (GNVS (0x261E), Arg1))
{
If (And (Arg2, One))
{
SNVS (0x261E, Arg1)
Store (0x77, PAR0)
ISMI (0x88)
}
}
}
Else
{
If (LEqual (_T_0, 0x70))
{
If (LNotEqual (GNVS (0x16A6), Arg1))
{
If (And (Arg2, One))
{
SNVS (0x16A6, Arg1)
Store (0x78, PAR0)
ISMI (0x88)
}
}
}
Else
{
If (LEqual (_T_0, 0x71))
{
If (LNotEqual (GNVS (0x35D8), Arg1))
{
If (And (Arg2, One))
{
Store (Arg1, DBG8)
SNVS (0x35D8, Arg1)
Store (0x78, PAR0)
ISMI (0x88)
}
}
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G6T1, Package (0x07)
{
0x06020011,
"Vcore Voltage",
0x20000000,
Zero,
0x0352,
0x02EE,
0x02
})
Name (G6T2, Package (0x07)
{
0x06030012,
"CPU Temperature",
0x20000000,
Zero,
0x0258,
0x015E,
0x02
})
Name (G6T3, Package (0x07)
{
0x06040013,
"CPU FAN Speed",
0x20000000,
Zero,
0x0258,
0x1900,
0x02
})
Name (G6T4, Package (0x07)
{
0x06040073,
"Chassis FAN Speed",
0x20000000,
Zero,
0x0258,
0x1900,
0x02
})
Name (G6T5, Package (0x07)
{
0x060400C3,
"Power FAN Speed",
0x20000000,
Zero,
0x0258,
0x1900,
0x02
})
Name (G6T6, Package (0x07)
{
0x06020061,
"+12V Voltage",
0x20000000,
0x2EE0,
0x27D8,
0x0E10,
0x02
})
Name (G6T7, Package (0x07)
{
0x06020062,
"+5V Voltage",
0x20000000,
0x1388,
0x1194,
0x03E8,
0x02
})
Name (G6T8, Package (0x07)
{
0x06020063,
"+3.3V Voltage",
0x20000000,
0x0CE4,
0x0B9A,
0x0294,
0x02
})
Name (G6T9, Package (0x07)
{
0x06030074,
"MB Temperature",
0x20000000,
Zero,
0x01C2,
0x01F4,
0x02
})
Name (GRP6, Package (0x09)
{
G6T1,
G6T2,
G6T3,
G6T4,
G6T5,
G6T6,
G6T7,
G6T8,
G6T9
})
Method (GIT6, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Multiply (^^SIOR.HWV0 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x12))
{
Store (^^SIOR.HWT1 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x13))
{
Store (^^SIOR.HWF1 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x73))
{
Store (^^SIOR.HWF2 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0xC3))
{
Store (^^SIOR.HWF3 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x61))
{
Multiply (^^SIOR.HWV4 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x62))
{
Multiply (^^SIOR.HWV3 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x63))
{
Multiply (^^SIOR.HWV1 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x74))
{
Store (^^SIOR.HWT2 (), ASB1)
}
}
}
}
}
}
}
}
}
}
Method (SIT6, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x11))
{
Multiply (^^SIOR.HWV0 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x12))
{
Store (^^SIOR.HWT1 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x13))
{
Store (^^SIOR.HWF1 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x73))
{
Store (^^SIOR.HWF2 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0xC3))
{
Store (^^SIOR.HWF3 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x61))
{
Multiply (^^SIOR.HWV4 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x62))
{
Multiply (^^SIOR.HWV3 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x63))
{
Multiply (^^SIOR.HWV1 (), ASB1)
}
Else
{
If (LEqual (_T_0, 0x74))
{
Store (^^SIOR.HWT2 (), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
}
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (G9T0, Package (0x0B)
{
0x09080000,
"AI Overclocking",
Zero,
One,
0x06,
"Manual",
"Auto",
"Standard",
Zero,
"N.O.S.",
Zero
})
Name (GRP9, Package (0x01)
{
G9T0
})
Method (GIT9, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Store (GNVS (0x2350), Local0)
Store (GNVS (0x4358), Local1)
Name (_T_1, Zero)
Store (Or (Local0, Local1, Local0), _T_1)
If (LEqual (_T_1, Zero))
{
Store (One, ASB1)
}
Else
{
Store (Zero, ASB1)
}
Store (One, ASB0)
}
Else
{
Store (Zero, ASB0)
}
}
Method (SIT9, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, Zero))
{
Name (_T_1, Zero)
Store (And (Arg1, 0x0F), _T_1)
If (LEqual (_T_1, Zero))
{
If (LNotEqual (GNVS (0x2350), One))
{
If (And (Arg2, One))
{
If (LNotEqual (GNVS (0x2350), 0x02))
{
SNVS (0x2350, One)
}
}
}
}
Else
{
If (LEqual (_T_1, One))
{
If (LNotEqual (GNVS (0x2350), Zero))
{
If (And (Arg2, One))
{
SNVS (0x2350, Zero)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
If (LEqual (_T_1, 0x02))
{
If (LNotEqual (GNVS (0x2350), Zero))
{
If (And (Arg2, One))
{
SNVS (0x2350, Zero)
}
Or (ASB0, 0x02, ASB0)
}
}
Else
{
Store (Zero, ASB0)
}
}
}
}
Else
{
Store (Zero, ASB0)
}
}
Method (RTAM, 0, NotSerialized)
{
Store (0xC1, DBG8)
Store (CPTP (), Local0)
Store (DerefOf (Index (CPFS, Local0)), Local0)
Multiply (Local0, 0x04, Local0)
SNVS (0x02A8, Local0)
Store (Local0, DBG8)
CALC (Local0)
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (GBT0, Package (0x07)
{
0x0B060001,
"System Performance",
Zero,
Zero,
0x03,
One,
0x04
})
Name (GBT1, Package (0x07)
{
0x0B060002,
"System Performance Control",
Zero,
Zero,
Zero,
Zero,
Zero
})
Name (GBT2, Package (0x07)
{
0x0B060003,
"System GUI",
0x02,
Zero,
Zero,
Zero,
Zero
})
Name (GRPB, Package (0x03)
{
GBT0,
GBT1,
GBT2
})
Method (GITB, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, One))
{
Store (And (DerefOf (Index (GBT0, 0x02)), 0xFFFF), ASB1)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (DerefOf (Index (GBT1, 0x02)), ASB1)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Store (DerefOf (Index (GBT2, 0x02)), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
Method (SITB, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, One))
{
Name (_T_1, Zero)
Store (And (Arg2, 0xFFFF), _T_1)
If (LEqual (_T_1, Zero))
{
Store (And (DerefOf (Index (GBT0, 0x02)), 0xFFFF), Local0)
If (LEqual (Local0, Zero))
{
Store (Local0, PAR0)
}
}
Else
{
If (LEqual (_T_1, One))
{
And (Arg1, 0xFFFF, Local0)
Store (Local0, Index (GBT0, 0x02))
SICL (Local0)
Store (Local0, PAR0)
ISMI (0x88)
}
Else
{
Store (One, ASB0)
}
}
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (And (Arg1, 0xFF), Local0)
If (LEqual (ITCG (Local0), One))
{
Store (Local0, Index (GBT1, 0x02))
Store (One, ASB0)
}
Else
{
Store (Zero, ASB0)
}
}
Else
{
Store (Zero, ASB0)
}
}
}
}
Scope (_GPE)
{
Method (_L2A, 0, NotSerialized)
{
Notify (\_SB.PCI0.SBRG.ASOC, 0x05)
Store (0x0B, DBUG)
If (LEqual (\_SB.PCI0.SBRG.ASOC.AIGC, One))
{
\_SB.PCI0.SBRG.ASOC.GITE (0x0E060001)
\_SB.PCI0.SBRG.ASOC.SICL (Or (0x8010, \_SB.PCI0.SBRG.ASOC.ASB1))
}
\_SB.PCI0.SBRG.ASOC.RCAS ()
}
}
OperationRegion (_SB.PCI0.MICP.PFSB, PCI_Config, 0x44, 0x20)
Field (\_SB.PCI0.MICP.PFSB, ByteAcc, NoLock, Preserve)
{
FSP1, 8,
FSP2, 8,
FSP3, 8,
FSPC, 8
}
OperationRegion (_SB.PCI0.MICP.FPMN, PCI_Config, 0x78, 0x20)
Field (\_SB.PCI0.MICP.FPMN, ByteAcc, NoLock, Preserve)
{
FP4M, 8,
FP4N, 8
}
OperationRegion (_SB.PCI0.MICP.PFSC, PCI_Config, 0x58, 0x20)
Field (\_SB.PCI0.MICP.PFSC, ByteAcc, NoLock, Preserve)
{
PEAC, 8
}
OperationRegion (DEBU, SystemIO, DP80, One)
Field (DEBU, ByteAcc, NoLock, Preserve)
{
DBUG, 8
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (GET1, Package (0x07)
{
0x0E060001,
"OC Status",
Zero,
Zero,
Zero,
Zero,
Zero
})
Name (GET2, Package (0x07)
{
0x0E0A0011,
"ICPU Value",
Zero,
Zero,
Zero,
Zero,
Zero
})
Name (GET3, Package (0x07)
{
0x0E020012,
"VCPU Value",
Zero,
Zero,
Zero,
Zero,
Zero
})
Name (GET4, Package (0x07)
{
0x0E0B0013,
"PCPU Value",
Zero,
Zero,
Zero,
Zero,
Zero
})
Name (GET5, Package (0x07)
{
0x0E0A0014,
"OC Threshold1",
Zero,
Zero,
Zero,
Zero,
Zero
})
Name (GET6, Package (0x07)
{
0x0E0A0015,
"OC Threshold2",
Zero,
Zero,
Zero,
Zero,
Zero
})
Name (GET7, Package (0x07)
{
0x0E0A0016,
"OC Threshold3",
Zero,
Zero,
Zero,
Zero,
Zero
})
Name (GRPE, Package (0x07)
{
GET1,
GET2,
GET3,
GET4,
GET5,
GET6,
GET7
})
Name (ADP3, Package (0x0D)
{
0x40,
0x3B,
0x48,
0x4A,
0x4C,
0x69,
0x6A,
0x6B,
0x56,
0x5C,
0x37,
0x38,
0x36
})
Name (OCST, Buffer (0x04)
{
0x00, 0x01, 0x02, 0x03
})
Method (GITE, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, One))
{
Store (DerefOf (Index (OCST, RBYT (DerefOf (Index
(ADP3, Zero)),
DerefOf (Index (ADP3, One))))), ASB1)
}
Else
{
If (LEqual (_T_0, 0x11))
{
Store (RBYT (DerefOf (Index (ADP3, Zero)), DerefOf
(Index (ADP3,
0x02))), Local0)
Store (RBYT (DerefOf (Index (ADP3, Zero)), Add
(DerefOf (Index (
ADP3, 0x02)), One)), Local1)
Or (ShiftLeft (Local1, 0x02), And (Local0, 0x03), ASB1)
}
Else
{
If (LEqual (_T_0, 0x12))
{
Store (RBYT (DerefOf (Index (ADP3, Zero)),
DerefOf (Index (ADP3,
0x03))), Local0)
Store (RBYT (DerefOf (Index (ADP3, Zero)), Add
(DerefOf (Index (
ADP3, 0x03)), One)), Local1)
Or (ShiftLeft (Local1, 0x02), And (Local0, 0x03), ASB1)
}
Else
{
If (LEqual (_T_0, 0x13))
{
Store (RBYT (DerefOf (Index (ADP3, Zero)),
DerefOf (Index (ADP3,
0x04))), Local0)
Store (RBYT (DerefOf (Index (ADP3, Zero)),
Add (DerefOf (Index (
ADP3, 0x04)), One)), Local1)
Or (ShiftLeft (Local1, 0x08), Local0, ASB1)
}
Else
{
If (LEqual (_T_0, 0x14))
{
Store (RBYT (DerefOf (Index (ADP3,
Zero)), DerefOf (Index (ADP3,
0x05))), ASB1)
}
Else
{
If (LEqual (_T_0, 0x15))
{
Store (RBYT (DerefOf (Index (ADP3,
Zero)), DerefOf (Index (ADP3,
0x06))), ASB1)
}
Else
{
If (LEqual (_T_0, 0x16))
{
Store (RBYT (DerefOf (Index
(ADP3, Zero)), DerefOf (Index (ADP3,
0x07))), ASB1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
}
}
}
}
Method (SITE, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (And (Arg0, 0xFFFF), _T_0)
If (LEqual (_T_0, 0x14))
{
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index (ADP3, 0x05
)), Arg1)
}
Else
{
If (LEqual (_T_0, 0x15))
{
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index
(ADP3, 0x06
)), Arg1)
}
Else
{
If (LEqual (_T_0, 0x16))
{
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf
(Index (ADP3, 0x07
)), Arg1)
}
Else
{
Store (Zero, ASB0)
}
}
}
}
Method (ITCG, 1, NotSerialized)
{
Store (CPTP (), Local0)
Sleep (0x03E8)
And (PEAC, 0xFE, PEAC)
Name (_T_0, Zero)
Store (And (Arg0, 0xFF), _T_0)
If (LEqual (_T_0, Zero))
{
MAPF (Local0, One)
}
Else
{
If (LEqual (_T_0, One))
{
MAPF (Local0, Zero)
}
Else
{
Return (Zero)
}
}
Return (One)
}
Name (MAPT, Package (0x04)
{
Package (0x04)
{
0xD2,
0xC8,
0xBE,
0xB4
},
Package (0x04)
{
0x0118,
0x010B,
0xFC,
0xEE
},
Package (0x04)
{
0x015E,
0x014D,
0x013C,
0x012B
},
Package (0x04)
{
0x01A4,
0x0190,
0x017C,
0x0168
}
})
Method (MAPF, 2, NotSerialized)
{
Store (Arg0, Local0)
Store (Arg1, Local1)
Store (DerefOf (Index (DerefOf (Index (MAPT, Local0)), Local1)),
Local0)
CALC (Local0)
}
Method (CALC, 1, NotSerialized)
{
Store (Arg0, Local0)
Store (FSPC, Local3)
And (Local3, 0xFD, Local3)
If (LAnd (Local3, 0xFF))
{
Store (0x02, Local3)
Multiply (Local0, Local3, Local2)
}
Multiply (Local2, FSP1, Local2)
Multiply (Local2, FP4M, Local2)
Store (FP4N, Local3)
Multiply (Local3, 0x19, Local3)
Divide (Local2, Local3, , Local2)
Store (FSP2, Local4)
Store (FSP3, Local3)
And (Local3, One, Local3)
ShiftLeft (Local3, 0x08, Local3)
Or (Local4, Local3, Local3)
Divide (Local3, 0x02, , Local3)
If (LLess (Local3, Local2))
{
Increment (Local2)
}
Else
{
Decrement (Local2)
}
While (LNotEqual (Local3, Local2))
{
Multiply (Local3, 0x02, Local1)
Store (Local1, FSP2)
ShiftRight (Local1, 0x08, Local1)
And (Local1, One, Local1)
Store (FSP3, Local4)
And (Local4, 0xFE, Local4)
Or (Local1, Local4, Local1)
Store (Local1, FSP3)
Or (FSPC, 0x40, FSPC)
And (FSPC, 0xBF, FSPC)
If (LLess (Local3, Local2))
{
Increment (Local3)
}
Else
{
Decrement (Local3)
}
}
}
Method (CPTP, 0, NotSerialized)
{
Name (_T_0, Zero)
Store (GNVS (0x8720), _T_0)
If (LEqual (_T_0, Zero))
{
Store (0x02, Local0)
}
Else
{
If (LEqual (_T_0, One))
{
Store (One, Local0)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (Zero, Local0)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Store (0x02, Local0)
}
Else
{
If (LEqual (_T_0, 0x04))
{
Store (One, Local0)
}
Else
{
If (LEqual (_T_0, 0x05))
{
Store (0x02, Local0)
}
Else
{
If (LEqual (_T_0, 0x06))
{
Store (One, Local0)
}
Else
{
If (LEqual (_T_0, 0x07))
{
Store (0x02, Local0)
}
Else
{
If (LEqual (_T_0, 0x08))
{
Store (One, Local0)
}
Else
{
If (LEqual (_T_0, 0x09))
{
Store (0x03, Local0)
}
Else
{
If (LEqual (_T_0, 0x0A))
{
Store (0x03, Local0)
}
Else
{
If (LEqual (_T_0, 0x0B))
{
Store (Zero, Local0)
}
Else
{
If (LEqual
(_T_0, 0x7E))
{
Store
(Zero, Local0)
}
Else
{
If
(LEqual (_T_0, 0x7F))
{
Store (One, Local0)
}
Else
{
Store (Zero, Local0)
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Return (Local0)
}
Name (AIGC, Zero)
Method (SICL, 1, NotSerialized)
{
If (And (Arg0, 0x8000))
{
Store (One, AIGC)
Name (_T_0, Zero)
Store (And (Arg0, 0xFF), _T_0)
If (LEqual (_T_0, 0x10))
{
SPIC (Zero)
Store (Zero, PICL)
Store (0x10, DBUG)
}
Else
{
If (LEqual (_T_0, 0x11))
{
SPIC (One)
Store (One, PICL)
Store (0x11, DBUG)
}
Else
{
If (LEqual (_T_0, 0x12))
{
SPIC (0x02)
Store (0x02, PICL)
Store (0x12, DBUG)
}
Else
{
If (LEqual (_T_0, 0x13))
{
SPIC (0x03)
Store (0x03, PICL)
Store (0x13, DBUG)
}
Else
{
}
}
}
}
}
Else
{
Store (Zero, AIGC)
If (And (Arg0, 0x4000))
{
SPIC (Zero)
Store (Zero, PICL)
}
Else
{
Name (_T_1, Zero)
Store (And (Arg0, 0xFF), _T_1)
If (LEqual (_T_1, Zero))
{
SPIC (One)
Store (One, PICL)
}
Else
{
If (LEqual (_T_1, One))
{
SPIC (0x02)
Store (0x02, PICL)
}
Else
{
If (LEqual (_T_1, 0x02))
{
SPIC (0x03)
Store (0x03, PICL)
}
Else
{
Return (Zero)
}
}
}
}
}
Return (One)
}
Name (PICL, One)
Name (PSLV, Package (0x04)
{
Package (0x05)
{
Zero,
Zero,
Zero,
Zero,
0x10
},
Package (0x05)
{
Zero,
Zero,
0xFF,
Zero,
0x10
},
Package (0x05)
{
Zero,
0xFF,
0xFF,
0x36,
0x08
},
Package (0x05)
{
0xFF,
0xFF,
0xFF,
0x2C,
0x08
}
})
Method (SPIC, 1, NotSerialized)
{
If (LLessEqual (Arg0, PICL))
{
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index (ADP3, 0x08
)), DerefOf (Index (DerefOf (Index (PSLV, Arg0)), 0x03)))
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index (ADP3, 0x09
)), DerefOf (Index (DerefOf (Index (PSLV, Arg0)), 0x04)))
If (LEqual (AIGC, Zero))
{
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index
(ADP3, 0x05
)), DerefOf (Index (DerefOf (Index (PSLV,
Arg0)), Zero)))
Sleep (0x03E8)
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index
(ADP3, 0x06
)), DerefOf (Index (DerefOf (Index (PSLV, Arg0)), One)))
Sleep (0x03E8)
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index
(ADP3, 0x07
)), DerefOf (Index (DerefOf (Index (PSLV,
Arg0)), 0x02)))
Sleep (0x03E8)
}
Store (CPTP (), Local0)
Store (Arg0, Local1)
MAPF (Local0, Local1)
}
Else
{
If (LEqual (AIGC, Zero))
{
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index
(ADP3, 0x07
)), DerefOf (Index (DerefOf (Index (PSLV,
Arg0)), 0x02)))
Sleep (0x03E8)
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index
(ADP3, 0x06
)), DerefOf (Index (DerefOf (Index (PSLV, Arg0)), One)))
Sleep (0x03E8)
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index
(ADP3, 0x05
)), DerefOf (Index (DerefOf (Index (PSLV,
Arg0)), Zero)))
Sleep (0x03E8)
}
Store (CPTP (), Local0)
Store (Arg0, Local1)
MAPF (Local0, Local1)
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index (ADP3, 0x09
)), DerefOf (Index (DerefOf (Index (PSLV, Arg0)), 0x04)))
WBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index (ADP3, 0x08
)), DerefOf (Index (DerefOf (Index (PSLV, Arg0)), 0x03)))
}
RCAS ()
}
Method (RCAS, 0, NotSerialized)
{
Store (RBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index (ADP3,
0x0A))), Local0)
And (Local0, 0x10, Local0)
While (LEqual (Local0, 0x10))
{
Store (RBYT (DerefOf (Index (ADP3, Zero)), DerefOf
(Index (ADP3,
0x0A))), Local0)
And (Local0, 0x10, Local0)
}
RBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index (ADP3, 0x0B
)))
RBYT (DerefOf (Index (ADP3, Zero)), DerefOf (Index (ADP3, 0x0C
)))
}
}
Scope (_SB.PCI0.SBRG.SIOR)
{
Method (HWV0, 0, NotSerialized)
{
Return (Multiply (VIV0, 0x10))
}
Method (HWV1, 0, NotSerialized)
{
Return (Multiply (VIV1, 0x10))
}
Method (HWV2, 0, NotSerialized)
{
Return (Multiply (VIV2, 0x10))
}
Method (HWV3, 0, NotSerialized)
{
Return (Multiply (VIV3, 0x10))
}
Method (HWV4, 0, NotSerialized)
{
Return (Multiply (VIV4, 0x10))
}
Method (HWV5, 0, NotSerialized)
{
Return (Multiply (VIV5, 0x10))
}
Method (HWV6, 0, NotSerialized)
{
Return (Multiply (VIV6, 0x10))
}
Method (HWV7, 0, NotSerialized)
{
Return (Multiply (VIV7, 0x10))
}
Method (HWT1, 0, NotSerialized)
{
Store (TPI1, Local0)
If (LGreater (Local0, 0x80))
{
Subtract (0x0100, Local0, Local0)
}
Add (Local0, T1OF, Local0)
Return (Multiply (Local0, 0x0A))
}
Method (HWT2, 0, NotSerialized)
{
Store (TPI2, Local0)
If (LGreater (Local0, 0x80))
{
Subtract (0x0100, Local0, Local0)
}
Add (Local0, T2OF, Local0)
Return (Multiply (Local0, 0x0A))
}
Method (HWT3, 0, NotSerialized)
{
Store (TPI3, Local0)
If (LGreater (Local0, 0x80))
{
Subtract (0x0100, Local0, Local0)
}
Add (Local0, T3OF, Local0)
Return (Multiply (Local0, 0x0A))
}
Method (HWF1, 0, NotSerialized)
{
If (LEqual (ETD1, One))
{
Or (ShiftLeft (EFN1, 0x08), FTC1, Local0)
Return (CF16 (Local0))
}
Store (FTC1, Local0)
Store (One, Local2)
While (LAnd (LOr (LLessEqual (Local0, FHMT), LGreaterEqual (Local0,
FLMT)), LEqual (Local2, One)))
{
If (LLessEqual (Local0, FHMT))
{
Store (FTD1, Local1)
If (LGreater (Local1, Zero))
{
Decrement (Local1)
Store (Local1, FTD1)
}
Else
{
Store (Zero, Local2)
}
}
Else
{
Store (FTD1, Local1)
If (LLess (Local1, 0x07))
{
Increment (Local1)
Store (Local1, FTD1)
}
Else
{
Store (Zero, Local2)
}
}
Sleep (0x012C)
Store (FTC1, Local0)
}
Return (CF08 (Local0, DerefOf (Index (DTB1, FTD1))))
}
Method (HWF2, 0, NotSerialized)
{
If (LEqual (ETD2, One))
{
Or (ShiftLeft (EFN2, 0x08), FTC2, Local0)
Return (CF16 (Local0))
}
Store (FTC2, Local0)
Store (One, Local2)
While (LAnd (LOr (LLessEqual (Local0, FHMT), LGreaterEqual (Local0,
FLMT)), LEqual (Local2, One)))
{
If (LLessEqual (Local0, FHMT))
{
Store (FTD2, Local1)
If (LGreater (Local1, Zero))
{
Decrement (Local1)
Store (Local1, FTD2)
}
Else
{
Store (Zero, Local2)
}
}
Else
{
Store (FTD2, Local1)
If (LLess (Local1, 0x07))
{
Increment (Local1)
Store (Local1, FTD2)
}
Else
{
Store (Zero, Local2)
}
}
Sleep (0x012C)
Store (FTC2, Local0)
}
Return (CF08 (Local0, DerefOf (Index (DTB1, FTD2))))
}
Method (HWF3, 0, NotSerialized)
{
If (LEqual (ETD3, One))
{
Or (ShiftLeft (EFN3, 0x08), FTC3, Local0)
Return (CF16 (Local0))
}
Store (FTC3, Local0)
If (LLessEqual (Local0, FHM3))
{
Store (FTD3, Local1)
If (LGreater (Local1, Zero))
{
Decrement (Local1)
Store (Local1, FTD3)
Sleep (0x012C)
Store (FTC3, Local0)
}
}
Else
{
If (LGreaterEqual (Local0, FLMT))
{
Store (FTD3, Local1)
If (LLess (Local1, One))
{
Increment (Local1)
Store (Local1, FTD3)
Sleep (0x012C)
Store (FTC3, Local0)
}
}
}
Return (CF08 (Local0, DerefOf (Index (DTB1, FTD3))))
}
Method (HWF4, 0, NotSerialized)
{
Or (ShiftLeft (EFN4, 0x08), FTC4, Local0)
Return (CF16 (Local0))
}
Method (HWF5, 0, NotSerialized)
{
Or (ShiftLeft (EFN5, 0x08), FTC5, Local0)
Return (CF16 (Local0))
}
Method (CF08, 2, NotSerialized)
{
If (LOr (LEqual (Arg0, Zero), LEqual (Arg0, 0xFF)))
{
Return (Zero)
}
Divide (FTFR, Multiply (Arg0, Arg1), , Local0)
Return (Local0)
}
Method (CF16, 1, NotSerialized)
{
If (LOr (LEqual (Arg0, Zero), LEqual (Arg0, 0xFFFF)))
{
Return (Zero)
}
Divide (FTFR, Multiply (Arg0, 0x02), , Local0)
Return (Local0)
}
Name (FTFR, 0x00149970)
Name (FHMT, 0x78)
Name (FHM3, 0x3C)
Name (FLMT, 0xFE)
Name (DTB1, Package (0x08)
{
One,
0x02,
0x04,
0x08,
0x10,
0x20,
0x40,
0x80
})
Name (DTB2, Package (0x02)
{
0x02,
0x08
})
OperationRegion (ECRE, SystemIO, IOEB, 0x20)
Field (ECRE, ByteAcc, NoLock, Preserve)
{
Offset (0x05),
HIDX, 8,
HDAT, 8
}
IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
{
Offset (0x0B),
FTD1, 3,
FTD2, 3,
FTD3, 1,
Offset (0x0C),
ETD1, 1,
ETD2, 1,
ETD3, 1,
Offset (0x0D),
FTC1, 8,
FTC2, 8,
FTC3, 8,
Offset (0x18),
EFN1, 8,
EFN2, 8,
EFN3, 8,
Offset (0x20),
VIV0, 8,
VIV1, 8,
VIV2, 8,
VIV3, 8,
VIV4, 8,
VIV5, 8,
VIV6, 8,
VIV7, 8,
Offset (0x29),
TPI1, 8,
TPI2, 8,
TPI3, 8,
Offset (0x80),
FTC4, 8,
EFN4, 8,
FTC5, 8,
EFN5, 8
}
}
Scope (\)
{
Field (RAMW, ByteAcc, NoLock, Preserve)
{
Offset (0x20),
CPUQ, 8,
CPVL, 16,
CPVH, 16,
CPVC, 1
}
}
Scope (_SB.PCI0.SBRG.ASOC)
{
Name (CORV, Package (0x05)
{
0x06020000,
"Vcore Voltage",
0x0352,
0x0640,
One
})
Name (V3VV, Package (0x05)
{
0x06020001,
" +3.3 Voltage",
0x0B9A,
0x0E2E,
One
})
Name (V5VV, Package (0x05)
{
0x06020002,
" +5 Voltage",
0x1194,
0x157C,
One
})
Name (VV12, Package (0x05)
{
0x06020003,
" +12 Voltage",
0x27D8,
0x35E8,
One
})
Name (VPAR, Package (0x04)
{
Package (0x03)
{
Zero,
One,
Zero
},
Package (0x03)
{
Zero,
One,
Zero
},
Package (0x03)
{
0x22,
0x32,
Zero
},
Package (0x03)
{
0x32,
0x11,
Zero
}
})
Name (VBUF, Package (0x05)
{
0x04,
CORV,
V3VV,
V5VV,
VV12
})
Method (VGET, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Return (^^SIOR.HWV0 ())
}
If (LEqual (Arg0, One))
{
Return (^^SIOR.HWV1 ())
}
If (LEqual (Arg0, 0x02))
{
Return (^^SIOR.HWV3 ())
}
If (LEqual (Arg0, 0x03))
{
Return (^^SIOR.HWV4 ())
}
}
Name (CPUT, Package (0x05)
{
0x06030000,
"CPU Temperature",
0x0258,
0x03B6,
0x00010001
})
Name (MBTP, Package (0x05)
{
0x06030001,
"MB Temperature",
0x01C2,
0x03B6,
0x00010001
})
Name (TBUF, Package (0x03)
{
0x02,
CPUT,
MBTP
})
Method (TGET, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Return (^^SIOR.HWT1 ())
}
If (LEqual (Arg0, One))
{
Return (^^SIOR.HWT2 ())
}
}
Name (CPUF, Package (0x05)
{
0x06040000,
"CPU FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (CHAF, Package (0x05)
{
0x06040001,
"CHASSIS FAN Speed",
0x04B0,
0x1C20,
0x00010001
})
Name (CHF2, Package (0x05)
{
0x06040002,
"CHASSIS FAN 2 Speed",
0x0320,
0x1C20,
0x00010001
})
Name (CHF3, Package (0x05)
{
0x06040003,
"CHASSIS FAN 3 Speed",
0x0320,
0x1C20,
0x00010001
})
Name (PWRF, Package (0x05)
{
0x06040004,
"POWER FAN Speed",
0x0708,
0x1C20,
0x00010001
})
Name (FBUF, Package (0x06)
{
0x05,
CPUF,
CHAF,
CHF2,
CHF3,
PWRF
})
Method (FGET, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Return (^^SIOR.HWF1 ())
}
If (LEqual (Arg0, One))
{
Return (^^SIOR.HWF2 ())
}
If (LEqual (Arg0, 0x02))
{
Return (^^SIOR.HWF3 ())
}
If (LEqual (Arg0, 0x03))
{
Return (^^SIOR.HWF5 ())
}
If (LEqual (Arg0, 0x04))
{
Return (^^SIOR.HWF4 ())
}
}
Name (QCFN, Package (0x06)
{
0x04060003,
"CPU Q-Fan Control",
Zero,
One,
0x02,
0x00010000
})
Name (QBUF, Package (0x02)
{
One,
QCFN
})
Method (VSIF, 0, NotSerialized)
{
Return (VBUF)
}
Method (RVLT, 1, NotSerialized)
{
And (Arg0, 0xFFFF, Local0)
Store (VGET (Local0), Local1)
Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), Zero)),
Local2)
Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), One)),
Local3)
Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x02)),
Local4)
Multiply (Local1, Add (Local2, Local3), Local5)
Divide (Local5, Local3, , Local5)
Add (Local5, Local4, Local5)
Return (Local5)
}
Method (SVLT, 1, NotSerialized)
{
And (DerefOf (Index (Arg0, Zero)), 0xFFFF, Local0)
Store (DerefOf (Index (VBUF, Zero)), Local1)
If (LGreaterEqual (Local0, Local1))
{
Return (Zero)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (VBUF,
Local0)), One))
Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (VBUF,
Local0)), 0x02))
Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (VBUF,
Local0)), 0x03))
Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (VBUF,
Local0)), 0x04))
Return (One)
}
Method (TSIF, 0, NotSerialized)
{
Return (TBUF)
}
Method (RTMP, 1, NotSerialized)
{
And (Arg0, 0xFFFF, Local0)
Store (TGET (Local0), Local1)
Return (Local1)
}
Method (STMP, 1, NotSerialized)
{
Store (And (DerefOf (Index (Arg0, Zero)), 0xFFFF), Local0)
Store (DerefOf (Index (TBUF, Zero)), Local1)
If (LGreaterEqual (Local0, Local1))
{
Return (Zero)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (TBUF,
Local0)), One))
Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (TBUF,
Local0)), 0x02))
Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (TBUF,
Local0)), 0x03))
Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (TBUF,
Local0)), 0x04))
Return (One)
}
Method (FSIF, 0, NotSerialized)
{
Return (FBUF)
}
Method (RFAN, 1, NotSerialized)
{
And (Arg0, 0xFFFF, Local0)
Store (FGET (Local0), Local1)
Return (Local1)
}
Method (SFAN, 1, NotSerialized)
{
And (DerefOf (Index (Arg0, Zero)), 0xFFFF, Local0)
Store (DerefOf (Index (FBUF, Zero)), Local1)
If (LGreaterEqual (Local0, Local1))
{
Return (Zero)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (FBUF,
Local0)), One))
Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (FBUF,
Local0)), 0x02))
Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (FBUF,
Local0)), 0x03))
Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (FBUF,
Local0)), 0x04))
Return (One)
}
Method (QFIF, 0, NotSerialized)
{
If (LEqual (CPUQ, Zero))
{
And (DerefOf (Index (QCFN, 0x05)), 0xFFFDFFFF, Local0)
Store (Local0, Index (QCFN, 0x05))
}
Else
{
Or (DerefOf (Index (QCFN, 0x05)), 0x00020000, Local0)
Store (Local0, Index (QCFN, 0x05))
}
Return (QBUF)
}
Method (GCQV, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Return (CPVL)
}
If (LEqual (Arg0, One))
{
Return (CPVH)
}
If (LEqual (Arg0, 0x02))
{
Return (CPVC)
}
Return (Zero)
}
Method (QFST, 1, NotSerialized)
{
If (LEqual (Arg0, DerefOf (Index (QCFN, Zero))))
{
Return (CQST)
}
Return (Zero)
}
}
Scope (_SB)
{
Scope (PCI0)
{
Name (CRS, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
,, )
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed,
PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0CF7, // Range Maximum
0x0000, // Translation Offset
0x0CF8, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed,
PosDecode, EntireRange,
0x0000, // Granularity
0x0D00, // Range Minimum
0xFFFF, // Range Maximum
0x0000, // Translation Offset
0xF300, // Length
,, , TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed,
MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed,
MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C0000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, _Y23, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed,
MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000000, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, _Y24, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed,
MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000000, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, _Y25, AddressRangeMemory, TypeStatic)
})
CreateDWordField (CRS, \_SB.PCI0._Y23._MIN, MIN5)
CreateDWordField (CRS, \_SB.PCI0._Y23._MAX, MAX5)
CreateDWordField (CRS, \_SB.PCI0._Y23._LEN, LEN5)
CreateDWordField (CRS, \_SB.PCI0._Y24._MIN, MIN6)
CreateDWordField (CRS, \_SB.PCI0._Y24._MAX, MAX6)
CreateDWordField (CRS, \_SB.PCI0._Y24._LEN, LEN6)
CreateDWordField (CRS, \_SB.PCI0._Y25._MIN, MIN7)
CreateDWordField (CRS, \_SB.PCI0._Y25._MAX, MAX7)
CreateDWordField (CRS, \_SB.PCI0._Y25._LEN, LEN7)
Method (_CRS, 0, NotSerialized)
{
Store (MG1L, Local0)
If (Local0)
{
Store (MG1B, MIN5)
Store (MG1L, LEN5)
Add (MIN5, Decrement (Local0), MAX5)
}
Store (MG2B, MIN6)
Store (MG2L, LEN6)
Store (MG2L, Local0)
Add (MIN6, Decrement (Local0), MAX6)
Store (MG3B, MIN7)
Store (MG3L, LEN7)
Store (MG3L, Local0)
Add (MIN7, Decrement (Local0), MAX7)
Return (CRS)
}
}
}
Name (WOTB, Zero)
Name (WSSB, Zero)
Name (WAXB, Zero)
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
PTS (Arg0)
Store (Zero, Index (WAKP, Zero))
Store (Zero, Index (WAKP, One))
If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
{
Sleep (0x0BB8)
}
Store (ASSB, WSSB)
Store (AOTB, WOTB)
Store (AAXB, WAXB)
Store (Arg0, ASSB)
Store (OSFL (), AOTB)
Store (Zero, AAXB)
}
Method (_WAK, 1, NotSerialized)
{
ShiftLeft (Arg0, 0x04, DBG8)
WAK (Arg0)
If (ASSB)
{
Store (WSSB, ASSB)
Store (WOTB, AOTB)
Store (WAXB, AAXB)
}
If (DerefOf (Index (WAKP, Zero)))
{
Store (Zero, Index (WAKP, One))
}
Else
{
Store (Arg0, Index (WAKP, One))
}
Return (WAKP)
}
Device (_SB.PCI0.SBRG.TPM)
{
Name (_HID, EisaId ("PNP0C31"))
Name (_CID, 0x310CD041)
Name (_UID, One)
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED40000, // Address Base
0x00005000, // Address Length
)
})
Method (_STA, 0, NotSerialized)
{
If (_OSI ("Windows 2006"))
{
If (TPMF)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Zero)
}
}
}
Scope (_SB.PCI0.SBRG.TPM)
{
Name (TAAX, Zero)
OperationRegion (MIPT, SystemIO, SMIT, One)
Field (MIPT, ByteAcc, NoLock, Preserve)
{
PSMI, 8
}
Name (PPI1, Package (0x02)
{
Zero,
Zero
})
Name (PPI2, Package (0x03)
{
Zero,
Zero,
Zero
})
Name (MBUF, Buffer (0x04) {})
CreateByteField (MBUF, Zero, BUF0)
CreateByteField (MBUF, One, BUF1)
CreateByteField (MBUF, 0x02, BUF2)
CreateByteField (MBUF, 0x03, BUF3)
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B,
0x36, 0xB4, 0x4E,
/* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08,
0x9D, 0x16, 0x53
}))
{
Name (_T_0, Zero)
Store (ToInteger (Arg2), _T_0)
If (LEqual (_T_0, Zero))
{
Return (Buffer (One)
{
0x7F
})
}
Else
{
If (LEqual (_T_0, One))
{
Return ("1.0")
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (AAXB, TAAX)
Store (CMRQ, BUF0)
Store (0xF0, BUF1)
Store (ToInteger (DerefOf (Index (Arg3,
Zero))), BUF2)
Store (One, BUF3)
Store (MBUF, AAXB)
Store (0xFB, PSMI)
Sleep (0x0BB8)
Store (TAAX, AAXB)
Return (Zero)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Store (AAXB, TAAX)
Store (CMRQ, BUF0)
Store (0x0F, BUF1)
Store (Zero, BUF2)
Store (Zero, BUF3)
Store (MBUF, AAXB)
Store (0xFB, PSMI)
Sleep (0x0BB8)
Store (AAXB, MBUF)
Store (BUF2, Local3)
Store (Zero, Index (PPI1, Zero))
Store (Local3, Index (PPI1, One))
Store (TAAX, AAXB)
Return (PPI1)
}
Else
{
If (LEqual (_T_0, 0x04))
{
Return (0x02)
}
Else
{
If (LEqual (_T_0, 0x05))
{
Store (AAXB, TAAX)
Store (CMRQ, BUF0)
Store (0xF0, BUF1)
Store (Zero, BUF2)
Store (Zero, BUF3)
Store (MBUF, AAXB)
Store (0xFB, PSMI)
Sleep (0x0BB8)
Store (AAXB, MBUF)
ShiftRight (BUF2, 0x04)
Store (BUF2, Local3)
Store (CMER, BUF0)
Store (0xFF, BUF1)
Store (Zero, BUF2)
Store (Zero, BUF3)
Store (MBUF, AAXB)
Store (0xFB, PSMI)
Sleep (0x0BB8)
Store (AAXB, MBUF)
Store (BUF2, Local6)
Add (CMER, One, Local4)
Store (Local4, BUF0)
Store (0xFF, BUF1)
Store (Zero, BUF2)
Store (Zero, BUF3)
Store (MBUF, AAXB)
Store (0xFB, PSMI)
Sleep (0x0BB8)
Store (AAXB, MBUF)
Store (BUF2, Local7)
Multiply (Local7, 0x0100, Local2)
Add (Local2, Local6, Local2)
Store (Zero, Index (PPI2, Zero))
Store (Local3, Index (PPI2, One))
If (LEqual (Local2, 0xFFF0))
{
Store (0xFFFFFFF0, Index
(PPI2, 0x02))
}
Else
{
If (LEqual (Local2, 0xFFF1))
{
Store (0xFFFFFFF1,
Index (PPI2, 0x02))
}
Else
{
Store (Local2, Index
(PPI2, 0x02))
}
}
Store (TAAX, AAXB)
Return (PPI2)
}
Else
{
If (LEqual (_T_0, 0x06))
{
Return (Zero)
}
Else
{
}
}
}
}
}
}
}
}
Else
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xED, 0x54, 0x60, 0x37,
0x13, 0xCC, 0x75, 0x46,
/* 0008 */ 0x90, 0x1C, 0x47, 0x56,
0xD7, 0xF2, 0xD4, 0x5D
}))
{
Name (_T_1, Zero)
Store (ToInteger (Arg2), _T_1)
If (LEqual (_T_1, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Else
{
If (LEqual (_T_1, One))
{
Store (AAXB, TAAX)
Store (CMOR, BUF0)
Store (0xFE, BUF1)
Store (ToInteger (DerefOf (Index (Arg3,
Zero))), BUF2)
Store (One, BUF3)
Store (MBUF, AAXB)
Store (0xFB, PSMI)
Sleep (0x0BB8)
Store (TAAX, AAXB)
Return (Zero)
}
Else
{
}
}
}
}
Return (Buffer (One)
{
0x00
})
}
}
Name (_S0, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
If (SS1)
{
Name (_S1, Package (0x04)
{
One,
Zero,
Zero,
Zero
})
}
If (SS3)
{
Name (_S3, Package (0x04)
{
0x05,
Zero,
Zero,
Zero
})
}
If (SS4)
{
Name (_S4, Package (0x04)
{
0x06,
Zero,
Zero,
Zero
})
}
Name (_S5, Package (0x04)
{
0x07,
Zero,
Zero,
Zero
})
Method (PTS, 1, NotSerialized)
{
If (Arg0)
{
\_SB.PCI0.SBRG.SIOS (Arg0)
\_SB.PCI0.NPTS (Arg0)
\_SB.PCI0.SBRG.SPTS (Arg0)
}
}
Method (WAK, 1, NotSerialized)
{
\_SB.PCI0.SBRG.SIOW (Arg0)
\_SB.PCI0.NWAK (Arg0)
\_SB.PCI0.SBRG.SWAK (Arg0)
}
}
Thank you
Sam Fourman Jr.
More information about the freebsd-current
mailing list