NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-amd64/42895: Weird ACPI messages every 30 seconds on the console
>Number: 42895
>Category: port-amd64
>Synopsis: Weird ACPI messages every 30 seconds on the console
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-amd64-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Feb 28 00:25:00 +0000 2010
>Originator: Rhialto
>Release: NetBSD 5.0.1
>Organization:
>Environment:
System: NetBSD vargaz.falu.nl 5.99.24 NetBSD 5.99.24 (VARGAZ) #1: Tue Feb 16
23:05:19 CET 2010
rhialto%vargaz.falu.nl@localhost:/home/rhialto/tmp/obj.amd64/sys/arch/amd64/compile/VARGAZ
amd64
Architecture: x86_64
Machine: amd64
>Description:
Every 30 seconds some ACPI error messages appear on the console,
related to thermal zone 0. Also, ACPI sleep doesn't wake up properly,
although this may be unrelated.
ACPI Error (psargs-0464): [\_PR_.CPU0._PPC] Namespace lookup failure,
AE_NOT_FOUND
ACPI Error (psparse-0627): Method parse/execution failed [\CPUL] (Node
0xffff800007b26700), AE_NOT_FOUND
ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01.OTHD]
(Node 0xffff800007b26960), AE_NOT_FOUND
ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01._TMP]
(Node 0xffff800007b26a40), AE_NOT_FOUND
acpitz0: failed to evaluate _TMP
There are various warnings already during booting:
NetBSD 5.0.1 (GENERIC) #0: Thu Jul 30 00:08:07 UTC 2009
builds%b7.netbsd.org@localhost:/home/builds/ab/netbsd-5-0-1-RELEASE/amd64/200907292356Z-obj/home/builds/ab/netbsd-5-0-1-RELEASE/src/sys/arch/amd64/compile/GENERIC
total memory = 3998 MB
avail memory = 3861 MB
timecounter: Timecounters tick every 10.000 msec
RTC BIOS diagnostic error 80<clock_battery>
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
SMBIOS rev. 2.4 @ 0xe8290 (26 entries)
Hewlett-Packard Compaq Presario CQ71 Notebook PC (Rev 1)
mainbus0 (root)
cpu0 at mainbus0 apid 0: Intel 686-class, 2095MHz, id 0x1067a
cpu1 at mainbus0 apid 1: Intel 686-class, 2095MHz, id 0x1067a
ioapic0 at mainbus0 apid 4: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Intel ACPICA 20080321
acpi0: X/RSDT: OemId <HPQOEM,SLIC-MPC,00000001>, AslId < ,01000013>
ACPI Error (evregion-0427): No handler for Region [ERAM]
(0xffff800007b3aa80) [EmbeddedControl] [20080321]
ACPI Error (exfldio-0390): Region EmbeddedControl(3) has no handler
[20080321]
ACPI Error (psparse-0627): Method parse/execution failed [\_SB_.PCI0._INI]
(Node 0xffff800007b43100), AE_NOT_EXIST
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
ACPI-Fast 24-bit timer
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpilid0 at acpi0 (LID0, PNP0C0D): ACPI Lid Switch
acpibut1 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
acpiacad0 at acpi0 (ACAD, ACPI0003): ACPI AC Adapter
acpibat0 at acpi0 (BAT0, PNP0C0A-1): ACPI Battery (Control Method)
hpet0 at acpi0 (HPET, PNP0103)
hpet0: mem 0xfed00000-0xfed003ff irq 0,8
timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
attimer1 at acpi0 (TIMR, PNP0100): AT Timer
attimer1: io 0x40-0x43,0x50-0x53
FWHD (INT0800) at acpi0 not configured
pckbc1 at acpi0 (KBC, PNP0303): kbd port
pckbc1: io 0x60,0x64 irq 1
pckbc2 at acpi0 (MOUE, SYN1E08): aux port
pckbc2: irq 12
acpiec0 at acpi0 (EC0, PNP0C09-1): ACPI Embedded Controller
acpiec0: io 0x62,0x66
WMID (PNP0C14) at acpi0 not configured
acpitz0 at acpi0 (TZ01):ACPI Error (psargs-0464): [\_PR_.CPU0._PPC]
Namespace lookup failure, AE_NOT_FOUND
ACPI Error (psparse-0627): Method parse/execution failed [\CPUL] (Node
0xffff800007b43700), AE_NOT_FOUND
ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01.OTHD]
(Node 0xffff800007b43960), AE_NOT_FOUND
ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01._TMP]
(Node 0xffff800007b43a40), AE_NOT_FOUND
critical 110.0C passive -273.-3C, passive cooling
ACPI Error (psargs-0464): [\_PR_.CPU0._PPC] Namespace lookup failure,
AE_NOT_FOUND
ACPI Error (psparse-0627): Method parse/execution failed [\CPUL] (Node
0xffff800007b43700), AE_NOT_FOUND
ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01.OTHD]
(Node 0xffff800007b43960), AE_NOT_FOUND
ACPI Error (psparse-0627): Method parse/execution failed [\_TZ_.TZ01._TMP]
(Node 0xffff800007b43a40), AE_NOT_FOUND
acpitz0: failed to evaluate _TMP
pckbd0 at pckbc1 (kbd slot)
These boot messages are from GENERIC but the results from my
slimmed down kernel don't differ.
It seems there is no ECDT, at least xubuntu's acpidump didn't
show a table by that name. The DSDT disassembly (from NetBSD's
acpidump, which differs somewhat in layout) is appended at the
end, in full.
I have attached everything that results from that acpidump at
http://www.falu.nl/~rhialto/pressario-cq71-acpi.tar.gz .
See also the thread starting at
http://mail-index.netbsd.org/current-users/2010/02/07/msg012464.html
.
>How-To-Repeat:
Buy a laptop without having time to do full research on it.
>Fix:
Curse PC industry, wish they would make real computers.
-Olaf.
--
___ Olaf 'Rhialto' Seibert -- You author it, and I'll reader it.
\X/ rhialto/at/xs4all.nl -- Cetero censeo "authored" delendum esse.
/*
RSD PTR: Checksum=81, OEMID=HPQOEM, RsdtAddress=0xb9ff60ac
*/
/*
RSDT: Length=68, Revision=1, Checksum=170,
OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
Creator ID=, Creator Revision=0x1000013
*/
/*
Entries={ 0xb9ff5000, 0xb9ff4000, 0xb9ff3000, 0xb9ff2000, 0xb9ff1000,
0xb9fe4000, 0xb9fe3000, 0xb9fe2000 }
*/
/*
DSDT=0xb9fe5000
INT_MODEL=PIC
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0
PM1a_EVT_BLK=0x400-0x403
PM1a_CNT_BLK=0x404-0x405
PM2_CNT_BLK=0x450-0x450
PM2_TMR_BLK=0x408-0x40b
PM2_GPE0_BLK=0x420-0x42f
P_LVL2_LAT=101ms, P_LVL3_LAT=1001ms
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=3
DAY_ALRM=13, MON_ALRM=0, CENTURY=0
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
*/
/*
DSDT: Length=48912, Revision=1, Checksum=197,
OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
Creator ID=MSFT, Creator Revision=0x1000013
*/
DefinitionBlock ("acpi_dst.aml", "DSDT", 0x1, "HPQOEM", "SLIC-MPC", 0x1)
{
Name(SP2O, 0x4e)
Name(SP1O, 0x164e)
Name(IO1B, 0x0600)
Name(IO1L, 0x70)
Name(IO2B, 0x0680)
Name(IO2L, 0x20)
Name(IO3B, 0x0290)
Name(IO3L, 0x10)
Name(MCHB, 0xfed10000)
Name(MCHL, 0x4000)
Name(EGPB, 0xfed19000)
Name(EGPL, 0x1000)
Name(DMIB, 0xfed18000)
Name(DMIL, 0x1000)
Name(IFPB, 0xfed14000)
Name(IFPL, 0x1000)
Name(PEBS, 0xe0000000)
Name(PELN, 0x10000000)
Name(TTTB, 0xfed20000)
Name(TTTL, 0x00020000)
Name(SMBS, 0xefa0)
Name(PBLK, 0x0410)
Name(PMBS, 0x0400)
Name(PMLN, 0x80)
Name(LVL2, 0x0414)
Name(LVL3, 0x0415)
Name(LVL4, 0x0416)
Name(SMIP, 0xb2)
Name(GPBS, 0x0500)
Name(GPLN, 0x40)
Name(APCB, 0xfec00000)
Name(APCL, 0x1000)
Name(PM30, 0x0430)
Name(SRCB, 0xfed1c000)
Name(SRCL, 0x4000)
Name(SUSW, 0xff)
Name(ACPH, 0xde)
Name(ASSB, Zero)
Name(AOTB, Zero)
Name(AAXB, Zero)
Name(PEHP, One)
Name(SHPC, One)
Name(PEPM, One)
Name(PEER, One)
Name(PECS, One)
Name(ITKE, Zero)
Name(TRTP, One)
Name(TRTD, 0x02)
Name(TRTI, 0x03)
Name(TRTO, 0x04)
Name(GCDD, One)
Name(DSTA, 0x0a)
Name(DSLO, 0x0c)
Name(DSLC, 0x0e)
Name(PITS, 0x10)
Name(SBCS, 0x12)
Name(SALS, 0x13)
Name(LSSS, 0x2a)
Name(PSSS, 0x2b)
Name(SOOT, 0x35)
Name(ESCS, 0x48)
Name(PDBR, 0x4d)
Name(SMBL, 0x10)
Name(PEHS, 0xf4)
Name(KBWK, Zero)
Name(MUWK, Zero)
Name(LAWK, Zero)
Name(WA40, Zero)
OperationRegion(GPIO, SystemIO, 0x0500, 0x10)
Field(GPIO, ByteAcc, NoLock, Preserve) {
Offset(0xe),
, 1,
, 1,
HLED, 1
}
OperationRegion(PMBA, SystemIO, 0x0400, 0x80)
Field(PMBA, ByteAcc, NoLock, Preserve) {
Offset(0x28),
, 2,
SPST, 1,
Offset(0x42),
, 1,
GPEC, 1,
Offset(0x64),
, 9,
SCIS, 1,
Offset(0x66)
}
OperationRegion(RCRB, SystemMemory, 0xfed1c000, 0x4000)
Field(RCRB, DWordAcc, Lock, Preserve) {
Offset(0x1000),
Offset(0x3000),
Offset(0x3404),
HPAS, 2,
, 5,
HPAE, 1,
Offset(0x3418),
, 1,
PATD, 1,
SATD, 1,
SMBD, 1,
HDAD, 1,
Offset(0x341a),
RP1D, 1,
RP2D, 1,
RP3D, 1,
RP4D, 1,
RP5D, 1,
RP6D, 1
}
OperationRegion(MBOX, SystemMemory, 0xb9fbec18, 0x000002bc)
Field(MBOX, AnyAcc, NoLock, Preserve) {
PCI1, 8,
PCI2, 8,
PCI3, 8,
PCI4, 8,
PCI5, 8,
PCI6, 8,
PCI7, 8,
PCI8, 8,
NLCK, 8,
ZIPE, 8,
COMA, 8,
CAIO, 8,
CAIP, 8,
CAMD, 8,
CADA, 8,
COMB, 8,
CBIO, 8,
CBIP, 8,
CBMD, 8,
CBDA, 8,
FHSD, 8,
COMC, 8,
CCIO, 8,
CCIP, 8,
CCMD, 8,
CCDA, 8,
COMD, 8,
CDIO, 8,
CDIP, 8,
CDMD, 8,
CDDA, 8,
LPT1, 8,
L1IO, 8,
L1IP, 8,
L1MD, 8,
L1DA, 8,
LPT2, 8,
L2IO, 8,
L2IP, 8,
L2MD, 8,
L2DA, 8,
LPT3, 8,
L3IO, 8,
L3IP, 8,
L3MD, 8,
L3DA, 8,
FDDC, 8,
FDWP, 8,
HGMP, 8,
LGMP, 8,
MIDI, 8,
AZLA, 8,
AUDO, 8,
MODM, 8,
IDEC, 8,
SSED, 8,
PACT, 8,
SCFG, 8,
AMOD, 8,
IMOD, 8,
LCFG, 8,
IDLY, 8,
PMTP, 8,
PMIO, 8,
PMBM, 8,
PMTM, 8,
PSTP, 8,
PSIO, 8,
PSBM, 8,
PSTM, 8,
IDE0, 8,
IDE1, 8,
IDE2, 8,
IDE3, 8,
IDE4, 8,
IDE5, 8,
IDE6, 8,
IDE7, 8,
HIUB, 8,
LUBS, 8,
PLYT, 8,
EDCG, 8,
SDFY, 8,
SDTC, 8,
SDRP, 8,
SDCL, 8,
SDRC, 8,
SDRE, 8,
FC2L, 8,
FC3L, 8,
FCS4, 8,
APIM, 8,
HPTS, 8,
HPTA, 8,
EMAS, 8,
VGAO, 8,
SOFF, 8,
KBPO, 8,
MSPO, 8,
USBB, 8,
EVTL, 8,
SYBE, 8,
ETLC, 8,
AC30, 8,
TPMD, 8,
TPMO, 8,
TPMC, 8,
TPMM, 8,
TPCC, 8,
TPLC, 8,
TPLR, 32,
QBOT, 8,
BOTQ, 8,
PBOT, 8,
M256, 8,
PEGF, 8,
OSYS, 16,
BMTP, 8,
BNPT, 8,
LNMT, 8,
NBTO, 8,
NABD, 8,
NEBD, 8,
NLBD, 8,
DFBT, 16,
NPSP, 16,
LANG, 8,
UACL, 8,
SUPS, 8,
DVET, 8,
S3RS, 8,
DAS1, 8,
DAS3, 8,
WKPM, 8,
WKMD, 8,
WKS5, 8,
HOUR, 8,
MINS, 8,
SECS, 8,
DOFM, 8,
NBTV, 64,
BTOD, 64,
SPVP, 16,
POPW, 16,
USPW, 16,
HDPW, 16,
SAHP, 16,
SAHF, 8,
SUVF, 8,
USRF, 8,
UMPW, 8,
SMHP, 16,
SAMP, 16,
SAMF, 8,
SPFA, 8,
SPFB, 8,
SPFC, 8,
SPFD, 8,
SPFE, 8,
SPFF, 8,
SPFG, 8,
SPFH, 8,
SPFI, 8,
SPFJ, 8,
SPFK, 8,
SPFL, 8,
SPFM, 8,
SPFN, 8,
SPFO, 8,
SPFP, 8,
SPFQ, 8,
SPFR, 8,
SPFS, 8,
SPFT, 8,
SPFU, 8,
SPFV, 8,
SPFW, 8,
SPFX, 8,
SPFY, 8,
SPFZ, 8,
SPF0, 8,
SPF1, 8,
SPF2, 8,
SPF3, 8,
SPF4, 8,
SPF5, 8,
KRSV, 136,
LANE, 8,
AORS, 8,
P0HP, 8,
P1HP, 8,
P4HP, 8,
P5HP, 8,
P0IL, 8,
P1IL, 8,
P2IL, 8,
PEGS, 8,
D2F1, 8,
IGMT, 8,
DTSZ, 8,
CLKC, 8,
CKSC, 8,
BOTT, 8,
PANT, 8,
TVTP, 8,
U201, 8,
U202, 8,
U111, 8,
U112, 8,
U113, 8,
U114, 8,
U115, 8,
UPPC, 8,
UP00, 8,
UP01, 8,
UP02, 8,
UP03, 8,
UP04, 8,
UP05, 8,
UP06, 8,
UP07, 8,
UP08, 8,
UP09, 8,
UP10, 8,
UP11, 8,
P80R, 8,
WDOG, 8,
WDTO, 16,
WDTB, 16,
MASF, 8,
MAMT, 8,
ABXP, 8,
SPIL, 8,
PWDW, 8,
HETO, 8,
AWTR, 16,
EOPT, 8,
ASFB, 8,
MBTX, 8,
IDER, 8,
SOLE, 8,
PRE0, 8,
PRE1, 8,
PRE2, 8,
PRE3, 8,
PRE4, 8,
PRE5, 8,
PRA0, 8,
PRA1, 8,
PRA2, 8,
PRA3, 8,
PRA4, 8,
PRA5, 8,
PRV0, 8,
PRV1, 8,
PRV2, 8,
PRV3, 8,
PRV4, 8,
PRV5, 8,
PAA0, 8,
PAA1, 8,
PAA2, 8,
PAA3, 8,
PAA4, 8,
PAA5, 8,
L0S0, 8,
L0S1, 8,
L0S2, 8,
L0S3, 8,
L0S4, 8,
L0S5, 8,
AL10, 8,
AL11, 8,
AL12, 8,
AL13, 8,
AL14, 8,
AL15, 8,
PES0, 8,
PES1, 8,
PES2, 8,
PES3, 8,
PES4, 8,
PES5, 8,
PRU0, 8,
PRU1, 8,
PRU2, 8,
PRU3, 8,
PRU4, 8,
PRU5, 8,
PRF0, 8,
PRF1, 8,
PRF2, 8,
PRF3, 8,
PRF4, 8,
PRF5, 8,
PRN0, 8,
PRN1, 8,
PRN2, 8,
PRN3, 8,
PRN4, 8,
PRN5, 8,
PRC0, 8,
PRC1, 8,
PRC2, 8,
PRC3, 8,
PRC4, 8,
PRC5, 8,
CTD0, 8,
CTD1, 8,
CTD2, 8,
CTD3, 8,
CTD4, 8,
CTD5, 8,
PIE0, 8,
PIE1, 8,
PIE2, 8,
PIE3, 8,
PIE4, 8,
PIE5, 8,
SFE0, 8,
SFE1, 8,
SFE2, 8,
SFE3, 8,
SFE4, 8,
SFE5, 8,
SNE0, 8,
SNE1, 8,
SNE2, 8,
SNE3, 8,
SNE4, 8,
SNE5, 8,
SCE0, 8,
SCE1, 8,
SCE2, 8,
SCE3, 8,
SCE4, 8,
SCE5, 8,
MCE0, 8,
MCE1, 8,
MCE2, 8,
MCE3, 8,
MCE4, 8,
MCE5, 8,
PCE0, 8,
PCE1, 8,
PCE2, 8,
PCE3, 8,
PCE4, 8,
PCE5, 8,
PTC0, 8,
PTC1, 8,
PTC2, 8,
PTC3, 8,
PTC4, 8,
PTC5, 8,
DAPM, 8,
DPMA, 8,
DL0S, 8,
DAL1, 8,
PEGA, 8,
PGAA, 8,
PGL0, 8,
PL0A, 8,
PGL1, 8,
PGES, 8,
ISTC, 8,
TRML, 8,
FNON, 8,
TRON, 8,
NXMD, 8,
PCRR, 8,
C4EN, 8,
C43D, 8,
EMTT, 8,
PROH, 8,
DFSB, 8,
TUBM, 8,
TSTE, 8,
BPST, 8,
QKS4, 8,
POPU, 8,
POPD, 8,
NXFE, 8,
VTST, 8,
VTFE, 8,
S5FG, 8,
CSTS, 8,
ENCS, 8,
DEC4, 8,
HC4E, 8,
ENC6, 8,
CSTR, 8,
CMPE, 8,
CSMD, 8,
DTSE, 8,
DTSC, 8,
RAID, 8,
PSHM, 8,
PEXC, 8,
DTST, 8,
TXTS, 8,
VTDE, 8,
C4ET, 8,
SMRR, 8,
CART, 8,
CATT, 8,
PAVP, 8,
ITPM, 8,
STBE, 8,
PEBE, 8,
PCBE, 8,
EHBE, 8,
UHBE, 8,
HABE, 8,
MTME, 8,
MTSD, 8,
MTML, 8,
ERS2, 8,
GLPM, 8,
SMFQ, 8,
UPFF, 8,
UPFT, 8,
GRTT, 8,
CRID, 8,
CRSV, 480,
HPOP, 16,
FKDY, 8,
CDRB, 8,
FLYB, 8,
FK11, 8,
ACPT, 8,
OSFG, 8,
VTDT, 8,
C4DT, 8,
C6DT, 8,
BAT1, 8,
ORSV, 464,
BTND, 8,
LPSD, 8,
CRPS, 8,
MCID, 8,
CFCR, 8,
DIC2, 8,
CKPF, 8,
CHPL, 8,
DRSV, 736
}
OperationRegion(IO_T, SystemIO, 0x0800, 0x10)
Field(IO_T, ByteAcc, NoLock, Preserve) {
Offset(0x2),
Offset(0x4),
Offset(0x6),
Offset(0x8),
TRP0, 8,
Offset(0xa),
Offset(0xb),
Offset(0xc),
Offset(0xd),
Offset(0xe),
Offset(0xf),
Offset(0x10)
}
OperationRegion(IO_D, SystemIO, 0x0810, 0x08)
Field(IO_D, ByteAcc, NoLock, Preserve) {
TRPD, 8
}
OperationRegion(IO_H, SystemIO, 0x0820, 0x04)
Field(IO_H, ByteAcc, NoLock, Preserve) {
TRPH, 8
}
OperationRegion(NVST, SystemMemory, 0xb9fbeed4, 0x000000ff)
Field(NVST, AnyAcc, Lock, Preserve) {
SMIF, 8,
PRM0, 8,
PRM1, 8,
SCIF, 8,
PRM2, 8,
PRM3, 8,
LCKF, 8,
PRM4, 8,
PRM5, 8,
P80D, 32,
LIDS, 8,
PWRS, 8,
DBGS, 8,
THOF, 8,
ACT1, 8,
ACTT, 8,
CRTT, 8,
Offset(0x15),
DTS1, 8,
DTS2, 8,
DTSF, 8,
BNUM, 8,
APIC, 8,
PCP0, 8,
PCP1, 8,
PPCM, 8,
PPMF, 32,
IGDS, 8,
TLST, 8,
CADL, 8,
PADL, 8,
CSTE, 16,
NSTE, 16,
SSTE, 16,
NDID, 8,
DID1, 32,
DID2, 32,
DID3, 32,
DID4, 32,
DID5, 32,
BDSP, 8,
PTY1, 8,
PTY2, 8,
PSCL, 8,
TVF1, 8,
TVF2, 8,
GETM, 8,
BLCS, 8,
BRTL, 8,
ALSE, 8,
ALAF, 8,
LLOW, 8,
LHIH, 8,
EMAE, 8,
EMAP, 16,
EMAL, 16,
MEFE, 8,
DSTS, 8,
TPMP, 8,
TPME, 8,
GTF0, 56,
GTF2, 56,
IDEM, 8,
GTF1, 56,
BID, 8,
ASLB, 32,
IBTT, 8,
IPAT, 8,
ITVF, 8,
ITVM, 8,
IPSC, 8,
IBLC, 8,
IBIA, 8,
ISSC, 8,
I409, 8,
I509, 8,
I609, 8,
I709, 8,
IPC, 8,
IDMS, 8,
IF1E, 8,
HVCO, 8,
NXD1, 32,
NXD2, 32,
NXD3, 32,
NXD4, 32,
NXD5, 32,
NXD6, 32,
NXD7, 32,
NXD8, 32,
GSMI, 8,
DSEN, 8,
ECON, 8,
GPIC, 8,
CTYP, 8,
L01C, 8,
VFN0, 8,
VFN1, 8,
LCDA, 16,
BVAL, 32,
KSV0, 32,
KSV1, 8,
WMIA, 8,
WMIO, 8,
ACPS, 8,
HPBD, 8,
IVIM, 8,
EXTM, 8,
WDI0, 8,
WDI1, 8,
WDI2, 8,
WDI3, 8,
WSI0, 8,
WSI1, 8,
WSI2, 8,
WSI3, 8,
NCDD, 8,
NCAD, 8,
NNDD, 8,
EXCM, 8,
VBTL, 8,
SID0, 8,
SID1, 8,
SID2, 8,
SID3, 8,
SID4, 8,
SID5, 8,
SID6, 8,
SID7, 8,
WBLC, 8,
WLD0, 8,
WLD1, 8,
WLD2, 8,
WLD3, 8,
WLD4, 8,
WLD5, 8,
WLD6, 8,
WLD7, 8,
WBD0, 8,
WBD1, 8,
WBD2, 8,
WBD3, 8,
WWD0, 8,
WWD1, 8,
WWD2, 8,
WWD3, 8,
WAB0, 8,
WAB1, 8,
WAB2, 8,
WAB3, 8,
WAB4, 8,
WAB5, 8,
PSTN, 8,
DBGD, 8,
MCHD, 8,
LCDD, 32,
RTID, 8,
HSV0, 32,
HSV1, 8,
CMTF, 8,
CMTI, 32,
CMTO, 8,
TJMX, 8,
EIST, 8,
CHPF, 8,
USBW, 8,
CKPL, 8,
MSRA, 8
}
Scope(_PR) {
Processor(CPU0, 1, 0x410, 0x6) {
}
Processor(CPU1, 2, 0x410, 0x6) {
}
Processor(CPU2, 3, 0x410, 0x6) {
}
Processor(CPU3, 4, 0x410, 0x6) {
}
}
Name(DQ30, Zero)
Name(ECOK, Zero)
Name(WAOK, Zero)
Name(RTL0, Zero)
Name(BCLT, Package(0x0d) {
0x64,
0x32,
Zero,
0x0a,
0x14,
0x1e,
0x28,
0x32,
0x3c,
0x46,
0x50,
0x5a,
0x64,
})
Name(BCT1, Package(0x0b) {
0x07,
0x09,
0x0d,
0x12,
0x16,
0x1a,
0x1f,
0x2c,
0x39,
0x46,
0x4f,
})
Name(BCT2, Package(0x0b) {
0x07,
0x09,
0x0d,
0x11,
0x18,
0x1a,
0x1e,
0x2b,
0x39,
0x46,
0x57,
})
Name(BCT3, Package(0x0b) {
0x15,
0x1a,
0x20,
0x25,
0x2a,
0x2f,
0x35,
0x3e,
0x46,
0x56,
0x5d,
})
Name(BCL1, Package(0x0d) {
0x4f,
0x1a,
0x06,
0x09,
0x0d,
0x12,
0x16,
0x1a,
0x1f,
0x2c,
0x39,
0x46,
0x4f,
})
Name(BCL2, Package(0x0d) {
0x57,
0x1a,
0x07,
0x09,
0x0d,
0x11,
0x18,
0x1a,
0x1e,
0x2b,
0x39,
0x46,
0x57,
})
Name(BCL3, Package(0x0d) {
0x5d,
0x2f,
0x15,
0x1a,
0x20,
0x25,
0x2a,
0x2f,
0x35,
0x3e,
0x46,
0x56,
0x5d,
})
Name(CCBL, Zero)
OperationRegion(PRT0, SystemIO, 0x80, One)
Field(PRT0, ByteAcc, Lock, Preserve) {
P80H, 8
}
Method(P8XH, 2, Serialized) {
If(LEqual(Arg0, Zero)) {
Store(Or(And(P80D, 0xffffff00, ), Arg1, ), P80D)
}
If(LEqual(Arg0, One)) {
Store(Or(And(P80D, 0xffff00ff, ), ShiftLeft(Arg1, 0x08, ), ), P80D)
}
If(LEqual(Arg0, 0x02)) {
Store(Or(And(P80D, 0xff00ffff, ), ShiftLeft(Arg1, 0x10, ), ), P80D)
}
If(LEqual(Arg0, 0x03)) {
Store(Or(And(P80D, 0x00ffffff, ), ShiftLeft(Arg1, 0x18, ), ), P80D)
}
Store(P80D, P80H)
}
OperationRegion(SPRT, SystemIO, 0xb2, 0x02)
Field(SPRT, ByteAcc, Lock, Preserve) {
SSMP, 8
}
Method(TRAP, 2, Serialized) {
Store(Arg1, SMIF)
If(LEqual(Arg0, TRTP)) {
Store(Zero, TRP0)
}
If(LEqual(Arg0, TRTD)) {
Store(Arg1, DTSF)
Store(Zero, TRPD)
Return(DTSF)
}
If(LEqual(Arg0, TRTI)) {
Store(Zero, TRPH)
}
Return(SMIF)
}
OperationRegion(CMS1, SystemIO, 0x72, 0x02)
Field(CMS1, ByteAcc, NoLock, Preserve) {
CMSI, 8,
CMSD, 8
}
Method(CMSW, 2) {
Store(Arg0, CMSI)
Store(Arg1, CMSD)
}
Method(CMSR, 1) {
Store(Arg0, CMSI)
Return(CMSD)
}
Method(_PTS, 1) {
Store(Zero, \_SB.PCI0.LPC.EC0.RFLE)
Store(Zero, DQ30)
Store(0xe4, DBGD)
TRAP(TRTI, 0x21)
TRAP(TRTI, 0x22)
Store(0x90, DBGD)
TRAP(TRTI, 0x21)
If(LEqual(Arg0, 0x04)) {
CMSW(0x6e, 0x6e)
}
Store(0x91, DBGD)
TRAP(TRTI, 0x21)
If(LEqual(Arg0, 0x03)) {
If(ECOK) {
Store(KBWK, \_SB.PCI0.LPC.EC0.PSKB)
Store(MUWK, \_SB.PCI0.LPC.EC0.PSTP)
}
}
Else {
If(ECOK) {
Store(Zero, \_SB.PCI0.LPC.EC0.PSKB)
Store(Zero, \_SB.PCI0.LPC.EC0.PSTP)
}
}
Store(0x92, DBGD)
TRAP(TRTI, 0x21)
If(ECOK) {
Store(LAWK, \_SB.PCI0.LPC.EC0.PWOL)
}
Store(0x93, DBGD)
TRAP(TRTI, 0x21)
If(LAnd(LNot(LLess(MCHD, 0x04)), LEqual(LPSD, One))) {
Store(One, \_SB.PCI0.LPC.EC0.NICD)
}
Store(0x94, DBGD)
TRAP(TRTI, 0x21)
}
Method(_WAK, 1) {
Store(Zero, Local0)
Store(0xf6, DBGD)
TRAP(TRTI, 0x21)
CMSW(0x6e, Zero)
If(LEqual(RP1D, Zero)) {
If(LEqual(\_SB.PCI0.EXP1.PDSX, One)) {
Notify(\_SB.PCI0.EXP1, Zero)
Store(One, PRM0)
Store(PEHS, SSMP)
}
}
If(LEqual(RP2D, Zero)) {
If(LEqual(\_SB.PCI0.EXP2.PDSX, One)) {
Notify(\_SB.PCI0.EXP2, Zero)
Store(0x02, PRM0)
Store(PEHS, SSMP)
}
}
If(LEqual(RP3D, Zero)) {
If(LEqual(\_SB.PCI0.EXP3.PDSX, One)) {
Notify(\_SB.PCI0.EXP3, Zero)
Store(0x03, PRM0)
Store(PEHS, SSMP)
}
}
If(LEqual(RP4D, Zero)) {
If(LEqual(\_SB.PCI0.EXP4.PDSX, One)) {
Notify(\_SB.PCI0.EXP4, Zero)
Store(0x04, PRM0)
Store(PEHS, SSMP)
}
}
If(LEqual(RP5D, Zero)) {
If(LEqual(\_SB.PCI0.EXP5.PDSX, One)) {
Notify(\_SB.PCI0.EXP5, Zero)
Store(0x05, PRM0)
Store(PEHS, SSMP)
}
}
If(LEqual(Arg0, 0x03)) {
If(LAnd(LEqual(CRPS, One), LNot(LLess(MCHD, 0x04)))) {
If(LNot(IGDS)) {
Notify(\_SB.PCI0.EXP5, Zero)
}
}
If(ECOK) {
If(LNot(LLess(OSYS, 0x07d9))) {
Store(One, \_SB.PCI0.LPC.EC0.W7OS)
}
Else {
Store(Zero, \_SB.PCI0.LPC.EC0.W7OS)
}
}
If(ECOK) {
If(LEqual(\_SB.PCI0.LPC.EC0.W7OS, One)) {
If(LEqual(\_SB.PCI0.LPC.EC0.BACR, One)) {
Notify(\_SB.BAT0, 0x80)
}
If(LEqual(\_SB.PCI0.LPC.EC0.BACR, Zero)) {
}
}
}
}
Store(0x95, DBGD)
TRAP(TRTI, 0x21)
If(LEqual(Arg0, 0x03)) {
Store(Zero, \_SB.PCI0.LPC.EC0.RTCW)
}
If(LOr(LEqual(Arg0, 0x03), LEqual(Arg0, 0x04))) {
Store(CMSR(0x70), Local0)
If(LEqual(Local0, One)) {
Notify(\_SB.PWRB, 0x02)
}
}
Store(0x96, DBGD)
TRAP(TRTI, 0x21)
If(LOr(LEqual(Arg0, 0x03), LEqual(Arg0, 0x04))) {
If(LEqual(EIST, One)) {
Store(Zero, THR0)
Store(Zero, Q8E0)
Store(Zero, CUPS)
Store(CUPS, \_PR.CPU0._PPC)
If(CMPE) {
Notify(\_PR.CPU0, 0x80)
Notify(\_PR.CPU1, 0x80)
}
Else {
Notify(\_PR.CPU0, 0x80)
}
}
Store(0x97, DBGD)
TRAP(TRTI, 0x21)
If(ECOK) {
Store(Zero, \_SB.PCI0.LPC.EC0.CLOW)
}
If(ECOK) {
If(LNot(LLess(OSYS, 0x07d9))) {
Store(One, \_SB.PCI0.LPC.EC0.W7OS)
}
Else {
Store(Zero, \_SB.PCI0.LPC.EC0.W7OS)
}
}
Store(0x98, DBGD)
TRAP(TRTI, 0x21)
Store(0x99, DBGD)
TRAP(TRTI, 0x21)
If(LAnd(LNot(LLess(MCHD, 0x04)), LEqual(LPSD, One))) {
If(ECOK) {
If(LNot(LEqual(DQ30, One))) {
If(LGreater(Arg0, 0x03)) {
\_SB.PCI0.LPC.EC0._Q30()
}
Store(One, DQ30)
}
}
}
}
Store(0x9a, DBGD)
TRAP(TRTI, 0x21)
Return(Package(0x02) {
Zero,
Zero,
})
}
Name(_S0, Package(0x04) {
Zero,
Zero,
Zero,
Zero,
})
If(LEqual(DAS3, One)) {
Name(_S3, Package(0x04) {
0x05,
0x05,
Zero,
Zero,
})
}
Name(_S4, Package(0x04) {
0x06,
0x06,
Zero,
Zero,
})
Name(_S5, Package(0x04) {
0x07,
0x07,
Zero,
Zero,
})
Scope(_GPE) {
Method(_L01) {
Add(L01C, One, L01C)
P8XH(Zero, One)
P8XH(One, L01C)
TRAP(TRTI, 0xa1)
If(LAnd(LEqual(RP1D, Zero), \_SB.PCI0.EXP1.HPSX)) {
Sleep(0x64)
If(\_SB.PCI0.EXP1.PDCX) {
Store(One, \_SB.PCI0.EXP1.PDCX)
Store(One, \_SB.PCI0.EXP1.HPSX)
Notify(\_SB.PCI0.EXP1, Zero)
Store(One, PRM0)
Store(PEHS, SSMP)
}
Else {
Store(One, \_SB.PCI0.EXP1.HPSX)
}
}
If(LAnd(LEqual(RP2D, Zero), \_SB.PCI0.EXP2.HPSX)) {
Sleep(0x64)
If(\_SB.PCI0.EXP2.PDCX) {
Store(One, \_SB.PCI0.EXP2.PDCX)
Store(One, \_SB.PCI0.EXP2.HPSX)
Notify(\_SB.PCI0.EXP2, Zero)
Store(0x02, PRM0)
Store(PEHS, SSMP)
}
Else {
Store(One, \_SB.PCI0.EXP2.HPSX)
}
}
If(LAnd(LEqual(RP3D, Zero), \_SB.PCI0.EXP3.HPSX)) {
Sleep(0x64)
If(\_SB.PCI0.EXP3.PDCX) {
Store(One, \_SB.PCI0.EXP3.PDCX)
Store(One, \_SB.PCI0.EXP3.HPSX)
Notify(\_SB.PCI0.EXP3, Zero)
Store(0x03, PRM0)
Store(PEHS, SSMP)
}
Else {
Store(One, \_SB.PCI0.EXP3.HPSX)
}
}
If(LAnd(LEqual(RP4D, Zero), \_SB.PCI0.EXP4.HPSX)) {
Sleep(0x64)
If(\_SB.PCI0.EXP4.PDCX) {
Store(One, \_SB.PCI0.EXP4.PDCX)
Store(One, \_SB.PCI0.EXP4.HPSX)
Notify(\_SB.PCI0.EXP4, Zero)
Store(0x04, PRM0)
Store(PEHS, SSMP)
}
Else {
Store(One, \_SB.PCI0.EXP4.HPSX)
}
}
If(LAnd(LEqual(CRPS, One), LNot(LLess(MCHD, 0x04)))) {
If(LNot(IGDS)) {
If(LAnd(LEqual(RP5D, Zero), \_SB.PCI0.EXP5.HPSX)) {
Sleep(0x64)
If(\_SB.PCI0.EXP5.PDCX) {
Store(One, \_SB.PCI0.EXP5.PDCX)
Store(One, \_SB.PCI0.EXP5.HPSX)
If(\_SB.PCI0.EXP5.PDSX) {
Store(0x0a, Local2)
While(LGreater(Local2, Zero)) {
Sleep(0x64)
And(\_SB.PCI0.EXP5.J380.DVID, 0xfff0ffff,
Local1)
If(LEqual(Local1, 0x2380197b)) {
Store(0x88, \_SB.PCI0.EXP5.J380.LAT0)
Store(0x80, \_SB.PCI0.EXP5.J380.PMC0)
TRAP(TRTI, 0x5a)
Store(Zero, Local2)
CMSW(0x75, Zero)
If(And(One, \_SB.PCI0.LPC.EC0.SW2S, )) {
CMSW(0x75, 0xaa)
Store(Zero, \_SB.PCI0.EXP5.J380.D3EF)
}
}
Else {
Decrement(Local2)
}
}
}
Else {
Sleep(0x64)
}
Notify(\_SB.PCI0.EXP5, Zero)
Store(0x05, PRM0)
Store(PEHS, SSMP)
}
Else {
Store(One, \_SB.PCI0.EXP5.HPSX)
}
}
}
}
If(LAnd(LEqual(RP6D, Zero), \_SB.PCI0.EXP6.HPSX)) {
Sleep(0x64)
If(\_SB.PCI0.EXP6.PDCX) {
Store(One, \_SB.PCI0.EXP6.PDCX)
Store(One, \_SB.PCI0.EXP6.HPSX)
Notify(\_SB.PCI0.EXP6, Zero)
Store(0x06, PRM0)
Store(PEHS, SSMP)
}
Else {
Store(One, \_SB.PCI0.EXP6.HPSX)
}
}
}
Method(_L06) {
If(LAnd(\_SB.PCI0.OVGA.GSSE, LNot(GSMI))) {
\_SB.PCI0.OVGA.GSCI()
}
Else {
If(LEqual(And(\_SB.PCI0.ESCS, 0x08, ), 0x08)) {
Store(One, Local0)
Store(\_SB.PCI0.T0IS, \_SB.PCI0.T0IS)
Store(\_SB.PCI0.T0IS, Local0)
Store(\_SB.PCI0.T1IS, \_SB.PCI0.T1IS)
Store(\_SB.PCI0.T1IS, Local0)
Store(One, SCIS)
Store(One, \_SB.PCI0.GTSE)
}
Else {
Store(One, SCIS)
}
}
}
Method(_L07) {
}
Method(_L08) {
}
Method(_L0B) {
Notify(\_SB.PCI0.P32, 0x02)
}
Method(_L03) {
Notify(\_SB.PCI0.UHC1, 0x02)
}
Method(_L04) {
Notify(\_SB.PCI0.UHC2, 0x02)
}
Method(_L0C) {
Notify(\_SB.PCI0.UHC3, 0x02)
}
Method(_L20) {
}
Method(_L0D) {
}
Method(_L0E) {
}
Method(_L05) {
}
}
Method(_PIC, 1) {
Store(Arg0, GPIC)
}
Scope(_TZ) {
Name(TP85, 0x53)
Name(TPTM, 0x4a)
Name(TPAS, 0x87)
Name(TPPP, 0x42)
Name(AS00, 0x5f)
Name(AS85, 0x52)
Name(AS05, 0x64)
Name(AS90, 0x57)
Name(TA85, 0x4d)
Name(OT01, Buffer(0x03) {0x64, 0x5f, 0x5a })
Name(OT02, Buffer(0x03) {0x55, 0x52, 0x4b })
Name(OT03, Buffer(0x03) {0x69, 0x64, 0x5f })
Name(OT04, Buffer(0x03) {0x5a, 0x57, 0x50 })
Name(S4TP, 0x6e)
ThermalZone(TZ01) {
Method(_HOT, 0, Serialized) {
If(LNot(LLess(OSYS, 0x07d6))) {
If(LEqual(TJMX, 0x64)) {
Store(0x69, S4TP)
Return(0x0ec6)
}
If(LEqual(TJMX, 0x55)) {
Store(0x5a, S4TP)
Return(0x0e30)
}
If(LEqual(TJMX, 0x69)) {
Store(0x6e, S4TP)
Return(0x0ef8)
}
If(LEqual(TJMX, 0x5a)) {
Store(0x5f, S4TP)
Return(0x0e62)
}
}
}
Method(_CRT, 0, Serialized) {
If(LLess(OSYS, 0x07d6)) {
If(LEqual(TJMX, 0x64)) {
Store(0x69, S4TP)
Return(0x0ec6)
}
If(LEqual(TJMX, 0x55)) {
Store(0x5a, S4TP)
Return(0x0e30)
}
If(LEqual(TJMX, 0x69)) {
Store(0x6e, S4TP)
Return(0x0ef8)
}
If(LEqual(TJMX, 0x5a)) {
Store(0x5f, S4TP)
Return(0x0e62)
}
}
}
Method(_TMP) {
If(ECOK) {
Store(\_SB.PCI0.LPC.EC0.RTMP, Local0)
If(LNot(LLess(Local0, S4TP))) {
CMSW(0x6f, 0x6f)
}
If(LEqual(CTYP, Zero)) {
OTHD(Local0)
}
Return(Add(0x0aac, Multiply(Local0, 0x0a, ), ))
}
Else {
If(LEqual(CTYP, Zero)) {
OTHD(TPTM)
}
Return(Add(0x0aac, Multiply(TPTM, 0x0a, ), ))
}
}
Method(_PSL) {
If(CMPE) {
Return(Package(0x02) {
\_PR.CPU0,
\_PR.CPU1,
})
}
Return(Package(0x01) {
\_PR.CPU0,
})
}
Method(_SCP, 1, Serialized) {
CMSW(0x3e, Arg0)
If(LGreater(OSYS, 0x07d6)) {
Store(Arg0, CTYP)
Store(Arg0, \_SB.PCI0.LPC.EC0.THPM)
}
Else {
Store(Zero, CTYP)
Store(Zero, \_SB.PCI0.LPC.EC0.THPM)
}
}
Method(_PSV) {
If(CTYP) {
Return(Add(0x0aac, Multiply(TPPP, 0x0a, ), ))
}
Else {
And(PPMF, One, Local0)
If(Local0) {
Return(Add(0x0aac, Multiply(TPAS, 0x0a, ), ))
}
Else {
If(LEqual(TJMX, 0x64)) {
Return(Add(0x0aac, Multiply(AS00, 0x0a, ), ))
}
If(LEqual(TJMX, 0x55)) {
Return(Add(0x0aac, Multiply(AS85, 0x0a, ), ))
}
If(LEqual(TJMX, 0x69)) {
Return(Add(0x0aac, Multiply(AS05, 0x0a, ), ))
}
If(LEqual(TJMX, 0x5a)) {
Return(Add(0x0aac, Multiply(AS90, 0x0a, ), ))
}
}
}
}
Name(_TC1, 0x02)
Name(_TC2, 0x05)
Name(_TSP, 0x32)
Method(OTHD, 1) {
If(LEqual(TJMX, 0x64)) {
Store(OT01, Local0)
}
If(LEqual(TJMX, 0x55)) {
Store(OT02, Local0)
}
If(LEqual(TJMX, 0x69)) {
Store(OT03, Local0)
}
If(LEqual(TJMX, 0x5a)) {
Store(OT04, Local0)
}
If(LNot(LLess(Arg0, DerefOf(Index(Local0, Zero, ))))) {
THL1()
}
Else {
If(LNot(LLess(Arg0, DerefOf(Index(Local0, One, ))))) {
THL2()
}
Else {
If(LNot(LGreater(Arg0, DerefOf(Index(Local0, 0x02, ))))) {
THL3()
}
}
}
CPUL()
}
Method(THL1) {
Store(Subtract(PSTN, One, ), THR0)
}
Method(THL2) {
If(LEqual(TJMX, 0x64)) {
Store(0x02, THR0)
}
If(LEqual(TJMX, 0x55)) {
Store(One, THR0)
}
If(LEqual(TJMX, 0x69)) {
Store(0x02, THR0)
}
If(LEqual(TJMX, 0x5a)) {
Store(One, THR0)
}
}
Method(THL3) {
Store(Zero, THR0)
}
Name(REGN, "Processor\x20Thermal\x20Zone")
Name(FMAX, 0x1388)
Name(FMIN, Zero)
Method(FRSP) {
Store(Zero, Local2)
If(ECOK) {
Store(\_SB.PCI0.LPC.EC0.RPM1, Local0)
Store(\_SB.PCI0.LPC.EC0.RPM2, Local1)
ShiftLeft(Local1, 0x08, Local1)
Or(Local0, Local1, Local0)
If(LNot(LEqual(Local0, Zero))) {
Divide(0x00075300, Local0, Local0, Local2)
}
}
Return(Local2)
}
Method(FSSP, 1) {
If(ECOK) {
If(LNot(LEqual(Arg0, Zero))) {
Store(Zero, \_SB.PCI0.LPC.EC0.SFAN)
}
Else {
Store(0x02, \_SB.PCI0.LPC.EC0.SFAN)
}
}
}
}
}
Method(GETP, 1, Serialized) {
If(LEqual(And(Arg0, 0x09, ), Zero)) {
Return(Ones)
}
If(LEqual(And(Arg0, 0x09, ), 0x08)) {
Return(0x0384)
}
ShiftRight(And(Arg0, 0x0300, ), 0x08, Local0)
ShiftRight(And(Arg0, 0x3000, ), 0x0c, Local1)
Return(Multiply(0x1e, Subtract(0x09, Add(Local0, Local1, ), ), ))
}
Method(GDMA, 5, Serialized) {
If(Arg0) {
If(Arg1) {
Return(0x14)
}
If(Arg2) {
Return(Multiply(Subtract(0x04, Arg3, ), 0x0f, ))
}
Return(Multiply(Subtract(0x04, Arg3, ), 0x1e, ))
}
Return(Ones)
}
Method(GETT, 1, Serialized) {
Return(Multiply(0x1e, Subtract(0x09, Add(And(ShiftRight(Arg0, 0x02, ),
0x03, ), And(Arg0, 0x03, ), ), ), ))
}
Method(GETF, 3, Serialized) {
Name(TMPF, Zero)
If(Arg0) {
Or(TMPF, One, TMPF)
}
If(And(Arg2, 0x02, )) {
Or(TMPF, 0x02, TMPF)
}
If(Arg1) {
Or(TMPF, 0x04, TMPF)
}
If(And(Arg2, 0x20, )) {
Or(TMPF, 0x08, TMPF)
}
If(And(Arg2, 0x4000, )) {
Or(TMPF, 0x10, TMPF)
}
Return(TMPF)
}
Method(SETP, 3, Serialized) {
If(LGreater(Arg0, 0xf0)) {
Return(0x08)
}
Else {
If(And(Arg1, 0x02, )) {
If(LAnd(LNot(LGreater(Arg0, 0x78)), And(Arg2, 0x02, ))) {
Return(0x2301)
}
If(LAnd(LNot(LGreater(Arg0, 0xb4)), And(Arg2, One, ))) {
Return(0x2101)
}
}
Return(0x1001)
}
}
Method(SDMA, 1, Serialized) {
If(LNot(LGreater(Arg0, 0x14))) {
Return(One)
}
If(LNot(LGreater(Arg0, 0x1e))) {
Return(0x02)
}
If(LNot(LGreater(Arg0, 0x2d))) {
Return(One)
}
If(LNot(LGreater(Arg0, 0x3c))) {
Return(0x02)
}
If(LNot(LGreater(Arg0, 0x5a))) {
Return(One)
}
Return(Zero)
}
Method(SETT, 3, Serialized) {
If(And(Arg1, 0x02, )) {
If(LAnd(LNot(LGreater(Arg0, 0x78)), And(Arg2, 0x02, ))) {
Return(0x0b)
}
If(LAnd(LNot(LGreater(Arg0, 0xb4)), And(Arg2, One, ))) {
Return(0x09)
}
}
Return(0x04)
}
Name(Q8E0, Zero)
Name(THR0, Zero)
Name(CUPS, Zero)
Method(CPUL) {
And(PPMF, One, Local1)
If(Local1) {
Store(Zero, Local0)
Or(Local0, LNot(LEqual(Q8E0, Zero)), Local0)
Or(Local0, LNot(LEqual(THR0, Zero)), Local0)
If(Local0) {
Store(Zero, CUPS)
If(LGreater(Q8E0, CUPS)) {
Store(Q8E0, CUPS)
}
If(LGreater(THR0, CUPS)) {
Store(THR0, CUPS)
}
If(LNot(LEqual(CUPS, \_PR.CPU0._PPC))) {
Store(CUPS, \_PR.CPU0._PPC)
If(CMPE) {
Notify(\_PR.CPU0, 0x80)
Notify(\_PR.CPU1, 0x80)
}
Else {
Notify(\_PR.CPU0, 0x80)
}
}
}
Else {
If(LNot(LEqual(\_PR.CPU0._PPC, Zero))) {
Store(Zero, \_PR.CPU0._PPC)
If(CMPE) {
Notify(\_PR.CPU0, 0x80)
Notify(\_PR.CPU1, 0x80)
}
Else {
Notify(\_PR.CPU0, 0x80)
}
}
Store(Zero, CUPS)
}
}
}
Scope(_SB) {
Device(MCFG) {
Name(_HID, 0x020cd041)
Name(_CRS, Buffer(0x1c) {0x87, 0x17, 0x0, 0x0, 0xd, 0x1, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0xff, 0xff, 0xfb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x4, 0x79, 0x0 })
}
Device(PWRB) {
Name(_HID, 0x0c0cd041)
}
Device(LID0) {
Name(_HID, 0x0d0cd041)
Name(LSTS, Zero)
Method(_LID) {
If(ECOK) {
If(LEqual(^^PCI0.LPC.EC0.ECLS, One)) {
Store(Zero, LSTS)
}
Else {
Store(One, LSTS)
}
If(IGDS) {
Store(LSTS, LIDS)
Store(LSTS, ^^PCI0.OVGA.CLID)
}
Return(LSTS)
}
Else {
If(IGDS) {
Store(LIDS, ^^PCI0.OVGA.CLID)
}
Return(LIDS)
}
}
}
Device(SLPB) {
Name(_HID, 0x0e0cd041)
}
Method(GBFE, 3) {
CreateByteField(Arg0, Arg1, TIDX)
Store(TIDX, Arg2)
}
Method(PBFE, 3) {
CreateByteField(Arg0, Arg1, TIDX)
Store(Arg2, TIDX)
}
Method(ITOS, 1) {
Store(Buffer(0x09) {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0
}, Local0)
Store(Buffer(0x11) {0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x0 }, Local7)
Store(0x08, Local1)
Store(Zero, Local2)
Store(Zero, Local3)
While(Local1) {
Decrement(Local1)
And(ShiftRight(Arg0, ShiftLeft(Local1, 0x02, ), ), 0x0f, Local4)
If(Local4) {
Store(Ones, Local3)
}
If(Local3) {
GBFE(Local7, Local4, RefOf(Local5))
PBFE(Local0, Local2, Local5)
Increment(Local2)
}
}
Return(Local0)
}
Device(ACAD) {
Name(_HID, "ACPI0003")
Name(_PCL, Package(0x01) {
_SB,
})
Name(ACP, Ones)
Method(_PSR) {
If(ECOK) {
And(One, ^^PCI0.LPC.EC0.SW2S, Local0)
Store(Local0, PWRS)
TRAP(TRTP, PSSS)
Return(Local0)
}
Store(ACPS, PWRS)
Return(ACPS)
}
Method(_STA) {
Return(0x0f)
}
}
Device(BAT0) {
Name(FRST, One)
Name(_HID, 0x0a0cd041)
Name(_UID, One)
Name(_PCL, Package(0x01) {
_SB,
})
Name(PBIF, Package(0x0d) {
One,
Ones,
Ones,
One,
Ones,
0xfa,
0x96,
0x0a,
0x19,
"BAT1",
"\x20",
"\x20",
"\x20",
})
Name(PBST, Package(0x04) {
Zero,
Ones,
Ones,
0x2710,
})
Name(BAST, Zero)
Name(B1ST, 0x0f)
Name(B1WT, Zero)
Name(FABL, Ones)
Method(_STA) {
If(ECOK) {
If(^^PCI0.LPC.EC0.MBTS) {
Store(0x1f, B1ST)
}
Else {
Store(0x0f, B1ST)
}
}
Else {
Store(0x0f, B1ST)
}
Return(B1ST)
}
Method(_BIF) {
If(ECOK) {
If(^^PCI0.LPC.EC0.MBTS) {
UPBI()
}
Else {
IVBI()
}
}
Else {
IVBI()
}
Return(PBIF)
}
Method(_BST) {
If(ECOK) {
If(^^PCI0.LPC.EC0.MBTS) {
UPBS()
}
Else {
IVBS()
}
}
Else {
IVBS()
}
Return(PBST)
}
Method(UPBI) {
If(LNot(^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x10, RefOf(Local5)))) {
If(LAnd(Local5, LNot(And(Local5, 0x8000, )))) {
ShiftRight(Local5, 0x05, Local5)
ShiftLeft(Local5, 0x05, Local5)
Store(Local5, Index(PBIF, 0x02, ))
Divide(Local5, 0x64, , Local2)
Add(Local2, One, Local2)
If(LEqual(^^PCI0.LPC.EC0.W7OS, One)) {
Multiply(Local2, 0x0c, Local4)
Add(Local4, 0x02, Index(PBIF, 0x05, ))
Multiply(Local2, 0x07, Local4)
Add(Local4, 0x02, Index(PBIF, 0x06, ))
Multiply(Local2, 0x09, Local4)
Add(Local4, 0x02, FABL)
}
Else {
Multiply(Local2, 0x05, Local4)
Add(Local4, 0x02, Index(PBIF, 0x05, ))
Multiply(Local2, 0x03, Local4)
Add(Local4, 0x02, Index(PBIF, 0x06, ))
}
}
}
Store(^^PCI0.LPC.EC0.BCLB, Local0)
Store(^^PCI0.LPC.EC0.BCHB, Local1)
ShiftLeft(Local1, 0x08, Local1)
Or(Local0, Local1, Local0)
Store(Local0, Index(PBIF, One, ))
Store(^^PCI0.LPC.EC0.BVLB, Local0)
Store(^^PCI0.LPC.EC0.BVHB, Local1)
ShiftLeft(Local1, 0x08, Local1)
Or(Local0, Local1, Local0)
Store(Local0, Index(PBIF, 0x04, ))
If(^^PCI0.LPC.EC0.MBNH) {
Store("OANI\x24", Index(PBIF, 0x09, ))
Store("NiMH", Index(PBIF, 0x0b, ))
}
Else {
Sleep(0x32)
Store("LION", Index(PBIF, 0x0b, ))
}
Store("Primary", Index(PBIF, 0x09, ))
UPUM()
Store(One, Index(PBIF, Zero, ))
}
Method(UPUM) {
Store(Buffer(0x0a) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0 }, Local0)
Store(Buffer(0x05) {0x36, 0x35, 0x35, 0x33, 0x35 }, Local6)
Store(Buffer(0x05) {0x31, 0x32, 0x33, 0x32, 0x31 }, Local7)
Store("Hewlett\x2dPackard", Index(PBIF, 0x0c, ))
}
Method(UPBS) {
Store(^^PCI0.LPC.EC0.MBRM, Local5)
If(LNot(And(Local5, 0x8000, ))) {
ShiftRight(Local5, 0x05, Local5)
ShiftLeft(Local5, 0x05, Local5)
If(LNot(LEqual(Local5, DerefOf(Index(PBST, 0x02, ))))) {
If(LEqual(^^PCI0.LPC.EC0.W7OS, One)) {
If(LEqual(^^PCI0.LPC.EC0.BACR, One)) {
Store(FABL, Index(PBST, 0x02, ))
}
Else {
Store(Local5, Index(PBST, 0x02, ))
}
}
Else {
Store(Local5, Index(PBST, 0x02, ))
}
}
}
Store(^^PCI0.LPC.EC0.MBCV, Index(PBST, 0x03, ))
Store(^^PCI0.LPC.EC0.MBST, Index(PBST, Zero, ))
}
Method(IVBI) {
Store(Ones, Index(PBIF, One, ))
Store(Ones, Index(PBIF, 0x02, ))
Store(Ones, Index(PBIF, 0x04, ))
Store("Bad", Index(PBIF, 0x09, ))
Store("Bad", Index(PBIF, 0x0a, ))
Store("Bad", Index(PBIF, 0x0b, ))
Store("Bad", Index(PBIF, 0x0c, ))
}
Method(IVBS) {
Store(Zero, Index(PBST, Zero, ))
Store(Ones, Index(PBST, One, ))
Store(Ones, Index(PBST, 0x02, ))
Store(0x2710, Index(PBST, 0x03, ))
}
}
Device(PCI0) {
Name(_HID, 0x080ad041)
Name(_CID, 0x030ad041)
Name(_ADR, Zero)
Name(SUPP, Zero)
Name(CTRL, Zero)
Method(_OSC, 4) {
CreateDWordField(Arg3, Zero, CDW1)
CreateDWordField(Arg3, 0x04, CDW2)
CreateDWordField(Arg3, 0x08, CDW3)
If(LEqual(Arg0, Buffer(0x10) {0x5b, 0x4d, 0xdb, 0x33, 0xf7, 0x1f,
0x1c, 0x40, 0x96, 0x57, 0x74, 0x41, 0xc0, 0x3d, 0xd7, 0x66 })) {
Store(CDW2, SUPP)
Store(CDW3, CTRL)
And(CTRL, 0x1e, CTRL)
And(CTRL, 0x1d, CTRL)
If(Not(And(CDW1, One, ), )) {
}
If(LNot(LEqual(CDW3, CTRL))) {
Or(CDW1, 0x10, CDW1)
}
Store(CTRL, CDW3)
Return(Arg3)
}
Else {
Or(CDW1, 0x04, CDW1)
Return(Arg3)
}
}
Name(TPOS, Zero)
Method(_INI) {
If(CondRefOf(_OSI, Local0)) {
If(_OSI("Linux")) {
Store(0x03e8, OSYS)
Store(0x80, TPOS)
Store(One, ^LPC.EC0.ECOS)
}
Else {
Store(0x07d1, OSYS)
Store(0x08, TPOS)
}
If(_OSI("Windows\x202001\x20SP2")) {
Store(0x07d2, OSYS)
Store(0x11, TPOS)
}
If(_OSI("Windows\x202006")) {
Store(0x07d6, OSYS)
Store(0x40, TPOS)
}
If(_OSI("Windows\x202009")) {
Store(0x07d9, OSYS)
}
}
Else {
Store(0x07d0, OSYS)
Store(0x04, TPOS)
}
}
OperationRegion(HBUS, PCI_Config, 0x40, 0xc0)
Field(HBUS, DWordAcc, NoLock, Preserve) {
EPEN, 1,
, 11,
EPBR, 20,
Offset(0x8),
MHEN, 1,
, 13,
MHBR, 18,
Offset(0x20),
PXEN, 1,
PXSZ, 2,
, 23,
PXBR, 6,
Offset(0x28),
DIEN, 1,
, 11,
DIBR, 20,
Offset(0x30),
IPEN, 1,
, 11,
IPBR, 20,
Offset(0x50),
, 4,
PM0H, 2,
Offset(0x51),
PM1L, 2,
, 2,
PM1H, 2,
Offset(0x52),
PM2L, 2,
, 2,
PM2H, 2,
Offset(0x53),
PM3L, 2,
, 2,
PM3H, 2,
Offset(0x54),
PM4L, 2,
, 2,
PM4H, 2,
Offset(0x55),
PM5L, 2,
, 2,
PM5H, 2,
Offset(0x56),
PM6L, 2,
, 2,
PM6H, 2,
Offset(0x57),
, 7,
HENA, 1,
Offset(0x62),
TUUD, 16,
Offset(0x70),
, 4,
TLUD, 12,
Offset(0x89),
, 3,
GTSE, 1,
Offset(0x8a)
}
OperationRegion(MCHT, SystemMemory, 0xfed11000, 0xff)
Field(MCHT, ByteAcc, NoLock, Preserve) {
Offset(0x1e),
T0IS, 16,
Offset(0x5e),
T1IS, 16,
Offset(0xef),
ESCS, 8
}
Name(BUF0, Buffer(0x01ee) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x87, 0x17, 0x0, 0x1, 0xc, 0x3, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xf8, 0xc, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x87, 0x17,
0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0,
0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0,
0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0,
0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x!
0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0,
0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff,
0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0,
0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40,
0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87,
0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, !
0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,!
0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0,
0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0xff,
0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x17, 0x0, 0x0,
0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xbf, 0xfe, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0xd4, 0xfe, 0xff, 0x4f, 0xd4, 0xfe, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x79, 0x0 })
Method(_CRS, 0, Serialized) {
If(PM1L) {
CreateDWordField(BUF0, 0x7c, C0LN)
Store(Zero, C0LN)
}
If(LEqual(PM1L, One)) {
CreateBitField(BUF0, 0x0358, C0RW)
Store(Zero, C0RW)
}
If(PM1H) {
CreateDWordField(BUF0, 0x96, C4LN)
Store(Zero, C4LN)
}
If(LEqual(PM1H, One)) {
CreateBitField(BUF0, 0x0428, C4RW)
Store(Zero, C4RW)
}
If(PM2L) {
CreateDWordField(BUF0, 0xb0, C8LN)
Store(Zero, C8LN)
}
If(LEqual(PM2L, One)) {
CreateBitField(BUF0, 0x04f8, C8RW)
Store(Zero, C8RW)
}
If(PM2H) {
CreateDWordField(BUF0, 0xca, CCLN)
Store(Zero, CCLN)
}
If(LEqual(PM2H, One)) {
CreateBitField(BUF0, 0x05c8, CCRW)
Store(Zero, CCRW)
}
If(PM3L) {
CreateDWordField(BUF0, 0xe4, D0LN)
Store(Zero, D0LN)
}
If(LEqual(PM3L, One)) {
CreateBitField(BUF0, 0x0698, D0RW)
Store(Zero, D0RW)
}
If(PM3H) {
CreateDWordField(BUF0, 0xfe, D4LN)
Store(Zero, D4LN)
}
If(LEqual(PM3H, One)) {
CreateBitField(BUF0, 0x0768, D4RW)
Store(Zero, D4RW)
}
If(PM4L) {
CreateDWordField(BUF0, 0x0118, D8LN)
Store(Zero, D8LN)
}
If(LEqual(PM4L, One)) {
CreateBitField(BUF0, 0x0838, D8RW)
Store(Zero, D8RW)
}
If(PM4H) {
CreateDWordField(BUF0, 0x0132, DCLN)
Store(Zero, DCLN)
}
If(LEqual(PM4H, One)) {
CreateBitField(BUF0, 0x0908, DCRW)
Store(Zero, DCRW)
}
If(PM5L) {
CreateDWordField(BUF0, 0x014c, E0LN)
Store(Zero, E0LN)
}
If(LEqual(PM5L, One)) {
CreateBitField(BUF0, 0x09d8, E0RW)
Store(Zero, E0RW)
}
If(PM5H) {
CreateDWordField(BUF0, 0x0166, E4LN)
Store(Zero, E4LN)
}
If(LEqual(PM5H, One)) {
CreateBitField(BUF0, 0x0aa8, E4RW)
Store(Zero, E4RW)
}
If(PM6L) {
CreateDWordField(BUF0, 0x0180, E8LN)
Store(Zero, E8LN)
}
If(LEqual(PM6L, One)) {
CreateBitField(BUF0, 0x0b78, E8RW)
Store(Zero, E8RW)
}
If(PM6H) {
CreateDWordField(BUF0, 0x019a, ECLN)
Store(Zero, ECLN)
}
If(LEqual(PM6H, One)) {
CreateBitField(BUF0, 0x0c48, ECRW)
Store(Zero, ECRW)
}
If(PM0H) {
CreateDWordField(BUF0, 0x01b4, F0LN)
Store(Zero, F0LN)
}
If(LEqual(PM0H, One)) {
CreateBitField(BUF0, 0x0d18, F0RW)
Store(Zero, F0RW)
}
If(LNot(LEqual(^LPC.TPM.ACC0, 0xff))) {
CreateDWordField(BUF0, 0x01e8, TPML)
Store(0x5000, TPML)
}
CreateDWordField(BUF0, 0x01c2, M1MN)
CreateDWordField(BUF0, 0x01c6, M1MX)
CreateDWordField(BUF0, 0x01ce, M1LN)
ShiftLeft(TLUD, 0x14, M1MN)
Add(Subtract(M1MX, M1MN, ), One, M1LN)
Return(BUF0)
}
Method(_PRT) {
If(LEqual(GPIC, Zero)) {
Return(Package(0x1a) {
Package(0x04) {
0x0001ffff,
Zero,
^LPC.LNKA,
Zero,
},
Package(0x04) {
0x0001ffff,
One,
^LPC.LNKB,
Zero,
},
Package(0x04) {
0x0001ffff,
0x02,
^LPC.LNKC,
Zero,
},
Package(0x04) {
0x0001ffff,
0x03,
^LPC.LNKD,
Zero,
},
Package(0x04) {
0x0002ffff,
Zero,
^LPC.LNKA,
Zero,
},
Package(0x04) {
0x0003ffff,
Zero,
^LPC.LNKA,
Zero,
},
Package(0x04) {
0x0003ffff,
One,
^LPC.LNKB,
Zero,
},
Package(0x04) {
0x0003ffff,
0x02,
^LPC.LNKC,
Zero,
},
Package(0x04) {
0x0003ffff,
0x03,
^LPC.LNKD,
Zero,
},
Package(0x04) {
0x001affff,
Zero,
^LPC.LNKA,
Zero,
},
Package(0x04) {
0x001affff,
One,
^LPC.LNKF,
Zero,
},
Package(0x04) {
0x001affff,
0x02,
^LPC.LNKC,
Zero,
},
Package(0x04) {
0x001affff,
0x03,
^LPC.LNKD,
Zero,
},
Package(0x04) {
0x001bffff,
Zero,
^LPC.LNKG,
Zero,
},
Package(0x04) {
0x001cffff,
Zero,
^LPC.LNKB,
Zero,
},
Package(0x04) {
0x001cffff,
One,
^LPC.LNKA,
Zero,
},
Package(0x04) {
0x001cffff,
0x02,
^LPC.LNKC,
Zero,
},
Package(0x04) {
0x001cffff,
0x03,
^LPC.LNKD,
Zero,
},
Package(0x04) {
0x001dffff,
Zero,
^LPC.LNKE,
Zero,
},
Package(0x04) {
0x001dffff,
One,
^LPC.LNKD,
Zero,
},
Package(0x04) {
0x001dffff,
0x02,
^LPC.LNKC,
Zero,
},
Package(0x04) {
0x001dffff,
0x03,
^LPC.LNKA,
Zero,
},
Package(0x04) {
0x001fffff,
Zero,
^LPC.LNKC,
Zero,
},
Package(0x04) {
0x001fffff,
One,
^LPC.LNKD,
Zero,
},
Package(0x04) {
0x001fffff,
0x02,
^LPC.LNKC,
Zero,
},
Package(0x04) {
0x001fffff,
0x03,
^LPC.LNKA,
Zero,
},
})
}
Else {
Return(Package(0x1a) {
Package(0x04) {
0x0001ffff,
Zero,
Zero,
0x10,
},
Package(0x04) {
0x0001ffff,
One,
Zero,
0x11,
},
Package(0x04) {
0x0001ffff,
0x02,
Zero,
0x12,
},
Package(0x04) {
0x0001ffff,
0x03,
Zero,
0x13,
},
Package(0x04) {
0x0002ffff,
Zero,
Zero,
0x10,
},
Package(0x04) {
0x0003ffff,
Zero,
Zero,
0x10,
},
Package(0x04) {
0x0003ffff,
One,
Zero,
0x11,
},
Package(0x04) {
0x0003ffff,
0x02,
Zero,
0x12,
},
Package(0x04) {
0x0003ffff,
0x03,
Zero,
0x13,
},
Package(0x04) {
0x001affff,
Zero,
Zero,
0x10,
},
Package(0x04) {
0x001affff,
One,
Zero,
0x15,
},
Package(0x04) {
0x001affff,
0x02,
Zero,
0x12,
},
Package(0x04) {
0x001affff,
0x03,
Zero,
0x13,
},
Package(0x04) {
0x001bffff,
Zero,
Zero,
0x16,
},
Package(0x04) {
0x001cffff,
Zero,
Zero,
0x11,
},
Package(0x04) {
0x001cffff,
One,
Zero,
0x10,
},
Package(0x04) {
0x001cffff,
0x02,
Zero,
0x12,
},
Package(0x04) {
0x001cffff,
0x03,
Zero,
0x13,
},
Package(0x04) {
0x001dffff,
Zero,
Zero,
0x14,
},
Package(0x04) {
0x001dffff,
One,
Zero,
0x13,
},
Package(0x04) {
0x001dffff,
0x02,
Zero,
0x12,
},
Package(0x04) {
0x001dffff,
0x03,
Zero,
0x10,
},
Package(0x04) {
0x001fffff,
Zero,
Zero,
0x12,
},
Package(0x04) {
0x001fffff,
One,
Zero,
0x13,
},
Package(0x04) {
0x001fffff,
0x02,
Zero,
0x12,
},
Package(0x04) {
0x001fffff,
0x03,
Zero,
0x10,
},
})
}
}
Device(OVGA) {
Name(_ADR, 0x00020000)
Method(_DOS, 1) {
Store(And(Arg0, 0x07, ), DSEN)
}
Method(_DOD) {
Store(Zero, NDID)
If(LNot(LEqual(DIDL, Zero))) {
Store(SDDL(DID1), DID1)
}
If(LNot(LEqual(DDL2, Zero))) {
Store(SDDL(DID2), DID2)
}
If(LNot(LEqual(DDL3, Zero))) {
Store(SDDL(DID3), DID3)
}
If(LNot(LEqual(DDL4, Zero))) {
Store(SDDL(DID4), DID4)
}
If(LNot(LEqual(DDL5, Zero))) {
Store(SDDL(DID5), DID5)
}
If(LEqual(NDID, One)) {
Name(TMP1, Package(0x01) {
Ones,
})
Store(Or(0x00010000, DID1, ), Index(TMP1, Zero, ))
Return(TMP1)
}
If(LEqual(NDID, 0x02)) {
Name(TMP2, Package(0x02) {
Ones,
Ones,
})
Store(Or(0x00010000, DID1, ), Index(TMP2, Zero, ))
Store(Or(0x00010000, DID2, ), Index(TMP2, One, ))
Return(TMP2)
}
If(LEqual(NDID, 0x03)) {
Name(TMP3, Package(0x03) {
Ones,
Ones,
Ones,
})
Store(Or(0x00010000, DID1, ), Index(TMP3, Zero, ))
Store(Or(0x00010000, DID2, ), Index(TMP3, One, ))
Store(Or(0x00010000, DID3, ), Index(TMP3, 0x02, ))
Return(TMP3)
}
If(LEqual(NDID, 0x04)) {
Name(TMP4, Package(0x04) {
Ones,
Ones,
Ones,
Ones,
})
Store(Or(0x00010000, DID1, ), Index(TMP4, Zero, ))
Store(Or(0x00010000, DID2, ), Index(TMP4, One, ))
Store(Or(0x00010000, DID3, ), Index(TMP4, 0x02, ))
Store(Or(0x00010000, DID4, ), Index(TMP4, 0x03, ))
Return(TMP4)
}
If(LGreater(NDID, 0x04)) {
Name(TMP5, Package(0x05) {
Ones,
Ones,
Ones,
Ones,
Ones,
})
Store(Or(0x00010000, DID1, ), Index(TMP5, Zero, ))
Store(Or(0x00010000, DID2, ), Index(TMP5, One, ))
Store(Or(0x00010000, DID3, ), Index(TMP5, 0x02, ))
Store(Or(0x00010000, DID4, ), Index(TMP5, 0x03, ))
Store(Or(0x00010000, DID5, ), Index(TMP5, 0x04, ))
Return(TMP5)
}
Return(Package(0x01) {
0x0400,
})
}
Device(DD01) {
Method(_ADR, 0, Serialized) {
If(LEqual(DID1, Zero)) {
Return(One)
}
Else {
Return(And(0xffff, DID1, ))
}
}
Method(_DCS) {
Return(CDDS(DID1))
}
Method(_DGS) {
Return(NDDS(DID1))
}
Method(_DSS, 1) {
If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) {
Store(NSTE, CSTE)
}
}
}
Device(DD02) {
Method(_ADR, 0, Serialized) {
If(LEqual(DID2, Zero)) {
Return(0x02)
}
Else {
Return(And(0xffff, DID2, ))
}
}
Method(_DCS) {
Return(CDDS(DID2))
}
Method(_DGS) {
Return(NDDS(DID2))
}
Method(_DSS, 1) {
If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) {
Store(NSTE, CSTE)
}
}
}
Device(DD03) {
Method(_ADR, 0, Serialized) {
Store(0xe3, DBGD)
TRAP(TRTI, 0x21)
If(LEqual(DID3, Zero)) {
Return(0x03)
}
Else {
Return(And(0xffff, DID3, ))
}
}
Method(_DCS) {
If(LEqual(DID3, Zero)) {
Return(0x0b)
}
Else {
Return(CDDS(DID3))
}
}
Method(_DGS) {
Return(NDDS(DID3))
}
Method(_DSS, 1) {
If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) {
Store(NSTE, CSTE)
}
}
Method(_BCL) {
If(LEqual(CHPF, One)) {
Return(BCLT)
}
Else {
Return(BCLT)
}
}
Method(_BCM, 1) {
If(ECOK) {
SBCM(Arg0)
}
}
Method(_BQC) {
If(ECOK) {
Return(GBQC())
}
Else {
Return(GBQC())
}
}
Method(GBQC) {
Store(Zero, Local0)
Store(^^^LPC.EC0.BRTL, Local1)
While(LLess(Local0, 0x0b)) {
If(LEqual(CHPF, One)) {
Store(DerefOf(Index(BCT2, Local0, )), Local2)
}
Else {
If(LEqual(CKPL, One)) {
Store(DerefOf(Index(BCT3, Local0, )), Local2)
}
Else {
Store(DerefOf(Index(BCT1, Local0, )), Local2)
}
}
If(LEqual(Local1, Local2)) {
Add(Local0, 0x02, Local2)
Store(DerefOf(Index(BCLT, Local2, )), Local3)
Store(0x0b, Local0)
}
Increment(Local0)
}
Return(Local3)
}
Method(SBCM, 1) {
Store(Zero, Local0)
While(LLess(Local0, 0x0b)) {
Add(Local0, 0x02, Local1)
Store(DerefOf(Index(BCLT, Local1, )), Local2)
If(LEqual(Arg0, Local2)) {
If(LEqual(CHPF, One)) {
Store(DerefOf(Index(BCT2, Local0, )),
^^^LPC.EC0.BRTL)
}
Else {
If(LEqual(CKPL, One)) {
Store(DerefOf(Index(BCT3, Local0, )),
^^^LPC.EC0.BRTL)
}
Else {
Store(DerefOf(Index(BCT1, Local0, )),
^^^LPC.EC0.BRTL)
}
}
Store(0x0b, Local0)
}
Increment(Local0)
}
}
}
Device(DD04) {
Method(_ADR, 0, Serialized) {
If(LEqual(DID4, Zero)) {
Return(0x04)
}
Else {
Return(And(0xffff, DID4, ))
}
}
Method(_DCS) {
If(LEqual(DID4, Zero)) {
Return(0x0b)
}
Else {
Return(CDDS(DID4))
}
}
Method(_DGS) {
Return(NDDS(DID4))
}
Method(_DSS, 1) {
If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) {
Store(NSTE, CSTE)
}
}
}
Device(DD05) {
Method(_ADR, 0, Serialized) {
If(LEqual(DID5, Zero)) {
Return(0x05)
}
Else {
Return(And(0xffff, DID5, ))
}
}
Method(_DCS) {
If(LEqual(DID5, Zero)) {
Return(0x0b)
}
Else {
Return(CDDS(DID5))
}
}
Method(_DGS) {
Return(NDDS(DID5))
}
Method(_DSS, 1) {
If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) {
Store(NSTE, CSTE)
}
}
}
Method(SDDL, 1) {
Increment(NDID)
Store(And(Arg0, 0x0f0f, ), Local0)
Or(0x80000000, Local0, Local1)
If(LEqual(DIDL, Local0)) {
Return(Local1)
}
If(LEqual(DDL2, Local0)) {
Return(Local1)
}
If(LEqual(DDL3, Local0)) {
Return(Local1)
}
If(LEqual(DDL4, Local0)) {
Return(Local1)
}
If(LEqual(DDL5, Local0)) {
Return(Local1)
}
If(LEqual(DDL6, Local0)) {
Return(Local1)
}
If(LEqual(DDL7, Local0)) {
Return(Local1)
}
If(LEqual(DDL8, Local0)) {
Return(Local1)
}
Return(Zero)
}
Method(CDDS, 1) {
If(LEqual(CADL, And(Arg0, 0x0f0f, ))) {
Return(0x1f)
}
If(LEqual(CAL2, And(Arg0, 0x0f0f, ))) {
Return(0x1f)
}
If(LEqual(CAL3, And(Arg0, 0x0f0f, ))) {
Return(0x1f)
}
If(LEqual(CAL4, And(Arg0, 0x0f0f, ))) {
Return(0x1f)
}
If(LEqual(CAL5, And(Arg0, 0x0f0f, ))) {
Return(0x1f)
}
If(LEqual(CAL6, And(Arg0, 0x0f0f, ))) {
Return(0x1f)
}
If(LEqual(CAL7, And(Arg0, 0x0f0f, ))) {
Return(0x1f)
}
If(LEqual(CAL8, And(Arg0, 0x0f0f, ))) {
Return(0x1f)
}
Return(0x1d)
}
Method(NDDS, 1) {
If(LEqual(NADL, And(Arg0, 0x0f0f, ))) {
Return(One)
}
If(LEqual(NDL2, And(Arg0, 0x0f0f, ))) {
Return(One)
}
If(LEqual(NDL3, And(Arg0, 0x0f0f, ))) {
Return(One)
}
If(LEqual(NDL4, And(Arg0, 0x0f0f, ))) {
Return(One)
}
If(LEqual(NDL5, And(Arg0, 0x0f0f, ))) {
Return(One)
}
If(LEqual(NDL6, And(Arg0, 0x0f0f, ))) {
Return(One)
}
If(LEqual(NDL7, And(Arg0, 0x0f0f, ))) {
Return(One)
}
If(LEqual(NDL8, And(Arg0, 0x0f0f, ))) {
Return(One)
}
Return(Zero)
}
Scope(^^PCI0) {
OperationRegion(MCHP, PCI_Config, 0x40, 0xc0)
Field(MCHP, AnyAcc, NoLock, Preserve) {
Offset(0x60),
TASM, 10,
Offset(0x62)
}
}
OperationRegion(IGDP, PCI_Config, 0x40, 0xc0)
Field(IGDP, AnyAcc, NoLock, Preserve) {
Offset(0x12),
, 1,
GIVD, 1,
, 2,
GUMA, 3,
Offset(0x14),
, 4,
GMFN, 1,
Offset(0x18),
Offset(0xa4),
ASLE, 8,
Offset(0xa8),
GSSE, 1,
GSSB, 14,
GSES, 1,
Offset(0xb0),
, 12,
CDVL, 1,
Offset(0xb2),
Offset(0xb5),
LBPC, 8,
Offset(0xbc),
ASLS, 32
}
OperationRegion(IGDM, SystemMemory, ASLB, 0x2000)
Field(IGDM, AnyAcc, NoLock, Preserve) {
SIGN, 128,
SIZE, 32,
OVER, 32,
SVER, 256,
VVER, 128,
GVER, 128,
MBOX, 32,
DMOD, 32,
Offset(0x100),
DRDY, 32,
CSTS, 32,
CEVT, 32,
Offset(0x120),
DIDL, 32,
DDL2, 32,
DDL3, 32,
DDL4, 32,
DDL5, 32,
DDL6, 32,
DDL7, 32,
DDL8, 32,
CPDL, 32,
CPL2, 32,
CPL3, 32,
CPL4, 32,
CPL5, 32,
CPL6, 32,
CPL7, 32,
CPL8, 32,
CADL, 32,
CAL2, 32,
CAL3, 32,
CAL4, 32,
CAL5, 32,
CAL6, 32,
CAL7, 32,
CAL8, 32,
NADL, 32,
NDL2, 32,
NDL3, 32,
NDL4, 32,
NDL5, 32,
NDL6, 32,
NDL7, 32,
NDL8, 32,
ASLP, 32,
TIDX, 32,
CHPD, 32,
CLID, 32,
CDCK, 32,
SXSW, 32,
EVTS, 32,
CNOT, 32,
NRDY, 32,
Offset(0x200),
SCIE, 1,
GEFC, 4,
GXFC, 3,
GESF, 8,
Offset(0x204),
PARM, 32,
DSLP, 32,
Offset(0x300),
ARDY, 32,
ASLC, 32,
TCHE, 32,
ALSI, 32,
BCLP, 32,
PFIT, 32,
CBLV, 32,
BCLM, 320,
CPFM, 32,
EPFM, 32,
PLUT, 592,
PFMB, 32,
CCDV, 32,
PCFT, 32,
Offset(0x400),
GVD1, 49152,
PHED, 32,
BDDC, 2048
}
Name(DBTB, Package(0x15) {
Zero,
0x07,
0x38,
0x01c0,
0x0e00,
0x3f,
0x01c7,
0x0e07,
0x01f8,
0x0e38,
0x0fc0,
Zero,
Zero,
Zero,
Zero,
Zero,
0x7000,
0x7007,
0x7038,
0x71c0,
0x7e00,
})
Name(CDCT, Package(0x05) {
Package(0x02) {
0xe4,
0x0140,
},
Package(0x02) {
0xde,
0x014d,
},
Package(0x02) {
0xde,
0x014d,
},
Package(0x02) {
Zero,
Zero,
},
Package(0x02) {
0xde,
0x014d,
},
})
Name(SUCC, One)
Name(NVLD, 0x02)
Name(CRIT, 0x04)
Name(NCRT, 0x06)
Method(GSCI, 0, Serialized) {
Method(GBDA, 0, Serialized) {
If(LEqual(GESF, Zero)) {
Store(0x0679, PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, One)) {
Store(0x0240, PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x04)) {
And(PARM, 0xefff0000, PARM)
And(PARM, ShiftLeft(DerefOf(Index(DBTB, IBTT, )), 0x10,
), PARM)
Or(IBTT, PARM, PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x05)) {
Store(IPSC, PARM)
Or(PARM, ShiftLeft(IPAT, 0x08, ), PARM)
Add(PARM, 0x0100, PARM)
Or(PARM, ShiftLeft(LIDS, 0x10, ), PARM)
Add(PARM, 0x00010000, PARM)
Or(PARM, ShiftLeft(IBIA, 0x14, ), PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x06)) {
Store(ITVF, PARM)
Or(PARM, ShiftLeft(ITVM, 0x04, ), PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x07)) {
Store(GIVD, PARM)
XOr(PARM, One, PARM)
Or(PARM, ShiftLeft(GMFN, One, ), PARM)
Or(PARM, 0x1800, PARM)
Or(PARM, ShiftLeft(IDMS, 0x11, ), PARM)
Or(ShiftLeft(DerefOf(Index(DerefOf(Index(CDCT, HVCO,
)), CDVL, )), 0x15, ), PARM, PARM)
Store(One, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x0a)) {
Store(Zero, PARM)
If(ISSC) {
Or(PARM, 0x03, PARM)
}
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x0b)) {
Store(KSV0, PARM)
Store(KSV1, GESF)
Return(SUCC)
}
Store(Zero, GESF)
Return(CRIT)
}
Method(SBCB, 0, Serialized) {
If(LEqual(GESF, Zero)) {
Store(Zero, PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, One)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x03)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x04)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x05)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x06)) {
Store(And(PARM, 0x0f, ), ITVF)
Store(ShiftRight(And(PARM, 0xf0, ), 0x04, ), ITVM)
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x07)) {
If(LEqual(PARM, Zero)) {
Store(CLID, Local0)
If(And(0x80000000, Local0, )) {
And(CLID, 0x0f, CLID)
GLID
CLID
}
}
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x08)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x09)) {
And(PARM, 0xff, IBTT)
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x0a)) {
And(PARM, 0xff, IPSC)
If(And(ShiftRight(PARM, 0x08, ), 0xff, )) {
And(ShiftRight(PARM, 0x08, ), 0xff, IPAT)
Decrement(IPAT)
}
And(ShiftRight(PARM, 0x14, ), 0x07, IBIA)
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x0b)) {
And(ShiftRight(PARM, One, ), One, IF1E)
If(And(PARM, 0x0001e000, )) {
And(ShiftRight(PARM, 0x0d, ), 0x0f, IDMS)
}
Else {
And(ShiftRight(PARM, 0x11, ), 0x0f, IDMS)
}
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x10)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x11)) {
Store(ShiftLeft(LIDS, 0x08, ), PARM)
Add(PARM, 0x0100, PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x12)) {
If(And(PARM, One, )) {
If(LEqual(ShiftRight(PARM, One, ), One)) {
Store(One, ISSC)
}
Else {
Store(Zero, GESF)
Return(CRIT)
}
}
Else {
Store(Zero, ISSC)
}
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x13)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x14)) {
And(PARM, 0x0f, PAVP)
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GEFC, 0x04)) {
Store(GBDA, GXFC)
}
If(LEqual(GEFC, 0x06)) {
Store(SBCB, GXFC)
}
Store(Zero, GEFC)
Store(One, SCIS)
Store(Zero, GSSE)
Store(Zero, SCIE)
Return(Zero)
}
Method(PDRD) {
If(LNot(DRDY)) {
Sleep(ASLP)
}
Return(LNot(DRDY))
}
Method(PSTS) {
If(LGreater(CSTS, 0x02)) {
Sleep(ASLP)
}
Return(LEqual(CSTS, 0x03))
}
Method(GNOT, 2) {
If(PDRD()) {
Return(One)
}
Store(Arg0, CEVT)
Store(0x03, CSTS)
If(LAnd(LEqual(CHPD, Zero), LEqual(Arg1, Zero))) {
If(LOr(LGreater(OSYS, 0x07d0), LLess(OSYS, 0x07d6))) {
Notify(PCI0, Arg1)
}
Else {
Notify(OVGA, Arg1)
}
}
Notify(OVGA, 0x80)
Return(Zero)
}
Method(GHDS, 1) {
Store(Arg0, TIDX)
Return(GNOT(One, Zero))
}
Method(GLID, 1) {
Store(Arg0, CLID)
Return(GNOT(0x02, Zero))
}
Method(GDCK, 1) {
Store(Arg0, CDCK)
Return(GNOT(0x04, Zero))
}
Method(PARD) {
If(LNot(ARDY)) {
Sleep(ASLP)
}
Return(LNot(ARDY))
}
Method(AINT, 2) {
If(LNot(And(TCHE, ShiftLeft(One, Arg0, ), ))) {
Return(One)
}
If(PARD()) {
Return(One)
}
If(LEqual(Arg0, 0x02)) {
If(CPFM) {
And(CPFM, 0x0f, Local0)
And(EPFM, 0x0f, Local1)
If(LEqual(Local0, One)) {
If(And(Local1, 0x06, )) {
Store(0x06, PFIT)
}
Else {
If(And(Local1, 0x08, )) {
Store(0x08, PFIT)
}
Else {
Store(One, PFIT)
}
}
}
If(LEqual(Local0, 0x06)) {
If(And(Local1, 0x08, )) {
Store(0x08, PFIT)
}
Else {
If(And(Local1, One, )) {
Store(One, PFIT)
}
Else {
Store(0x06, PFIT)
}
}
}
If(LEqual(Local0, 0x08)) {
If(And(Local1, One, )) {
Store(One, PFIT)
}
Else {
If(And(Local1, 0x06, )) {
Store(0x06, PFIT)
}
Else {
Store(0x08, PFIT)
}
}
}
}
Else {
XOr(PFIT, 0x07, PFIT)
}
Or(PFIT, 0x80000000, PFIT)
Store(0x04, ASLC)
}
Else {
If(LEqual(Arg0, One)) {
Store(Divide(Multiply(Arg1, 0xff, ), 0x64, , ), BCLP)
Or(BCLP, 0x80000000, BCLP)
Store(0x02, ASLC)
}
Else {
If(LEqual(Arg0, Zero)) {
Store(Arg1, ALSI)
Store(One, ASLC)
}
Else {
Return(One)
}
}
}
Store(Zero, LBPC)
Return(Zero)
}
Method(SCIP) {
If(LNot(LEqual(OVER, Zero))) {
Return(LNot(GSMI))
}
Return(Zero)
}
}
Device(PEGP) {
Name(_ADR, 0x00010000)
Method(_PRT) {
If(LEqual(GPIC, Zero)) {
Return(Package(0x01) {
Package(0x04) {
0xffff,
Zero,
^^LPC.LNKA,
Zero,
},
})
}
Else {
Return(Package(0x01) {
Package(0x04) {
0xffff,
Zero,
Zero,
0x10,
},
})
}
}
Device(VGA) {
Name(_ADR, Zero)
Name(SWIT, One)
Name(CRTA, One)
Name(LCDA, One)
Name(TV0A, One)
Name(HDTV, One)
Method(_STA) {
Return(0x0f)
}
Name(_PSC, Zero)
Method(_PS0) {
Store(0xe3, DBGD)
TRAP(TRTI, 0x21)
Store(Zero, _PSC)
}
Method(_PS3) {
Store(0x03, _PSC)
}
Method(_DOS, 1) {
Store(And(Arg0, 0x03, ), SWIT)
}
Method(_DOD) {
Return(Package(0x03) {
0x00010100,
0x00010118,
0x00010121,
})
}
Device(CRT) {
Name(_ADR, 0x0100)
Method(_DCS) {
Store("CRT\x20\x2d\x2d\x20\x5fDCS", Debug)
If(CRTA) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Method(_DGS) {
Store("CRT\x20\x2d\x2d\x20\x5fDGS", Debug)
If(CRTA) {
Return(One)
}
Else {
Return(Zero)
}
}
Method(_DSS, 1) {
Store("CRT\x20\x2d\x2d\x20\x5fDSS", Debug)
}
}
Device(LCD) {
Name(_ADR, 0x0118)
Method(_DCS) {
Store("LCD\x20\x2d\x2d\x20\x5fDCS", Debug)
If(LCDA) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Method(_DGS) {
Store("LCD\x20\x2d\x2d\x20\x5fDCS", Debug)
If(LCDA) {
Return(One)
}
Else {
Return(Zero)
}
}
Method(_DSS, 1) {
Store("LCD\x20\x2d\x2d\x20\x5fDSS", Debug)
}
Method(_BCL) {
If(LEqual(CHPF, One)) {
Return(BCLT)
}
Else {
Return(BCLT)
}
}
Method(_BCM, 1) {
If(ECOK) {
SBCM(Arg0)
}
}
Method(_BQC) {
If(ECOK) {
Return(GBQC())
}
Else {
Return(GBQC())
}
}
Method(GBQC) {
Store(Zero, Local0)
Store(^^^^LPC.EC0.BRTL, Local1)
While(LLess(Local0, 0x0b)) {
If(LEqual(CHPF, One)) {
Store(DerefOf(Index(BCT2, Local0, )), Local2)
}
Else {
If(LEqual(CKPL, One)) {
Store(DerefOf(Index(BCT3, Local0, )),
Local2)
}
Else {
Store(DerefOf(Index(BCT1, Local0, )),
Local2)
}
}
If(LEqual(Local1, Local2)) {
Add(Local0, 0x02, Local2)
Store(DerefOf(Index(BCLT, Local2, )), Local3)
Store(0x0b, Local0)
}
Increment(Local0)
}
Return(Local3)
}
Method(SBCM, 1) {
Store(Zero, Local0)
While(LLess(Local0, 0x0b)) {
Add(Local0, 0x02, Local1)
Store(DerefOf(Index(BCLT, Local1, )), Local2)
If(LEqual(Arg0, Local2)) {
If(LEqual(CHPF, One)) {
Store(DerefOf(Index(BCT2, Local0, )),
^^^^LPC.EC0.BRTL)
}
Else {
If(LEqual(CKPL, One)) {
Store(DerefOf(Index(BCT3, Local0, )),
^^^^LPC.EC0.BRTL)
}
Else {
Store(DerefOf(Index(BCT1, Local0, )),
^^^^LPC.EC0.BRTL)
}
}
Store(0x0b, Local0)
}
Increment(Local0)
}
}
}
Device(HDMI) {
Name(_ADR, 0x0121)
Method(_DCS) {
Store("HDMI\x20TV\x20\x2d\x2d\x20\x5fDCS", Debug)
If(HDTV) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Method(_DGS) {
Store("HDMI\x20TV\x20\x2d\x2d\x20\x5fDCS", Debug)
If(HDTV) {
Return(One)
}
Else {
Return(Zero)
}
}
Method(_DSS, 1) {
Store("HDMI\x20TV\x20\x2d\x2d\x20\x5fDSS", Debug)
}
}
}
}
Device(LANC) {
Name(_ADR, 0x00190000)
Name(_PRW, Package(0x02) {
0x0d,
0x04,
})
}
Device(P32) {
Name(_ADR, 0x001e0000)
Method(_PRW) {
If(LEqual(WKPM, One)) {
Return(Package(0x02) {
0x0b,
0x04,
})
}
Else {
Return(Package(0x02) {
0x0b,
Zero,
})
}
}
Method(_PRT) {
If(LEqual(GPIC, Zero)) {
Return(Package(0x04) {
Package(0x04) {
0x0002ffff,
Zero,
^^LPC.LNKD,
Zero,
},
Package(0x04) {
0x0002ffff,
One,
^^LPC.LNKC,
Zero,
},
Package(0x04) {
0x0002ffff,
0x02,
^^LPC.LNKA,
Zero,
},
Package(0x04) {
0x0002ffff,
0x03,
^^LPC.LNKB,
Zero,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0x0002ffff,
Zero,
Zero,
0x13,
},
Package(0x04) {
0x0002ffff,
One,
Zero,
0x12,
},
Package(0x04) {
0x0002ffff,
0x02,
Zero,
0x10,
},
Package(0x04) {
0x0002ffff,
0x03,
Zero,
0x11,
},
})
}
}
}
Device(LPC) {
Name(_ADR, 0x001f0000)
OperationRegion(PRR0, PCI_Config, 0x60, 0x04)
Field(PRR0, AnyAcc, NoLock, Preserve) {
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
OperationRegion(PRR1, PCI_Config, 0x68, 0x04)
Field(PRR1, AnyAcc, NoLock, Preserve) {
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8
}
OperationRegion(PRR2, PCI_Config, 0x80, 0x02)
Field(PRR2, AnyAcc, NoLock, Preserve) {
IODL, 8,
IODH, 8
}
Device(LNKA) {
Name(_HID, 0x0f0cd041)
Name(_UID, One)
Method(_STA) {
If(And(PIRA, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_DIS) {
Or(PIRA, 0x80, PIRA)
}
Method(_CRS) {
Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUF0, One, IRQW)
If(And(PIRA, 0x80, )) {
Store(Zero, Local0)
}
Else {
Store(One, Local0)
}
ShiftLeft(Local0, And(PIRA, 0x0f, ), IRQW)
Return(BUF0)
}
Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
Method(_SRS, 1) {
CreateWordField(Arg0, One, IRQW)
FindSetRightBit(IRQW, Local0)
If(LNot(LEqual(IRQW, Zero))) {
And(Local0, 0x7f, Local0)
Decrement(Local0)
}
Else {
Or(Local0, 0x80, Local0)
}
Store(Local0, PIRA)
}
}
Device(LNKB) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x02)
Method(_STA) {
If(And(PIRB, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_DIS) {
Or(PIRB, 0x80, PIRB)
}
Method(_CRS) {
Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUF0, One, IRQW)
If(And(PIRB, 0x80, )) {
Store(Zero, Local0)
}
Else {
Store(One, Local0)
}
ShiftLeft(Local0, And(PIRB, 0x0f, ), IRQW)
Return(BUF0)
}
Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
Method(_SRS, 1) {
CreateWordField(Arg0, One, IRQW)
FindSetRightBit(IRQW, Local0)
If(LNot(LEqual(IRQW, Zero))) {
And(Local0, 0x7f, Local0)
Decrement(Local0)
}
Else {
Or(Local0, 0x80, Local0)
}
Store(Local0, PIRB)
}
}
Device(LNKC) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x03)
Method(_STA) {
If(And(PIRC, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_DIS) {
Or(PIRC, 0x80, PIRC)
}
Method(_CRS) {
Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUF0, One, IRQW)
If(And(PIRC, 0x80, )) {
Store(Zero, Local0)
}
Else {
Store(One, Local0)
}
ShiftLeft(Local0, And(PIRC, 0x0f, ), IRQW)
Return(BUF0)
}
Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
Method(_SRS, 1) {
CreateWordField(Arg0, One, IRQW)
FindSetRightBit(IRQW, Local0)
If(LNot(LEqual(IRQW, Zero))) {
And(Local0, 0x7f, Local0)
Decrement(Local0)
}
Else {
Or(Local0, 0x80, Local0)
}
Store(Local0, PIRC)
}
}
Device(LNKD) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x04)
Method(_STA) {
If(And(PIRD, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_DIS) {
Or(PIRD, 0x80, PIRD)
}
Method(_CRS) {
Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUF0, One, IRQW)
If(And(PIRD, 0x80, )) {
Store(Zero, Local0)
}
Else {
Store(One, Local0)
}
ShiftLeft(Local0, And(PIRD, 0x0f, ), IRQW)
Return(BUF0)
}
Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
Method(_SRS, 1) {
CreateWordField(Arg0, One, IRQW)
FindSetRightBit(IRQW, Local0)
If(LNot(LEqual(IRQW, Zero))) {
And(Local0, 0x7f, Local0)
Decrement(Local0)
}
Else {
Or(Local0, 0x80, Local0)
}
Store(Local0, PIRD)
}
}
Device(LNKE) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x05)
Method(_STA) {
If(And(PIRE, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_DIS) {
Or(PIRE, 0x80, PIRE)
}
Method(_CRS) {
Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUF0, One, IRQW)
If(And(PIRE, 0x80, )) {
Store(Zero, Local0)
}
Else {
Store(One, Local0)
}
ShiftLeft(Local0, And(PIRE, 0x0f, ), IRQW)
Return(BUF0)
}
Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
Method(_SRS, 1) {
CreateWordField(Arg0, One, IRQW)
FindSetRightBit(IRQW, Local0)
If(LNot(LEqual(IRQW, Zero))) {
And(Local0, 0x7f, Local0)
Decrement(Local0)
}
Else {
Or(Local0, 0x80, Local0)
}
Store(Local0, PIRE)
}
}
Device(LNKF) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x06)
Method(_STA) {
If(And(PIRF, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_DIS) {
Or(PIRF, 0x80, PIRF)
}
Method(_CRS) {
Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUF0, One, IRQW)
If(And(PIRF, 0x80, )) {
Store(Zero, Local0)
}
Else {
Store(One, Local0)
}
ShiftLeft(Local0, And(PIRF, 0x0f, ), IRQW)
Return(BUF0)
}
Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
Method(_SRS, 1) {
CreateWordField(Arg0, One, IRQW)
FindSetRightBit(IRQW, Local0)
If(LNot(LEqual(IRQW, Zero))) {
And(Local0, 0x7f, Local0)
Decrement(Local0)
}
Else {
Or(Local0, 0x80, Local0)
}
Store(Local0, PIRF)
}
}
Device(LNKG) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x07)
Method(_STA) {
If(And(PIRG, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_DIS) {
Or(PIRG, 0x80, PIRG)
}
Method(_CRS) {
Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUF0, One, IRQW)
If(And(PIRG, 0x80, )) {
Store(Zero, Local0)
}
Else {
Store(One, Local0)
}
ShiftLeft(Local0, And(PIRG, 0x0f, ), IRQW)
Return(BUF0)
}
Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
Method(_SRS, 1) {
CreateWordField(Arg0, One, IRQW)
FindSetRightBit(IRQW, Local0)
If(LNot(LEqual(IRQW, Zero))) {
And(Local0, 0x7f, Local0)
Decrement(Local0)
}
Else {
Or(Local0, 0x80, Local0)
}
Store(Local0, PIRG)
}
}
Device(LNKH) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x08)
Method(_STA) {
If(And(PIRH, 0x80, )) {
Return(0x09)
}
Else {
Return(0x0b)
}
}
Method(_DIS) {
Or(PIRH, 0x80, PIRH)
}
Method(_CRS) {
Name(BUF0, Buffer(0x06) {0x23, 0x1, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUF0, One, IRQW)
If(And(PIRH, 0x80, )) {
Store(Zero, Local0)
}
Else {
Store(One, Local0)
}
ShiftLeft(Local0, And(PIRH, 0x0f, ), IRQW)
Return(BUF0)
}
Name(_PRS, Buffer(0x06) {0x23, 0xb8, 0x1e, 0x18, 0x79, 0x0 })
Method(_SRS, 1) {
CreateWordField(Arg0, One, IRQW)
FindSetRightBit(IRQW, Local0)
If(LNot(LEqual(IRQW, Zero))) {
And(Local0, 0x7f, Local0)
Decrement(Local0)
}
Else {
Or(Local0, 0x80, Local0)
}
Store(Local0, PIRH)
}
}
Device(SYSR) {
Name(_HID, 0x020cd041)
Name(BUF0, Buffer(0x0112) {0x47, 0x1, 0x2e, 0x0, 0x2e, 0x0,
0x1, 0x2, 0x47, 0x1, 0x4e, 0x0, 0x4e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x4e, 0x16,
0x4e, 0x16, 0x1, 0x2, 0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x47, 0x1,
0x70, 0x0, 0x70, 0x0, 0x1, 0x1, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x1,
0x47, 0x1, 0x92, 0x0, 0x92, 0x0, 0x1, 0x1, 0x47, 0x1, 0xb2, 0x0, 0xb2, 0x0,
0x1, 0x2, 0x47, 0x1, 0x63, 0x0, 0x63, 0x0, 0x1, 0x1, 0x47, 0x1, 0x65, 0x0,
0x65, 0x0, 0x1, 0x1, 0x47, 0x1, 0x67, 0x0, 0x67, 0x0, 0x1, 0x1, 0x47, 0x1, 0x0,
0x6, 0x0, 0x6, 0x1, 0x10, 0x47, 0x1, 0x10, 0x6, 0x10, 0x6, 0x1, 0x1, 0x47, 0x1,
0x0, 0x8, 0x0, 0x8, 0x1, 0x10, 0x47, 0x1, 0x10, 0x8, 0x10, 0x8, 0x1, 0x8, 0x47,
0x1, 0x20, 0x8, 0x20, 0x8, 0x1, 0x4, 0x47, 0x1, 0x0, 0x4, 0x0, 0x4, 0x1, 0x80,
0x47, 0x1, 0x0, 0x5, 0x0, 0x5, 0x1, 0x40, 0x47, 0x1, 0x80, 0x3, 0x80, 0x3, 0x1,
0x8, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf8, 0x0, 0x0, 0x0, 0x4, 0x86, 0x9,
0x0, 0x1, 0x0, 0xc0, 0xd1, 0xfe, 0x0, 0x40, 0x0, 0x0, 0x86!
, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd1, 0xfe, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0,
0x1, 0x0, 0x80, 0xd1, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0,
0x90, 0xd1, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xc0,
0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd2, 0xfe, 0x0, 0x0,
0x2, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd4, 0xfe, 0x0, 0x50, 0x0, 0x0, 0x86,
0x9, 0x0, 0x1, 0x0, 0x50, 0xd4, 0xfe, 0x0, 0xb0, 0x4, 0x0, 0x86, 0x9, 0x0, 0x1,
0x0, 0x0, 0xe0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x79, 0x0 })
Method(_CRS, 0, Serialized) {
If(LNot(LEqual(^^TPM.ACC0, 0xff))) {
CreateDWordField(BUF0, 0xf4, HTPM)
Store(Zero, HTPM)
}
Return(BUF0)
}
}
Device(DMAC) {
Name(_HID, 0x0002d041)
Name(_CRS, Buffer(0x25) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,
0x20, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0x11, 0x47, 0x1, 0x93, 0x0, 0x93,
0x0, 0x1, 0xd, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x1,
0x79, 0x0 })
}
Device(RTC) {
Name(_HID, 0x000bd041)
Name(BUF0, Buffer(0x0a) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1,
0x8, 0x79, 0x0 })
Name(BUF1, Buffer(0x0d) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1,
0x8, 0x22, 0x0, 0x1, 0x79, 0x0 })
Method(_CRS, 0, Serialized) {
If(LEqual(HPTS, One)) {
Return(BUF0)
}
Else {
Return(BUF1)
}
}
}
Device(HPET) {
Name(_HID, 0x0301d041)
Name(BUF0, Buffer(0x14) {0x22, 0x1, 0x0, 0x22, 0x0, 0x1, 0x86,
0x9, 0x0, 0x0, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 })
Method(_STA) {
If(LNot(LLess(OSYS, 0x07d1))) {
If(LEqual(HPTS, One)) {
Return(0x0f)
}
Else {
Return(Zero)
}
}
Else {
If(HPTS) {
Return(0x0b)
}
Else {
Return(Zero)
}
}
}
Method(_CRS, 0, Serialized) {
If(LEqual(HPTS, One)) {
CreateDWordField(BUF0, 0x0a, HPT0)
If(LEqual(HPTA, One)) {
Store(0xfed01000, HPT0)
}
If(LEqual(HPTA, 0x02)) {
Store(0xfed02000, HPT0)
}
If(LEqual(HPTA, 0x03)) {
Store(0xfed03000, HPT0)
}
}
Return(BUF0)
}
}
Device(PIC) {
Name(_HID, 0xd041)
Name(_CRS, Buffer(0x8d) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1,
0x2, 0x47, 0x1, 0x24, 0x0, 0x24, 0x0, 0x1, 0x2, 0x47, 0x1, 0x28, 0x0, 0x28,
0x0, 0x1, 0x2, 0x47, 0x1, 0x2c, 0x0, 0x2c, 0x0, 0x1, 0x2, 0x47, 0x1, 0x30, 0x0,
0x30, 0x0, 0x1, 0x2, 0x47, 0x1, 0x34, 0x0, 0x34, 0x0, 0x1, 0x2, 0x47, 0x1,
0x38, 0x0, 0x38, 0x0, 0x1, 0x2, 0x47, 0x1, 0x3c, 0x0, 0x3c, 0x0, 0x1, 0x2,
0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa4, 0x0, 0xa4, 0x0,
0x1, 0x2, 0x47, 0x1, 0xa8, 0x0, 0xa8, 0x0, 0x1, 0x2, 0x47, 0x1, 0xac, 0x0,
0xac, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb0, 0x0, 0xb0, 0x0, 0x1, 0x2, 0x47, 0x1,
0xb4, 0x0, 0xb4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb8, 0x0, 0xb8, 0x0, 0x1, 0x2,
0x47, 0x1, 0xbc, 0x0, 0xbc, 0x0, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4,
0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
}
Device(FPU) {
Name(_HID, 0x040cd041)
Name(_CRS, Buffer(0x0d) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1,
0x1, 0x22, 0x0, 0x20, 0x79, 0x0 })
}
Device(TIMR) {
Name(_HID, 0x0001d041)
Name(BUF0, Buffer(0x12) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1,
0x4, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x79, 0x0 })
Name(BUF1, Buffer(0x15) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1,
0x4, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
Method(_CRS, 0, Serialized) {
If(HPTS) {
Return(BUF0)
}
Return(BUF1)
}
}
Device(FWHD) {
Name(_HID, 0x0008d425)
Name(_CRS, Buffer(0x0e) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0x80,
0xff, 0x0, 0x0, 0x80, 0x0, 0x79, 0x0 })
}
Device(KBC) {
Name(_HID, 0x0303d041)
Name(_CRS, Buffer(0x16) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1,
0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x23, 0x2, 0x0, 0x1, 0x79, 0x0
})
Method(_STA) {
Return(0x0f)
}
Name(_PRW, Package(0x02) {
0x18,
0x03,
})
Method(_PSW, 1) {
Store(Arg0, KBWK)
}
}
Device(MOUE) {
Method(_HID) {
Return("\x2aSYN1E08")
}
Name(_CID, Package(0x03) {
0x001e2e4f,
0x02002e4f,
0x130fd041,
})
Name(_CRS, Buffer(0x06) {0x23, 0x0, 0x10, 0x1, 0x79, 0x0 })
Method(_STA) {
Return(0x0f)
}
Name(_PRW, Package(0x02) {
0x18,
0x03,
})
Method(_PSW, 1) {
Store(Arg0, MUWK)
}
}
Device(EC0) {
Name(_HID, 0x090cd041)
Name(_UID, One)
Method(_CRS) {
Name(BFFR, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0,
0x0, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x0, 0x1, 0x79, 0x0 })
Return(BFFR)
}
OperationRegion(ERAM, EmbeddedControl, Zero, 0xff)
Field(ERAM, ByteAcc, NoLock, Preserve) {
SMPR, 8,
SMST, 8,
SMAD, 8,
SMCM, 8,
SMD0, 256,
BCNT, 8,
SMAA, 8,
BATD, 16,
Offset(0x40),
SW2S, 1,
, 3,
THPM, 1,
Offset(0x41),
W7OS, 1,
, 1,
RFLE, 1,
, 1,
ECOS, 1,
PFN2, 1,
WOLF, 1,
PFLG, 1,
Offset(0x43),
BBDA, 1,
CIRB, 1,
, 4,
NQLB, 1,
Offset(0x44),
NICL, 1,
NICD, 1,
Offset(0x4e),
LIDE, 1,
Offset(0x52),
ECLS, 1,
WBSS, 1,
Offset(0x58),
RTMP, 8,
ECT1, 8,
ECT2, 8,
RG5B, 8,
FSPD, 16,
Offset(0x5f),
CFN2, 1,
SFN2, 1,
Offset(0x70),
BCLB, 8,
BCHB, 8,
Offset(0x74),
BVLB, 8,
BVHB, 8,
Offset(0x7e),
BATP, 8,
Offset(0x82),
MBST, 8,
MCUR, 16,
MBRM, 16,
MBCV, 16,
Offset(0xa0),
QBHK, 8,
RTCW, 1,
Offset(0xa2),
QBBB, 8,
SMTD, 8,
MBTS, 1,
MBTF, 1,
, 5,
BACR, 1,
MBTC, 1,
, 2,
MBNH, 1,
Offset(0xa6),
BA1C, 8,
Offset(0xaa),
ADIM, 1,
Offset(0xaf),
MCER, 8,
Offset(0xb2),
RPM1, 8,
RPM2, 8,
CLOW, 4,
CMAX, 4,
Offset(0xbc),
MCEA, 8,
Offset(0xcf),
DLYC, 8,
EBPL, 1,
Offset(0xd2),
, 6,
APWR, 1,
DLYE, 1,
Offset(0xd6),
DBPL, 8,
Offset(0xda),
EPRW, 8,
PSKB, 1,
PSTP, 1,
PSBA, 1,
PWOL, 1,
Offset(0xdf),
ECBW, 1,
Offset(0xe0),
DLYT, 8,
Offset(0xe2),
BRTL, 8,
Offset(0xe6),
SFHK, 8,
GQKS, 7,
Offset(0xf4),
SFAN, 8
}
Name(BATO, Zero)
Name(BATN, Zero)
Name(BATF, 0xc0)
Name(WBDS, Zero)
Method(_REG, 2) {
Store(One, ECOK)
GBAS()
If(LNot(LLess(OSYS, 0x07d9))) {
Store(One, W7OS)
}
Else {
Store(Zero, W7OS)
}
CMSW(0x6e, Zero)
If(LNot(LEqual(DQ30, One))) {
_Q30()
Store(One, DQ30)
}
}
Method(BPOL, 1) {
Store(Arg0, DBPL)
Store(One, EBPL)
}
Method(BPOM) {
Store(Zero, DBPL)
Store(Zero, EBPL)
}
Name(_GPE, 0x17)
Method(_Q09) {
If(LNot(LLess(OSYS, 0x07d1))) {
BPOM()
Notify(BAT0, 0x80)
Notify(ACAD, 0x80)
}
If(LEqual(OSYS, 0x07d0)) {
Notify(BAT0, 0x80)
Notify(BAT0, Zero)
Notify(ACAD, Zero)
}
If(WBDS) {
}
}
Method(_Q20) {
CMSW(0x7b, 0x20)
GBAS()
CMSW(0x7b, 0x21)
Notify(BAT0, 0x81)
Notify(BAT0, 0x80)
If(And(0x02, BATF, )) {
CMSW(0x7b, 0x22)
Notify(ACAD, 0x80)
Store(SW2S, PWRS)
If(CMPE) {
Notify(\_PR.CPU0, 0x81)
Notify(\_PR.CPU1, 0x81)
}
Else {
Notify(\_PR.CPU0, 0x81)
}
TRAP(TRTP, PSSS)
_Q30()
If(SW2S) {
If(LAnd(LLess(OSYS, 0x07d6), LLess(BRAC, 0x0b))) {
Store(BRAC, Local0)
Add(Local0, 0x02, Local0)
If(LEqual(CHPF, One)) {
Store(DerefOf(Index(BCL2, Local0, )), BRTL)
}
Else {
If(LEqual(CKPL, One)) {
Store(DerefOf(Index(BCL3, Local0, )),
BRTL)
}
Else {
Store(DerefOf(Index(BCL1, Local0, )),
BRTL)
}
}
}
If(LAnd(LEqual(CRPS, One), LNot(LLess(MCHD,
0x04)))) {
If(LNot(IGDS)) {
Store(Zero, ^^^EXP5.J380.D3EF)
TRAP(TRTI, 0x5c)
}
}
Store(0x03, ^^^^WMID.WEID)
Store(Zero, ^^^^WMID.WMED)
Notify(WMID, 0x80)
}
Else {
If(LAnd(LLess(OSYS, 0x07d6), LLess(BRDC, 0x0b))) {
Store(BRDC, Local0)
Add(Local0, 0x02, Local0)
If(LEqual(CHPF, One)) {
Store(DerefOf(Index(BCL2, Local0, )), BRTL)
}
Else {
If(LEqual(CKPL, One)) {
Store(DerefOf(Index(BCL3, Local0, )),
BRTL)
}
Else {
Store(DerefOf(Index(BCL1, Local0, )),
BRTL)
}
}
}
If(LAnd(LEqual(CRPS, One), LNot(LLess(MCHD,
0x04)))) {
If(LNot(IGDS)) {
Store(0x40, ^^^EXP5.J380.D3EF)
}
}
}
}
}
Method(_Q22) {
Store(Zero, BACR)
Notify(BAT0, 0x80)
}
Method(GBAS) {
Store(Zero, BATF)
Store(MBTS, Local0)
Store(SW2S, Local1)
ShiftLeft(Local0, 0x06, Local0)
ShiftLeft(Local1, One, Local1)
If(LNot(LEqual(And(BATO, 0x40, ), Local0))) {
Or(BATF, 0x40, BATF)
}
If(LNot(LEqual(And(BATO, 0x02, ), Local1))) {
Or(BATF, 0x02, BATF)
}
Store(Zero, BATO)
Or(Local0, Local1, BATO)
}
Method(_Q80) {
Store("\x5fQ80\x20\x3a\x20Temperature\x20Up", Debug)
Notify(\_TZ.TZ01, 0x80)
\_TZ.TZ01.OTHD(RTMP)
}
Method(_Q81) {
Store("\x5fQ81\x20\x3a\x20Temperature\x20Down", Debug)
Notify(\_TZ.TZ01, 0x80)
\_TZ.TZ01.OTHD(RTMP)
}
Method(_Q8A) {
If(LIDE) {
Store("\x5fQ8A\x20\x3a\x20LID\x20Switch\x20Event",
Debug)
Store(Zero, LIDE)
Notify(LID0, 0x80)
}
}
Method(_Q0D) {
If(IGDS) {
^^^OVGA.GHDS(Zero)
Sleep(0xc8)
}
Else {
TRAP(TRTI, 0x0b)
Store(NSTE, Local3)
Store(And(Local3, One, ), ^^^PEGP.VGA.LCDA)
Store(ShiftRight(And(Local3, 0x02, ), One, ),
^^^PEGP.VGA.CRTA)
Store(ShiftRight(And(Local3, 0x04, ), 0x02, ),
^^^PEGP.VGA.TV0A)
Store(ShiftRight(And(Local3, 0x10, ), 0x04, ),
^^^PEGP.VGA.HDTV)
Sleep(0xc8)
Notify(^^^PEGP.VGA, 0x80)
Sleep(0xc8)
}
}
Method(_Q11) {
If(LNot(LLess(OSYS, 0x07d6))) {
If(IGDS) {
Notify(^^^OVGA.DD03, 0x86)
}
Else {
Notify(^^^PEGP.VGA.LCD, 0x86)
}
}
Else {
BRXP(One)
}
}
Method(_Q10) {
If(LNot(LLess(OSYS, 0x07d6))) {
If(IGDS) {
Notify(^^^OVGA.DD03, 0x87)
}
Else {
Notify(^^^PEGP.VGA.LCD, 0x87)
}
}
Else {
BRXP(0x02)
}
}
Method(_Q14) {
TRAP(TRTI, 0xaa)
}
Method(_Q15) {
Store(0x15, P80H)
Store(CMSR(0x49), WAB1)
If(And(WAB1, 0x08, )) {
And(WAB1, 0xf7, WAB1)
Store(Zero, RFLE)
}
Else {
Or(WAB1, 0x08, WAB1)
If(LEqual(WAOK, Zero)) {
If(And(WBLC, One, )) {
Store(One, RFLE)
}
}
}
If(LEqual(WAOK, Zero)) {
Or(WAB1, 0x02, WAB1)
Or(WAB2, 0x02, WAB2)
Or(WAB3, 0x02, WAB3)
Or(WAB5, 0x08, WAB5)
Or(WAB4, 0x08, WAB4)
}
Else {
Store(0x07, WAB5)
Store(Zero, WAB4)
If(And(WAB1, 0x02, )) {
Or(WAB4, One, WAB4)
}
If(And(WAB2, 0x02, )) {
Or(WAB4, 0x02, WAB4)
}
If(And(WAB3, 0x02, )) {
Or(WAB4, 0x04, WAB4)
}
}
TRAP(TRTI, 0x20)
If(LEqual(WAOK, One)) {
Store(0x05, ^^^^WMID.WEID)
Store(Zero, ^^^^WMID.WMED)
Notify(WMID, 0x80)
}
}
Method(_Q16) {
Store("\x21\x21\x21\x20DVD\x2fMusic\x20Button\x20pressed\x20\x21\x21\x21",
Debug)
Store(0x04, ^^^^WMID.WEID)
Store(Zero, ^^^^WMID.WMED)
Notify(WMID, 0x80)
}
Method(_Q8E) {
If(LLess(Q8E0, Subtract(PSTN, One, ))) {
Increment(Q8E0)
}
CPUL()
Store(CUPS, CLOW)
TRAP(TRTP, PSSS)
}
Method(_Q8F) {
If(LGreater(Q8E0, Zero)) {
Decrement(Q8E0)
}
CPUL()
Store(CUPS, CLOW)
TRAP(TRTP, PSSS)
}
Method(_Q30) {
}
Field(ERAM, ByteAcc, NoLock, Preserve) {
Offset(0x4),
SMW0, 16
}
Field(ERAM, ByteAcc, NoLock, Preserve) {
Offset(0x4),
SMB0, 8
}
Field(ERAM, ByteAcc, NoLock, Preserve) {
Offset(0x4),
FLD0, 64
}
Field(ERAM, ByteAcc, NoLock, Preserve) {
Offset(0x4),
FLD1, 128
}
Field(ERAM, ByteAcc, NoLock, Preserve) {
Offset(0x4),
FLD2, 192
}
Field(ERAM, ByteAcc, NoLock, Preserve) {
Offset(0x4),
FLD3, 256
}
Mutex(MUT0, 0)
Mutex(MUT1, 0)
Method(SMRD, 4) {
If(LNot(ECOK)) {
Return(0xff)
}
If(LNot(LEqual(Arg0, 0x07))) {
If(LNot(LEqual(Arg0, 0x09))) {
If(LNot(LEqual(Arg0, 0x0b))) {
Return(0x19)
}
}
}
Acquire(MUT0, 0xffff)
Store(0x04, Local0)
While(LGreater(Local0, One)) {
And(SMST, 0x40, SMST)
Store(Arg2, SMCM)
Store(Arg1, SMAD)
Store(Arg0, SMPR)
Store(Zero, Local3)
While(LNot(And(SMST, 0xbf, Local1))) {
Sleep(0x02)
Increment(Local3)
If(LEqual(Local3, 0x32)) {
And(SMST, 0x40, SMST)
Store(Arg2, SMCM)
Store(Arg1, SMAD)
Store(Arg0, SMPR)
Store(Zero, Local3)
}
}
If(LEqual(Local1, 0x80)) {
Store(Zero, Local0)
}
Else {
Decrement(Local0)
}
}
If(Local0) {
Store(And(Local1, 0x1f, ), Local0)
}
Else {
If(LEqual(Arg0, 0x07)) {
Store(SMB0, Arg3)
}
If(LEqual(Arg0, 0x09)) {
Store(SMW0, Arg3)
}
If(LEqual(Arg0, 0x0b)) {
Store(BCNT, Local3)
ShiftRight(0x0100, 0x03, Local2)
If(LGreater(Local3, Local2)) {
Store(Local2, Local3)
}
If(LLess(Local3, 0x09)) {
Store(FLD0, Local2)
}
Else {
If(LLess(Local3, 0x11)) {
Store(FLD1, Local2)
}
Else {
If(LLess(Local3, 0x19)) {
Store(FLD2, Local2)
}
Else {
Store(FLD3, Local2)
}
}
}
Increment(Local3)
Store(Buffer(Local3) { }, Local4)
Decrement(Local3)
Store(Zero, Local5)
While(LGreater(Local3, Local5)) {
GBFE(Local2, Local5, RefOf(Local6))
PBFE(Local4, Local5, Local6)
Increment(Local5)
}
PBFE(Local4, Local5, Zero)
Store(Local4, Arg3)
}
}
Release(MUT0)
Return(Local0)
}
Method(SMWR, 4) {
If(LNot(ECOK)) {
Return(0xff)
}
If(LNot(LEqual(Arg0, 0x06))) {
If(LNot(LEqual(Arg0, 0x08))) {
If(LNot(LEqual(Arg0, 0x0a))) {
Return(0x19)
}
}
}
Acquire(MUT0, 0xffff)
Store(0x04, Local0)
While(LGreater(Local0, One)) {
If(LEqual(Arg0, 0x06)) {
Store(Arg3, SMB0)
}
If(LEqual(Arg0, 0x08)) {
Store(Arg3, SMW0)
}
If(LEqual(Arg0, 0x0a)) {
Store(Arg3, SMD0)
}
And(SMST, 0x40, SMST)
Store(Arg2, SMCM)
Store(Arg1, SMAD)
Store(Arg0, SMPR)
Store(Zero, Local3)
While(LNot(And(SMST, 0xbf, Local1))) {
Sleep(0x02)
Increment(Local3)
If(LEqual(Local3, 0x32)) {
And(SMST, 0x40, SMST)
Store(Arg2, SMCM)
Store(Arg1, SMAD)
Store(Arg0, SMPR)
Store(Zero, Local3)
}
}
If(LEqual(Local1, 0x80)) {
Store(Zero, Local0)
}
Else {
Decrement(Local0)
}
}
If(Local0) {
Store(And(Local1, 0x1f, ), Local0)
}
Release(MUT0)
Return(Local0)
}
Method(GSHK, 0, Serialized) {
If(ECOK) {
Store(SFHK, Local0)
}
Return(Local0)
}
Method(SSHK, 1, Serialized) {
If(ECOK) {
Store(Arg0, SFHK)
}
}
Method(NHSB) {
Store(SVIM, Local0)
If(LEqual(Local0, 0x04)) {
Notify(QBTN, 0x02)
}
If(LEqual(Local0, 0x05)) {
Notify(DBTN, 0x02)
}
If(LEqual(Local0, 0x03)) {
Notify(MBTN, 0x02)
}
If(LEqual(Local0, 0x10)) {
Notify(EBTN, 0x02)
}
If(LEqual(Local0, 0x06)) {
Notify(PBTN, 0x02)
}
If(LEqual(Local0, 0x11)) {
Notify(VBTN, 0x02)
}
If(LEqual(Local0, 0x12)) {
Notify(TBTN, 0x02)
}
Store(Zero, SVIM)
}
}
Device(TPM) {
Name(_HID, 0x310cd041)
Name(_STR, Buffer(0x1e) {0x54, 0x0, 0x50, 0x0, 0x4d, 0x0, 0x20,
0x0, 0x31, 0x0, 0x2e, 0x0, 0x32, 0x0, 0x20, 0x0, 0x44, 0x0, 0x65, 0x0, 0x76,
0x0, 0x69, 0x0, 0x63, 0x0, 0x65, 0x0, 0x0, 0x0 })
Name(_CRS, Buffer(0x0e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd4,
0xfe, 0x0, 0x50, 0x0, 0x0, 0x79, 0x0 })
OperationRegion(CMOS, SystemIO, 0x70, 0x04)
Field(CMOS, ByteAcc, NoLock, Preserve) {
IDX0, 7,
Offset(0x1),
DAT0, 8,
IDX1, 7,
Offset(0x3),
DAT1, 8
}
IndexField(IDX1, DAT1, ByteAcc, NoLock, Preserve) {
Offset(0x40),
CCMD, 8,
LCMD, 8,
LRET, 32,
EXST, 8
}
OperationRegion(SSMI, SystemIO, 0xb2, One)
Field(SSMI, ByteAcc, NoLock, Preserve) {
SMID, 8
}
OperationRegion(TPMR, SystemMemory, 0xfed40000, 0x5000)
Field(TPMR, AnyAcc, NoLock, Preserve) {
ACC0, 8
}
Method(_INI) {
Store(_STA(), EXST)
}
Method(_STA) {
If(LEqual(ACC0, 0xff)) {
Return(Zero)
}
Return(0x0f)
}
Method(HINF, 3) {
Name(_T_0, Zero)
Store(Arg1, _T_0)
If(LEqual(_T_0, Zero)) {
Return(Buffer(One) {0x1 })
}
Else {
If(LEqual(_T_0, One)) {
If(LEqual(_STA(), Zero)) {
Return(Package(0x01) {
Zero,
})
}
Return(Package(0x02) {
One,
Package(0x02) {
One,
0x20,
},
})
}
Else {
BreakPoint
}
}
Return(Buffer(Zero) { })
}
Method(TPPI, 3) {
Name(_T_0, Zero)
Store(Arg1, _T_0)
If(LEqual(_T_0, Zero)) {
Return(Buffer(One) {0x3f })
}
Else {
If(LEqual(_T_0, One)) {
Return("1.0")
}
Else {
If(LEqual(_T_0, 0x02)) {
CreateByteField(Arg2, Zero, TPC1)
Or(TPC1, 0x80, TPCC)
Store(0x50, SMID)
Return(Zero)
}
Else {
If(LEqual(_T_0, 0x03)) {
Name(TCCP, Package(0x02) {
Zero,
0xff,
})
Store(TPCC, Index(TCCP, One, ))
Return(TCCP)
}
Else {
If(LEqual(_T_0, 0x04)) {
Return(0x02)
}
Else {
If(LEqual(_T_0, 0x05)) {
Name(TLCR, Package(0x03) {
Zero,
0xff,
0xffff,
})
Store(TPLC, Index(TLCR, One, ))
Store(TPLR, Index(TLCR, 0x02, ))
Return(TLCR)
}
Else {
If(LEqual(_T_0, 0x06)) {
Store(DerefOf(Index(Arg2, 0x04,
)), Local0)
Store(DerefOf(Index(Arg2, 0x05,
)), Local1)
If(LOr(LEqual(Local0, 0x65),
LEqual(Local0, 0x45))) {
If(LOr(LEqual(Local1,
0x6e), LEqual(Local1, 0x4e))) {
Return(Zero)
}
}
Return(One)
}
Else {
BreakPoint
}
}
}
}
}
}
}
Return(One)
}
Method(SMOR, 3) {
Store(Index(Arg2, Zero, ), TPMM)
Store(0x48, SMID)
Return(Zero)
}
Method(_DSM, 4) {
If(LEqual(Arg0, Buffer(0x10) {0xa5, 0x16, 0x8e, 0xcf, 0xe8,
0xc1, 0x25, 0x4e, 0xb7, 0x12, 0x4f, 0x54, 0xa9, 0x67, 0x2, 0xc8 })) {
Return(HINF(Arg1, Arg2, Arg3))
}
If(LEqual(Arg0, Buffer(0x10) {0xa6, 0xfa, 0xdd, 0x3d, 0x1b,
0x36, 0xb4, 0x4e, 0xa4, 0x24, 0x8d, 0x10, 0x8, 0x9d, 0x16, 0x53 })) {
Return(TPPI(Arg1, Arg2, Arg3))
}
If(LEqual(Arg0, Buffer(0x10) {0xed, 0x54, 0x60, 0x37, 0x13,
0xcc, 0x75, 0x46, 0x90, 0x1c, 0x47, 0x56, 0xd7, 0xf2, 0xd4, 0x5d })) {
Return(SMOR(Arg1, Arg2, Arg3))
}
Return(Buffer(Zero) { })
}
}
}
Device(UHC0) {
Name(_ADR, 0x001d0000)
Name(_PRW, Package(0x02) {
0x03,
0x03,
})
OperationRegion(USBR, PCI_Config, 0xc4, One)
Field(USBR, AnyAcc, NoLock, Preserve) {
URES, 8
}
Method(_PSW, 1) {
If(LAnd(Arg0, USBW)) {
If(ECOK) {
If(^^LPC.EC0.SW2S) {
Store(0x03, URES)
}
Else {
Store(Zero, URES)
}
}
Else {
Store(Zero, URES)
}
}
Else {
Store(Zero, URES)
}
}
Method(_S3D) {
Return(0x02)
}
Method(_S4D) {
Return(0x02)
}
}
Device(UHC1) {
Name(_ADR, 0x001d0001)
}
Device(UHC2) {
Name(_ADR, 0x001d0002)
Device(RHUB) {
Name(_ADR, Zero)
Device(PRT2) {
Name(_ADR, 0x02)
Name(_UPC, Package(0x04) {
0xff,
0xff,
Zero,
Zero,
})
Name(_PLD, Buffer(0x10) {0x81, 0x0, 0x0, 0x0 })
}
}
}
Device(EHC1) {
Name(_ADR, 0x001d0007)
Device(RHUB) {
Name(_ADR, Zero)
Device(PRT1) {
Name(_ADR, One)
}
Device(PRT2) {
Name(_ADR, 0x02)
}
Device(PRT3) {
Name(_ADR, 0x03)
}
Device(PRT4) {
Name(_ADR, 0x04)
Name(_UPC, Package(0x04) {
0xff,
0xff,
Zero,
Zero,
})
Name(_PLD, Buffer(0x10) {0x81, 0x0, 0x0, 0x0 })
}
Device(PRT5) {
Name(_ADR, 0x05)
}
Device(PRT6) {
Name(_ADR, 0x06)
}
Device(PRT7) {
Name(_ADR, 0x07)
}
Device(PRT8) {
Name(_ADR, 0x08)
}
}
Name(_PRW, Package(0x02) {
0x0d,
0x03,
})
}
Device(UHC3) {
Name(_ADR, 0x001a0000)
Name(_PRW, Package(0x02) {
0x0e,
0x03,
})
OperationRegion(USBR, PCI_Config, 0xc4, One)
Field(USBR, AnyAcc, NoLock, Preserve) {
URES, 8
}
Method(_PSW, 1) {
If(LAnd(Arg0, USBW)) {
If(ECOK) {
If(^^LPC.EC0.SW2S) {
Store(0x03, URES)
}
Else {
Store(Zero, URES)
}
}
Else {
Store(Zero, URES)
}
}
Else {
Store(Zero, URES)
}
}
Method(_S3D) {
Return(0x02)
}
Method(_S4D) {
Return(0x02)
}
}
Device(UHC4) {
Name(_ADR, 0x001a0001)
Name(_PRW, Package(0x02) {
0x05,
0x03,
})
OperationRegion(USBR, PCI_Config, 0xc4, One)
Field(USBR, AnyAcc, NoLock, Preserve) {
URES, 8
}
Method(_PSW, 1) {
If(LAnd(Arg0, USBW)) {
If(ECOK) {
If(^^LPC.EC0.SW2S) {
Store(0x03, URES)
}
Else {
Store(Zero, URES)
}
}
Else {
Store(Zero, URES)
}
}
Else {
Store(Zero, URES)
}
}
Method(_S3D) {
Return(0x02)
}
Method(_S4D) {
Return(0x02)
}
}
Device(UHC5) {
Name(_ADR, 0x001a0002)
}
Device(EHC2) {
Name(_ADR, 0x001a0007)
Device(RHUB) {
Name(_ADR, Zero)
Device(PRT1) {
Name(_ADR, One)
Name(_UPC, Package(0x04) {
0xff,
0xff,
Zero,
Zero,
})
Name(_PLD, Buffer(0x10) {0x81, 0x0, 0x0, 0x0 })
}
Device(PRT2) {
Name(_ADR, 0x02)
}
Device(PRT3) {
Name(_ADR, 0x03)
}
Device(PRT4) {
Name(_ADR, 0x04)
}
}
Name(_PRW, Package(0x02) {
0x0d,
0x03,
})
}
Device(EXP1) {
Name(_ADR, 0x001c0000)
OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
VDID, 16,
Offset(0x19),
SECB, 8,
Offset(0x52),
, 13,
LASX, 1,
Offset(0x5a),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset(0x5b),
LSCX, 1,
Offset(0x60),
Offset(0x62),
PSPX, 1,
Offset(0xd8),
, 30,
HPEN, 1,
PMEN, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Method(_PRT) {
If(LEqual(GPIC, Zero)) {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
^^LPC.LNKA,
Zero,
},
Package(0x04) {
0xffff,
One,
^^LPC.LNKB,
Zero,
},
Package(0x04) {
0xffff,
0x02,
^^LPC.LNKC,
Zero,
},
Package(0x04) {
0xffff,
0x03,
^^LPC.LNKD,
Zero,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
Zero,
0x10,
},
Package(0x04) {
0xffff,
One,
Zero,
0x11,
},
Package(0x04) {
0xffff,
0x02,
Zero,
0x12,
},
Package(0x04) {
0xffff,
0x03,
Zero,
0x13,
},
})
}
}
}
Device(EXP2) {
Name(_ADR, 0x001c0001)
OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
VDID, 16,
Offset(0x19),
SECB, 8,
Offset(0x52),
, 13,
LASX, 1,
Offset(0x5a),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset(0x5b),
LSCX, 1,
Offset(0x60),
Offset(0x62),
PSPX, 1,
Offset(0xd8),
, 30,
HPEN, 1,
PMEN, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Method(_PRW) {
If(LNot(LLess(MCHD, 0x04))) {
Return(Package(0x02) {
0x09,
0x05,
})
}
Else {
Return(Package(0x02) {
0x09,
Zero,
})
}
}
Method(_PRT) {
If(LEqual(GPIC, Zero)) {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
^^LPC.LNKB,
Zero,
},
Package(0x04) {
0xffff,
One,
^^LPC.LNKC,
Zero,
},
Package(0x04) {
0xffff,
0x02,
^^LPC.LNKD,
Zero,
},
Package(0x04) {
0xffff,
0x03,
^^LPC.LNKA,
Zero,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
Zero,
0x11,
},
Package(0x04) {
0xffff,
One,
Zero,
0x12,
},
Package(0x04) {
0xffff,
0x02,
Zero,
0x13,
},
Package(0x04) {
0xffff,
0x03,
Zero,
0x10,
},
})
}
}
Device(PXSX) {
Name(_ADR, Zero)
OperationRegion(RTLD, PCI_Config, Zero, 0x02)
Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
RVID, 16
}
Method(_STA) {
If(LEqual(RVID, 0xffff)) {
Return(Zero)
}
Else {
Return(0x0f)
}
}
Method(_PRW) {
If(LNot(LLess(MCHD, 0x04))) {
Return(Package(0x02) {
0x09,
0x05,
})
}
Else {
Return(Package(0x02) {
0x09,
Zero,
})
}
}
Method(_PSW, 1) {
If(LNot(LLess(MCHD, 0x04))) {
Store(Arg0, LAWK)
}
}
}
}
Device(EXP3) {
Name(_ADR, 0x001c0002)
OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
VDID, 16,
Offset(0x19),
SECB, 8,
Offset(0x52),
, 13,
LASX, 1,
Offset(0x5a),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset(0x5b),
LSCX, 1,
Offset(0x60),
Offset(0x62),
PSPX, 1,
Offset(0xd8),
, 30,
HPEN, 1,
PMEN, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Method(_PRT) {
If(LEqual(GPIC, Zero)) {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
^^LPC.LNKC,
Zero,
},
Package(0x04) {
0xffff,
One,
^^LPC.LNKD,
Zero,
},
Package(0x04) {
0xffff,
0x02,
^^LPC.LNKA,
Zero,
},
Package(0x04) {
0xffff,
0x03,
^^LPC.LNKB,
Zero,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
Zero,
0x12,
},
Package(0x04) {
0xffff,
One,
Zero,
0x13,
},
Package(0x04) {
0xffff,
0x02,
Zero,
0x10,
},
Package(0x04) {
0xffff,
0x03,
Zero,
0x11,
},
})
}
}
}
Device(EXP4) {
Name(_ADR, 0x001c0003)
OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
VDID, 16,
Offset(0x19),
SECB, 8,
Offset(0x52),
, 13,
LASX, 1,
Offset(0x5a),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset(0x5b),
LSCX, 1,
Offset(0x60),
Offset(0x62),
PSPX, 1,
Offset(0xd8),
, 30,
HPEN, 1,
PMEN, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Method(_PRT) {
If(LEqual(GPIC, Zero)) {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
^^LPC.LNKD,
Zero,
},
Package(0x04) {
0xffff,
One,
^^LPC.LNKA,
Zero,
},
Package(0x04) {
0xffff,
0x02,
^^LPC.LNKB,
Zero,
},
Package(0x04) {
0xffff,
0x03,
^^LPC.LNKC,
Zero,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
Zero,
0x13,
},
Package(0x04) {
0xffff,
One,
Zero,
0x10,
},
Package(0x04) {
0xffff,
0x02,
Zero,
0x11,
},
Package(0x04) {
0xffff,
0x03,
Zero,
0x12,
},
})
}
}
}
Device(EXP5) {
Name(_ADR, 0x001c0004)
OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
VDID, 16,
Offset(0x19),
SECB, 8,
Offset(0x52),
, 13,
LASX, 1,
Offset(0x5a),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset(0x5b),
LSCX, 1,
Offset(0x60),
Offset(0x62),
PSPX, 1,
Offset(0xd8),
, 30,
HPEN, 1,
PMEN, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Device(J380) {
Name(_ADR, Zero)
OperationRegion(PCFG, PCI_Config, Zero, 0xff)
Field(PCFG, ByteAcc, NoLock, Preserve) {
DVID, 32,
Offset(0x2c),
SSID, 32,
Offset(0xac),
D3EF, 8,
Offset(0xb2),
LAT0, 8,
Offset(0xcf),
ATRB, 8,
Offset(0xd3),
PMC0, 8
}
Method(_STA) {
If(LNot(LEqual(DVID, Ones))) {
Return(0x0f)
}
Else {
Return(Zero)
}
}
Method(_RMV) {
If(LNot(LLess(MCHD, 0x04))) {
If(LEqual(CRPS, One)) {
Return(One)
}
}
Return(Zero)
}
}
Device(J381) {
Name(_ADR, One)
Method(_RMV) {
If(LNot(LLess(MCHD, 0x04))) {
If(LEqual(CRPS, One)) {
Return(One)
}
}
Return(Zero)
}
}
Device(J382) {
Name(_ADR, 0x02)
Method(_RMV) {
If(LNot(LLess(MCHD, 0x04))) {
If(LEqual(CRPS, One)) {
Return(One)
}
}
Return(Zero)
}
}
Device(J383) {
Name(_ADR, 0x03)
Method(_RMV) {
If(LNot(LLess(MCHD, 0x04))) {
If(LEqual(CRPS, One)) {
Return(One)
}
}
Return(Zero)
}
}
Device(J384) {
Name(_ADR, 0x04)
Method(_RMV) {
If(LNot(LLess(MCHD, 0x04))) {
If(LEqual(CRPS, One)) {
Return(One)
}
}
Return(Zero)
}
}
Method(_PRT) {
If(LEqual(GPIC, Zero)) {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
^^LPC.LNKA,
Zero,
},
Package(0x04) {
0xffff,
One,
^^LPC.LNKB,
Zero,
},
Package(0x04) {
0xffff,
0x02,
^^LPC.LNKC,
Zero,
},
Package(0x04) {
0xffff,
0x03,
^^LPC.LNKD,
Zero,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
Zero,
0x10,
},
Package(0x04) {
0xffff,
One,
Zero,
0x11,
},
Package(0x04) {
0xffff,
0x02,
Zero,
0x12,
},
Package(0x04) {
0xffff,
0x03,
Zero,
0x13,
},
})
}
}
}
Device(EXP6) {
Name(_ADR, 0x001c0005)
OperationRegion(PXCS, PCI_Config, Zero, 0xe0)
Field(PXCS, AnyAcc, NoLock, WriteAsZeros) {
VDID, 16,
Offset(0x19),
SECB, 8,
Offset(0x52),
, 13,
LASX, 1,
Offset(0x5a),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset(0x5b),
LSCX, 1,
Offset(0x60),
Offset(0x62),
PSPX, 1,
Offset(0xd8),
, 30,
HPEN, 1,
PMEN, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Method(_BBN) {
Return(SECB)
}
Method(_PRW) {
If(LNot(LLess(MCHD, 0x04))) {
Return(Package(0x02) {
0x09,
Zero,
})
}
Else {
Return(Package(0x02) {
0x09,
0x05,
})
}
}
Method(_PRT) {
If(LEqual(GPIC, Zero)) {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
^^LPC.LNKB,
Zero,
},
Package(0x04) {
0xffff,
One,
^^LPC.LNKC,
Zero,
},
Package(0x04) {
0xffff,
0x02,
^^LPC.LNKD,
Zero,
},
Package(0x04) {
0xffff,
0x03,
^^LPC.LNKA,
Zero,
},
})
}
Else {
Return(Package(0x04) {
Package(0x04) {
0xffff,
Zero,
Zero,
0x11,
},
Package(0x04) {
0xffff,
One,
Zero,
0x12,
},
Package(0x04) {
0xffff,
0x02,
Zero,
0x13,
},
Package(0x04) {
0xffff,
0x03,
Zero,
0x10,
},
})
}
}
Device(PXSX) {
Name(_ADR, Zero)
Method(_RMV) {
If(LNot(LLess(MCHD, 0x04))) {
Return(One)
}
Else {
Return(Zero)
}
}
Method(_STA) {
If(PDSX) {
Return(0x0f)
}
Else {
Return(Zero)
}
}
Method(_PRW) {
If(LNot(LLess(MCHD, 0x04))) {
Return(Package(0x02) {
0x09,
Zero,
})
}
Else {
Return(Package(0x02) {
0x09,
0x05,
})
}
}
Method(_PSW, 1) {
If(LLess(MCHD, 0x04)) {
Store(Arg0, LAWK)
}
}
}
}
Device(SAT0) {
Name(_ADR, 0x001f0002)
OperationRegion(SACS, PCI_Config, 0x40, 0xc0)
Field(SACS, DWordAcc, NoLock, Preserve) {
PRIT, 16,
SECT, 16,
PSIT, 4,
SSIT, 4,
Offset(0x8),
SYNC, 4,
Offset(0xa),
SDT0, 2,
, 2,
SDT1, 2,
Offset(0xb),
SDT2, 2,
, 2,
SDT3, 2,
Offset(0x14),
ICR0, 4,
ICR1, 4,
ICR2, 4,
ICR3, 4,
ICR4, 4,
ICR5, 4,
Offset(0x50),
MAPV, 2
}
Device(PRID) {
Name(_ADR, Zero)
Method(_GTM) {
If(LEqual(SCFG, Zero)) {
Name(PBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
CreateDWordField(PBUF, Zero, PIO0)
CreateDWordField(PBUF, 0x04, DMA0)
CreateDWordField(PBUF, 0x08, PIO1)
CreateDWordField(PBUF, 0x0c, DMA1)
CreateDWordField(PBUF, 0x10, FLAG)
Store(GETP(PRIT), PIO0)
Store(GDMA(And(SYNC, One, ), And(ICR3, One, ),
And(ICR0, One, ), SDT0, And(ICR1, One, )), DMA0)
If(LEqual(DMA0, Ones)) {
Store(PIO0, DMA0)
}
If(And(PRIT, 0x4000, )) {
If(LEqual(And(PRIT, 0x90, ), 0x80)) {
Store(0x0384, PIO1)
}
Else {
Store(GETT(PSIT), PIO1)
}
}
Else {
Store(Ones, PIO1)
}
Store(GDMA(And(SYNC, 0x02, ), And(ICR3, 0x02, ),
And(ICR0, 0x02, ), SDT1, And(ICR1, 0x02, )), DMA1)
If(LEqual(DMA1, Ones)) {
Store(PIO1, DMA1)
}
Store(GETF(And(SYNC, One, ), And(SYNC, 0x02, ), PRIT),
FLAG)
Return(PBUF)
}
}
Method(_STM, 3) {
If(LEqual(SCFG, Zero)) {
CreateDWordField(Arg0, Zero, PIO0)
CreateDWordField(Arg0, 0x04, DMA0)
CreateDWordField(Arg0, 0x08, PIO1)
CreateDWordField(Arg0, 0x0c, DMA1)
CreateDWordField(Arg0, 0x10, FLAG)
If(LEqual(SizeOf(Arg1), 0x0200)) {
And(PRIT, 0x40f0, PRIT)
And(SYNC, 0x0e, SYNC)
Store(Zero, SDT0)
And(ICR0, 0x0e, ICR0)
And(ICR1, 0x0e, ICR1)
And(ICR3, 0x0e, ICR3)
And(ICR5, 0x0e, ICR5)
CreateWordField(Arg1, 0x62, W490)
CreateWordField(Arg1, 0x6a, W530)
CreateWordField(Arg1, 0x7e, W630)
CreateWordField(Arg1, 0x80, W640)
CreateWordField(Arg1, 0xb0, W880)
CreateWordField(Arg1, 0xba, W930)
Or(PRIT, 0x8004, PRIT)
If(LAnd(And(FLAG, 0x02, ), And(W490, 0x0800, ))) {
Or(PRIT, 0x02, PRIT)
}
Or(PRIT, SETP(PIO0, W530, W640), PRIT)
If(And(FLAG, One, )) {
Or(SYNC, One, SYNC)
Store(SDMA(DMA0), SDT0)
If(LLess(DMA0, 0x1e)) {
Or(ICR3, One, ICR3)
}
If(LLess(DMA0, 0x3c)) {
Or(ICR0, One, ICR0)
}
Or(ICR1, One, ICR1)
}
}
If(LEqual(SizeOf(Arg2), 0x0200)) {
And(PRIT, 0x3f0f, PRIT)
Store(Zero, PSIT)
And(SYNC, 0x0d, SYNC)
Store(Zero, SDT1)
And(ICR0, 0x0d, ICR0)
And(ICR1, 0x0d, ICR1)
And(ICR3, 0x0d, ICR3)
And(ICR5, 0x0d, ICR5)
CreateWordField(Arg2, 0x62, W491)
CreateWordField(Arg2, 0x6a, W531)
CreateWordField(Arg2, 0x7e, W631)
CreateWordField(Arg2, 0x80, W641)
CreateWordField(Arg2, 0xb0, W881)
CreateWordField(Arg2, 0xba, W931)
Or(PRIT, 0x8040, PRIT)
If(LAnd(And(FLAG, 0x08, ), And(W491, 0x0800, ))) {
Or(PRIT, 0x20, PRIT)
}
If(And(FLAG, 0x10, )) {
Or(PRIT, 0x4000, PRIT)
If(LGreater(PIO1, 0xf0)) {
Or(PRIT, 0x80, PRIT)
}
Else {
Or(PRIT, 0x10, PRIT)
Store(SETT(PIO1, W531, W641), PSIT)
}
}
If(And(FLAG, 0x04, )) {
Or(SYNC, 0x02, SYNC)
Store(SDMA(DMA1), SDT1)
If(LLess(DMA1, 0x1e)) {
Or(ICR3, 0x02, ICR3)
}
If(LLess(DMA1, 0x3c)) {
Or(ICR0, 0x02, ICR0)
}
Or(ICR1, 0x02, ICR1)
}
}
}
}
Device(P_D0) {
Name(_ADR, Zero)
Method(_GTF) {
If(LEqual(SCFG, Zero)) {
Name(PIB0, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0,
0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
CreateByteField(PIB0, One, PMD0)
CreateByteField(PIB0, 0x08, DMD0)
If(And(PRIT, 0x02, )) {
If(LEqual(And(PRIT, 0x09, ), 0x08)) {
Store(0x08, PMD0)
}
Else {
Store(0x0a, PMD0)
ShiftRight(And(PRIT, 0x0300, ), 0x08,
Local0)
ShiftRight(And(PRIT, 0x3000, ), 0x0c,
Local1)
Add(Local0, Local1, Local2)
If(LEqual(0x03, Local2)) {
Store(0x0b, PMD0)
}
If(LEqual(0x05, Local2)) {
Store(0x0c, PMD0)
}
}
}
Else {
Store(One, PMD0)
}
If(And(SYNC, One, )) {
Store(Or(SDT0, 0x40, ), DMD0)
If(And(ICR1, One, )) {
If(And(ICR0, One, )) {
Add(DMD0, 0x02, DMD0)
}
If(And(ICR3, One, )) {
Store(0x45, DMD0)
}
}
}
Else {
Or(Subtract(And(PMD0, 0x07, ), 0x02, ), 0x20,
DMD0)
}
Return(PIB0)
}
}
}
Device(P_D1) {
Name(_ADR, One)
Method(_GTF) {
If(LEqual(SCFG, Zero)) {
Name(PIB1, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0,
0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
CreateByteField(PIB1, One, PMD1)
CreateByteField(PIB1, 0x08, DMD1)
If(And(PRIT, 0x20, )) {
If(LEqual(And(PRIT, 0x90, ), 0x80)) {
Store(0x08, PMD1)
}
Else {
Add(And(PSIT, 0x03, ), ShiftRight(And(PSIT,
0x0c, ), 0x02, ), Local0)
If(LEqual(0x05, Local0)) {
Store(0x0c, PMD1)
}
Else {
If(LEqual(0x03, Local0)) {
Store(0x0b, PMD1)
}
Else {
Store(0x0a, PMD1)
}
}
}
}
Else {
Store(One, PMD1)
}
If(And(SYNC, 0x02, )) {
Store(Or(SDT1, 0x40, ), DMD1)
If(And(ICR1, 0x02, )) {
If(And(ICR0, 0x02, )) {
Add(DMD1, 0x02, DMD1)
}
If(And(ICR3, 0x02, )) {
Store(0x45, DMD1)
}
}
}
Else {
Or(Subtract(And(PMD1, 0x07, ), 0x02, ), 0x20,
DMD1)
}
Return(PIB1)
}
}
}
}
Device(SECD) {
Name(_ADR, One)
Method(_GTM) {
If(LEqual(SCFG, Zero)) {
Name(SBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
CreateDWordField(SBUF, Zero, PIO0)
CreateDWordField(SBUF, 0x04, DMA0)
CreateDWordField(SBUF, 0x08, PIO1)
CreateDWordField(SBUF, 0x0c, DMA1)
CreateDWordField(SBUF, 0x10, FLAG)
Store(GETP(SECT), PIO0)
Store(GDMA(And(SYNC, 0x04, ), And(ICR3, 0x04, ),
And(ICR0, 0x04, ), SDT2, And(ICR1, 0x04, )), DMA0)
If(LEqual(DMA0, Ones)) {
Store(PIO0, DMA0)
}
If(And(SECT, 0x4000, )) {
If(LEqual(And(SECT, 0x90, ), 0x80)) {
Store(0x0384, PIO1)
}
Else {
Store(GETT(SSIT), PIO1)
}
}
Else {
Store(Ones, PIO1)
}
Store(GDMA(And(SYNC, 0x08, ), And(ICR3, 0x08, ),
And(ICR0, 0x08, ), SDT3, And(ICR1, 0x08, )), DMA1)
If(LEqual(DMA1, Ones)) {
Store(PIO1, DMA1)
}
Store(GETF(And(SYNC, 0x04, ), And(SYNC, 0x08, ), SECT),
FLAG)
Return(SBUF)
}
}
Method(_STM, 3) {
If(LEqual(SCFG, Zero)) {
CreateDWordField(Arg0, Zero, PIO0)
CreateDWordField(Arg0, 0x04, DMA0)
CreateDWordField(Arg0, 0x08, PIO1)
CreateDWordField(Arg0, 0x0c, DMA1)
CreateDWordField(Arg0, 0x10, FLAG)
If(LEqual(SizeOf(Arg1), 0x0200)) {
And(SECT, 0x40f0, SECT)
And(SYNC, 0x0b, SYNC)
Store(Zero, SDT2)
And(ICR0, 0x0b, ICR0)
And(ICR1, 0x0b, ICR1)
And(ICR3, 0x0b, ICR3)
And(ICR5, 0x0b, ICR5)
CreateWordField(Arg1, 0x62, W490)
CreateWordField(Arg1, 0x6a, W530)
CreateWordField(Arg1, 0x7e, W630)
CreateWordField(Arg1, 0x80, W640)
CreateWordField(Arg1, 0xb0, W880)
CreateWordField(Arg1, 0xba, W930)
Or(SECT, 0x8004, SECT)
If(LAnd(And(FLAG, 0x02, ), And(W490, 0x0800, ))) {
Or(SECT, 0x02, SECT)
}
Or(SECT, SETP(PIO0, W530, W640), SECT)
If(And(FLAG, One, )) {
Or(SYNC, 0x04, SYNC)
Store(SDMA(DMA0), SDT2)
If(LLess(DMA0, 0x1e)) {
Or(ICR3, 0x04, ICR3)
}
If(LLess(DMA0, 0x3c)) {
Or(ICR0, 0x04, ICR0)
}
Or(ICR1, 0x04, ICR1)
}
}
If(LEqual(SizeOf(Arg2), 0x0200)) {
And(SECT, 0x3f0f, SECT)
Store(Zero, SSIT)
And(SYNC, 0x07, SYNC)
Store(Zero, SDT3)
And(ICR0, 0x07, ICR0)
And(ICR1, 0x07, ICR1)
And(ICR3, 0x07, ICR3)
And(ICR5, 0x07, ICR5)
CreateWordField(Arg2, 0x62, W491)
CreateWordField(Arg2, 0x6a, W531)
CreateWordField(Arg2, 0x7e, W631)
CreateWordField(Arg2, 0x80, W641)
CreateWordField(Arg2, 0xb0, W881)
CreateWordField(Arg2, 0xba, W931)
Or(SECT, 0x8040, SECT)
If(LAnd(And(FLAG, 0x08, ), And(W491, 0x0800, ))) {
Or(SECT, 0x20, SECT)
}
If(And(FLAG, 0x10, )) {
Or(SECT, 0x4000, SECT)
If(LGreater(PIO1, 0xf0)) {
Or(SECT, 0x80, SECT)
}
Else {
Or(SECT, 0x10, SECT)
Store(SETT(PIO1, W531, W641), SSIT)
}
}
If(And(FLAG, 0x04, )) {
Or(SYNC, 0x08, SYNC)
Store(SDMA(DMA1), SDT3)
If(LLess(DMA1, 0x1e)) {
Or(ICR3, 0x08, ICR3)
}
If(LLess(DMA1, 0x3c)) {
Or(ICR0, 0x08, ICR0)
}
Or(ICR1, 0x08, ICR1)
}
}
}
}
Device(S_D0) {
Name(_ADR, Zero)
Method(_GTF) {
If(LEqual(SCFG, Zero)) {
Name(SIB0, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0,
0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
CreateByteField(SIB0, One, PMD0)
CreateByteField(SIB0, 0x08, DMD0)
If(And(SECT, 0x02, )) {
If(LEqual(And(SECT, 0x09, ), 0x08)) {
Store(0x08, PMD0)
}
Else {
Store(0x0a, PMD0)
ShiftRight(And(SECT, 0x0300, ), 0x08,
Local0)
ShiftRight(And(SECT, 0x3000, ), 0x0c,
Local1)
Add(Local0, Local1, Local2)
If(LEqual(0x03, Local2)) {
Store(0x0b, PMD0)
}
If(LEqual(0x05, Local2)) {
Store(0x0c, PMD0)
}
}
}
Else {
Store(One, PMD0)
}
If(And(SYNC, 0x04, )) {
Store(Or(SDT2, 0x40, ), DMD0)
If(And(ICR1, 0x04, )) {
If(And(ICR0, 0x04, )) {
Add(DMD0, 0x02, DMD0)
}
If(And(ICR3, 0x04, )) {
Store(0x45, DMD0)
}
}
}
Else {
Or(Subtract(And(PMD0, 0x07, ), 0x02, ), 0x20,
DMD0)
}
Return(SIB0)
}
}
}
Device(S_D1) {
Name(_ADR, One)
Method(_GTF) {
If(LEqual(SCFG, Zero)) {
Name(SIB1, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0,
0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
CreateByteField(SIB1, One, PMD1)
CreateByteField(SIB1, 0x08, DMD1)
If(And(SECT, 0x20, )) {
If(LEqual(And(SECT, 0x90, ), 0x80)) {
Store(0x08, PMD1)
}
Else {
Add(And(SSIT, 0x03, ), ShiftRight(And(SSIT,
0x0c, ), 0x02, ), Local0)
If(LEqual(0x05, Local0)) {
Store(0x0c, PMD1)
}
Else {
If(LEqual(0x03, Local0)) {
Store(0x0b, PMD1)
}
Else {
Store(0x0a, PMD1)
}
}
}
}
Else {
Store(One, PMD1)
}
If(And(SYNC, 0x08, )) {
Store(Or(SDT3, 0x40, ), DMD1)
If(And(ICR1, 0x08, )) {
If(And(ICR0, 0x08, )) {
Add(DMD1, 0x02, DMD1)
}
If(And(ICR3, 0x08, )) {
Store(0x45, DMD1)
}
}
}
Else {
Or(Subtract(And(PMD1, 0x07, ), 0x02, ), 0x20,
DMD1)
}
Return(SIB1)
}
}
}
}
}
Device(SAT1) {
Name(_ADR, 0x001f0005)
OperationRegion(SACS, PCI_Config, 0x40, 0xc0)
Field(SACS, DWordAcc, NoLock, Preserve) {
PRIT, 16,
SECT, 16,
PSIT, 4,
SSIT, 4,
Offset(0x8),
SYNC, 4,
Offset(0xa),
SDT0, 2,
, 2,
SDT1, 2,
Offset(0xb),
SDT2, 2,
, 2,
SDT3, 2,
Offset(0x14),
ICR0, 4,
ICR1, 4,
ICR2, 4,
ICR3, 4,
ICR4, 4,
ICR5, 4,
Offset(0x50),
MAPV, 2
}
Device(PRID) {
Name(_ADR, Zero)
Method(_GTM) {
If(LEqual(SCFG, Zero)) {
Name(PBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
CreateDWordField(PBUF, Zero, PIO0)
CreateDWordField(PBUF, 0x04, DMA0)
CreateDWordField(PBUF, 0x08, PIO1)
CreateDWordField(PBUF, 0x0c, DMA1)
CreateDWordField(PBUF, 0x10, FLAG)
Store(GETP(PRIT), PIO0)
Store(GDMA(And(SYNC, One, ), And(ICR3, One, ),
And(ICR0, One, ), SDT0, And(ICR1, One, )), DMA0)
If(LEqual(DMA0, Ones)) {
Store(PIO0, DMA0)
}
If(And(PRIT, 0x4000, )) {
If(LEqual(And(PRIT, 0x90, ), 0x80)) {
Store(0x0384, PIO1)
}
Else {
Store(GETT(PSIT), PIO1)
}
}
Else {
Store(Ones, PIO1)
}
Store(GDMA(And(SYNC, 0x02, ), And(ICR3, 0x02, ),
And(ICR0, 0x02, ), SDT1, And(ICR1, 0x02, )), DMA1)
If(LEqual(DMA1, Ones)) {
Store(PIO1, DMA1)
}
Store(GETF(And(SYNC, One, ), And(SYNC, 0x02, ), PRIT),
FLAG)
Return(PBUF)
}
}
Method(_STM, 3) {
If(LEqual(SCFG, Zero)) {
CreateDWordField(Arg0, Zero, PIO0)
CreateDWordField(Arg0, 0x04, DMA0)
CreateDWordField(Arg0, 0x08, PIO1)
CreateDWordField(Arg0, 0x0c, DMA1)
CreateDWordField(Arg0, 0x10, FLAG)
If(LEqual(SizeOf(Arg1), 0x0200)) {
And(PRIT, 0x40f0, PRIT)
And(SYNC, 0x0e, SYNC)
Store(Zero, SDT0)
And(ICR0, 0x0e, ICR0)
And(ICR1, 0x0e, ICR1)
And(ICR3, 0x0e, ICR3)
And(ICR5, 0x0e, ICR5)
CreateWordField(Arg1, 0x62, W490)
CreateWordField(Arg1, 0x6a, W530)
CreateWordField(Arg1, 0x7e, W630)
CreateWordField(Arg1, 0x80, W640)
CreateWordField(Arg1, 0xb0, W880)
CreateWordField(Arg1, 0xba, W930)
Or(PRIT, 0x8004, PRIT)
If(LAnd(And(FLAG, 0x02, ), And(W490, 0x0800, ))) {
Or(PRIT, 0x02, PRIT)
}
Or(PRIT, SETP(PIO0, W530, W640), PRIT)
If(And(FLAG, One, )) {
Or(SYNC, One, SYNC)
Store(SDMA(DMA0), SDT0)
If(LLess(DMA0, 0x1e)) {
Or(ICR3, One, ICR3)
}
If(LLess(DMA0, 0x3c)) {
Or(ICR0, One, ICR0)
}
Or(ICR1, One, ICR1)
}
}
If(LEqual(SizeOf(Arg2), 0x0200)) {
And(PRIT, 0x3f0f, PRIT)
Store(Zero, PSIT)
And(SYNC, 0x0d, SYNC)
Store(Zero, SDT1)
And(ICR0, 0x0d, ICR0)
And(ICR1, 0x0d, ICR1)
And(ICR3, 0x0d, ICR3)
And(ICR5, 0x0d, ICR5)
CreateWordField(Arg2, 0x62, W491)
CreateWordField(Arg2, 0x6a, W531)
CreateWordField(Arg2, 0x7e, W631)
CreateWordField(Arg2, 0x80, W641)
CreateWordField(Arg2, 0xb0, W881)
CreateWordField(Arg2, 0xba, W931)
Or(PRIT, 0x8040, PRIT)
If(LAnd(And(FLAG, 0x08, ), And(W491, 0x0800, ))) {
Or(PRIT, 0x20, PRIT)
}
If(And(FLAG, 0x10, )) {
Or(PRIT, 0x4000, PRIT)
If(LGreater(PIO1, 0xf0)) {
Or(PRIT, 0x80, PRIT)
}
Else {
Or(PRIT, 0x10, PRIT)
Store(SETT(PIO1, W531, W641), PSIT)
}
}
If(And(FLAG, 0x04, )) {
Or(SYNC, 0x02, SYNC)
Store(SDMA(DMA1), SDT1)
If(LLess(DMA1, 0x1e)) {
Or(ICR3, 0x02, ICR3)
}
If(LLess(DMA1, 0x3c)) {
Or(ICR0, 0x02, ICR0)
}
Or(ICR1, 0x02, ICR1)
}
}
}
}
Device(P_D0) {
Name(_ADR, Zero)
Method(_GTF) {
If(LEqual(SCFG, Zero)) {
Name(PIB0, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0,
0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
CreateByteField(PIB0, One, PMD0)
CreateByteField(PIB0, 0x08, DMD0)
If(And(PRIT, 0x02, )) {
If(LEqual(And(PRIT, 0x09, ), 0x08)) {
Store(0x08, PMD0)
}
Else {
Store(0x0a, PMD0)
ShiftRight(And(PRIT, 0x0300, ), 0x08,
Local0)
ShiftRight(And(PRIT, 0x3000, ), 0x0c,
Local1)
Add(Local0, Local1, Local2)
If(LEqual(0x03, Local2)) {
Store(0x0b, PMD0)
}
If(LEqual(0x05, Local2)) {
Store(0x0c, PMD0)
}
}
}
Else {
Store(One, PMD0)
}
If(And(SYNC, One, )) {
Store(Or(SDT0, 0x40, ), DMD0)
If(And(ICR1, One, )) {
If(And(ICR0, One, )) {
Add(DMD0, 0x02, DMD0)
}
If(And(ICR3, One, )) {
Store(0x45, DMD0)
}
}
}
Else {
Or(Subtract(And(PMD0, 0x07, ), 0x02, ), 0x20,
DMD0)
}
Return(PIB0)
}
}
}
Device(P_D1) {
Name(_ADR, One)
Method(_GTF) {
If(LEqual(SCFG, Zero)) {
Name(PIB1, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0,
0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
CreateByteField(PIB1, One, PMD1)
CreateByteField(PIB1, 0x08, DMD1)
If(And(PRIT, 0x20, )) {
If(LEqual(And(PRIT, 0x90, ), 0x80)) {
Store(0x08, PMD1)
}
Else {
Add(And(PSIT, 0x03, ), ShiftRight(And(PSIT,
0x0c, ), 0x02, ), Local0)
If(LEqual(0x05, Local0)) {
Store(0x0c, PMD1)
}
Else {
If(LEqual(0x03, Local0)) {
Store(0x0b, PMD1)
}
Else {
Store(0x0a, PMD1)
}
}
}
}
Else {
Store(One, PMD1)
}
If(And(SYNC, 0x02, )) {
Store(Or(SDT1, 0x40, ), DMD1)
If(And(ICR1, 0x02, )) {
If(And(ICR0, 0x02, )) {
Add(DMD1, 0x02, DMD1)
}
If(And(ICR3, 0x02, )) {
Store(0x45, DMD1)
}
}
}
Else {
Or(Subtract(And(PMD1, 0x07, ), 0x02, ), 0x20,
DMD1)
}
Return(PIB1)
}
}
}
}
Device(SECD) {
Name(_ADR, One)
Method(_GTM) {
If(LEqual(SCFG, Zero)) {
Name(SBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
CreateDWordField(SBUF, Zero, PIO0)
CreateDWordField(SBUF, 0x04, DMA0)
CreateDWordField(SBUF, 0x08, PIO1)
CreateDWordField(SBUF, 0x0c, DMA1)
CreateDWordField(SBUF, 0x10, FLAG)
Store(GETP(SECT), PIO0)
Store(GDMA(And(SYNC, 0x04, ), And(ICR3, 0x04, ),
And(ICR0, 0x04, ), SDT2, And(ICR1, 0x04, )), DMA0)
If(LEqual(DMA0, Ones)) {
Store(PIO0, DMA0)
}
If(And(SECT, 0x4000, )) {
If(LEqual(And(SECT, 0x90, ), 0x80)) {
Store(0x0384, PIO1)
}
Else {
Store(GETT(SSIT), PIO1)
}
}
Else {
Store(Ones, PIO1)
}
Store(GDMA(And(SYNC, 0x08, ), And(ICR3, 0x08, ),
And(ICR0, 0x08, ), SDT3, And(ICR1, 0x08, )), DMA1)
If(LEqual(DMA1, Ones)) {
Store(PIO1, DMA1)
}
Store(GETF(And(SYNC, 0x04, ), And(SYNC, 0x08, ), SECT),
FLAG)
Return(SBUF)
}
}
Method(_STM, 3) {
If(LEqual(SCFG, Zero)) {
CreateDWordField(Arg0, Zero, PIO0)
CreateDWordField(Arg0, 0x04, DMA0)
CreateDWordField(Arg0, 0x08, PIO1)
CreateDWordField(Arg0, 0x0c, DMA1)
CreateDWordField(Arg0, 0x10, FLAG)
If(LEqual(SizeOf(Arg1), 0x0200)) {
And(SECT, 0x40f0, SECT)
And(SYNC, 0x0b, SYNC)
Store(Zero, SDT2)
And(ICR0, 0x0b, ICR0)
And(ICR1, 0x0b, ICR1)
And(ICR3, 0x0b, ICR3)
And(ICR5, 0x0b, ICR5)
CreateWordField(Arg1, 0x62, W490)
CreateWordField(Arg1, 0x6a, W530)
CreateWordField(Arg1, 0x7e, W630)
CreateWordField(Arg1, 0x80, W640)
CreateWordField(Arg1, 0xb0, W880)
CreateWordField(Arg1, 0xba, W930)
Or(SECT, 0x8004, SECT)
If(LAnd(And(FLAG, 0x02, ), And(W490, 0x0800, ))) {
Or(SECT, 0x02, SECT)
}
Or(SECT, SETP(PIO0, W530, W640), SECT)
If(And(FLAG, One, )) {
Or(SYNC, 0x04, SYNC)
Store(SDMA(DMA0), SDT2)
If(LLess(DMA0, 0x1e)) {
Or(ICR3, 0x04, ICR3)
}
If(LLess(DMA0, 0x3c)) {
Or(ICR0, 0x04, ICR0)
}
Or(ICR1, 0x04, ICR1)
}
}
If(LEqual(SizeOf(Arg2), 0x0200)) {
And(SECT, 0x3f0f, SECT)
Store(Zero, SSIT)
And(SYNC, 0x07, SYNC)
Store(Zero, SDT3)
And(ICR0, 0x07, ICR0)
And(ICR1, 0x07, ICR1)
And(ICR3, 0x07, ICR3)
And(ICR5, 0x07, ICR5)
CreateWordField(Arg2, 0x62, W491)
CreateWordField(Arg2, 0x6a, W531)
CreateWordField(Arg2, 0x7e, W631)
CreateWordField(Arg2, 0x80, W641)
CreateWordField(Arg2, 0xb0, W881)
CreateWordField(Arg2, 0xba, W931)
Or(SECT, 0x8040, SECT)
If(LAnd(And(FLAG, 0x08, ), And(W491, 0x0800, ))) {
Or(SECT, 0x20, SECT)
}
If(And(FLAG, 0x10, )) {
Or(SECT, 0x4000, SECT)
If(LGreater(PIO1, 0xf0)) {
Or(SECT, 0x80, SECT)
}
Else {
Or(SECT, 0x10, SECT)
Store(SETT(PIO1, W531, W641), SSIT)
}
}
If(And(FLAG, 0x04, )) {
Or(SYNC, 0x08, SYNC)
Store(SDMA(DMA1), SDT3)
If(LLess(DMA1, 0x1e)) {
Or(ICR3, 0x08, ICR3)
}
If(LLess(DMA1, 0x3c)) {
Or(ICR0, 0x08, ICR0)
}
Or(ICR1, 0x08, ICR1)
}
}
}
}
Device(S_D0) {
Name(_ADR, Zero)
Method(_GTF) {
If(LEqual(SCFG, Zero)) {
Name(SIB0, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0,
0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef })
CreateByteField(SIB0, One, PMD0)
CreateByteField(SIB0, 0x08, DMD0)
If(And(SECT, 0x02, )) {
If(LEqual(And(SECT, 0x09, ), 0x08)) {
Store(0x08, PMD0)
}
Else {
Store(0x0a, PMD0)
ShiftRight(And(SECT, 0x0300, ), 0x08,
Local0)
ShiftRight(And(SECT, 0x3000, ), 0x0c,
Local1)
Add(Local0, Local1, Local2)
If(LEqual(0x03, Local2)) {
Store(0x0b, PMD0)
}
If(LEqual(0x05, Local2)) {
Store(0x0c, PMD0)
}
}
}
Else {
Store(One, PMD0)
}
If(And(SYNC, 0x04, )) {
Store(Or(SDT2, 0x40, ), DMD0)
If(And(ICR1, 0x04, )) {
If(And(ICR0, 0x04, )) {
Add(DMD0, 0x02, DMD0)
}
If(And(ICR3, 0x04, )) {
Store(0x45, DMD0)
}
}
}
Else {
Or(Subtract(And(PMD0, 0x07, ), 0x02, ), 0x20,
DMD0)
}
Return(SIB0)
}
}
}
Device(S_D1) {
Name(_ADR, One)
Method(_GTF) {
If(LEqual(SCFG, Zero)) {
Name(SIB1, Buffer(0x0e) {0x3, 0x0, 0x0, 0x0, 0x0,
0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef })
CreateByteField(SIB1, One, PMD1)
CreateByteField(SIB1, 0x08, DMD1)
If(And(SECT, 0x20, )) {
If(LEqual(And(SECT, 0x90, ), 0x80)) {
Store(0x08, PMD1)
}
Else {
Add(And(SSIT, 0x03, ), ShiftRight(And(SSIT,
0x0c, ), 0x02, ), Local0)
If(LEqual(0x05, Local0)) {
Store(0x0c, PMD1)
}
Else {
If(LEqual(0x03, Local0)) {
Store(0x0b, PMD1)
}
Else {
Store(0x0a, PMD1)
}
}
}
}
Else {
Store(One, PMD1)
}
If(And(SYNC, 0x08, )) {
Store(Or(SDT3, 0x40, ), DMD1)
If(And(ICR1, 0x08, )) {
If(And(ICR0, 0x08, )) {
Add(DMD1, 0x02, DMD1)
}
If(And(ICR3, 0x08, )) {
Store(0x45, DMD1)
}
}
}
Else {
Or(Subtract(And(PMD1, 0x07, ), 0x02, ), 0x20,
DMD1)
}
Return(SIB1)
}
}
}
}
}
Method(BRXP, 1) {
Store(^LPC.EC0.BRTL, Local0)
Store(Zero, Local1)
While(LLess(Local1, 0x0c)) {
Add(Local1, 0x02, Local2)
If(LEqual(CHPF, One)) {
Store(DerefOf(Index(BCL2, Local2, )), Local3)
}
Else {
If(LEqual(CKPL, One)) {
Store(DerefOf(Index(BCL3, Local2, )), Local3)
}
Else {
Store(DerefOf(Index(BCL1, Local2, )), Local3)
}
}
If(LEqual(Local0, Local3)) {
If(LEqual(Arg0, One)) {
Increment(Local2)
}
If(LEqual(Arg0, 0x02)) {
Decrement(Local2)
}
If(LAnd(LLess(Local2, 0x0e), LGreater(Local2, One))) {
If(LEqual(CHPF, One)) {
Store(DerefOf(Index(BCL2, Local2, )), ^LPC.EC0.BRTL)
}
Else {
If(LEqual(CKPL, One)) {
Store(DerefOf(Index(BCL3, Local2, )),
^LPC.EC0.BRTL)
}
Else {
Store(DerefOf(Index(BCL1, Local2, )),
^LPC.EC0.BRTL)
}
}
Subtract(Local2, 0x02, Local2)
If(^LPC.EC0.SW2S) {
Store(Local2, BRAC)
}
Else {
Store(Local2, BRDC)
}
Store(0x0c, Local1)
}
Else {
Store(0x0c, Local1)
}
}
Increment(Local1)
}
}
}
OperationRegion(EXCO, SystemIO, 0x72, 0x02)
Field(EXCO, ByteAcc, NoLock, Preserve) {
INDX, 8,
DATA, 8
}
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
Offset(0x31),
, 4,
ACST, 1,
Offset(0x36),
BTWL, 2,
BTLS, 1,
BWLS, 1,
WWLS, 1,
Offset(0x37),
, 2,
PFID, 4,
PTPE, 2,
, 2,
TJ85, 1,
, 1,
WOL5, 1,
Offset(0x3d),
, 3,
DCKS, 1,
Offset(0x4e),
BRAC, 8,
BRDC, 8,
Offset(0x7f),
SVIM, 8
}
Device(WMID) {
Name(WCDS, Package(0x1b) {
0x04,
0x04,
0x04,
Zero,
0x04,
0x04,
Zero,
Zero,
0x04,
0x04,
0x0c,
Zero,
Zero,
Zero,
Zero,
0x06,
Zero,
Zero,
0x04,
0x04,
0x04,
0x04,
0x04,
0x04,
0x04,
0x04,
0x04,
})
Method(CSMI, 2, Serialized) {
Store(Arg0, CMTF)
Store(Arg1, CMTI)
Store(0xc1, SSMP)
Return(CMTO)
}
Method(HWMC, 2) {
CreateDWordField(Arg1, Zero, SNIN)
CreateDWordField(Arg1, 0x04, COMD)
CreateDWordField(Arg1, 0x08, CMTP)
CreateDWordField(Arg1, 0x0c, DASI)
If(LEqual(Arg0, One)) {
Store(Zero, Local0)
}
If(LEqual(Arg0, 0x02)) {
Store(0x04, Local0)
}
If(LEqual(Arg0, 0x03)) {
Store(0x80, Local0)
}
If(LEqual(Arg0, 0x04)) {
Store(0x0400, Local0)
}
If(LEqual(Arg0, 0x05)) {
Store(0x1000, Local0)
}
Store(Buffer(Add(0x08, Local0, )) { }, Local1)
CreateDWordField(Local1, Zero, SNOU)
CreateDWordField(Local1, 0x04, RTCD)
Store(DASI, Local5)
If(LGreater(DASI, 0x02f0)) {
Store(0x02f0, Local5)
}
CreateField(Arg1, Zero, Multiply(Add(Local5, 0x10, ), 0x08, ), DAIN)
Store(0x4c494146, SNOU)
Store(0x02, RTCD)
If(LEqual(SNIN, 0x55434553)) {
Store(0x03, RTCD)
If(LEqual(COMD, One)) {
Store(0x04, RTCD)
If(LEqual(CMTP, 0x05)) {
Store(GWLS(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x1b)) {
Store(GWDI(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x0e)) {
Store(GWID(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x10)) {
Store(GHPI(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x07)) {
If(DASI) {
Store(DerefOf(Index(Arg1, 0x10, )), Local3)
Store(GBAI(Local3), Local2)
Store(Zero, RTCD)
}
Else {
Store(0x05, RTCD)
}
}
If(LEqual(CMTP, One)) {
Store(GDPS(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x08)) {
Store(GBBT(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x09)) {
Store(GHKS(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x0a)) {
Store(GHKF(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x0c)) {
Store(GBBV(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x0d)) {
Store(GTFR(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x0b)) {
Store(GBBS(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x13)) {
Store(GBNS(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x17)) {
Store(GDIM(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x0f)) {
Store(SMAT(), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x1a)) {
Store(GMSR(), Local2)
Store(Zero, RTCD)
}
}
If(LEqual(COMD, 0x02)) {
Store(0x04, RTCD)
If(LAnd(LGreater(CMTP, Zero), LNot(LGreater(CMTP, 0x1b)))) {
If(LLess(DASI, DerefOf(Index(WCDS, Subtract(CMTP, One,
), )))) {
Store(0x05, RTCD)
}
Else {
CreateDWordField(Arg1, 0x10, DDWD)
If(LEqual(CMTP, 0x05)) {
Store(SWLS(DDWD), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x1b)) {
Store(SWDS(DDWD), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, One)) {
Store(SDPS(DDWD), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x09)) {
Store(SHKS(DDWD), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x0a)) {
Store(SHKF(DDWD), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x10)) {
If(LNot(LEqual(DASI, DerefOf(Index(WCDS,
Subtract(CMTP, One, ), ))))) {
Store(0x05, RTCD)
}
Else {
CreateByteField(Arg1, 0x10, DAB0)
CreateByteField(Arg1, 0x11, DAB1)
CreateByteField(Arg1, 0x12, DAB2)
CreateByteField(Arg1, 0x13, DAB3)
CreateByteField(Arg1, 0x14, DAB4)
CreateByteField(Arg1, 0x15, DAB5)
Store(SHPI(DAB0, DAB1, DAB2, DAB3, DAB4,
DAB5), Local2)
Store(Zero, RTCD)
}
}
If(LEqual(CMTP, 0x13)) {
Store(SBNS(DDWD), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x17)) {
Store(SDIM(DDWD), Local2)
Store(Zero, RTCD)
}
If(LEqual(CMTP, 0x1a)) {
Store(SMSR(DDWD), Local2)
Store(Zero, RTCD)
}
}
}
}
If(LEqual(COMD, 0x00020002)) {
Store(0x21, RTCD)
If(LEqual(CMTP, One)) {
Store(0xc1, P80H)
Store(Package(0x03) {
Zero,
Zero,
Buffer(0x04) {0x0, 0x0, 0x0, 0x0 },
}, Local2)
Store(Zero, Index(Local2, Zero, ))
Store(0x04, Index(Local2, One, ))
CSMI(One, Zero)
Store(CMTO, Index(DerefOf(Index(Local2, 0x02, )), Zero,
))
Store(Zero, RTCD)
Store(0x1c, P80H)
}
If(LEqual(CMTP, 0x02)) {
Store(0xc2, P80H)
Store(Package(0x02) {
Zero,
Zero,
}, Local2)
CSMI(0x02, DAIN)
Store(CMTO, RTCD)
Store(0x2c, P80H)
}
If(LEqual(CMTP, 0x03)) {
Store(0xc3, P80H)
Store(Package(0x02) {
Zero,
Zero,
}, Local2)
CSMI(0x03, DAIN)
Store(CMTO, RTCD)
Store(0x3c, P80H)
}
}
}
If(LEqual(RTCD, Zero)) {
Store(DerefOf(Index(Local2, Zero, )), RTCD)
If(LEqual(RTCD, Zero)) {
If(LNot(LGreater(DerefOf(Index(Local2, One, )), Local0))) {
Store(Zero, Local0)
While(LLess(Local0, DerefOf(Index(Local2, One, )))) {
Store(DerefOf(Index(DerefOf(Index(Local2, 0x02, )),
Local0, )), Index(Local1, Add(Local0, 0x08, ), ))
Increment(Local0)
}
Store(0x53534150, SNOU)
}
Else {
Store(0x05, RTCD)
}
}
}
Return(Local1)
}
Name(_HID, "PNP0C14")
Name(_UID, Zero)
Name(WEID, Zero)
Name(WMED, Zero)
Name(BUFF, Buffer(0x04) {0x0, 0x0, 0x0, 0x0 })
CreateByteField(BUFF, Zero, OB0)
CreateByteField(BUFF, One, OB1)
CreateByteField(BUFF, 0x02, OB2)
CreateByteField(BUFF, 0x03, OB3)
Name(_WDG, Buffer(0x50) {0x34, 0xf0, 0xb7, 0x5f, 0x63, 0x2c, 0xe9,
0x45, 0xbe, 0x91, 0x3d, 0x44, 0xe2, 0xc7, 0x7, 0xe4, 0x41, 0x44, 0x1, 0x2,
0x79, 0x42, 0xf2, 0x95, 0x7b, 0x4d, 0x34, 0x43, 0x93, 0x87, 0xac, 0xcd, 0xc6,
0x7e, 0xf6, 0x1c, 0x80, 0x0, 0x1, 0x8, 0x21, 0x12, 0x90, 0x5, 0x66, 0xd5, 0xd1,
0x11, 0xb2, 0xf0, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0x10, 0x41, 0x45, 0x1, 0x0, 0xd4,
0x2b, 0x99, 0xd0, 0x7c, 0xa4, 0xfe, 0x4e, 0xb0, 0x72, 0x32, 0x4a, 0xec, 0x92,
0x29, 0x6c, 0x42, 0x43, 0x1, 0x0 })
Method(WQBC, 1) {
Store(WMIA, Local0)
Return(Local0)
}
Method(WMAD, 3, Serialized) {
Return(HWMC(Arg1, Arg2))
}
Method(GWLS) {
Store(One, WAOK)
TRAP(TRTI, 0x1f)
Store(Package(0x03) {
Zero,
0x04,
Buffer(0x04) {0x1, 0x2, 0x3, 0x4 },
}, Local0)
Store(WAB0, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(WAB1, Index(DerefOf(Index(Local0, 0x02, )), One, ))
Store(WAB2, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
Store(WAB3, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
Return(Local0)
}
Method(SWLS, 1) {
Store(And(Arg0, 0xff, ), WAB4)
Store(And(ShiftRight(Arg0, 0x08, ), 0xff, ), WAB5)
Or(0x0c, WAB1, WAB1)
Or(0x0c, WAB2, WAB2)
Or(0x0c, WAB3, WAB3)
TRAP(TRTI, 0x20)
Store(0x05, WEID)
Store(Zero, WMED)
Notify(WMID, 0x80)
Return(Package(0x02) {
Zero,
Zero,
})
}
Method(GWID) {
Store(Zero, Local0)
If(LAnd(LNot(LEqual(Add(WBD0, WBD1, ), 0x01fe)),
LNot(LEqual(Add(WBD0, WBD1, ), Zero)))) {
Store(Buffer(0x06) {0x2, 0x2, 0x0, 0x0, 0x0, 0x0 }, Local1)
Store(WBD0, Index(Local1, 0x02, ))
Store(WBD1, Index(Local1, 0x03, ))
Store(WBD2, Index(Local1, 0x04, ))
Store(WBD3, Index(Local1, 0x05, ))
Add(Local0, 0x06, Local0)
}
If(LAnd(LNot(LEqual(Add(WWD0, WWD1, ), 0x01fe)),
LNot(LEqual(Add(WWD0, WWD1, ), Zero)))) {
Store(Buffer(0x06) {0x2, 0x3, 0x0, 0x0, 0x0, 0x0 }, Local2)
Store(WWD0, Index(Local2, 0x02, ))
Store(WWD1, Index(Local2, 0x03, ))
Store(WWD2, Index(Local2, 0x04, ))
Store(WWD3, Index(Local2, 0x05, ))
If(LEqual(Local0, Zero)) {
Store(Local2, Local1)
}
Else {
Concatenate(Local1, Local2, Local3)
Store(Local3, Local1)
}
Add(Local0, 0x06, Local0)
}
If(LAnd(LNot(LEqual(Add(WLD0, WLD1, ), 0x01fe)),
LNot(LEqual(Add(WLD0, WLD1, ), Zero)))) {
Store(Buffer(0x0a) {0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0 }, Local2)
Store(WLD0, Index(Local2, 0x02, ))
Store(WLD1, Index(Local2, 0x03, ))
Store(WLD2, Index(Local2, 0x04, ))
Store(WLD3, Index(Local2, 0x05, ))
Store(WLD4, Index(Local2, 0x06, ))
Store(WLD5, Index(Local2, 0x07, ))
Store(WLD6, Index(Local2, 0x08, ))
Store(WLD7, Index(Local2, 0x09, ))
If(LEqual(Local0, Zero)) {
Store(Local2, Local1)
}
Else {
Concatenate(Local1, Local2, Local3)
Store(Local3, Local1)
}
Add(Local0, 0x0a, Local0)
}
Store(Package(0x03) {
}, Local2)
Store(Zero, Index(Local2, Zero, ))
Store(Local0, Index(Local2, One, ))
Store(Local1, Index(Local2, 0x02, ))
Return(Local2)
}
Method(GHPI) {
Store(Buffer(0x06) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, Local0)
TRAP(TRTI, 0x1d)
Add(SID0, 0x30, SID0)
Add(SID1, 0x30, SID1)
Add(SID2, 0x30, SID2)
Add(SID3, 0x30, SID3)
Add(SID4, 0x30, SID4)
Add(SID5, 0x30, SID5)
Store(SID0, Index(Local0, Zero, ))
Store(SID1, Index(Local0, One, ))
Store(SID2, Index(Local0, 0x02, ))
Store(SID3, Index(Local0, 0x03, ))
Store(SID4, Index(Local0, 0x04, ))
Store(SID5, Index(Local0, 0x05, ))
Store(Package(0x03) {
Zero,
0x06,
Zero,
}, Local1)
Store(Local0, Index(Local1, 0x02, ))
Return(Local1)
}
Method(SHPI, 6) {
Subtract(Arg0, 0x30, Arg0)
Subtract(Arg1, 0x30, Arg1)
Subtract(Arg2, 0x30, Arg2)
Subtract(Arg3, 0x30, Arg3)
Subtract(Arg4, 0x30, Arg4)
Subtract(Arg5, 0x30, Arg5)
Store(Arg0, SID0)
Store(Arg1, SID1)
Store(Arg2, SID2)
Store(Arg3, SID3)
Store(Arg4, SID4)
Store(Arg5, SID5)
TRAP(TRTI, 0x1e)
Return(Package(0x02) {
Zero,
Zero,
})
}
Method(GBAI, 1) {
Acquire(^^PCI0.LPC.EC0.MUT1, 0xffff)
If(LNot(ECOK)) {
Store(Package(0x02) {
0x0d,
Zero,
}, Local0)
Sleep(0x96)
Release(^^PCI0.LPC.EC0.MUT1)
Return(Local0)
}
If(Arg0) {
Store(Package(0x02) {
0x06,
Zero,
}, Local0)
Sleep(0x96)
Release(^^PCI0.LPC.EC0.MUT1)
Return(Local0)
}
If(LNot(^^PCI0.LPC.EC0.MBTS)) {
Store(Package(0x02) {
0x06,
Zero,
}, Local0)
Sleep(0x96)
Release(^^PCI0.LPC.EC0.MUT1)
Return(Local0)
}
Store(Package(0x03) {
Zero,
0x80,
Buffer(0x80) { },
}, Local0)
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x18, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), One, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x10, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x03, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x0f, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x05, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x04, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x0c, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x07, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x06, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x17, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x09, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x08, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x08, RefOf(Local1))
Subtract(Local1, 0x0aaa, Local1)
Divide(Local1, 0x0a, Local2, Local1)
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x0b, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x0a, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x09, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x0d, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x0c, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x0a, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x0f, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x0e, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x19, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x11, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x10, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x16, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x13, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x12, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x3f, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x15, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x14, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x3e, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x17, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x16, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x3d, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x19, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x18, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x3c, RefOf(Local1))
Divide(Local1, 0x0100, Local2, Index(DerefOf(Index(Local0, 0x02,
)), 0x1b, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), 0x1a, ))
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x1c, RefOf(Local1))
Store(ITOS(ToBCD(Local1, )), Local3)
Store(0x1c, Local2)
Store(Zero, Local4)
Store(SizeOf(Local3), Local1)
While(Local1) {
GBFE(Local3, Local4, RefOf(Local5))
PBFE(DerefOf(Index(Local0, 0x02, )), Local2, Local5)
Decrement(Local1)
Increment(Local2)
Increment(Local4)
}
Store(0x20, Index(DerefOf(Index(Local0, 0x02, )), Local2, ))
Increment(Local2)
^^PCI0.LPC.EC0.SMRD(0x09, 0x16, 0x1b, RefOf(Local1))
And(Local1, 0x1f, Local7)
Store(ITOS(ToBCD(Local7, )), Local6)
And(Local1, 0x01e0, Local7)
ShiftRight(Local7, 0x05, Local7)
Store(ITOS(ToBCD(Local7, )), Local5)
ShiftRight(Local1, 0x09, Local7)
Add(Local7, 0x07bc, Local7)
Store(ITOS(ToBCD(Local7, )), Local4)
Store(0x02, Local1)
Store(0x03, Local7)
While(Local1) {
GBFE(Local5, Local7, RefOf(Local3))
PBFE(DerefOf(Index(Local0, 0x02, )), Local2, Local3)
Decrement(Local1)
Increment(Local2)
Increment(Local7)
}
Store("\x2f", Index(DerefOf(Index(Local0, 0x02, )), Local2, ))
Increment(Local2)
Store(0x02, Local1)
Store(0x03, Local7)
While(Local1) {
GBFE(Local6, Local7, RefOf(Local3))
PBFE(DerefOf(Index(Local0, 0x02, )), Local2, Local3)
Decrement(Local1)
Increment(Local2)
Increment(Local7)
}
Store("\x2f", Index(DerefOf(Index(Local0, 0x02, )), Local2, ))
Increment(Local2)
Store(0x04, Local1)
Store(One, Local7)
While(Local1) {
GBFE(Local4, Local7, RefOf(Local3))
PBFE(DerefOf(Index(Local0, 0x02, )), Local2, Local3)
Decrement(Local1)
Increment(Local2)
Increment(Local7)
}
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Local2, ))
^^PCI0.LPC.EC0.SMRD(0x0b, 0x16, 0x20, RefOf(Local1))
Store(SizeOf(Local1), Local3)
Store(0x2c, Local2)
Store(Zero, Local4)
While(Local3) {
GBFE(Local1, Local4, RefOf(Local5))
PBFE(DerefOf(Index(Local0, 0x02, )), Local2, Local5)
Decrement(Local3)
Increment(Local2)
Increment(Local4)
}
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Local2, ))
Sleep(0x96)
Release(^^PCI0.LPC.EC0.MUT1)
Return(Local0)
Store(Package(0x02) {
0x06,
Zero,
}, Local0)
Return(Local0)
}
Method(GDPS) {
Store(Zero, OB0)
If(IGDS) {
If(LOr(LEqual(^^PCI0.OVGA.CPDL, 0x0100),
LEqual(^^PCI0.OVGA.CPL2, 0x0100))) {
Or(OB0, 0x02, OB0)
}
If(LEqual(^^PCI0.OVGA.CPL3, 0x0100)) {
Or(OB0, 0x02, OB0)
}
If(LOr(LEqual(^^PCI0.OVGA.CPDL, 0x0400),
LEqual(^^PCI0.OVGA.CPL2, 0x0400))) {
Or(OB0, One, OB0)
}
If(LEqual(^^PCI0.OVGA.CPL3, 0x0400)) {
Or(OB0, One, OB0)
}
If(LOr(LEqual(^^PCI0.OVGA.CPDL, 0x0300),
LEqual(^^PCI0.OVGA.CPL2, 0x0300))) {
Or(OB0, 0x10, OB0)
}
If(LEqual(^^PCI0.OVGA.CPL3, 0x0300)) {
Or(OB0, 0x10, OB0)
}
}
Else {
TRAP(TRTI, 0x0b)
Sleep(0x64)
Store(CADL, Local0)
If(LEqual(Local0, One)) {
Store(One, OB0)
}
If(LEqual(Local0, 0x03)) {
Store(0x03, OB0)
}
If(LEqual(Local0, 0x11)) {
Store(0x11, OB0)
}
If(LEqual(Local0, 0x13)) {
Store(0x13, OB0)
}
}
Store(Zero, OB1)
Store(Zero, OB2)
Store(Zero, OB3)
Store(Package(0x03) {
Zero,
0x04,
Buffer(0x04) {0x1, 0x2, 0x3, 0x4 },
}, Local0)
Store(OB0, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(OB1, Index(DerefOf(Index(Local0, 0x02, )), One, ))
Store(OB2, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
Store(OB3, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
Return(Local0)
}
Method(SDPS, 1) {
And(Arg0, 0x07, Local0)
If(IGDS) {
Store(WMIO, Local1)
If(LEqual(Local0, Local1)) {
Return(Package(0x02) {
Zero,
Zero,
})
}
Else {
Store(Zero, NSTE)
If(LEqual(Local0, One)) {
Or(0x0808, NSTE, NSTE)
}
If(LEqual(Local0, 0x02)) {
Or(0x0101, NSTE, NSTE)
}
If(LEqual(Local0, 0x03)) {
Or(0x0909, NSTE, NSTE)
}
If(LEqual(Local0, 0x04)) {
Or(0x0202, NSTE, NSTE)
}
If(LEqual(Local0, 0x05)) {
Or(0x0a0a, NSTE, NSTE)
}
If(LEqual(Local0, 0x06)) {
Or(0x0303, NSTE, NSTE)
}
If(LEqual(Local0, 0x07)) {
Or(0x0b0b, NSTE, NSTE)
}
Store(CADL, PADL)
If(LNot(LLess(OSYS, 0x07d1))) {
Notify(PCI0, Zero)
}
Else {
Notify(^^PCI0.OVGA, Zero)
}
Sleep(0x02ee)
Notify(^^PCI0.OVGA, 0x80)
Return(Package(0x02) {
Zero,
Zero,
})
}
}
Else {
Store(NCDD, Local1)
If(LEqual(Local0, Local1)) {
Return(Package(0x02) {
Zero,
Zero,
})
}
Else {
If(LEqual(Local0, One)) {
Store(One, ^^PCI0.PEGP.VGA.LCDA)
Store(Zero, ^^PCI0.PEGP.VGA.CRTA)
Store(Zero, ^^PCI0.PEGP.VGA.TV0A)
Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
}
If(LEqual(Local0, 0x02)) {
Store(Zero, ^^PCI0.PEGP.VGA.LCDA)
Store(One, ^^PCI0.PEGP.VGA.CRTA)
Store(Zero, ^^PCI0.PEGP.VGA.TV0A)
Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
}
If(LEqual(Local0, 0x03)) {
Store(One, ^^PCI0.PEGP.VGA.LCDA)
Store(One, ^^PCI0.PEGP.VGA.CRTA)
Store(Zero, ^^PCI0.PEGP.VGA.TV0A)
Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
}
If(LEqual(Local0, 0x04)) {
Store(Zero, ^^PCI0.PEGP.VGA.LCDA)
Store(Zero, ^^PCI0.PEGP.VGA.CRTA)
Store(One, ^^PCI0.PEGP.VGA.TV0A)
Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
}
If(LEqual(Local0, 0x05)) {
Store(One, ^^PCI0.PEGP.VGA.LCDA)
Store(Zero, ^^PCI0.PEGP.VGA.CRTA)
Store(One, ^^PCI0.PEGP.VGA.TV0A)
Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
}
If(LEqual(Local0, 0x06)) {
Store(Zero, ^^PCI0.PEGP.VGA.LCDA)
Store(One, ^^PCI0.PEGP.VGA.CRTA)
Store(One, ^^PCI0.PEGP.VGA.TV0A)
Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
}
If(LEqual(Local0, 0x07)) {
Store(One, ^^PCI0.PEGP.VGA.LCDA)
Store(One, ^^PCI0.PEGP.VGA.CRTA)
Store(One, ^^PCI0.PEGP.VGA.TV0A)
Store(Zero, ^^PCI0.PEGP.VGA.HDTV)
}
If(LNot(LLess(OSYS, 0x07d1))) {
Notify(PCI0, Zero)
}
Else {
Notify(^^PCI0.PEGP.VGA, Zero)
}
Sleep(0x02ee)
Notify(^^PCI0.PEGP.VGA, 0x80)
Return(Package(0x02) {
Zero,
Zero,
})
}
}
}
Method(SMCE, 3) {
Store(Zero, Local1)
Store(Zero, Local2)
If(Arg0) {
Or(Local1, One, Local1)
}
Else {
And(Local1, 0xfe, Local1)
}
If(Arg1) {
Or(Local1, ShiftRight(And(Local1, 0x8000, ), 0x09, ), Local1)
Or(Local2, ShiftRight(And(Local2, 0x7000, ), 0x0c, ), Local2)
}
Else {
And(Local1, 0xbf, Local1)
}
If(Arg2) {
Or(Local1, 0x80, Local1)
}
Else {
And(Local1, 0x7f, Local1)
}
Return(Package(0x02) {
Zero,
Zero,
})
}
Method(GBBT) {
Store(Package(0x03) {
Zero,
0x80,
Buffer(0x80) {0x31, 0x1, 0x9b, 0x1, 0xff, 0x1, 0x63, 0x2, 0xae,
0x1, 0x64, 0x2, 0x9d, 0x1, 0xb6, 0x1, 0xb7, 0x1, 0x65, 0x2, 0x66, 0x2, 0x67,
0x2, 0x68, 0x2, 0xff, 0xff, 0xe4, 0x20, 0xe6, 0x20, 0x42, 0x21, 0x70, 0x21,
0x8d, 0x21, 0x8e, 0x21, 0x8f, 0x21, 0x90, 0x21, 0x91, 0x21, 0x92, 0x21, 0x93,
0x21, 0x0, 0x0 },
}, Local0)
Return(Local0)
}
Method(GHKS) {
Acquire(^^PCI0.LPC.EC0.MUT1, 0xffff)
Store(Package(0x03) {
Zero,
0x04,
Buffer(0x04) { },
}, Local0)
Store(^^PCI0.LPC.EC0.GSHK(), Index(DerefOf(Index(Local0, 0x02, )),
Zero, ))
Release(^^PCI0.LPC.EC0.MUT1)
Return(Local0)
}
Method(SHKS, 1) {
Acquire(^^PCI0.LPC.EC0.MUT1, 0xffff)
^^PCI0.LPC.EC0.SSHK(Arg0)
Release(^^PCI0.LPC.EC0.MUT1)
Return(Package(0x02) {
Zero,
Zero,
})
}
Method(HKFR) {
Acquire(^^PCI0.LPC.EC0.MUT1, 0xffff)
Store(Package(0x03) {
Zero,
0x04,
Buffer(0x04) { },
}, Local0)
If(ECOK) {
Store(^^PCI0.LPC.EC0.QBHK, Local1)
}
Release(^^PCI0.LPC.EC0.MUT1)
If(LEqual(Local1, 0x0d)) {
Store(0x31, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
}
If(LEqual(Local1, One)) {
Store(0x9b, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
}
If(LEqual(Local1, 0x04)) {
If(IGDS) {
Store(Zero, Local3)
Store(0xae, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0100),
LEqual(^^PCI0.OVGA.CAL2, 0x0100))) {
Or(Local3, 0x02, Local3)
}
If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0400),
LEqual(^^PCI0.OVGA.CAL2, 0x0400))) {
Or(Local3, One, Local3)
}
If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0300),
LEqual(^^PCI0.OVGA.CAL2, 0x0300))) {
Or(Local3, 0x10, Local3)
}
Store(Local3, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
Store(Zero, Local3)
If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0100),
LEqual(^^PCI0.OVGA.NDL2, 0x0100))) {
Or(Local3, 0x02, Local3)
}
If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0400),
LEqual(^^PCI0.OVGA.NDL2, 0x0400))) {
Or(Local3, One, Local3)
}
If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0300),
LEqual(^^PCI0.OVGA.NDL2, 0x0300))) {
Or(Local3, 0x10, Local3)
}
Store(Local3, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
^^PCI0.OVGA.GHDS(Zero)
}
Else {
TRAP(TRTI, 0x0b)
Sleep(0x64)
Store(NSTE, Local3)
Store(And(Local3, One, ), ^^PCI0.PEGP.VGA.LCDA)
Store(ShiftRight(And(Local3, 0x02, ), One, ),
^^PCI0.PEGP.VGA.CRTA)
Store(ShiftRight(And(Local3, 0x10, ), 0x04, ),
^^PCI0.PEGP.VGA.HDTV)
Notify(^^PCI0.PEGP.VGA, 0x80)
Sleep(0x64)
Store(0xae, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
Or(ShiftLeft(And(NSTE, 0x03, ), Zero, ),
DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x02, )),
Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
Or(ShiftLeft(And(NSTE, 0x10, ), Zero, ),
DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x02, )),
Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
Or(ShiftLeft(And(CSTE, 0x03, ), Zero, ),
DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x03, )),
Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
Or(ShiftLeft(And(CSTE, 0x10, ), Zero, ),
DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x03, )),
Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
}
}
If(LEqual(Local1, 0x06)) {
Store(0x9d, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
}
If(LEqual(Local1, 0x07)) {
If(LNot(LLess(OSYS, 0x07d6))) {
If(IGDS) {
Notify(^^PCI0.OVGA.DD03, 0x87)
}
Else {
Notify(^^PCI0.PEGP.VGA.LCD, 0x87)
}
}
Else {
^^PCI0.BRXP(0x02)
}
Sleep(0x32)
Store(0xb6, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
}
If(LEqual(Local1, 0x08)) {
If(LNot(LLess(OSYS, 0x07d6))) {
If(IGDS) {
Notify(^^PCI0.OVGA.DD03, 0x86)
}
Else {
Notify(^^PCI0.PEGP.VGA.LCD, 0x86)
}
}
Else {
^^PCI0.BRXP(One)
}
Sleep(0x32)
Store(0xb7, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
}
Return(Local0)
}
Method(GHKF) {
Return(HKFR())
}
Method(SHKF, 1) {
And(Arg0, 0xff, Local1)
And(Arg0, 0xff00, Local3)
ShiftRight(Local3, 0x08, Local2)
Store(Package(0x03) {
Zero,
0x04,
Buffer(0x04) { },
}, Local0)
Store(Local1, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LEqual(Arg0, 0x01ae)) {
If(IGDS) {
Store(Zero, Local3)
Store(0xae, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0100),
LEqual(^^PCI0.OVGA.CAL2, 0x0100))) {
Or(Local3, 0x02, Local3)
}
If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0400),
LEqual(^^PCI0.OVGA.CAL2, 0x0400))) {
Or(Local3, One, Local3)
}
If(LOr(LEqual(^^PCI0.OVGA.CADL, 0x0300),
LEqual(^^PCI0.OVGA.CAL2, 0x0300))) {
Or(Local3, 0x10, Local3)
}
Store(Local3, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
Store(Zero, Local3)
If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0100),
LEqual(^^PCI0.OVGA.NDL2, 0x0100))) {
Or(Local3, 0x02, Local3)
}
If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0400),
LEqual(^^PCI0.OVGA.NDL2, 0x0400))) {
Or(Local3, One, Local3)
}
If(LOr(LEqual(^^PCI0.OVGA.NADL, 0x0300),
LEqual(^^PCI0.OVGA.NDL2, 0x0300))) {
Or(Local3, 0x10, Local3)
}
Store(Local3, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
^^PCI0.OVGA.GHDS(Zero)
}
Else {
TRAP(TRTI, 0x0b)
Sleep(0x64)
Store(NSTE, Local3)
Store(And(Local3, One, ), ^^PCI0.PEGP.VGA.LCDA)
Store(ShiftRight(And(Local3, 0x02, ), One, ),
^^PCI0.PEGP.VGA.CRTA)
Store(ShiftRight(And(Local3, 0x10, ), 0x04, ),
^^PCI0.PEGP.VGA.HDTV)
Notify(^^PCI0.PEGP.VGA, 0x80)
Sleep(0x64)
Store(0xae, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), One, ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
Or(ShiftLeft(And(NSTE, 0x03, ), Zero, ),
DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x02, )),
Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
Or(ShiftLeft(And(NSTE, 0x10, ), Zero, ),
DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x02, )),
Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
Or(ShiftLeft(And(CSTE, 0x03, ), Zero, ),
DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x03, )),
Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
Or(ShiftLeft(And(CSTE, 0x10, ), Zero, ),
DerefOf(Index(DerefOf(Index(Local0, 0x02, )), 0x03, )),
Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
}
}
Return(Local0)
}
Method(GBBS) {
Store("HP\x20WMI\x20Command\x200xB\x20\x28BIOS\x20Read\x29", Debug)
Store(One, ^^PCI0.LPC.EC0.NQLB)
Store(Package(0x03) {
Zero,
0x04,
Buffer(0x04) {0x1, 0x0, 0x0, 0x0 },
}, Local0)
Return(Local0)
}
Method(GBBV) {
Acquire(^^PCI0.LPC.EC0.MUT1, 0xffff)
Store(Package(0x03) {
Zero,
0x04,
Buffer(0x04) { },
}, Local0)
If(ECOK) {
Store(^^PCI0.LPC.EC0.QBBB, Local1)
Store(Zero, ^^PCI0.LPC.EC0.QBBB)
}
If(LEqual(Local1, 0x03)) {
Store(0xe4, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x20, Index(DerefOf(Index(Local0, 0x02, )), One, ))
}
If(LEqual(Local1, 0x04)) {
Store(0x42, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LEqual(BTND, Zero)) {
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
Else {
Store(0x02, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
}
If(LEqual(Local1, 0x05)) {
Store(0xe6, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x20, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LEqual(BTND, Zero)) {
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
Else {
Store(0x02, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
}
If(LEqual(Local1, 0x10)) {
Store(0x70, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
}
If(LEqual(Local1, 0x20)) {
Store(0x8d, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LEqual(BTND, Zero)) {
Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
Else {
Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
}
If(LEqual(Local1, 0x21)) {
Store(0x8e, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LEqual(BTND, Zero)) {
Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
Else {
Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
}
If(LEqual(Local1, 0x22)) {
Store(0x8f, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LEqual(BTND, Zero)) {
Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
Else {
Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
}
If(LEqual(Local1, 0x23)) {
Store(0x90, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LEqual(BTND, Zero)) {
Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
Else {
Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
}
If(LEqual(Local1, 0x24)) {
Store(0x91, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LEqual(BTND, Zero)) {
Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
Else {
Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
}
If(LEqual(Local1, 0x25)) {
Store(0x92, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LEqual(BTND, Zero)) {
Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
Else {
Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
}
If(LEqual(Local1, 0x26)) {
Store(0x93, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(0x21, Index(DerefOf(Index(Local0, 0x02, )), One, ))
If(LEqual(BTND, Zero)) {
Store(One, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
Else {
Store(0x03, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
}
}
Release(^^PCI0.LPC.EC0.MUT1)
Return(Local0)
}
Method(GBNS) {
Store(Zero, Local0)
If(ECOK) {
Store(^^PCI0.LPC.EC0.BBDA, Local0)
}
If(Local0) {
Store(Package(0x03) {
Zero,
0x04,
Zero,
}, Local1)
}
Else {
Store(Package(0x03) {
Zero,
0x04,
One,
}, Local1)
}
Return(Local1)
}
Method(SBNS, 1) {
Store(Arg0, Local0)
If(Local0) {
Store(Zero, ^^PCI0.LPC.EC0.BBDA)
}
Else {
Store(One, ^^PCI0.LPC.EC0.BBDA)
}
Return(Package(0x02) {
Zero,
Zero,
})
}
Method(GDIM) {
Store(Zero, Local0)
Store(Package(0x03) {
Zero,
0x04,
Zero,
}, Local1)
If(ECOK) {
Store(^^PCI0.LPC.EC0.ADIM, Local0)
}
If(LEqual(Local0, Zero)) {
Store(Package(0x03) {
Zero,
0x04,
Zero,
}, Local1)
}
Else {
If(LEqual(Local0, One)) {
Store(Package(0x03) {
Zero,
0x04,
One,
}, Local1)
}
}
Return(Local1)
}
Method(SDIM, 1) {
If(And(Arg0, 0xff, )) {
Store(One, Local0)
}
Else {
Store(Zero, Local0)
}
If(ECOK) {
Store(Local0, ^^PCI0.LPC.EC0.ADIM)
}
Return(Package(0x02) {
Zero,
Zero,
})
}
Method(SMAT) {
Store(Zero, Local0)
Store(0x02, Local1)
If(ECOK) {
Store(^^PCI0.LPC.EC0.SMTD, Local0)
}
If(LEqual(Local0, 0x03)) {
Store(0x02, Local1)
}
Else {
Store(One, Local1)
}
If(LEqual(Local0, 0xff)) {
Store(0x02, Local1)
}
Store(One, Local1)
Store(Package(0x03) {
Zero,
0x04,
Buffer(0x04) {0x2, 0x0, 0x0, 0x0 },
}, Local2)
Store(Local1, Index(DerefOf(Index(Local2, 0x02, )), Zero, ))
Return(Local2)
}
Method(GMSR) {
Store(MSRA, Local0)
Store(Package(0x03) {
Zero,
0x04,
Buffer(0x04) {0x0, 0x0, 0x0, 0x0 },
}, Local1)
Store(Local0, Index(DerefOf(Index(Local1, 0x02, )), Zero, ))
Return(Local1)
}
Method(SMSR, 1) {
Store(Arg0, Local0)
Store(Local0, MSRA)
Return(Package(0x02) {
Zero,
Zero,
})
}
Method(GWDI) {
Store(One, WAOK)
Store(One, WA40)
TRAP(TRTI, 0x1f)
Store(Package(0x03) {
Zero,
0x80,
Buffer(0x80) { },
}, Local0)
Store(Zero, Local1)
Add(Local1, And(WAB0, One, ), Local1)
Add(Local1, ShiftRight(And(WAB0, 0x02, ), One, ), Local1)
Store(Zero, Local2)
Store(One, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), One, ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x02, ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x03, ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x04, ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), 0x05, ))
Store(Local1, Index(DerefOf(Index(Local0, 0x02, )), 0x06, ))
Store(Local1, Index(DerefOf(Index(Local0, 0x02, )), 0x07, ))
Add(Local2, 0x10, Local2)
If(And(WAB0, One, )) {
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
Zero, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
One, ), ))
Store(WLD0, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x02, ), ))
Store(WLD1, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x03, ), ))
Store(WLD2, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x04, ), ))
Store(WLD3, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x05, ), ))
Store(WLD4, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x06, ), ))
Store(WLD5, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x07, ), ))
Store(WLD6, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x08, ), ))
Store(WLD7, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x09, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0a, ), ))
Store(WAB1, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0b, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0c, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0d, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0e, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0f, ), ))
Add(Local2, 0x10, Local2)
}
If(And(WAB0, 0x02, )) {
Store(One, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
Zero, ), ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
One, ), ))
Store(WBD0, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x02, ), ))
Store(WBD1, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x03, ), ))
Store(WBD2, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x04, ), ))
Store(WBD3, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x05, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x06, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x07, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x08, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x09, ), ))
Store(One, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0a, ), ))
Store(WAB2, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0b, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0c, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0d, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0e, ), ))
Store(Zero, Index(DerefOf(Index(Local0, 0x02, )), Add(Local2,
0x0f, ), ))
Add(Local2, 0x10, Local2)
}
Return(Local0)
}
Method(SWDS, 1) {
Store(Arg0, Local0)
And(Local0, 0x00ff0000, Local1)
ShiftRight(Local1, 0x10, Local1)
And(Local0, 0xff000000, Local2)
ShiftRight(Local2, 0x18, Local2)
If(LNot(LEqual(Local1, 0xff))) {
Or(0x0c, WAB1, WAB1)
Or(0x0c, WAB2, WAB2)
Or(0x0c, WAB3, WAB3)
}
If(LEqual(Local1, 0xfe)) {
If(LEqual(Local2, One)) {
Store(0x08, WAB4)
}
Else {
Store(Zero, WAB4)
}
Store(0x08, WAB5)
TRAP(TRTI, 0x20)
Store(0x05, WEID)
Store(Zero, WMED)
Notify(WMID, 0x80)
}
Else {
If(LEqual(Local1, 0xff)) {
Store(WAB1, Local3)
And(Local3, 0x08, Local3)
ShiftRight(Local3, 0x03, Local3)
If(LNot(LEqual(Local3, Local2))) {
^^PCI0.LPC.EC0._Q15()
}
}
Else {
If(LEqual(Local1, Zero)) {
If(LEqual(Local2, One)) {
Store(One, WAB4)
}
Else {
Store(Zero, WAB4)
}
Store(One, WAB5)
TRAP(TRTI, 0x20)
Store(0x05, WEID)
Store(Zero, WMED)
Notify(WMID, 0x80)
}
If(LEqual(Local1, One)) {
If(LEqual(Local2, One)) {
Store(0x02, WAB4)
}
Else {
Store(Zero, WAB4)
}
Store(0x02, WAB5)
TRAP(TRTI, 0x20)
Store(0x05, WEID)
Store(Zero, WMED)
Notify(WMID, 0x80)
}
}
}
Return(Package(0x02) {
Zero,
Zero,
})
}
Method(GTFR) {
Store(Package(0x03) {
Zero,
0x80,
Buffer(0x80) { },
}, Local0)
Store(0x82, Local2)
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), Zero, ))
If(LEqual(VTST, One)) {
Store(One, Local2)
}
Else {
Store(Zero, Local2)
}
Store(Local2, Index(DerefOf(Index(Local0, 0x02, )), One, ))
Return(Local0)
}
Method(_WED, 1) {
Concatenate(WEID, WMED, Local0)
Return(Local0)
}
Name(WQAE, Buffer(0x08a9) {0x46, 0x4f, 0x4d, 0x42, 0x1, 0x0, 0x0, 0x0,
0x99, 0x8, 0x0, 0x0, 0x8a, 0x3a, 0x0, 0x0, 0x44, 0x53, 0x0, 0x1, 0x1a, 0x7d,
0xda, 0x54, 0x98, 0x4b, 0x9c, 0x0, 0x1, 0x6, 0x18, 0x42, 0x10, 0x13, 0x10,
0x22, 0x21, 0x4, 0x12, 0x1, 0xa1, 0xc8, 0x2c, 0xc, 0x86, 0x10, 0x38, 0x2e,
0x84, 0x1c, 0x40, 0x88, 0x59, 0x50, 0x8, 0x21, 0x10, 0xea, 0x4f, 0x20, 0xbf,
0x2, 0x10, 0x3a, 0x14, 0x20, 0x53, 0x80, 0x41, 0x1, 0x4e, 0x11, 0x44, 0xd0,
0xab, 0x0, 0x9b, 0x2, 0x4c, 0xa, 0xb0, 0x28, 0x40, 0xbb, 0x0, 0xcb, 0x2, 0x74,
0xb, 0x90, 0xe, 0x4b, 0x44, 0x82, 0xa3, 0xc4, 0x80, 0xa3, 0x74, 0x62, 0xb,
0x37, 0x6c, 0xf0, 0x42, 0x51, 0x34, 0x83, 0x28, 0x9, 0x2a, 0x17, 0xe0, 0x1b,
0x41, 0xe0, 0xe5, 0xa, 0x90, 0x3c, 0x1, 0x69, 0x16, 0x60, 0x58, 0x80, 0x75,
0x1, 0xb2, 0x87, 0x40, 0xa5, 0xe, 0x1, 0x25, 0x67, 0x8, 0xa8, 0x1, 0xb4, 0x3a,
0x1, 0xe1, 0x57, 0x3a, 0x25, 0x24, 0x41, 0x38, 0x63, 0x15, 0x8f, 0xaf, 0x59,
0x34, 0x3d, 0x27, 0x39, 0xc7, 0x90, 0xe3, 0x71, 0xa1, 0x7, 0xc1, 0x!
5, 0x78, 0x18, 0x6, 0x1d, 0xb2, 0x22, 0x6b, 0x80, 0xc1, 0x58, 0x18, 0xb, 0x75,
0x31, 0x6a, 0xd4, 0x48, 0xd9, 0x80, 0xc, 0x51, 0x12, 0x1c, 0x6a, 0xd4, 0x96,
0x28, 0xc0, 0xfc, 0x38, 0x34, 0xbb, 0xb6, 0xc7, 0x42, 0x20, 0x99, 0xb4, 0xa1,
0xa0, 0xa4, 0x40, 0x68, 0x6c, 0x67, 0xea, 0x19, 0x45, 0x3c, 0x52, 0xc3, 0x24,
0xf0, 0x28, 0x22, 0x1b, 0x8d, 0x43, 0x63, 0x87, 0xe1, 0x61, 0x6, 0x3b, 0x88,
0xc3, 0x38, 0xe6, 0xc8, 0x9, 0x3c, 0xa1, 0x23, 0x3d, 0xf2, 0xc2, 0xe6, 0x29,
0xd4, 0x18, 0xcd, 0x41, 0x11, 0xb8, 0xd0, 0x18, 0x19, 0x10, 0xf2, 0x3c, 0x7e,
0x8d, 0xc4, 0x4, 0x76, 0x2f, 0xc0, 0x1a, 0xa6, 0x60, 0x1b, 0x9b, 0x98, 0xfe,
0xff, 0x10, 0x47, 0x1e, 0xa3, 0xad, 0xb9, 0xb, 0x29, 0x4c, 0x8c, 0x28, 0xc1,
0xe2, 0x55, 0x3c, 0xd, 0xa1, 0x3c, 0x29, 0x84, 0x8a, 0x54, 0x19, 0x8a, 0x86,
0x1e, 0xa5, 0x42, 0x1, 0xce, 0xe6, 0x21, 0xdc, 0x1a, 0x41, 0x85, 0x10, 0x2b,
0x52, 0xac, 0xf6, 0x7, 0x41, 0x42, 0x2e, 0x5b, 0xc7, 0x7, 0x47, 0x1a, 0xd,
0xea, 0x50, 0xe0, 0xb1, 0x7b, 0xdc, 0xcf, 0x2, 0x3e, 0x8, 0x9!
c, 0x5b, 0x90, 0xa3, 0x3b, 0x8b, 0x47, 0x85, 0x83, 0xf6, 0xf0,!
0xd8, 0x6d, 0xc0, 0x67, 0x8, 0x9f, 0x2, 0xf0, 0xae, 0x1, 0x35, 0xfd, 0x83,
0x67, 0x82, 0xe0, 0x50, 0x43, 0xf4, 0xa8, 0xc3, 0x9d, 0xc0, 0x21, 0x32, 0x40,
0x4f, 0xea, 0xb8, 0xb1, 0x83, 0x3b, 0x99, 0x83, 0x7e, 0x6f, 0x68, 0xf6, 0xc6,
0x40, 0x8, 0x8e, 0xc7, 0x97, 0x5, 0x36, 0xe1, 0x4, 0x96, 0x3f, 0x8, 0xd4, 0xc8,
0xc, 0xed, 0x51, 0x9e, 0x56, 0xcc, 0x90, 0xcf, 0xc, 0x26, 0xb0, 0x58, 0x8,
0x29, 0x80, 0xd0, 0x78, 0xc0, 0x7f, 0x3, 0x78, 0xc0, 0xf0, 0xcd, 0xc0, 0xf3,
0x35, 0xc1, 0xb0, 0x10, 0x32, 0xb2, 0xa, 0x8f, 0x87, 0x8e, 0xc2, 0xd7, 0x83,
0xc3, 0x39, 0xad, 0x78, 0x26, 0x18, 0xe, 0x42, 0x27, 0x9, 0x8b, 0x1a, 0x36,
0x3d, 0x39, 0xf0, 0x43, 0x3, 0xbb, 0x19, 0x9c, 0xc1, 0x23, 0x80, 0x47, 0x72,
0x42, 0xfe, 0x98, 0x78, 0x60, 0xf0, 0x1, 0xf1, 0xde, 0xa7, 0x4c, 0x46, 0x70,
0xa6, 0x6, 0xf4, 0x71, 0xc0, 0xff, 0xff, 0xa1, 0xf0, 0x21, 0x7a, 0x7c, 0xa7,
0x7c, 0xbc, 0x96, 0x0, 0x21, 0x59, 0xe3, 0x84, 0x7e, 0x87, 0xf0, 0xf1, 0xc3,
0x47, 0x16, 0x47, 0x84, 0x90, 0x93, 0x53, 0x0, 0x1a, 0xf8, 0x74!
, 0xcf, 0x2e, 0xc2, 0xe9, 0x7a, 0x52, 0xe, 0x34, 0xc, 0x3a, 0x4e, 0x70, 0x9c,
0x7, 0xc0, 0x31, 0x4e, 0xf8, 0xe7, 0x2, 0xf8, 0x3, 0xe4, 0xa7, 0x8c, 0x57,
0x8c, 0x4, 0x8e, 0x39, 0x42, 0xf4, 0xb9, 0xc6, 0x23, 0xc4, 0xc2, 0x3f, 0x55,
0x14, 0x3e, 0x10, 0x32, 0x46, 0x70, 0x1, 0x7a, 0x8c, 0xc0, 0x37, 0xe0, 0x18,
0xd1, 0x47, 0x9, 0xae, 0xfe, 0xa0, 0x41, 0x7, 0x88, 0xfb, 0xff, 0xf, 0x10,
0x3e, 0xa8, 0x7, 0x8, 0x7c, 0xa3, 0x1f, 0x3d, 0xd0, 0xe3, 0xb2, 0xe8, 0xf3,
0x80, 0x8c, 0x9f, 0x68, 0x34, 0x2f, 0x7e, 0x3a, 0xe0, 0x87, 0xf, 0xf0, 0x80,
0x7a, 0x48, 0x38, 0x50, 0xcc, 0xb4, 0x39, 0xe8, 0xb3, 0xcb, 0xa1, 0x63, 0x87,
0xb, 0xfe, 0x13, 0x8, 0xb8, 0xe4, 0x1d, 0xc2, 0x40, 0x31, 0x62, 0xfc, 0x39,
0xc8, 0xa7, 0x30, 0xf0, 0xff, 0xff, 0x4f, 0x61, 0xb8, 0x11, 0xf0, 0x20, 0xaf,
0x5, 0x9f, 0xb6, 0xa8, 0x74, 0x18, 0xd4, 0x81, 0xb, 0x30, 0x9, 0x1a, 0xe1,
0x59, 0xa2, 0x36, 0x8, 0x1, 0xbf, 0x4d, 0xbc, 0x6d, 0xf9, 0x16, 0x10, 0xe7,
0xc8, 0x7b, 0x3b, 0x70, 0x11, 0x8c, 0x8, 0xa7, 0x1d, 0xca, 0x63, 0x88,!
0x18, 0x23, 0xca, 0xe3, 0x96, 0x51, 0xde, 0xb6, 0x5e, 0x0, 0xe2, 0x9d,!
0xe5, 0xf3, 0x96, 0x31, 0x82, 0x47, 0x7e, 0xe0, 0x62, 0x62, 0xdf, 0x13, 0xfa,
0xb9, 0xf9, 0xc0, 0x5, 0x38, 0xfb, 0xff, 0x1f, 0xb8, 0x0, 0xe, 0x5, 0x3d, 0xc,
0xa1, 0x87, 0xe1, 0xa9, 0x9c, 0xcb, 0x13, 0xe5, 0xa9, 0x44, 0x8c, 0x1a, 0x26,
0xea, 0x33, 0x94, 0x2f, 0x1a, 0x3e, 0x10, 0x81, 0xef, 0xcc, 0x5, 0xfc, 0xfe,
0xff, 0x7, 0x22, 0x38, 0x2, 0xcf, 0x34, 0xa0, 0xf4, 0x39, 0x3, 0x81, 0x9c,
0x8a, 0xf, 0x35, 0xc0, 0x48, 0xf4, 0xab, 0xc1, 0x27, 0x1a, 0x2a, 0x13, 0x6,
0x75, 0xa8, 0x1, 0x4c, 0x5e, 0x61, 0x9e, 0x46, 0xcf, 0xf9, 0x59, 0xc6, 0xa7,
0x1a, 0x1f, 0x4a, 0x8d, 0x63, 0x88, 0x97, 0x99, 0x87, 0x1a, 0x1f, 0xb, 0x5e,
0x49, 0x7d, 0xa8, 0x31, 0x54, 0x9c, 0x87, 0x1a, 0x9f, 0x48, 0x3, 0x45, 0x7d,
0xb3, 0x79, 0xb6, 0x31, 0x7a, 0x7c, 0xdf, 0x50, 0xd, 0xf1, 0x50, 0xc3, 0x84,
0xbd, 0x23, 0xf4, 0xc1, 0xf5, 0xa1, 0x6, 0x1c, 0xff, 0xff, 0x43, 0xd, 0xc0,
0xff, 0xff, 0xff, 0xa1, 0x6, 0x70, 0x74, 0x34, 0x80, 0x73, 0x64, 0xc4, 0x1d,
0xd, 0xc0, 0x75, 0x28, 0x5, 0xe, 0x47, 0x3, 0xe0, 0x71, 0x14, 0!
x2, 0xf3, 0x85, 0xc6, 0x47, 0x21, 0x60, 0xf1, 0xff, 0x3f, 0xa, 0xe1, 0x64,
0x9f, 0x83, 0x50, 0x42, 0x8f, 0x42, 0x80, 0x54, 0xc8, 0xa7, 0x88, 0x67, 0x1f,
0x5f, 0x7e, 0x1e, 0x8, 0x22, 0xbc, 0xe6, 0xfb, 0x14, 0xe4, 0x43, 0xbe, 0x8f,
0x42, 0xc, 0xc6, 0x50, 0xbe, 0x6, 0xf9, 0x28, 0xc4, 0xa0, 0x5e, 0x83, 0x7c,
0xdf, 0x37, 0xc8, 0x91, 0x18, 0xfb, 0x99, 0xc0, 0x47, 0x21, 0x26, 0xed, 0x28,
0x4, 0x28, 0xfc, 0xff, 0x1f, 0x85, 0x0, 0xfe, 0xff, 0xff, 0x8f, 0x42, 0x80,
0xb3, 0x0, 0x47, 0x3, 0xd0, 0x4d, 0xeb, 0x51, 0x8, 0xbc, 0x77, 0x96, 0xd3,
0x3e, 0x1, 0x9f, 0x85, 0x0, 0xb3, 0xff, 0xff, 0xb3, 0x10, 0x30, 0x3b, 0xa,
0x45, 0x3d, 0xe8, 0x57, 0xa1, 0x27, 0x80, 0x17, 0x80, 0x18, 0x61, 0xde, 0x81,
0x5e, 0x32, 0xd9, 0x5d, 0xdc, 0x38, 0x4f, 0x2e, 0xa7, 0x6d, 0x94, 0x97, 0x20,
0x1f, 0x28, 0x9e, 0x85, 0xc, 0xf5, 0x2e, 0x14, 0xf4, 0x8d, 0xdc, 0xa3, 0x8c,
0x19, 0x3f, 0xc4, 0xf3, 0x90, 0x21, 0x9e, 0x85, 0x0, 0x76, 0xfd, 0xff, 0xcf,
0x42, 0x0, 0xff, 0xff, 0xff, 0x47, 0x3, 0xf8, 0x2f, 0x0, 0x9f, 0x85,!
0x80, 0xe7, 0x9, 0xe0, 0x41, 0xdb, 0x67, 0x21, 0x80, 0x33, 0x87, 0xcb,!
0xf3, 0xf, 0x7a, 0x60, 0xef, 0x11, 0x9e, 0xf5, 0x71, 0xbf, 0x5e, 0x7a, 0xe0,
0xf, 0x5, 0xcf, 0x42, 0xc, 0xeb, 0x98, 0x7c, 0x16, 0x62, 0x10, 0x2f, 0x9a,
0x86, 0x78, 0xe1, 0xf4, 0x61, 0xc0, 0xff, 0x7f, 0xbc, 0xc0, 0xaf, 0x9c, 0x6,
0xa, 0x12, 0xe8, 0x59, 0x8, 0x60, 0xfc, 0xff, 0xff, 0x2c, 0x4, 0x90, 0x71,
0x8d, 0x3a, 0xb, 0x1, 0xcb, 0x63, 0xc, 0x3b, 0xad, 0x24, 0xf8, 0xff, 0x3f, 0xb,
0x1, 0x9f, 0x5c, 0x46, 0xe, 0x42, 0x98, 0x88, 0x6f, 0x5, 0x1f, 0x33, 0x1, 0xa5,
0xe7, 0xa0, 0x17, 0x77, 0x63, 0x4, 0x7e, 0x91, 0x78, 0xcc, 0x64, 0x47, 0x4d,
0xc3, 0x3c, 0xb, 0x19, 0xef, 0x30, 0xce, 0xe0, 0x9, 0xde, 0x93, 0x7f, 0x16,
0x62, 0x60, 0xc7, 0x18, 0xec, 0x51, 0xc8, 0xa0, 0x6, 0x8f, 0x1d, 0x22, 0x4c,
0xa0, 0x67, 0x21, 0x16, 0x6a, 0xdc, 0x3a, 0x7f, 0xf8, 0x2c, 0x4, 0xbc, 0xff,
0xff, 0x67, 0x21, 0xc0, 0xd3, 0x61, 0xc3, 0x67, 0xd, 0xf0, 0xc, 0xdf, 0xa3,
0x3a, 0x87, 0xc7, 0x63, 0xe0, 0x92, 0x55, 0xc7, 0x9, 0x83, 0xe5, 0x5e, 0xa7,
0x6c, 0x9c, 0x61, 0xe8, 0x20, 0xac, 0xe, 0x48, 0xc3, 0xc1, 0xdc!
, 0x43, 0xe, 0xe2, 0x7c, 0xd8, 0x40, 0xad, 0x8, 0x4e, 0xc7, 0x24, 0xf, 0xda,
0x5a, 0x28, 0xa4, 0x80, 0x46, 0x3, 0x32, 0xbc, 0x33, 0x9f, 0x96, 0x28, 0x88,
0x1, 0x7d, 0x2, 0xb2, 0x8d, 0x73, 0x0, 0x6a, 0x2f, 0x9a, 0x2, 0x39, 0xda, 0x60,
0xf4, 0x5f, 0x16, 0xe8, 0x6c, 0x7c, 0xd, 0xe0, 0x1a, 0x20, 0x74, 0x30, 0x30,
0xb4, 0xd5, 0xdc, 0x62, 0x50, 0x60, 0xc6, 0x7f, 0x70, 0x31, 0x81, 0x8f, 0x2e,
0xf8, 0xb3, 0x0, 0xee, 0xff, 0x3f, 0x5c, 0x8f, 0xf6, 0x5d, 0xa0, 0xea, 0xc9,
0xea, 0x8a, 0x60, 0x75, 0x97, 0x17, 0x8, 0x33, 0x32, 0x41, 0x7d, 0x7, 0x2,
0x50, 0x0, 0xf9, 0xe, 0xe0, 0xa3, 0xd3, 0x73, 0x0, 0x9b, 0x48, 0x88, 0x30,
0xd1, 0x8c, 0x8e, 0x98, 0x30, 0x2a, 0xfa, 0x84, 0x29, 0x88, 0x27, 0xec, 0x58,
0x13, 0x46, 0xcf, 0xc4, 0x77, 0x1b, 0x36, 0x62, 0x4c, 0x88, 0xdb, 0x6, 0xb4,
0x9, 0x6, 0xf5, 0x3d, 0x8, 0xd6, 0x90, 0xf9, 0x58, 0x7c, 0x67, 0xc0, 0x4d,
0x19, 0x8c, 0x73, 0x62, 0xd7, 0x4, 0xb, 0x9c, 0x33, 0xc8, 0xe1, 0x31, 0xd7,
0x2f, 0x7e, 0x5b, 0xf2, 0xe8, 0xf8, 0x41, 0xc1, 0x37, 0x1c, 0x86, !
0xfd, 0x30, 0xe6, 0x19, 0xbd, 0x8a, 0xf9, 0xe6, 0x86, 0x81, 0xf5, 0x78,!
0x39, 0xac, 0xd1, 0xc2, 0x1e, 0xda, 0xab, 0x87, 0xcf, 0x2d, 0x3e, 0x4f, 0x18,
0x23, 0xac, 0x2f, 0x2c, 0xe0, 0x0, 0xfc, 0xff, 0xbf, 0x5a, 0xc1, 0xbe, 0x6b,
0x80, 0xe7, 0x26, 0xe4, 0xbb, 0x6, 0xc0, 0xda, 0xff, 0xff, 0x5d, 0x3, 0xfe,
0x35, 0xc1, 0x77, 0xd, 0xe0, 0x3d, 0x74, 0xdf, 0x35, 0x80, 0x6b, 0xf6, 0xbb,
0x6, 0xea, 0x18, 0x60, 0x85, 0x77, 0xd, 0x68, 0xb7, 0xb4, 0x57, 0xb4, 0x87,
0x2a, 0x6b, 0xba, 0x6c, 0xa0, 0xd4, 0x5c, 0x36, 0x0, 0x6d, 0xff, 0xff, 0xcb,
0x6, 0xb0, 0x91, 0x32, 0x61, 0x54, 0xf8, 0x9, 0x53, 0x10, 0x4f, 0xd8, 0xc1,
0x2e, 0x1b, 0xa0, 0x88, 0x71, 0xd9, 0x0, 0xfd, 0xd8, 0x5e, 0x36, 0x80, 0xc1,
0x3d, 0x81, 0xdf, 0x36, 0x80, 0x37, 0xa4, 0x6f, 0x1b, 0xc0, 0xf4, 0xff, 0xf,
0x31, 0xff, 0x6d, 0x3, 0xc5, 0x61, 0x95, 0xb7, 0xd, 0x88, 0x87, 0x77, 0x46,
0x60, 0x55, 0xd7, 0xd, 0x94, 0x9e, 0xeb, 0x6, 0x40, 0x2, 0x31, 0x13, 0x46,
0xc5, 0x9f, 0x30, 0x5, 0xf1, 0x84, 0x1d, 0xed, 0xba, 0x1, 0x8a, 0x20, 0xd7,
0xd, 0xd0, 0xcf, 0xeb, 0x94, 0xc1, 0xfa, 0xff, 0xbf, 0x6e, 0x60, 0x2f!
, 0xa, 0x98, 0xfb, 0x6, 0xf0, 0x86, 0xe5, 0xf7, 0xd, 0xc0, 0xc7, 0xe5, 0x1b,
0x73, 0xdf, 0x0, 0x6c, 0xfe, 0xff, 0xef, 0x1b, 0x0, 0x13, 0x2e, 0xa, 0xb8,
0xfb, 0x6, 0xf0, 0xbe, 0x48, 0xfb, 0xbe, 0x1, 0x5c, 0x83, 0x49, 0xf8, 0xff,
0xdf, 0xf5, 0xe8, 0xb, 0x40, 0x51, 0x60, 0x50, 0x43, 0xf2, 0x99, 0x0, 0x3f,
0xba, 0x83, 0x3b, 0xa6, 0xe0, 0x4c, 0x12, 0x1c, 0x6a, 0xe0, 0xbe, 0x2, 0x3c,
0xcd, 0x9f, 0xd6, 0x7b, 0xbd, 0xe7, 0xf1, 0x24, 0x10, 0x92, 0x1d, 0x61, 0x7c,
0x6c, 0x43, 0x9c, 0xc, 0xc8, 0x41, 0xdc, 0x47, 0xf7, 0x88, 0xef, 0xe1, 0x86,
0x49, 0xe0, 0x21, 0x33, 0x34, 0xe, 0x8d, 0x1d, 0x86, 0xef, 0x2, 0xc1, 0xe,
0xe2, 0x30, 0xce, 0xd7, 0x4, 0x9e, 0xd0, 0x83, 0xc0, 0x7b, 0xf9, 0xa3, 0x41,
0xf1, 0x77, 0x3, 0x4a, 0x60, 0xb8, 0xd0, 0x98, 0x91, 0xfa, 0x6c, 0xff, 0x8e,
0x70, 0x24, 0x26, 0xb0, 0x7b, 0x48, 0x59, 0x13, 0xa0, 0xf1, 0x96, 0x43, 0x20,
0x7a, 0xc3, 0x91, 0x2d, 0x14, 0xcd, 0x2d, 0xca, 0xfb, 0x42, 0x14, 0x3b, 0x43,
0x10, 0x46, 0x94, 0x60, 0x41, 0x9e, 0xd6, 0x62, 0x45, 0x79, 0x66, 0!
x37, 0x42, 0xc4, 0x10, 0xaf, 0xc, 0x81, 0x5e, 0x12, 0xc2, 0x7, 0x79, 0x!
ec, 0x89, 0xd3, 0xfe, 0x20, 0x88, 0xf8, 0x17, 0x82, 0x3c, 0x80, 0x28, 0xd2,
0x68, 0x50, 0xe7, 0x6, 0x8f, 0xdd, 0x87, 0x10, 0x5f, 0xfe, 0x7d, 0xb8, 0xf7,
0xe8, 0xe, 0xee, 0x45, 0xfe, 0xa0, 0x3d, 0x3c, 0x76, 0xc2, 0xf0, 0x41, 0x3,
0x8e, 0x6b, 0x40, 0x4d, 0xff, 0x19, 0x1, 0x2c, 0x97, 0x7f, 0xf8, 0xe3, 0xf1,
0x3d, 0xc1, 0xf3, 0x39, 0xe1, 0x4, 0x96, 0x3f, 0x8, 0xd4, 0x71, 0x84, 0xcf,
0xf3, 0x85, 0xc3, 0x90, 0xcf, 0x2, 0x87, 0xc5, 0xc4, 0xa, 0xf8, 0xff, 0x9f,
0x4c, 0xd8, 0x78, 0xc0, 0x7f, 0xf, 0x79, 0xfd, 0xf7, 0xcd, 0xc0, 0xf3, 0x35,
0xc1, 0x88, 0x10, 0x72, 0x32, 0x1e, 0x34, 0xe8, 0xd9, 0xf8, 0x80, 0xe1, 0xeb,
0x9, 0x3b, 0x77, 0x70, 0x51, 0xe7, 0xe, 0xd4, 0xd1, 0xc1, 0xa7, 0x6, 0x76,
0xb3, 0xc1, 0x1c, 0xb7, 0xf9, 0x59, 0x3, 0xfc, 0x23, 0x84, 0x7f, 0x7b, 0xf0,
0xbc, 0x7c, 0x65, 0x78, 0x75, 0x48, 0xe0, 0x90, 0x23, 0x44, 0x8f, 0xcb, 0x23,
0xc4, 0x9c, 0x6f, 0x30, 0x43, 0x4, 0xd7, 0x59, 0x0, 0x1c, 0x43, 0x4, 0x3e,
0x67, 0x4c, 0x9f, 0x71, 0x60, 0xfe, 0xff, 0xcf, 0x38, 0xec, 0xd2, 0xc3!
, 0x7, 0x6a, 0x78, 0x13, 0xf8, 0xfe, 0x8c, 0x3b, 0xd2, 0x18, 0x9c, 0x1f, 0x33,
0x1e, 0x76, 0x18, 0xf8, 0xfb, 0x8e, 0x67, 0x70, 0x34, 0x3e, 0xa0, 0x18, 0x21,
0xf8, 0x73, 0xc9, 0x73, 0x8a, 0x35, 0xf, 0x52, 0x33, 0x7a, 0x67, 0x38, 0x4,
0x76, 0xb3, 0xc2, 0x1d, 0x38, 0x3c, 0x4, 0x3e, 0x80, 0x56, 0x27, 0x47, 0x4e,
0x3f, 0xa7, 0x84, 0x1b, 0x3e, 0xbf, 0xa, 0x60, 0xe, 0x41, 0x38, 0x85, 0x36,
0x7d, 0x6a, 0x34, 0x6a, 0xd5, 0xa0, 0x4c, 0x8d, 0x32, 0xd, 0x6a, 0xf5, 0xa9,
0xd4, 0x98, 0xb1, 0xb, 0x8b, 0x3, 0xbe, 0x2, 0x74, 0x1c, 0xb0, 0x3c, 0xa, 0x1d,
0xc1, 0xc8, 0x9b, 0x40, 0x20, 0xe, 0xb, 0x42, 0x23, 0xbd, 0x71, 0x4, 0x62,
0xc9, 0xef, 0x2f, 0x81, 0x58, 0xee, 0x3, 0x45, 0x20, 0xe, 0x68, 0x2, 0x9c,
0xaa, 0x0, 0xa7, 0xaf, 0x1, 0x81, 0x38, 0x32, 0x8, 0x15, 0xfa, 0x35, 0x13,
0x88, 0x63, 0x82, 0xd0, 0x50, 0x3e, 0x40, 0x98, 0xf4, 0x17, 0x80, 0x0, 0x89,
0x11, 0x10, 0x16, 0xee, 0xe5, 0x20, 0x10, 0x4b, 0x7b, 0x2d, 0x8, 0xc4, 0x42,
0xac, 0x80, 0xb0, 0xb8, 0x20, 0x34, 0x9c, 0x16, 0x10, 0x26, 0xc9, !
0xc, 0x8, 0xb, 0x4, 0x42, 0xe5, 0x3f, 0xd3, 0x4, 0x62, 0x91, 0x6e, 0x0,!
0xe9, 0xba, 0x5, 0xe2, 0x20, 0x7a, 0x40, 0x98, 0xc, 0x3f, 0x20, 0x2c, 0x34,
0x8, 0x8d, 0xf6, 0x6c, 0x10, 0x20, 0x31, 0x4, 0xc2, 0xe2, 0x3b, 0x2, 0x61,
0xe2, 0xdf, 0x44, 0x2, 0x71, 0x4a, 0x4b, 0x10, 0x37, 0xa5, 0x1, 0x6, 0x11,
0x90, 0x93, 0x6a, 0x2, 0x62, 0xb9, 0x41, 0x34, 0x24, 0xf2, 0xb0, 0x10, 0x90,
0x93, 0x82, 0x68, 0xc0, 0xc4, 0x14, 0x90, 0xff, 0xff, 0x43, 0x13, 0x88, 0x80,
0x9c, 0xca, 0x15, 0x10, 0x8b, 0x8, 0x22, 0x20, 0x27, 0x7b, 0x52, 0x9, 0xc8,
0x39, 0x41, 0x74, 0x4, 0x20, 0xba, 0x80, 0x58, 0x3e, 0x10, 0x1, 0x39, 0x96,
0x2f, 0x20, 0x16, 0x12, 0x44, 0x40, 0x4e, 0xf4, 0xf3, 0x9, 0x44, 0xe2, 0x81,
0x68, 0x10, 0xe4, 0x3f, 0x21, 0x20, 0x67, 0x4, 0x11, 0x10, 0x79, 0x12, 0x5,
0x21, 0x9a, 0x3e, 0x62, 0x2, 0x71, 0x6a, 0x10, 0x9a, 0xec, 0x27, 0x14, 0x84,
0xfc, 0xff, 0x1 })
}
Device(QBTN) {
Name(_HID, 0x320cd041)
Name(_UID, One)
Method(_STA) {
If(LEqual(^^PCI0.TPOS, 0x40)) {
Return(0x0f)
}
Else {
Return(Zero)
}
}
Method(GHID) {
If(LEqual(SVIM, 0x04)) {
Notify(QBTN, 0x02)
}
Return(Buffer(One) {0x1 })
}
}
Device(DBTN) {
Name(_HID, 0x320cd041)
Name(_UID, 0x02)
Method(_STA) {
If(LEqual(^^PCI0.TPOS, 0x40)) {
Return(0x0f)
}
Else {
Return(Zero)
}
}
Method(GHID) {
If(LEqual(SVIM, 0x05)) {
Notify(DBTN, 0x02)
}
Return(Buffer(One) {0x2 })
}
}
Device(MBTN) {
Name(_HID, 0x320cd041)
Name(_UID, 0x03)
Method(_STA) {
If(LEqual(^^PCI0.TPOS, 0x40)) {
Return(0x0f)
}
Else {
Return(Zero)
}
}
Method(GHID) {
If(LEqual(SVIM, 0x03)) {
Notify(MBTN, 0x02)
}
Return(Buffer(One) {0x3 })
}
}
Device(EBTN) {
Name(_HID, 0x320cd041)
Name(_UID, 0x04)
Method(_STA) {
If(LEqual(^^PCI0.TPOS, 0x40)) {
Return(0x0f)
}
Else {
Return(Zero)
}
}
Method(GHID) {
If(LEqual(SVIM, 0x10)) {
Notify(EBTN, 0x02)
}
Return(Buffer(One) {0x4 })
}
}
Device(PBTN) {
Name(_HID, 0x320cd041)
Name(_UID, 0x06)
Method(_STA) {
If(LEqual(^^PCI0.TPOS, 0x40)) {
Return(0x0f)
}
Else {
Return(Zero)
}
}
Method(GHID) {
If(LEqual(SVIM, 0x06)) {
Notify(PBTN, 0x02)
}
Return(Buffer(One) {0x6 })
}
}
Device(VBTN) {
Name(_HID, 0x320cd041)
Name(_UID, 0x07)
Method(_STA) {
If(LEqual(^^PCI0.TPOS, 0x40)) {
Return(0x0f)
}
Else {
Return(Zero)
}
}
Method(GHID) {
If(LEqual(SVIM, 0x09)) {
Notify(VBTN, 0x02)
}
Return(Buffer(One) {0x7 })
}
}
Device(TBTN) {
Name(_HID, 0x320cd041)
Name(_UID, 0x08)
Method(_STA) {
If(LEqual(^^PCI0.TPOS, 0x40)) {
Return(0x0f)
}
Else {
Return(Zero)
}
}
Method(GHID) {
If(LEqual(SVIM, 0x12)) {
Notify(TBTN, 0x02)
}
Return(Buffer(One) {0x8 })
}
}
}
}
/*
HPET: Length=56, Revision=1, Checksum=78,
OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
Creator ID=MSFT, Creator Revision=0x1000013
*/
/*
APIC: Length=108, Revision=2, Checksum=16,
OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
Creator ID=MSFT, Creator Revision=0x1000013
*/
/*
MCFG: Length=60, Revision=1, Checksum=30,
OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
Creator ID=MSFT, Creator Revision=0x1000013
*/
/*
ASF!: Length=165, Revision=32, Checksum=127,
OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
Creator ID=MSFT, Creator Revision=0x1000013
*/
/*
SLIC: Length=374, Revision=1, Checksum=155,
OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x6040000,
Creator ID= LTP, Creator Revision=0x1
*/
/*
BOOT: Length=40, Revision=1, Checksum=14,
OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1,
Creator ID=MSFT, Creator Revision=0x1000013
*/
/*
SSDT: Length=1621, Revision=1, Checksum=85,
OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
Creator ID=INTL, Creator Revision=0x20051117
*/
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index