hybrid-graphics-linux team mailing list archive
-
hybrid-graphics-linux team
-
Mailing list archive
-
Message #00114
Re: RadeonHD+IntelGMA switchable
On Thu, 15 Jul 2010, Dave Airlie wrote:
With switcheroo, its really a complete stack thing that makes the magic work.
Since userspace doesn't need the BIOS ROM with KMS drivers we don't
need to do anything seriously different,
we change a couple of flags around in the resource code to make X
believe the primary GPU has changed, but
if X needs the ROM it also tries to get it via libpciaccess which is
smart enough to do the right thing.
I suspect for fglrx extracting the ROM, and trying to overwrite the
one at 0xc0000 might actually work.
As for the crazy stack in radeon kms driver, there are lot of places
the ROM can be found, and we just fallback in order depending on the
type and state of the GPU, i.e. IGPs use one path, unposted GPUs
another etc.
Yes, I got it, thanks.
I've decided to compare vga bioses dumped from atrm and
the one mapped to 0xC0000 by bios in discrete mode. They differ in 3
bytes, two somwhere in the header at offset 0x22 and at 0x1CC
(usBiosRuntimeSegmentAddress - sure it will differ, discrete points to
0xC000 and switchable to 0x2000) and one deep in the body (at 0xABAF).
BTW, yesterday I updated bios from Acer, and now while in discrete mode,
during booting/halting kernel floods following crap repeatedly
[ 15.698520] [drm:radeon_gart_bind] *ERROR* trying to bind memory to unitialized GART !
[ 15.698586] [drm:radeon_ttm_backend_bind] *ERROR* failed to bind 1056 pages at 0x00000000
[ 15.698641] [TTM] Couldn't bind backend.
[ 15.698863] radeon 0000:01:00.0: object_init failed for (4325376, 0x00000002)
[ 15.698913] [drm:radeon_gem_object_create] *ERROR* Failed to allocate GEM object (4325376, 2, 4096, -22)
PS. DSDT also changed with new bios (I had kernel with compiled in dsdt,
and it was spitting out acpi errors till I recompiled it without dsdt) so
attaching new DSDT. It became a bit bigger.
---
Looking forward to reading yours.
Ruslan N. Marchenko
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20100528
*
* Disassembly of DSDT, Thu Jul 15 19:42:03 2010
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x0000BB84 (48004)
* Revision 0x02
* Checksum 0x35
* OEM ID "ACRSYS"
* OEM Table ID "ACRPRDCT"
* OEM Revision 0x00000001 (1)
* Compiler ID "1025"
* Compiler Version 0x01000013 (16777235)
*/
DefinitionBlock ("DSDT.aml", "DSDT", 2, "ACRSYS", "ACRPRDCT", 0x00000001)
{
External (TNOT, MethodObj) // 0 Arguments
External (PDC7)
External (PDC6)
External (PDC5)
External (PDC4)
External (PDC3)
External (PDC2)
External (PDC1)
External (PDC0)
External (CFGD)
External (HBRT, MethodObj) // 1 Arguments
External (HNOT, MethodObj) // 1 Arguments
External (SNXD)
External (IDAB, MethodObj) // 0 Arguments
External (HDOS, MethodObj) // 0 Arguments
External (\_SB_.PCI0.D1EN)
External (\_PR_.CPU0._PPC, IntObj)
External (\_SB_.PCI0.IEIT.EITV, MethodObj) // 0 Arguments
External (\_SB_.PCI0.GFX0.AFN6, MethodObj) // 0 Arguments
External (\_SB_.PCI0.GFX0.AFN0, MethodObj) // 0 Arguments
External (\_SB_.PCI0.P0P2.PEGP.DD02)
Name (SP2O, 0x4E)
Name (SP1O, 0x2E)
Name (IO1B, 0x0600)
Name (IO1L, 0x70)
Name (IO2B, 0x0600)
Name (IO2L, 0x20)
Name (IO3B, 0x0290)
Name (IO3L, 0x10)
Name (SP3O, 0x2E)
Name (IO4B, 0x0A20)
Name (IO4L, 0x20)
Name (MCHB, 0xFED10000)
Name (MCHL, 0x4000)
Name (EGPB, 0xFED19000)
Name (EGPL, 0x1000)
Name (DMIB, 0xFED1B000)
Name (DMIL, 0x1000)
Name (IFPB, 0xFED14000)
Name (IFPL, 0x1000)
Name (PEBS, 0xF0000000)
Name (PELN, 0x08000000)
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, 0x80)
Name (APCB, 0xFEC00000)
Name (APCL, 0x1000)
Name (PM30, 0x0430)
Name (SRCB, 0xFED1C000)
Name (SRCL, 0x4000)
Name (SUSW, 0xFF)
Name (HPTB, 0xFED00000)
Name (HPTC, 0xFED1F404)
Name (ACPH, 0xDE)
Name (ASSB, Zero)
Name (AOTB, Zero)
Name (AAXB, Zero)
Name (PEHP, Zero)
Name (SHPC, One)
Name (PEPM, Zero)
Name (PEER, Zero)
Name (PECS, Zero)
Name (ITKE, Zero)
Name (FHPP, One)
Name (DSSP, Zero)
Name (FMBL, One)
Name (FDTP, 0x02)
Name (BRF, One)
Name (BPH, 0x02)
Name (BLC, 0x03)
Name (BRFS, 0x04)
Name (BPHS, 0x05)
Name (BLCT, 0x06)
Name (BRF4, 0x07)
Name (BEP, 0x08)
Name (BBF, 0x09)
Name (BOF, 0x0A)
Name (BPT, 0x0B)
Name (SRAF, 0x0C)
Name (WWP, 0x0D)
Name (SDOE, 0x0E)
Name (TRTP, One)
Name (TRTD, 0x02)
Name (TRTI, 0x03)
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 (SOOT, 0x35)
Name (PDBR, 0x4D)
Name (SMBL, 0x10)
Name (TCGM, One)
OperationRegion (GNVS, SystemMemory, 0xB37AE018, 0x0000FD78)
Field (GNVS, AnyAcc, Lock, Preserve)
{
OSYS, 16,
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,
PSVT, 8,
TC1V, 8,
TC2V, 8,
TSPV, 8,
CRTT, 8,
DTSE, 8,
DTS1, 8,
DTS2, 8,
DTSF, 8,
Offset (0x25),
REVN, 8,
Offset (0x28),
APIC, 8,
TCNT, 8,
PCP0, 8,
PCP1, 8,
PPCM, 8,
PPMF, 32,
Offset (0x32),
NATP, 8,
CMAP, 8,
CMBP, 8,
LPTP, 8,
FDCP, 8,
COMA, 8,
COMB, 8,
SMSC, 8,
W381, 8,
SMC1, 8,
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,
KSV0, 32,
KSV1, 8,
Offset (0x67),
BLCS, 8,
BRTL, 8,
ALSE, 8,
ALAF, 8,
LLOW, 8,
LHIH, 8,
Offset (0x6E),
EMAE, 8,
EMAP, 16,
EMAL, 16,
Offset (0x74),
MEFE, 8,
DSTS, 8,
Offset (0x78),
TPMP, 8,
TPME, 8,
MORD, 8,
TCGP, 8,
PPRP, 32,
PPRQ, 8,
LPPR, 8,
GTF0, 56,
GTF2, 56,
IDEM, 8,
GTF1, 56,
BID, 8,
Offset (0xAA),
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,
IPCF, 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,
PAVP, 8,
Offset (0xE1),
OSCC, 8,
NEXP, 8,
SDGV, 8,
SDDV, 8,
Offset (0xEB),
DSEN, 8,
ECON, 8,
GPIC, 8,
CTYP, 8,
L01C, 8,
VFN0, 8,
VFN1, 8,
Offset (0x100),
NVGA, 32,
NVHA, 32,
AMDA, 32,
DID6, 32,
DID7, 32,
DID8, 32,
EBAS, 32,
CPSP, 32,
EECP, 32,
EVCP, 32,
XBAS, 32,
OBS1, 32,
OBS2, 32,
OBS3, 32,
OBS4, 32,
OBS5, 32,
OBS6, 32,
OBS7, 32,
OBS8, 32,
Offset (0x157),
ATMC, 8,
PTMC, 8,
ATRA, 8,
PTRA, 8,
PNHM, 32,
TBAB, 32,
TBAH, 32,
RTIP, 8,
TSOD, 8,
ATPC, 8,
PTPC, 8,
PFLV, 8,
BREV, 8,
DPBM, 8,
DPCM, 8,
DPDM, 8,
ALFP, 8,
IMON, 8,
SROM, 32,
VROM, 516096,
S3DS, 8,
PMEE, 8
}
OperationRegion (OGNS, SystemMemory, 0xB37ADF98, 0x00000052)
Field (OGNS, AnyAcc, Lock, Preserve)
{
OG00, 8,
OG01, 8,
OG02, 8,
OG03, 8,
OG04, 8,
OG05, 8,
OG06, 8,
OG07, 8,
OG08, 8,
OG09, 8,
OG10, 8,
PRMW, 8,
DI00, 560
}
OperationRegion (MBOX, SystemMemory, 0xB37BEA98, 0x00000320)
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,
COA1, 8,
CAIO, 8,
CAIP, 8,
CAMD, 8,
CADA, 8,
COB1, 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,
PM32, 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,
ACPV, 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,
OSY1, 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,
P2HP, 8,
P3HP, 8,
P4HP, 8,
P5HP, 8,
P0IL, 8,
P1IL, 8,
P2IL, 8,
D2F1, 8,
DVPA, 8,
DTGM, 8,
Offset (0xF5),
Offset (0xF6),
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,
UCME, 8,
MEDM, 8,
PPDA, 8,
PPCG, 8,
PPBV, 8,
PPV1, 8,
PPPV, 8,
PPMV, 8,
PRE0, 8,
PRE1, 8,
PRE2, 8,
PRE3, 8,
PRE4, 8,
PRE5, 8,
PRE6, 8,
PRE7, 8,
PRA0, 8,
PRA1, 8,
PRA2, 8,
PRA3, 8,
PRA4, 8,
PRA5, 8,
PRA6, 8,
PRA7, 8,
PRU0, 8,
PRU1, 8,
PRU2, 8,
PRU3, 8,
PRU4, 8,
PRU5, 8,
PRU6, 8,
PRU7, 8,
PRF0, 8,
PRF1, 8,
PRF2, 8,
PRF3, 8,
PRF4, 8,
PRF5, 8,
PRF6, 8,
PRF7, 8,
PRN0, 8,
PRN1, 8,
PRN2, 8,
PRN3, 8,
PRN4, 8,
PRN5, 8,
PRN6, 8,
PRN7, 8,
PRC0, 8,
PRC1, 8,
PRC2, 8,
PRC3, 8,
PRC4, 8,
PRC5, 8,
PRC6, 8,
PRC7, 8,
CTD0, 8,
CTD1, 8,
CTD2, 8,
CTD3, 8,
CTD4, 8,
CTD5, 8,
CTD6, 8,
CTD7, 8,
PIE0, 8,
PIE1, 8,
PIE2, 8,
PIE3, 8,
PIE4, 8,
PIE5, 8,
PIE6, 8,
PIE7, 8,
SFE0, 8,
SFE1, 8,
SFE2, 8,
SFE3, 8,
SFE4, 8,
SFE5, 8,
SFE6, 8,
SFE7, 8,
SNE0, 8,
SNE1, 8,
SNE2, 8,
SNE3, 8,
SNE4, 8,
SNE5, 8,
SNE6, 8,
SNE7, 8,
SCE0, 8,
SCE1, 8,
SCE2, 8,
SCE3, 8,
SCE4, 8,
SCE5, 8,
SCE6, 8,
SCE7, 8,
PPS0, 8,
PPS1, 8,
PPS2, 8,
PPS3, 8,
PPS4, 8,
PPS5, 8,
PPS6, 8,
PPS7, 8,
PHP0, 8,
PHP1, 8,
PHP2, 8,
PHP3, 8,
PHP4, 8,
PHP5, 8,
PHP6, 8,
PHP7, 8,
PEGA, 8,
PGAA, 8,
PGL0, 8,
PL0A, 8,
PGL1, 8,
Offset (0x196),
PAV1, 8,
ISTC, 8,
TRML, 8,
ATHF, 8,
PTTP, 8,
XDMD, 8,
PCRR, 8,
PROH, 8,
TUBM, 8,
TSTE, 8,
BPST, 8,
VTST, 8,
CSTS, 8,
ENCS, 8,
ENC6, 8,
CMPE, 8,
MDST, 8,
EXBR, 8,
TXTS, 8,
VTDE, 8,
CART, 8,
CATT, 8,
STBE, 8,
PEBE, 8,
PCBE, 8,
EHBE, 8,
UHBE, 8,
HABE, 8,
ERS2, 8,
GLPM, 8,
GRTT, 8,
CRID, 8,
ATLF, 8,
PTC1, 8,
PTC2, 8,
PTSP, 8,
CTTP, 8,
HTSP, 8,
U116, 8,
U117, 8,
UP12, 8,
UP13, 8,
DALC, 8,
ENC7, 8,
CSIT, 8,
CSIF, 8,
CSL1, 8,
MIRP, 8,
MEMF, 8,
CHIL, 8,
RKIL, 8,
QPIF, 8,
DLMF, 8,
GPPS, 8,
AGLP, 8,
EIPS, 8,
MTUB, 8,
CPEC, 8,
IPSP, 8,
CTLT, 8,
CTLV, 16,
MPLT, 8,
MPLV, 16,
PPLT, 8,
PPLV, 16,
CPLT, 8,
CPLV, 16,
RTIF, 8,
DPPM, 8,
RELT, 8,
INTR, 8,
PATD, 8,
COHE, 8,
CTBO, 8,
FBOT, 8,
CTRD, 8,
CERD, 8,
MTRD, 8,
PTRD, 8,
ALEL, 8,
CALE, 8,
MALE, 8,
PALE, 8,
DALE, 8,
TODM, 8,
D1TR, 8,
D2TR, 8,
D3TR, 8,
D4TR, 8,
LFPC, 8,
RMHM, 8,
METR, 8,
ECML, 8,
MPEC, 8,
TRTS, 8,
M30A, 64,
M30S, 16,
PPOL, 8,
HPSP, 8,
TVCC, 8,
PFLG, 8,
HYCM, 8,
HBDP, 8,
TVFC, 8,
DPMD, 8,
CACK, 8,
AZHI, 8,
IMEP, 8,
IMFE, 8,
SAG3, 8,
CRSV, 16,
WMDT, 16,
WPWT, 16,
PSW0, 8,
PSW1, 8,
D2DF, 8,
F12F, 8,
TWOH, 8,
HDF1, 8,
HDF2, 8,
ORSV, 472,
DRSV, 800,
MEFD, 8,
FWVB, 8,
USBP, 8,
FWPR, 8,
MELF, 8,
MEFQ, 8,
HP0S, 8,
HP1S, 8,
HP2S, 8,
HP3S, 8,
HP4S, 8,
HP5S, 8,
PEG1, 8,
CPMD, 8,
ENIF, 8,
PFFL, 8,
PRSV, 672
}
Scope (_SB)
{
Name (PR00, Package (0x2B)
{
Package (0x04)
{
0x0001FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x001FFFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0x001FFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0x001FFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0x001FFFFF,
0x03,
LNKA,
Zero
},
Package (0x04)
{
0x001DFFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0x001DFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0x001DFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001DFFFF,
0x03,
LNKA,
Zero
},
Package (0x04)
{
0x001AFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x001AFFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0x001AFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0x001AFFFF,
0x03,
LNKC,
Zero
},
Package (0x04)
{
0x001BFFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0x001CFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x001CFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0019FFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x0016FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0016FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0016FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0016FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0003FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0004FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0004FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0004FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0004FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0005FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0005FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0005FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0005FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0006FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0006FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0006FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0006FFFF,
0x03,
LNKD,
Zero
}
})
Name (AR00, Package (0x2B)
{
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)
{
0x001FFFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0x001FFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0x001FFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0x001FFFFF,
0x03,
Zero,
0x10
},
Package (0x04)
{
0x001DFFFF,
Zero,
Zero,
0x17
},
Package (0x04)
{
0x001DFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
Zero,
0x10
},
Package (0x04)
{
0x001AFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x001AFFFF,
One,
Zero,
0x15
},
Package (0x04)
{
0x001AFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0x001AFFFF,
0x03,
Zero,
0x12
},
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)
{
0x0019FFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x0016FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0016FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0016FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0016FFFF,
0x03,
Zero,
0x13
},
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)
{
0x0004FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0004FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0004FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0004FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0005FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0005FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0005FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0005FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0006FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0006FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0006FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0006FFFF,
0x03,
Zero,
0x13
}
})
Name (PR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR02, 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
}
})
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR04, 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
}
})
Name (PR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR05, 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
}
})
Name (PR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR06, 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
}
})
Name (PR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
Zero
}
})
Name (AR07, 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
}
})
Name (PR08, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR08, 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
}
})
Name (PR0A, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR0A, 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
}
})
Name (PR0B, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
Zero
}
})
Name (AR0B, 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
}
})
Name (PR01, Package (0x0C)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKF,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKG,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKH,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKE,
Zero
},
Package (0x04)
{
0x0001FFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKE,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKH,
Zero
},
Package (0x04)
{
0x0005FFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0x0005FFFF,
One,
LNKE,
Zero
},
Package (0x04)
{
0x0005FFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0x0005FFFF,
0x03,
LNKF,
Zero
}
})
Name (AR01, Package (0x0C)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x15
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x16
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x17
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x14
},
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x15
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x14
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x17
},
Package (0x04)
{
0x0005FFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0x0005FFFF,
One,
Zero,
0x14
},
Package (0x04)
{
0x0005FFFF,
0x02,
Zero,
0x16
},
Package (0x04)
{
0x0005FFFF,
0x03,
Zero,
0x15
}
})
Name (PR0C, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR0C, 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
}
})
Name (PRSA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,10,11,12,14,15}
})
Alias (PRSA, PRSB)
Alias (PRSA, PRSC)
Alias (PRSA, PRSD)
Alias (PRSA, PRSE)
Alias (PRSA, PRSF)
Alias (PRSA, PRSG)
Alias (PRSA, PRSH)
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A08"))
Name (_CID, EisaId ("PNP0A03"))
Name (_ADR, Zero)
Method (^BN00, 0, NotSerialized)
{
Return (Zero)
}
Method (_BBN, 0, NotSerialized)
{
Return (BN00 ())
}
Name (_UID, Zero)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR00)
}
Return (PR00)
}
OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
EPEN, 1,
, 11,
EPBR, 20,
Offset (0x08),
MHEN, 1,
, 13,
MHBR, 18,
Offset (0x10),
IIEN, 1,
, 11,
DIBI, 20,
Offset (0x28),
DIEN, 1,
, 11,
DIBR, 20,
Offset (0x30),
IPEN, 1,
, 11,
IPBR, 20,
Offset (0x62),
TUUD, 16,
Offset (0x70),
, 4,
TLUD, 12,
Offset (0x89),
, 3,
GTSE, 1,
Offset (0x8A)
}
OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100)
Field (MCHT, ByteAcc, NoLock, Preserve)
{
Offset (0xD40),
ADVE, 1,
, 11,
ADVT, 20,
Offset (0x101E),
T0IS, 16,
Offset (0x105E),
T1IS, 16,
Offset (0x10EF),
ESCS, 8
}
Name (BUF0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x007E, // Range Maximum
0x0000, // Translation Offset
0x007F, // Length
,, )
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000CF7, // Range Maximum
0x00000000, // Translation Offset
0x00000CF8, // Length
,, , TypeStatic)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000D00, // Range Minimum
0x0000FFFF, // Range Maximum
0x00000000, // Translation Offset
0x0000F300, // Length
,, , TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C0000, // Range Minimum
0x000C3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C4000, // Range Minimum
0x000C7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C8000, // Range Minimum
0x000CBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000CC000, // Range Minimum
0x000CFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D0000, // Range Minimum
0x000D3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D4000, // Range Minimum
0x000D7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D8000, // Range Minimum
0x000DBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000DC000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E0000, // Range Minimum
0x000E3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E4000, // Range Minimum
0x000E7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E8000, // Range Minimum
0x000EBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000EC000, // Range Minimum
0x000EFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000F0000, // Range Minimum
0x000FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00010000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xFEAFFFFF, // Range Maximum
0x00000000, // Translation Offset
0xFEB00000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0xFED40000, // Range Minimum
0xFED44FFF, // Range Maximum
0x00000000, // Translation Offset
0x00005000, // Length
,, , AddressRangeMemory, TypeStatic)
})
Method (_CRS, 0, Serialized)
{
CreateWordField (BUF0, 0x0A, PBMX)
Store (Subtract (ShiftRight (PELN, 0x14), 0x02), PBMX)
CreateWordField (BUF0, 0x0E, PBLN)
Store (Subtract (ShiftRight (PELN, 0x14), One), PBLN)
If (^^CPBG.IMCH.PM1L)
{
CreateDWordField (BUF0, 0x7C, C0LN)
Store (Zero, C0LN)
}
If (LEqual (^^CPBG.IMCH.PM1L, One))
{
CreateBitField (BUF0, 0x0358, C0RW)
Store (Zero, C0RW)
}
If (^^CPBG.IMCH.PM1H)
{
CreateDWordField (BUF0, 0x96, C4LN)
Store (Zero, C4LN)
}
If (LEqual (^^CPBG.IMCH.PM1H, One))
{
CreateBitField (BUF0, 0x0428, C4RW)
Store (Zero, C4RW)
}
If (^^CPBG.IMCH.PM2L)
{
CreateDWordField (BUF0, 0xB0, C8LN)
Store (Zero, C8LN)
}
If (LEqual (^^CPBG.IMCH.PM2L, One))
{
CreateBitField (BUF0, 0x04F8, C8RW)
Store (Zero, C8RW)
}
If (^^CPBG.IMCH.PM2H)
{
CreateDWordField (BUF0, 0xCA, CCLN)
Store (Zero, CCLN)
}
If (LEqual (^^CPBG.IMCH.PM2H, One))
{
CreateBitField (BUF0, 0x05C8, CCRW)
Store (Zero, CCRW)
}
If (^^CPBG.IMCH.PM3L)
{
CreateDWordField (BUF0, 0xE4, D0LN)
Store (Zero, D0LN)
}
If (LEqual (^^CPBG.IMCH.PM3L, One))
{
CreateBitField (BUF0, 0x0698, D0RW)
Store (Zero, D0RW)
}
If (^^CPBG.IMCH.PM3H)
{
CreateDWordField (BUF0, 0xFE, D4LN)
Store (Zero, D4LN)
}
If (LEqual (^^CPBG.IMCH.PM3H, One))
{
CreateBitField (BUF0, 0x0768, D4RW)
Store (Zero, D4RW)
}
If (^^CPBG.IMCH.PM4L)
{
CreateDWordField (BUF0, 0x0118, D8LN)
Store (Zero, D8LN)
}
If (LEqual (^^CPBG.IMCH.PM4L, One))
{
CreateBitField (BUF0, 0x0838, D8RW)
Store (Zero, D8RW)
}
If (^^CPBG.IMCH.PM4H)
{
CreateDWordField (BUF0, 0x0132, DCLN)
Store (Zero, DCLN)
}
If (LEqual (^^CPBG.IMCH.PM4H, One))
{
CreateBitField (BUF0, 0x0908, DCRW)
Store (Zero, DCRW)
}
If (^^CPBG.IMCH.PM5L)
{
CreateDWordField (BUF0, 0x014C, E0LN)
Store (Zero, E0LN)
}
If (LEqual (^^CPBG.IMCH.PM5L, One))
{
CreateBitField (BUF0, 0x09D8, E0RW)
Store (Zero, E0RW)
}
If (^^CPBG.IMCH.PM5H)
{
CreateDWordField (BUF0, 0x0166, E4LN)
Store (Zero, E4LN)
}
If (LEqual (^^CPBG.IMCH.PM5H, One))
{
CreateBitField (BUF0, 0x0AA8, E4RW)
Store (Zero, E4RW)
}
If (^^CPBG.IMCH.PM6L)
{
CreateDWordField (BUF0, 0x0180, E8LN)
Store (Zero, E8LN)
}
If (LEqual (^^CPBG.IMCH.PM6L, One))
{
CreateBitField (BUF0, 0x0B78, E8RW)
Store (Zero, E8RW)
}
If (^^CPBG.IMCH.PM6H)
{
CreateDWordField (BUF0, 0x019A, ECLN)
Store (Zero, ECLN)
}
If (LEqual (^^CPBG.IMCH.PM6H, One))
{
CreateBitField (BUF0, 0x0C48, ECRW)
Store (Zero, ECRW)
}
If (^^CPBG.IMCH.PM0H)
{
CreateDWordField (BUF0, 0x01B4, F0LN)
Store (Zero, F0LN)
}
If (LEqual (^^CPBG.IMCH.PM0H, One))
{
CreateBitField (BUF0, 0x0D18, F0RW)
Store (Zero, F0RW)
}
CreateDWordField (BUF0, 0x01C2, M1MN)
CreateDWordField (BUF0, 0x01C6, M1MX)
CreateDWordField (BUF0, 0x01CE, M1LN)
If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And (
PNHM, 0x000FFFF0), 0x000106A0)))
{
If (LGreaterEqual (PNHM, 0x000106E1))
{
Store (^IO10.TOLM, Local0)
ShiftLeft (Increment (Local0), 0x1A, M1MN)
}
Else
{
Store (^IIO0.TOLM, Local0)
ShiftLeft (Increment (Local0), 0x1A, M1MN)
}
}
Else
{
ShiftLeft (TLUD, 0x14, M1MN)
}
Add (Subtract (M1MX, M1MN), One, M1LN)
Return (BUF0)
}
Name (GUID, Buffer (0x10)
{
/* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
/* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
})
Name (SUPP, Zero)
Name (CTRL, Zero)
Method (_OSC, 4, Serialized)
{
Store (Arg3, Local0)
CreateDWordField (Local0, Zero, CDW1)
CreateDWordField (Local0, 0x04, CDW2)
CreateDWordField (Local0, 0x08, CDW3)
If (LAnd (LEqual (Arg0, GUID), NEXP))
{
Store (CDW2, SUPP)
Store (CDW3, CTRL)
If (Not (And (CDW1, One)))
{
If (And (CTRL, 0x02))
{
NHPG ()
}
If (And (CTRL, 0x04))
{
NPME ()
}
}
If (LNotEqual (Arg1, One))
{
Or (CDW1, 0x08, CDW1)
}
If (LNotEqual (CDW3, CTRL))
{
Or (CDW1, 0x10, CDW1)
}
Store (CTRL, CDW3)
Store (CTRL, OSCC)
Return (Local0)
}
Else
{
Or (CDW1, 0x04, CDW1)
Return (Local0)
}
}
Device (GFX0)
{
Name (_ADR, 0x00020000)
Method (PCPC, 0, NotSerialized)
{
}
Method (PAPR, 0, NotSerialized)
{
}
Method (_DOS, 1, NotSerialized)
{
Store (And (Arg0, 0x07), DSEN)
If (LEqual (And (Arg0, 0x03), Zero))
{
If (CondRefOf (HDOS))
{
HDOS ()
}
}
}
Method (_DOD, 0, NotSerialized)
{
If (CondRefOf (IDAB))
{
Store (Zero, NDID)
IDAB ()
}
Else
{
Store (Zero, NDID)
If (LNotEqual (DIDL, Zero))
{
Store (SDDL (DIDL), DID1)
}
If (LNotEqual (DDL2, Zero))
{
Store (SDDL (DDL2), DID2)
}
If (LNotEqual (DDL3, Zero))
{
Store (SDDL (DDL3), DID3)
}
If (LNotEqual (DDL4, Zero))
{
Store (SDDL (DDL4), DID4)
}
If (LNotEqual (DDL5, Zero))
{
Store (SDDL (DDL5), DID5)
}
If (LNotEqual (DDL6, Zero))
{
Store (SDDL (DDL6), DID6)
}
If (LNotEqual (DDL7, Zero))
{
Store (SDDL (DDL7), DID7)
}
If (LNotEqual (DDL8, Zero))
{
Store (SDDL (DDL8), DID8)
}
}
If (LEqual (NDID, One))
{
Name (TMP1, Package (0x01)
{
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP1, Zero))
Return (TMP1)
}
If (LEqual (NDID, 0x02))
{
Name (TMP2, Package (0x02)
{
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP2, Zero))
Store (Or (0x00010000, DID2), Index (TMP2, One))
Return (TMP2)
}
If (LEqual (NDID, 0x03))
{
Name (TMP3, Package (0x03)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
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)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
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 (LEqual (NDID, 0x05))
{
Name (TMP5, Package (0x05)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
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)
}
If (LEqual (NDID, 0x06))
{
Name (TMP6, Package (0x06)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP6, Zero))
Store (Or (0x00010000, DID2), Index (TMP6, One))
Store (Or (0x00010000, DID3), Index (TMP6, 0x02))
Store (Or (0x00010000, DID4), Index (TMP6, 0x03))
Store (Or (0x00010000, DID5), Index (TMP6, 0x04))
Store (Or (0x00010000, DID6), Index (TMP6, 0x05))
Return (TMP6)
}
If (LEqual (NDID, 0x07))
{
Name (TMP7, Package (0x07)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP7, Zero))
Store (Or (0x00010000, DID2), Index (TMP7, One))
Store (Or (0x00010000, DID3), Index (TMP7, 0x02))
Store (Or (0x00010000, DID4), Index (TMP7, 0x03))
Store (Or (0x00010000, DID5), Index (TMP7, 0x04))
Store (Or (0x00010000, DID6), Index (TMP7, 0x05))
Store (Or (0x00010000, DID7), Index (TMP7, 0x06))
Return (TMP7)
}
If (LEqual (NDID, 0x08))
{
Name (TMP8, Package (0x08)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP8, Zero))
Store (Or (0x00010000, DID2), Index (TMP8, One))
Store (Or (0x00010000, DID3), Index (TMP8, 0x02))
Store (Or (0x00010000, DID4), Index (TMP8, 0x03))
Store (Or (0x00010000, DID5), Index (TMP8, 0x04))
Store (Or (0x00010000, DID6), Index (TMP8, 0x05))
Store (Or (0x00010000, DID7), Index (TMP8, 0x06))
Store (Or (0x00010000, DID8), Index (TMP8, 0x07))
Return (TMP8)
}
Return (Package (0x01)
{
0x0400
})
}
Device (DD01)
{
Method (_ADR, 0, Serialized)
{
If (LEqual (DID1, Zero))
{
Return (One)
}
Else
{
Return (And (0xFFFF, DID1))
}
}
Method (_DCS, 0, NotSerialized)
{
Return (CDDS (DID1))
}
Method (_DGS, 0, NotSerialized)
{
If (CondRefOf (SNXD))
{
Return (NXD1)
}
Return (NDDS (DID1))
}
Method (_DSS, 1, NotSerialized)
{
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, 0, NotSerialized)
{
If (LEqual (LIDS, Zero))
{
Return (Zero)
}
Return (CDDS (DID2))
}
Method (_DGS, 0, NotSerialized)
{
If (CondRefOf (SNXD))
{
Return (NXD2)
}
Return (NDDS (DID2))
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
Method (_BCL, 0, NotSerialized)
{
Return (Package (0x0C)
{
0x64,
0x1E,
0x0A,
0x14,
0x1E,
0x28,
0x32,
0x3C,
0x46,
0x50,
0x5A,
0x64
})
}
Method (_BCM, 1, NotSerialized)
{
If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64)))
{
AINT (One, Arg0)
Store (Arg0, BRTL)
}
}
Method (_BQC, 0, NotSerialized)
{
Return (BRTL)
}
}
Device (DD03)
{
Method (_ADR, 0, Serialized)
{
If (LEqual (DID3, Zero))
{
Return (0x03)
}
Else
{
Return (And (0xFFFF, DID3))
}
}
Method (_DCS, 0, NotSerialized)
{
If (LEqual (DID3, Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID3))
}
}
Method (_DGS, 0, NotSerialized)
{
If (CondRefOf (SNXD))
{
Return (NXD3)
}
Return (NDDS (DID3))
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
Device (DD04)
{
Method (_ADR, 0, Serialized)
{
If (LEqual (DID4, Zero))
{
Return (0x04)
}
Else
{
Return (And (0xFFFF, DID4))
}
}
Method (_DCS, 0, NotSerialized)
{
If (LEqual (DID4, Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID4))
}
}
Method (_DGS, 0, NotSerialized)
{
If (CondRefOf (SNXD))
{
Return (NXD4)
}
Return (NDDS (DID4))
}
Method (_DSS, 1, NotSerialized)
{
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, 0, NotSerialized)
{
If (LEqual (DID5, Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID5))
}
}
Method (_DGS, 0, NotSerialized)
{
If (CondRefOf (SNXD))
{
Return (NXD5)
}
Return (NDDS (DID5))
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
Device (DD06)
{
Method (_ADR, 0, Serialized)
{
If (LEqual (DID6, Zero))
{
Return (0x06)
}
Else
{
Return (And (0xFFFF, DID6))
}
}
Method (_DCS, 0, NotSerialized)
{
If (LEqual (DID6, Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID6))
}
}
Method (_DGS, 0, NotSerialized)
{
If (CondRefOf (SNXD))
{
Return (NXD6)
}
Return (NDDS (DID6))
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
Device (DD07)
{
Method (_ADR, 0, Serialized)
{
If (LEqual (DID7, Zero))
{
Return (0x07)
}
Else
{
Return (And (0xFFFF, DID7))
}
}
Method (_DCS, 0, NotSerialized)
{
If (LEqual (DID7, Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID7))
}
}
Method (_DGS, 0, NotSerialized)
{
If (CondRefOf (SNXD))
{
Return (NXD7)
}
Return (NDDS (DID7))
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
Device (DD08)
{
Method (_ADR, 0, Serialized)
{
If (LEqual (DID8, Zero))
{
Return (0x08)
}
Else
{
Return (And (0xFFFF, DID8))
}
}
Method (_DCS, 0, NotSerialized)
{
If (LEqual (DID8, Zero))
{
Return (0x0B)
}
Else
{
Return (CDDS (DID8))
}
}
Method (_DGS, 0, NotSerialized)
{
If (CondRefOf (SNXD))
{
Return (NXD8)
}
Return (NDDS (DID8))
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
Method (SDDL, 1, NotSerialized)
{
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, NotSerialized)
{
Store (And (Arg0, 0x0F0F), Local0)
If (LEqual (Zero, Local0))
{
Return (0x1D)
}
If (LEqual (CADL, Local0))
{
Return (0x1F)
}
If (LEqual (CAL2, Local0))
{
Return (0x1F)
}
If (LEqual (CAL3, Local0))
{
Return (0x1F)
}
If (LEqual (CAL4, Local0))
{
Return (0x1F)
}
If (LEqual (CAL5, Local0))
{
Return (0x1F)
}
If (LEqual (CAL6, Local0))
{
Return (0x1F)
}
If (LEqual (CAL7, Local0))
{
Return (0x1F)
}
If (LEqual (CAL8, Local0))
{
Return (0x1F)
}
Return (0x1D)
}
Method (NDDS, 1, NotSerialized)
{
Store (And (Arg0, 0x0F0F), Local0)
If (LEqual (Zero, Local0))
{
Return (Zero)
}
If (LEqual (NADL, Local0))
{
Return (One)
}
If (LEqual (NDL2, Local0))
{
Return (One)
}
If (LEqual (NDL3, Local0))
{
Return (One)
}
If (LEqual (NDL4, Local0))
{
Return (One)
}
If (LEqual (NDL5, Local0))
{
Return (One)
}
If (LEqual (NDL6, Local0))
{
Return (One)
}
If (LEqual (NDL7, Local0))
{
Return (One)
}
If (LEqual (NDL8, Local0))
{
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 (0x000F87FD, 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, 0, NotSerialized)
{
If (LNot (DRDY))
{
Sleep (ASLP)
}
Return (LNot (DRDY))
}
Method (PSTS, 0, NotSerialized)
{
If (LGreater (CSTS, 0x02))
{
Sleep (ASLP)
}
Return (LEqual (CSTS, 0x03))
}
Method (GNOT, 2, NotSerialized)
{
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 (GFX0, Arg1)
}
}
If (CondRefOf (HNOT))
{
HNOT (Arg0)
}
Else
{
Notify (GFX0, 0x80)
}
Return (Zero)
}
Method (GHDS, 1, NotSerialized)
{
Store (Arg0, TIDX)
Return (GNOT (One, Zero))
}
Method (GLID, 1, NotSerialized)
{
Store (Arg0, CLID)
Return (GNOT (0x02, Zero))
}
Method (GDCK, 1, NotSerialized)
{
Store (Arg0, CDCK)
Return (GNOT (0x04, Zero))
}
Method (PARD, 0, NotSerialized)
{
If (LNot (ARDY))
{
Sleep (ASLP)
}
Return (LNot (ARDY))
}
Method (AINT, 2, NotSerialized)
{
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 (One, ASLE)
Return (Zero)
}
Method (SCIP, 0, NotSerialized)
{
If (LNotEqual (OVER, Zero))
{
Return (LNot (GSMI))
}
Return (Zero)
}
}
Device (P0P2)
{
Name (_ADR, 0x00010000)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
Device (PEGP)
{
Name (_ADR, 0xFFFF)
}
Device (VGA)
{
Method (_ADR, 0, Serialized)
{
If (LEqual (DPMD, 0x02))
{
Return (0xFFFF)
}
Else
{
Return (Zero)
}
}
OperationRegion (PSID, PCI_Config, 0x40, 0xC0)
Field (PSID, AnyAcc, NoLock, Preserve)
{
SVD2, 16,
SSD2, 16
}
Name (DOSA, One)
Method (_STA, 0, NotSerialized)
{
If (IGDS)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_INI, 0, NotSerialized)
{
Store (0x02, CSTE)
UDCS ()
UDGS ()
}
Method (_DOS, 1, NotSerialized)
{
Store (Arg0, DOSA)
}
Method (_DOD, 0, NotSerialized)
{
Return (Package (0x03)
{
0x0100,
0x0400,
0x00010200
})
}
Device (CRT)
{
Name (_ADR, 0x0100)
Name (_DCS, 0x1F)
Name (_DGS, Zero)
Method (_DSS, 1, NotSerialized)
{
And (_DCS, 0xFFFFFFFD, _DCS)
And (Arg0, One, Local0)
ShiftLeft (Local0, One, Local0)
Or (_DCS, Local0, _DCS)
}
}
Device (LCD)
{
Name (_ADR, 0x0400)
Name (_DCS, 0x1F)
Name (_DGS, Zero)
Method (_DSS, 1, NotSerialized)
{
And (_DCS, 0xFFFFFFFD, _DCS)
And (Arg0, One, Local0)
ShiftLeft (Local0, One, Local0)
Or (_DCS, Local0, _DCS)
}
Name (BRLV, Package (0x0C)
{
0x64,
0x1E,
0x0A,
0x14,
0x1E,
0x28,
0x32,
0x3C,
0x46,
0x50,
0x5A,
0x64
})
Method (_BCL, 0, NotSerialized)
{
Return (BRLV)
}
Method (_BQC, 0, NotSerialized)
{
Store (^^^^LPCB.EC0.BLVL, Local0)
Increment (Local0)
Multiply (Local0, 0x0A, Local0)
Return (Local0)
}
Method (_BCM, 1, NotSerialized)
{
If (LAnd (LGreaterEqual (Arg0, 0x0A), LLessEqual (Arg0, 0x64)))
{
Divide (Arg0, 0x0A, Local0, Arg0)
Decrement (Arg0)
Store (Arg0, ^^^^LPCB.EC0.BLVL)
}
}
}
Device (TV)
{
Name (_ADR, 0x0200)
Name (_DCS, 0x0F)
Name (_DGS, Zero)
Method (_DSS, 1, NotSerialized)
{
And (_DCS, 0xFFFFFFFD, _DCS)
And (Arg0, One, Local0)
ShiftLeft (Local0, One, Local0)
Or (_DCS, Local0, _DCS)
}
}
Method (UDCS, 0, NotSerialized)
{
And (^LCD._DCS, 0xFFFFFFFD, ^LCD._DCS)
And (^CRT._DCS, 0xFFFFFFFD, ^CRT._DCS)
And (^TV._DCS, 0xFFFFFFFD, ^TV._DCS)
If (LEqual (CSTE, 0x02))
{
Or (^LCD._DCS, 0x02, ^LCD._DCS)
}
If (LEqual (CSTE, Zero))
{
Or (^LCD._DCS, 0x02, ^LCD._DCS)
Or (^CRT._DCS, 0x02, ^CRT._DCS)
}
If (LEqual (CSTE, One))
{
Or (^CRT._DCS, 0x02, ^CRT._DCS)
}
If (LEqual (CSTE, 0x03))
{
Or (^LCD._DCS, 0x02, ^LCD._DCS)
Or (^TV._DCS, 0x02, ^TV._DCS)
}
If (LEqual (CSTE, 0x04))
{
Or (^TV._DCS, 0x02, ^TV._DCS)
}
Store (CSTE, P80H)
}
Method (UDGS, 0, NotSerialized)
{
And (^LCD._DGS, 0xFFFFFFFE, ^LCD._DGS)
And (^CRT._DGS, 0xFFFFFFFE, ^CRT._DGS)
And (^TV._DGS, 0xFFFFFFFE, ^TV._DGS)
And (^LCD._DCS, 0x02, Local1)
And (^CRT._DCS, 0x02, Local2)
And (^TV._DCS, 0x02, Local3)
ShiftRight (Local1, One, Local1)
ShiftLeft (Local3, One, Local3)
Or (Local1, Local2, Local1)
Or (Local1, Local3, Local1)
If (LEqual (Local1, One))
{
Store (0x02, Local0)
}
If (LEqual (Local1, 0x03))
{
Store (Zero, Local0)
}
If (LEqual (Local1, 0x02))
{
Store (One, Local0)
}
If (LEqual (Local1, 0x06))
{
Store (0x03, Local0)
}
If (LEqual (Local1, 0x04))
{
Store (0x04, Local0)
}
Increment (Local0)
If (LGreater (Local0, 0x02))
{
Store (Zero, Local0)
}
If (LEqual (Local0, 0x02))
{
Or (^LCD._DGS, One, ^LCD._DGS)
}
If (LEqual (Local0, Zero))
{
Or (^LCD._DGS, One, ^LCD._DGS)
Or (^CRT._DGS, One, ^CRT._DGS)
}
If (LEqual (Local0, One))
{
Or (^CRT._DGS, One, ^CRT._DGS)
}
If (LEqual (Local0, 0x03))
{
Or (^LCD._DGS, One, ^LCD._DGS)
Or (^TV._DGS, One, ^TV._DGS)
}
If (LEqual (Local0, 0x04))
{
Or (^TV._DGS, One, ^TV._DGS)
}
Store (Local0, NSTE)
}
Name (ATIB, Buffer (0x80) {})
Method (ATIF, 2, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Return (AF00 ())
}
If (LEqual (Arg0, 0x05))
{
Return (AF05 ())
}
If (LEqual (Arg0, 0x06))
{
AF06 (Arg1)
Return (ATIB)
}
Else
{
CreateWordField (ATIB, Zero, SSZE)
CreateWordField (ATIB, 0x02, VERN)
CreateDWordField (ATIB, 0x04, NMSK)
CreateDWordField (ATIB, 0x08, SFUN)
Store (Zero, SSZE)
Store (Zero, VERN)
Store (Zero, NMSK)
Store (Zero, SFUN)
Return (ATIB)
}
}
Method (AF00, 0, NotSerialized)
{
CreateWordField (ATIB, Zero, SSZE)
CreateWordField (ATIB, 0x02, VERN)
CreateDWordField (ATIB, 0x04, NMSK)
CreateDWordField (ATIB, 0x08, SFUN)
Store (0x0C, SSZE)
Store (One, VERN)
Store (Zero, NMSK)
Store (0x30, SFUN)
Return (ATIB)
}
Method (AF05, 0, NotSerialized)
{
CreateWordField (ATIB, Zero, SSZE)
CreateByteField (ATIB, 0x02, TSEF)
CreateByteField (ATIB, 0x03, TVIF)
Store (0x04, SSZE)
Store (Zero, TSEF)
Store (PRM1, TVIF)
Return (ATIB)
}
Method (AF06, 1, NotSerialized)
{
CreateWordField (ATIB, Zero, SSZE)
CreateByteField (ATIB, 0x02, TSEF)
CreateByteField (ATIB, 0x03, TVIF)
Store (0x04, SSZE)
Store (Zero, TSEF)
Store (Arg0, TVIF)
Store (TVIF, PRM0)
}
}
}
Device (P0P1)
{
Name (_ADR, 0x001E0000)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR01)
}
Return (PR01)
}
}
Device (LPCB)
{
Name (_ADR, 0x001F0000)
Scope (\_SB)
{
OperationRegion (PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
{
Offset (0x20),
PARC, 8,
PBRC, 8,
PCRC, 8,
PDRC, 8,
Offset (0x28),
PERC, 8,
PFRC, 8,
PGRC, 8,
PHRC, 8
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Method (_DIS, 0, Serialized)
{
Or (PARC, 0x80, PARC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLA, One, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (One, And (PARC, 0x0F), IRQ0)
Return (RTLA)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PARC)
}
Method (_STA, 0, Serialized)
{
If (And (PARC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_DIS, 0, Serialized)
{
Or (PBRC, 0x80, PBRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLB, One, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (One, And (PBRC, 0x0F), IRQ0)
Return (RTLB)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PBRC)
}
Method (_STA, 0, Serialized)
{
If (And (PBRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_DIS, 0, Serialized)
{
Or (PCRC, 0x80, PCRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLC, One, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (One, And (PCRC, 0x0F), IRQ0)
Return (RTLC)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PCRC)
}
Method (_STA, 0, Serialized)
{
If (And (PCRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_DIS, 0, Serialized)
{
Or (PDRC, 0x80, PDRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLD, One, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (One, And (PDRC, 0x0F), IRQ0)
Return (RTLD)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PDRC)
}
Method (_STA, 0, Serialized)
{
If (And (PDRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_DIS, 0, Serialized)
{
Or (PERC, 0x80, PERC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLE, One, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (One, And (PERC, 0x0F), IRQ0)
Return (RTLE)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PERC)
}
Method (_STA, 0, Serialized)
{
If (And (PERC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_DIS, 0, Serialized)
{
Or (PFRC, 0x80, PFRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLF, One, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (One, And (PFRC, 0x0F), IRQ0)
Return (RTLF)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PFRC)
}
Method (_STA, 0, Serialized)
{
If (And (PFRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_DIS, 0, Serialized)
{
Or (PGRC, 0x80, PGRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,10,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLG, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLG, One, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (One, And (PGRC, 0x0F), IRQ0)
Return (RTLG)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PGRC)
}
Method (_STA, 0, Serialized)
{
If (And (PGRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_DIS, 0, Serialized)
{
Or (PHRC, 0x80, PHRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{1,3,4,5,6,7,11,12,14,15}
})
Method (_CRS, 0, Serialized)
{
Name (RTLH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (RTLH, One, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (One, And (PHRC, 0x0F), IRQ0)
Return (RTLH)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, One, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PHRC)
}
Method (_STA, 0, Serialized)
{
If (And (PHRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
}
OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
Field (LPC0, AnyAcc, NoLock, Preserve)
{
Offset (0x40),
IOD0, 8,
IOD1, 8,
Offset (0xB0),
RAEN, 1,
, 13,
RCBA, 18
}
OperationRegion (TCOT, SystemIO, 0x0460, 0x04)
Field (TCOT, ByteAcc, NoLock, Preserve)
{
TCOA, 8,
TCOB, 8
}
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0066, // Range Minimum
0x0066, // Range Maximum
0x00, // Alignment
0x01, // Length
)
})
Name (_GPE, 0x16)
Name (SEL0, 0xF0)
Name (BFLG, Zero)
Name (PSTA, Zero)
Name (BEAC, Zero)
Name (BPPS, Zero)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, Local0)
If (Local0)
{
Store (One, ECON)
}
Else
{
Store (Zero, ECON)
}
}
}
OperationRegion (ECIO, SystemIO, 0x60, 0x10)
Field (ECIO, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
EDAT, 8,
Offset (0x06),
CMDS, 8,
Offset (0x08),
EC68, 8,
Offset (0x0C),
EC6C, 8
}
Method (IBE2, 0, Serialized)
{
While (And (EC6C, 0x02))
{
Sleep (0x50)
}
}
OperationRegion (ERAM, SystemMemory, 0xFF808201, 0x0100)
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
CMCM, 8,
CMD1, 8,
CMD2, 8,
CMD3, 8,
Offset (0x18),
SMPR, 8,
SMST, 8,
SMAD, 8,
SMCM, 8,
SMD0, 256,
BCNT, 8,
SMAA, 8,
BATD, 16,
ACDF, 1,
Offset (0x41),
, 5,
FLS4, 1,
Offset (0x42),
Offset (0x43),
, 1,
LMAT, 1,
Offset (0x4C),
ARCD, 1,
, 3,
DOCK, 1,
LANC, 1,
LID2, 1,
CRTS, 1,
Offset (0x4E),
TJMX, 2,
, 2,
DGPU, 1,
DTSE, 1,
Offset (0x51),
BLVL, 8,
Offset (0x53),
DOFF, 8,
Offset (0x58),
CTMP, 8,
RG59, 8,
Offset (0x60),
WLAN, 1,
BLTH, 1,
CPLE, 1,
WLA2, 1,
, 2,
WLST, 1,
BLTS, 1,
, 1,
, 1,
ST3G, 1,
MNST, 1,
, 1,
ED3G, 1,
, 1,
TPDB, 1,
, 7,
ODST, 1,
TJ85, 1,
PSBB, 1,
, 5,
VGAF, 1,
Offset (0x70),
BTMD, 8,
MBTS, 1,
MBTF, 1,
BATF, 1,
, 3,
MBDX, 1,
MBAD, 1,
MBTC, 1,
, 2,
LION, 1,
Offset (0x77),
BA1C, 8,
MCYC, 16,
MTMP, 16,
MDAT, 16,
MCUR, 16,
MBRM, 16,
MBVG, 16,
MRTF, 16,
MMER, 8,
BA2C, 8,
LFC2, 16,
BTSN, 16,
BTDC, 16,
BTDV, 16,
BTMN, 8,
Offset (0x93),
BTST, 8,
Offset (0x9D),
OSTP, 1,
Offset (0xA0),
ABMD, 8,
ABTS, 1,
ABFC, 1,
, 4,
ABDX, 1,
ABAD, 1,
ABCG, 1,
, 2,
ABTP, 1,
Offset (0xA8),
ACYC, 16,
ATMP, 16,
ADAT, 16,
ABCR, 16,
ABRM, 16,
ABVG, 16,
ARTF, 16,
AMER, 8,
Offset (0xB8),
AFCC, 16,
ABSN, 16,
ABDC, 16,
ABDV, 16,
ABMN, 8,
Offset (0xD0),
EBPL, 1,
Offset (0xD1),
PWRE, 1,
Offset (0xD2),
, 6,
VAUX, 1,
Offset (0xD5),
Q29T, 8,
DBPL, 8,
Offset (0xE0),
DESP, 8,
DTS3, 8,
DE0L, 8,
DE0H, 8,
DE1L, 8,
DE1H, 8,
DE2L, 8,
DE2H, 8,
DE3L, 8,
DE3H, 8,
DE4L, 8,
DE4H, 8
}
OperationRegion (EROM, SystemMemory, 0xFF808001, 0x0100)
Field (EROM, ByteAcc, NoLock, Preserve)
{
Offset (0xFD),
SIMU, 8,
Offset (0xFF),
SKU, 8
}
OperationRegion (GPBD, SystemIO, 0x0500, 0x60)
Field (GPBD, ByteAcc, Lock, Preserve)
{
Offset (0x0C),
, 7,
GP07, 1,
Offset (0x48),
GP64, 1
}
Method (APOL, 1, NotSerialized)
{
Store (Arg0, DBPL)
Store (One, EBPL)
}
Method (CPOL, 1, NotSerialized)
{
If (LEqual (PSTA, Zero))
{
If (LNotEqual (ECON, Zero))
{
APOL (Arg0)
Store (One, PSTA)
}
}
}
Method (CLNC, 0, NotSerialized)
{
CMSW (Zero, 0xFF)
CMSW (One, 0xFF)
CMSW (0x02, 0xFF)
CMSW (0x03, 0xFF)
CMSW (0x04, 0xFF)
CMSW (0x05, 0xFF)
CMSW (0x06, 0xFF)
CMSW (0x07, 0xFF)
CMSW (0x08, 0xFF)
CMSW (0x09, 0xFF)
CMSW (0x0A, 0xFF)
CMSW (0x0B, 0xFF)
CMSW (0x0C, 0xFF)
CMSW (0x0D, 0xFF)
CMSW (0x0E, 0xFF)
CMSW (0x0F, 0xFF)
}
Method (_Q0E, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x0E)
If (^^^WMID.LMST)
{
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x61, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
Return (Zero)
}
Store (0x26, P80H)
If (LEqual (DPMD, One))
{
If (^^^P0P2.VGA.DOSA)
{
Store (0x23, P80H)
^^^P0P2.VGA.UDCS ()
}
Else
{
Notify (^^^P0P2.VGA, 0x80)
Store (0x24, P80H)
^^^P0P2.VGA.UDCS ()
}
^^^P0P2.VGA.UDCS ()
^^^P0P2.VGA.UDGS ()
Store (NSTE, CSTE)
}
Else
{
If (LEqual (DPMD, Zero))
{
Store (0x25, P80H)
^^^GFX0.GHDS (One)
}
Else
{
Store (0x22, P80H)
If (LEqual (DGPU, One))
{
^^^GFX0.AFN0 ()
}
Else
{
^^^GFX0.GHDS (One)
}
}
}
}
Method (_Q20, 0, NotSerialized)
{
CMSW (Zero, 0x20)
Store (0x20, P80H)
If (ECON)
{
If (And (SMST, 0x40))
{
Store (SMAA, Local0)
If (LEqual (Local0, 0x14))
{
If (ECON)
{
^^^BAT1.BATS ()
Notify (ACAD, 0x80)
Sleep (0x01F4)
Notify (BAT1, 0x80)
If (^^^BAT1.BTCH)
{
^^^BAT1.UBIF ()
Notify (BAT1, 0x81)
Store (Zero, ^^^BAT1.BTCH)
}
}
And (SMST, 0xBF, SMST)
Store (PWRE, Local1)
If (Local1)
{
Store (Zero, PWRE)
Store (0x12, BFLG)
}
}
If (LEqual (Local0, 0x16))
{
And (SMST, 0xBF, SMST)
Store (0x04, ^^^BAT1.BCRI)
Notify (BAT1, 0x80)
}
Else
{
Store (Zero, ^^^BAT1.BCRI)
}
}
}
If (LEqual (GP07, Zero))
{
Store (One, Local1)
}
Else
{
If (LEqual (SKU, 0x4D))
{
Store (One, Local1)
}
Else
{
If (LEqual (SKU, 0x56))
{
Store (Zero, Local1)
}
Else
{
If (LEqual (GP64, Zero))
{
Store (One, Local1)
}
Else
{
Store (Zero, Local1)
}
}
}
}
If (LEqual (Local1, One))
{
If (LNotEqual (ACDF, BEAC))
{
If (LEqual (ACDF, Zero))
{
Store (One, PSBB)
If (LAnd (LEqual (DGPU, One), LEqual (^^^WMID.BAEF, Zero)))
{
^^^GFX0.AFN6 ()
}
}
Else
{
Store (Zero, PSBB)
If (LAnd (LEqual (DGPU, Zero), LEqual (^^^WMID.BAEF, Zero)))
{
^^^GFX0.AFN6 ()
}
Store (BPPS, \_PR.CPU0._PPC)
PNOT ()
}
Store (ACDF, BEAC)
}
}
}
Method (_Q8E, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x8E)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x63, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
Store (0x8E, P80H)
If (CondRefOf (HBRT))
{
HBRT (0x03)
}
If (IGDS)
{
If (And (0x04, DSEN))
{
BRTN (0x86)
}
Else
{
Store (BRTL, Local0)
Store (^^^GFX0.CBLV, BRTL)
And (Add (BRTL, One), 0xFE, BRTL)
If (LLessEqual (BRTL, 0x5A))
{
Add (BRTL, 0x0A, BRTL)
}
^^^GFX0.AINT (One, BRTL)
If (LEqual (DPMD, One))
{
Notify (^^^P0P2.VGA.LCD, 0x86)
}
}
}
}
Method (_Q8F, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x8F)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x64, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
Store (0x8F, P80H)
If (CondRefOf (HBRT))
{
HBRT (0x04)
}
If (IGDS)
{
If (And (0x04, DSEN))
{
BRTN (0x87)
}
Else
{
Store (BRTL, Local0)
Store (^^^GFX0.CBLV, BRTL)
And (Add (BRTL, One), 0xFE, BRTL)
If (LGreaterEqual (BRTL, 0x0A))
{
Subtract (BRTL, 0x0A, BRTL)
}
^^^GFX0.AINT (One, BRTL)
If (LEqual (DPMD, One))
{
Notify (^^^P0P2.VGA.LCD, 0x87)
}
}
}
}
Method (_Q9B, 0, NotSerialized)
{
CMSW (Zero, 0x9B)
Store (0x9B, P80H)
Sleep (0x32)
Notify (LID0, 0x80)
}
Method (_Q9C, 0, NotSerialized)
{
CMSW (Zero, 0x9C)
Store (0x9C, P80H)
Sleep (0x32)
Notify (LID0, 0x80)
}
Method (_Q90, 0, NotSerialized)
{
CMSW (Zero, 0x90)
Store (Zero, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
Method (_Q91, 0, NotSerialized)
{
CMSW (Zero, 0x91)
Store (Zero, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
Method (_Q92, 0, NotSerialized)
{
CMSW (Zero, 0x92)
Store (One, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
Method (_Q93, 0, NotSerialized)
{
CMSW (Zero, 0x93)
Store (One, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
Method (_Q9D, 0, NotSerialized)
{
CMSW (Zero, 0x9D)
Store (0x02, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
Method (_Q9E, 0, NotSerialized)
{
CMSW (Zero, 0x9E)
Store (0x02, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
Method (_QA0, 0, NotSerialized)
{
CMSW (Zero, 0xA0)
Store (0x03, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
Method (_QA1, 0, NotSerialized)
{
CMSW (Zero, 0xA1)
Store (0x03, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
Name (FLAG, Zero)
Method (_QA7, 0, NotSerialized)
{
Store (Zero, Local2)
If (LEqual (GP07, Zero))
{
If (LEqual (ACDF, One))
{
Store (Zero, Local1)
}
Else
{
Store (One, Local1)
Store (One, Local2)
}
}
Else
{
If (LEqual (SKU, 0x4D))
{
If (LEqual (ACDF, One))
{
Store (Zero, Local1)
}
Else
{
Store (One, Local1)
Store (One, Local2)
}
}
Else
{
If (LEqual (SKU, 0x56))
{
Store (One, Local1)
If (LEqual (ACDF, Zero))
{
Store (One, Local2)
}
}
Else
{
If (LAnd (LEqual (GP64, Zero), LEqual (ACDF, One)))
{
Store (Zero, Local1)
}
Else
{
If (LAnd (LEqual (GP64, Zero), LEqual (ACDF, Zero)))
{
Store (One, Local1)
Store (One, Local2)
}
Else
{
Store (One, Local1)
If (LEqual (ACDF, Zero))
{
Store (One, Local2)
}
}
}
}
}
}
If (LEqual (Local1, One))
{
If (LEqual (^^^WMID.BAEF, One))
{
Store (Zero, Local2)
}
CLNC ()
CMSW (Zero, 0xA7)
If (Local2)
{
If (LAnd (LEqual (ACDF, Zero), LEqual (FLAG, Zero)))
{
Store (^^^GFX0.CBLV, Local0)
Notify (^^^GFX0.DD02, 0x88)
Notify (^^^P0P2.PEGP.DD02, 0x88)
Store (Zero, Local3)
Store (Zero, Local4)
While (LAnd (LEqual (^^^GFX0.CBLV, Local0), LLess (Local4, 0xFFFF)))
{
Increment (Local4)
}
While (LLess (Local3, 0x02))
{
Store (^^^GFX0.CBLV, Local0)
Notify (^^^GFX0.DD02, 0x86)
Notify (^^^P0P2.PEGP.DD02, 0x86)
Store (Zero, Local4)
While (LAnd (LEqual (^^^GFX0.CBLV, Local0), LLess (Local4, 0xFFFF)))
{
Increment (Local4)
}
Add (One, Local3, Local3)
}
Store (0xFF, FLAG)
}
}
Store (One, PSBB)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x83, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
Store (0x05, ^^^WMID.BF00)
Notify (WMID, 0x80)
If (LAnd (LEqual (DGPU, One), LEqual (^^^WMID.BAEF, Zero)))
{
^^^GFX0.AFN6 ()
}
}
Else
{
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x83, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
Store (0x05, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
}
Method (_QA8, 0, NotSerialized)
{
Store (Zero, Local2)
If (LEqual (GP07, Zero))
{
If (LEqual (ACDF, One))
{
Store (Zero, Local1)
}
Else
{
Store (One, Local1)
Store (One, Local2)
}
}
Else
{
If (LEqual (SKU, 0x4D))
{
If (LEqual (ACDF, One))
{
Store (Zero, Local1)
}
Else
{
Store (One, Local1)
Store (One, Local2)
}
}
Else
{
If (LEqual (SKU, 0x56))
{
Store (One, Local1)
If (LEqual (ACDF, Zero))
{
Store (One, Local2)
}
}
Else
{
If (LAnd (LEqual (GP64, Zero), LEqual (ACDF, One)))
{
Store (Zero, Local1)
}
Else
{
If (LAnd (LEqual (GP64, Zero), LEqual (ACDF, Zero)))
{
Store (One, Local1)
Store (One, Local2)
}
Else
{
Store (One, Local1)
If (LEqual (ACDF, Zero))
{
Store (One, Local2)
}
}
}
}
}
}
If (LEqual (Local1, One))
{
If (LEqual (^^^WMID.BAEF, One))
{
Store (Zero, Local2)
}
CLNC ()
CMSW (Zero, 0xA8)
If (Local2)
{
If (LAnd (LEqual (ACDF, Zero), LEqual (FLAG, Zero)))
{
Store (^^^GFX0.CBLV, Local0)
Notify (^^^GFX0.DD02, 0x88)
Notify (^^^P0P2.PEGP.DD02, 0x88)
Store (Zero, Local3)
Store (Zero, Local4)
While (LAnd (LEqual (^^^GFX0.CBLV, Local0), LLess (Local4, 0xFFFF)))
{
Increment (Local4)
}
While (LLess (Local3, 0x04))
{
Store (^^^GFX0.CBLV, Local0)
Notify (^^^GFX0.DD02, 0x86)
Notify (^^^P0P2.PEGP.DD02, 0x86)
Store (Zero, Local4)
While (LAnd (LEqual (^^^GFX0.CBLV, Local0), LLess (Local4, 0xFFFF)))
{
Increment (Local4)
}
Add (One, Local3, Local3)
}
Store (0xFF, FLAG)
}
}
Store (Zero, PSBB)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x83, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
Store (0x05, ^^^WMID.BF00)
Notify (WMID, 0x80)
If (LAnd (LEqual (DGPU, Zero), LEqual (^^^WMID.BAEF, Zero)))
{
^^^GFX0.AFN6 ()
}
}
Else
{
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x83, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
Store (0x05, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
}
Method (_QA6, 0, NotSerialized)
{
CMSW (Zero, 0xA6)
If (LEqual (DGPU, Zero))
{
^^^GFX0.AFN6 ()
}
}
Method (_QA9, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0xA9)
If (^^^WMID.ODAP)
{
Store (0x04, ^^^WMID.BF00)
Notify (WMID, 0x80)
}
If (Or (LLessEqual (TCOA, 0xE8), LAnd (CMSR (0x7F), One)
))
{
CMSW (0x7F, One)
If (LEqual (^^^WMID.ODAP, Zero))
{
Store (0xCD, SSMP)
Sleep (0x64)
}
}
}
Method (_Q85, 0, NotSerialized)
{
CMSW (Zero, 0x85)
Store (0x85, P80H)
Store ("_Q85 : Battery FCC change", Debug)
Notify (BAT1, 0x81)
}
Method (_Q01, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, One)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (One, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q02, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x02)
Store (0x02, Index (^^^WMID.FEBC, Zero))
Store (One, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q04, 0, NotSerialized)
{
CMSW (Zero, 0x04)
}
Method (_Q05, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x05)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x82, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q06, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x06)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x82, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q07, 0, NotSerialized)
{
CMSW (Zero, 0x07)
}
Method (_Q08, 0, NotSerialized)
{
CMSW (Zero, 0x08)
}
Name (QEVN, Zero)
Name (RETY, Zero)
Name (SGST, Zero)
Method (_Q09, 0, NotSerialized)
{
CMSW (Zero, 0x09)
If (LEqual (QEVN, One))
{
Store (Zero, PSTA)
Store (Zero, QEVN)
CPOL (0x0A)
Store (One, RETY)
Store (DGPU, SGST)
^^^GFX0.AFN6 ()
}
If (LAnd (LLess (RETY, 0x03), LNotEqual (RETY, Zero)))
{
Add (One, RETY, RETY)
Store (Zero, PSTA)
CPOL (0x0A)
If (LEqual (DGPU, SGST))
{
^^^GFX0.AFN6 ()
}
Else
{
Store (Zero, RETY)
}
}
}
Method (_Q29, 0, NotSerialized)
{
CMSW (Zero, 0x29)
If (LEqual (LID2, One))
{
Notify (LID0, 0x80)
Store (Zero, LID2)
}
}
Method (_Q0A, 0, NotSerialized)
{
CMSW (Zero, 0x0A)
}
Method (_Q0B, 0, NotSerialized)
{
CMSW (Zero, 0x0B)
}
Method (_Q0C, 0, NotSerialized)
{
CMSW (Zero, 0x0C)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x21, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q0F, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x0F)
Store (0x02, Index (^^^WMID.FEBC, Zero))
Store (0x61, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q10, 0, NotSerialized)
{
CMSW (Zero, 0x10)
}
Method (_Q11, 0, NotSerialized)
{
CMSW (Zero, 0x11)
}
Method (_Q30, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x30)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x41, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q31, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x31)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x42, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q32, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x32)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x43, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q34, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x34)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x44, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q35, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x35)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x46, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q36, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x36)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x47, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q38, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x38)
Store (One, Index (^^^WMID.FEBC, Zero))
Store (0x45, Index (^^^WMID.FEBC, One))
Notify (WMID, 0xBC)
}
Method (_Q8C, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x8C)
If (And (CFGD, One))
{
Store (\_PR.CPU0._PPC, BPPS)
Store (CMSR (0x70), Local0)
Store (Decrement (Local0), \_PR.CPU0._PPC)
PNOT ()
}
}
Method (_Q8D, 0, NotSerialized)
{
CLNC ()
CMSW (Zero, 0x8D)
If (LGreater (\_PR.CPU0._PPC, Zero))
{
Store (Zero, \_PR.CPU0._PPC)
PNOT ()
}
}
}
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x01, // Alignment
0x11, // Length
)
IO (Decode16,
0x0093, // Range Minimum
0x0093, // Range Maximum
0x01, // Alignment
0x0D, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{4}
})
}
Device (FWHD)
{
Name (_HID, EisaId ("INT0800"))
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFF000000, // Address Base
0x01000000, // Address Length
)
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (_UID, Zero)
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
)
})
Method (_STA, 0, NotSerialized)
{
If (LGreaterEqual (OSYS, 0x07D1))
{
If (HPAE)
{
Return (0x0F)
}
}
Else
{
If (HPAE)
{
Return (0x0B)
}
}
Return (Zero)
}
Method (_CRS, 0, Serialized)
{
If (HPAE)
{
CreateDWordField (BUF0, 0x04, HPT0)
If (LEqual (HPAS, One))
{
Store (0xFED01000, HPT0)
}
If (LEqual (HPAS, 0x02))
{
Store (0xFED02000, HPT0)
}
If (LEqual (HPAS, 0x03))
{
Store (0xFED03000, HPT0)
}
}
Return (BUF0)
}
}
Device (IPIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0024, // Range Minimum
0x0024, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0028, // Range Minimum
0x0028, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002C, // Range Minimum
0x002C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0030, // Range Minimum
0x0030, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0034, // Range Minimum
0x0034, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0038, // Range Minimum
0x0038, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x003C, // Range Minimum
0x003C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A4, // Range Minimum
0x00A4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A8, // Range Minimum
0x00A8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00AC, // Range Minimum
0x00AC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B4, // Range Minimum
0x00B4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B8, // Range Minimum
0x00B8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00BC, // Range Minimum
0x00BC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (MATH)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{13}
})
}
Device (LDRC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x02)
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x002E, // Range Minimum
0x002E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x004E, // Range Minimum
0x004E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0063, // Range Minimum
0x0063, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0067, // Range Minimum
0x0067, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0092, // Range Minimum
0x0092, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x00B2, // Range Minimum
0x00B2, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0680, // Range Minimum
0x0680, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0xFFFF, // Range Minimum
0xFFFF, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0xFFFF, // Range Minimum
0xFFFF, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0400, // Range Minimum
0x0400, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x0500, // Range Minimum
0x0500, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x164E, // Range Minimum
0x164E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{8}
})
}
Device (TIMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x10, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQ (Edge, ActiveHigh, Exclusive, )
{1}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
FixedIO (
0x0060, // Address
0x01, // Length
)
FixedIO (
0x0064, // Address
0x01, // Length
)
IRQNoFlags ()
{1}
}
EndDependentFn ()
})
}
Device (PS2M)
{
Name (_HID, EisaId ("SYN1B20"))
Name (_CID, Package (0x03)
{
EisaId ("SYN1B00"),
EisaId ("SYN0002"),
EisaId ("PNP0F13")
})
Name (_CRS, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, )
{12}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IRQNoFlags ()
{12}
}
EndDependentFn ()
})
}
}
Device (EHC1)
{
Name (_ADR, 0x001D0000)
OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
Field (U1CS, DWordAcc, NoLock, Preserve)
{
U1EN, 2
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, U1EN)
}
Else
{
Store (Zero, U1EN)
}
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
Device (HUBN)
{
Name (_ADR, Zero)
Device (PRT1)
{
Name (_ADR, One)
Method (_RMV, 0, NotSerialized)
{
Return (Zero)
}
Device (HBP0)
{
Name (_ADR, One)
Name (_UPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
}
Device (HBP1)
{
Name (_ADR, 0x02)
}
Device (HBP2)
{
Name (_ADR, 0x03)
Name (_UPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
}
Device (HBP3)
{
Name (_ADR, 0x04)
}
Device (HBP4)
{
Name (_ADR, 0x05)
Name (_UPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
}
Device (HBP5)
{
Name (_ADR, 0x06)
Name (_UPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
}
Device (HBP6)
{
Name (_ADR, 0x07)
Name (_UPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
}
Device (HBP7)
{
Name (_ADR, 0x08)
Name (_UPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
}
Method (_DSM, 4, Serialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B,
/* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8
}))
{
Name (_T_0, Zero)
Store (ToInteger (Arg2), _T_0)
If (LEqual (_T_0, Zero))
{
Name (_T_1, Zero)
Store (ToInteger (Arg1), _T_1)
If (LEqual (_T_1, One))
{
Return (Buffer (One)
{
0x07
})
}
Else
{
Return (Buffer (One)
{
0x00
})
}
}
Else
{
If (LEqual (_T_0, One))
{
Return (One)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Return (SDGV)
}
Else
{
Return (Zero)
}
}
}
}
Else
{
Return (Zero)
}
}
}
Device (PRT2)
{
Name (_ADR, 0x02)
Method (_RMV, 0, NotSerialized)
{
Return (Zero)
}
Method (_DSM, 4, Serialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B,
/* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8
}))
{
Name (_T_0, Zero)
Store (ToInteger (Arg2), _T_0)
If (LEqual (_T_0, Zero))
{
Name (_T_1, Zero)
Store (ToInteger (Arg1), _T_1)
If (LEqual (_T_1, One))
{
Return (Buffer (One)
{
0x07
})
}
Else
{
Return (Buffer (One)
{
0x00
})
}
}
Else
{
If (LEqual (_T_0, One))
{
Return (One)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Return (SDGV)
}
Else
{
Return (Zero)
}
}
}
}
Else
{
Return (Zero)
}
}
}
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
}
Device (EHC2)
{
Name (_ADR, 0x001A0000)
OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
Field (U1CS, DWordAcc, NoLock, Preserve)
{
U1EN, 2
}
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, U1EN)
}
Else
{
Store (Zero, U1EN)
}
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
Device (HUBN)
{
Name (_ADR, Zero)
Device (PRT1)
{
Name (_ADR, One)
Method (_RMV, 0, NotSerialized)
{
Return (Zero)
}
Device (HBP8)
{
Name (_ADR, One)
Name (_UPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
}
Device (HBP9)
{
Name (_ADR, 0x02)
}
Device (HBPA)
{
Name (_ADR, 0x03)
Name (_UPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
Method (_S3D, 0, NotSerialized)
{
Return (0x03)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x03)
}
}
Device (HBPB)
{
Name (_ADR, 0x04)
}
Device (HBPC)
{
Name (_ADR, 0x05)
Name (_UPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
}
Device (HBPD)
{
Name (_ADR, 0x06)
Name (_UPC, Package (0x04)
{
Zero,
0xFF,
Zero,
Zero
})
}
Method (_DSM, 4, Serialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B,
/* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8
}))
{
Name (_T_0, Zero)
Store (ToInteger (Arg2), _T_0)
If (LEqual (_T_0, Zero))
{
Name (_T_1, Zero)
Store (ToInteger (Arg1), _T_1)
If (LEqual (_T_1, One))
{
Return (Buffer (One)
{
0x07
})
}
Else
{
Return (Buffer (One)
{
0x00
})
}
}
Else
{
If (LEqual (_T_0, One))
{
Return (One)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Return (SDGV)
}
Else
{
Return (Zero)
}
}
}
}
Else
{
Return (Zero)
}
}
}
Device (PRT2)
{
Name (_ADR, 0x02)
Method (_RMV, 0, NotSerialized)
{
Return (Zero)
}
Method (_DSM, 4, Serialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B,
/* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8
}))
{
Name (_T_0, Zero)
Store (ToInteger (Arg2), _T_0)
If (LEqual (_T_0, Zero))
{
Name (_T_1, Zero)
Store (ToInteger (Arg1), _T_1)
If (LEqual (_T_1, One))
{
Return (Buffer (One)
{
0x07
})
}
Else
{
Return (Buffer (One)
{
0x00
})
}
}
Else
{
If (LEqual (_T_0, One))
{
Return (One)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Return (SDGV)
}
Else
{
Return (Zero)
}
}
}
}
Else
{
Return (Zero)
}
}
}
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
}
Device (HDEF)
{
Name (_ADR, 0x001B0000)
OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
Field (HDAR, WordAcc, NoLock, Preserve)
{
DCKA, 1,
Offset (0x01),
DCKM, 1,
, 6,
DCKS, 1,
Offset (0x08),
, 15,
PMES, 1
}
}
Device (RP01)
{
Name (_ADR, 0x001C0000)
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
LSCX, 1,
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
}
Method (_PRW, 0, NotSerialized)
{
If (WKPM)
{
Return (Package (0x02)
{
0x09,
0x04
})
}
Else
{
Return (Package (0x02)
{
0x09,
Zero
})
}
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR04)
}
Return (PR04)
}
}
Device (RP02)
{
Name (_ADR, 0x001C0001)
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
LSCX, 1,
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR05)
}
Return (PR05)
}
}
Device (RP03)
{
Name (_ADR, 0x001C0002)
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
LSCX, 1,
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR06)
}
Return (PR06)
}
}
Device (RP04)
{
Name (_ADR, 0x001C0003)
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
LSCX, 1,
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR07)
}
Return (PR07)
}
}
Device (RP05)
{
Name (_ADR, 0x001C0004)
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
LSCX, 1,
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR08)
}
Return (PR08)
}
}
Device (RP07)
{
Name (_ADR, 0x001C0006)
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
LSCX, 1,
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR0A)
}
Return (PR0A)
}
}
Device (RP08)
{
Name (_ADR, 0x001C0007)
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
LSCX, 1,
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x98),
, 30,
HPEX, 1,
PMEX, 1,
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR0B)
}
Return (PR0B)
}
}
Device (GLAN)
{
Name (_ADR, 0x00190000)
}
Device (IO10)
{
Name (_ADR, 0x00080000)
OperationRegion (IBUS, PCI_Config, 0xD0, 0xE0)
Field (IBUS, DWordAcc, NoLock, Preserve)
{
, 26,
TOLM, 6,
, 26,
TOHM, 38,
Offset (0xB0),
VTEN, 1,
, 11,
VTBA, 20
}
}
Device (IO1X)
{
Name (_ADR, 0x00080001)
OperationRegion (PBIC, PCI_Config, Zero, 0xF0)
Field (PBIC, DWordAcc, NoLock, Preserve)
{
Offset (0x7C),
SR0, 32,
SR1, 32,
SR2, 32,
SR3, 32,
SR4, 32,
SR5, 32,
SR6, 32,
SR7, 32,
SR8, 32,
SR9, 32
}
}
Device (IIO0)
{
Name (_ADR, 0x00140000)
OperationRegion (IBUS, PCI_Config, 0xD0, 0xE0)
Field (IBUS, DWordAcc, NoLock, Preserve)
{
, 26,
TOLM, 6,
, 26,
TOHM, 38,
Offset (0xB0),
VTEN, 1,
, 11,
VTBA, 20
}
}
Device (IIOX)
{
Name (_ADR, 0x00140001)
OperationRegion (PBIC, PCI_Config, Zero, 0xF0)
Field (PBIC, DWordAcc, NoLock, Preserve)
{
Offset (0x7C),
SR0, 32,
SR1, 32,
SR2, 32,
SR3, 32,
SR4, 32,
SR5, 32,
SR6, 32,
SR7, 32,
SR8, 32,
SR9, 32
}
}
Device (PEG3)
{
Name (_ADR, 0x00030000)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR0C)
}
Return (PR0C)
}
}
Device (PEG5)
{
Name (_ADR, 0x00050000)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR0C)
}
Return (PR0C)
}
}
Device (PEG6)
{
Name (_ADR, 0x00060000)
}
Device (AHCI)
{
Name (_ADR, 0x001F0002)
Device (PRT1)
{
Name (_ADR, 0x0001FFFF)
}
}
Device (WMID)
{
Name (_HID, "PNP0C14")
Name (_UID, "APGe")
Name (ERRD, 0x00010000)
Name (BUFF, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
CreateByteField (BUFF, Zero, BF00)
CreateByteField (BUFF, One, BF01)
CreateByteField (BUFF, 0x02, BF02)
CreateByteField (BUFF, 0x03, BF03)
CreateWordField (BUFF, Zero, BFW0)
CreateWordField (BUFF, 0x02, BFW1)
Name (BUF1, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Name (AADS, Buffer (0x04)
{
0x00
})
CreateField (AADS, Zero, 0x04, AS00)
CreateField (AADS, 0x04, One, AS04)
CreateField (AADS, 0x05, One, AS05)
CreateField (AADS, 0x06, One, AS06)
CreateField (AADS, 0x07, One, AS07)
CreateField (AADS, 0x08, One, AS08)
CreateField (AADS, 0x09, One, AS09)
CreateField (AADS, 0x10, 0x10, AS0X)
Name (BAEF, Zero)
Name (BADF, Zero)
Name (BADG, Package (0x11)
{
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
Zero,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
Zero,
0x00010000,
Zero,
Zero,
Zero,
Zero
})
Name (WLDS, Zero)
Name (WLED, Zero)
Name (BTDS, Zero)
Name (BTED, Zero)
Name (BLDS, Zero)
Name (BLED, Zero)
Name (NTDC, Zero)
Name (NTDV, Zero)
Name (WLSD, 0x0100)
Name (WLSE, 0x0101)
Name (BLTD, 0x0200)
Name (BLTE, 0x0201)
Name (LBL0, 0x0300)
Name (LBL1, 0x0301)
Name (LBL2, 0x0302)
Name (LBL3, 0x0303)
Name (LBL4, 0x0304)
Name (LBL5, 0x0305)
Name (LBL6, 0x0306)
Name (LBL7, 0x0307)
Name (LBL8, 0x0308)
Name (LBL9, 0x0309)
Name (LBLA, 0x030A)
Name (LBLB, 0x030B)
Name (LBLC, 0x030C)
Name (LBLD, 0x030D)
Name (LBLE, 0x030E)
Name (LBLF, 0x030F)
Name (CADI, 0x0401)
Name (CADO, 0x0400)
Name (GSEE, 0x0501)
Name (GSED, 0x0502)
Name (VAPI, 0x0601)
Name (VAPO, 0x0600)
Name (WBBO, 0x0701)
Name (WBBI, 0x0700)
Name (G3MD, 0x0800)
Name (G3ME, 0x0801)
Name (LANI, 0x0900)
Name (LANO, 0x0901)
Name (LDOF, 0x0A00)
Name (LDON, 0x0A01)
Name (PSOF, 0x0B00)
Name (PSON, 0x0B01)
Name (ODDE, 0x0C00)
Name (FNKE, 0x00010002)
Name (FNF5, 0x00015001)
Name (BBSB, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
CreateField (BBSB, Zero, 0x10, BBD0)
CreateField (BBSB, 0x10, 0x10, BBD1)
Name (TLS0, Zero)
Name (TLS1, One)
Name (TLS2, 0x02)
Name (TLS3, 0x03)
Name (TLS4, 0x04)
Name (TLS5, 0x05)
Name (TLS6, 0x06)
Name (TLS7, 0x07)
Name (BCDS, Package (0x0D)
{
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000
})
Name (BDDS, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
CreateField (BDDS, Zero, 0x10, BDD0)
CreateField (BDDS, 0x10, 0x10, BDD1)
Name (DSY0, Buffer (0x28)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (DSY1, Buffer (0x18)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (DSY2, Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (DSY3, Buffer (0x18)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (DSY4, Buffer (0x10)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (DSY5, Buffer (0x28)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
CreateField (DSY0, Zero, 0x40, DY00)
CreateField (DSY0, 0x40, 0x40, DY01)
CreateField (DSY0, 0x80, 0x40, DY02)
CreateField (DSY0, 0xC0, 0x40, DY03)
CreateField (DSY0, 0x0100, 0x40, DY04)
CreateField (DSY1, Zero, 0x40, DY10)
CreateField (DSY1, 0x40, 0x40, DY11)
CreateField (DSY1, 0x80, 0x40, DY12)
CreateField (DSY2, Zero, 0x40, DY20)
CreateField (DSY2, 0x40, 0x10, DY21)
CreateField (DSY2, 0x50, 0x10, DY22)
CreateField (DSY0, Zero, 0xC0, DSX4)
Name (BEDS, Package (0x12)
{
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000,
0x00010000
})
Name (WIT0, Zero)
Name (DSY6, Buffer (0x14)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
})
CreateField (DSY6, Zero, 0x20, DY60)
CreateField (DSY6, 0x20, 0x20, DY61)
CreateField (DSY6, 0x40, 0x20, DY62)
CreateField (DSY6, 0x60, 0x20, DY63)
CreateField (DSY6, 0x80, 0x20, DY64)
Name (WPRW, Buffer (0x14)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
})
CreateField (WPRW, Zero, 0x08, WWD0)
CreateField (WPRW, 0x08, 0x08, WWD1)
CreateField (WPRW, 0x10, 0x08, WWD2)
CreateField (WPRW, 0x18, 0x08, WWD3)
CreateField (WPRW, 0x20, 0x08, WWD4)
CreateField (WPRW, 0x28, 0x20, WWD5)
Name (WPCI, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
CreateField (WPCI, Zero, 0x08, WPIR)
CreateField (WPCI, 0x08, 0x03, WPIF)
CreateField (WPCI, 0x0B, 0x05, WPID)
CreateField (WPCI, 0x10, 0x08, WPIB)
Name (BFDS, Package (0x04)
{
0x02,
0x02,
0x02,
0x02
})
Name (GSTS, Zero)
Name (BFEF, Zero)
Name (BGEF, Zero)
Name (BGDS, Package (0x01)
{
One
})
Name (BOOT, Buffer (0x14)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
})
CreateField (BOOT, Zero, 0x80, BO01)
CreateField (BOOT, 0x80, 0x10, BO02)
CreateField (BOOT, 0x90, 0x08, BO03)
CreateField (BOOT, 0x98, 0x08, BO04)
Name (LMST, Zero)
Name (FEBC, Buffer (0x08)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (ODAP, Zero)
Method (AAF1, 0, NotSerialized)
{
Store (IHWM (0x13, Zero), AADS)
If (ECON)
{
Store (^^LPCB.EC0.BLTH, AS04)
Store (^^LPCB.EC0.ST3G, AS06)
If (LEqual (DPMD, Zero))
{
Store (Zero, AS07)
}
Else
{
Store (One, AS07)
}
}
Store (Zero, AS08)
If (LEqual (^^LPCB.EC0.GP07, Zero))
{
Store (One, AS09)
}
Else
{
If (LEqual (^^LPCB.EC0.SKU, 0x4D))
{
Store (One, AS09)
}
Else
{
If (LEqual (^^LPCB.EC0.SKU, 0x56))
{
Store (Zero, AS09)
}
Else
{
If (LEqual (^^LPCB.EC0.GP64, Zero))
{
Store (One, AS09)
}
Else
{
Store (Zero, AS09)
}
}
}
}
}
Method (WGDS, 1, NotSerialized)
{
Name (_T_0, Zero)
Store (Arg0, _T_0)
If (LEqual (_T_0, One))
{
If (ECON)
{
Store (^^LPCB.EC0.WLST, Index (BADG, Zero))
}
}
Else
{
If (LEqual (_T_0, 0x02))
{
If (ECON)
{
Store (^^LPCB.EC0.BLTS, Index (BADG, One))
}
}
Else
{
If (LEqual (_T_0, 0x03)) {}
Else
{
If (LEqual (_T_0, 0x08))
{
Store (IHWM (0x16, Zero), Index (BADG, 0x07))
}
Else
{
If (LEqual (_T_0, 0x09))
{
Store (Zero, Index (BADG, 0x08))
}
Else
{
If (LEqual (_T_0, 0x0A))
{
If (ECON)
{
Store (^^LPCB.EC0.ED3G, Index (BADG, 0x0A))
}
}
Else
{
If (LEqual (_T_0, 0x0C)) {}
Else
{
If (LEqual (_T_0, 0x0D))
{
If (ECON)
{
Store (^^LPCB.EC0.MNST, Index (BADG, 0x0C))
}
}
Else
{
If (LEqual (_T_0, 0x0E))
{
If (ECON)
{
If (^^LPCB.EC0.PSBB)
{
Store (One, Index (BADG, 0x0D))
}
Else
{
Store (Zero, Index (BADG, 0x0D))
}
}
}
Else
{
If (LEqual (_T_0, 0x11))
{
Store (IHWM (0x17, Zero), Index (BADG, 0x10))
}
}
}
}
}
}
}
}
}
}
}
Method (WSDS, 2, NotSerialized)
{
Store (Arg1, BUFF)
Store (Arg0, Local0)
Store (BF00, Local1)
Store (Zero, Index (BADG, Subtract (Local0, One)))
Name (_T_0, Zero)
Store (Local1, _T_0)
If (LEqual (_T_0, Zero))
{
Name (_T_1, Zero)
Store (Local0, _T_1)
If (LEqual (_T_1, 0x04))
{
If (ECON)
{
^^LPCB.EC0.IBE2 ()
Store (0x24, ^^LPCB.EC0.EC6C)
^^LPCB.EC0.IBE2 ()
}
}
Else
{
If (LEqual (_T_1, 0x05))
{
If (ECON)
{
^^LPCB.EC0.IBE2 ()
Store (0x26, ^^LPCB.EC0.EC6C)
^^LPCB.EC0.IBE2 ()
}
}
Else
{
If (LEqual (_T_1, 0x06)) {}
Else
{
If (LEqual (_T_1, 0x07))
{
Store (Zero, BAEF)
}
Else
{
If (LEqual (_T_1, 0x0B))
{
If (ECON)
{
^^LPCB.EC0.IBE2 ()
Store (0xAA, ^^LPCB.EC0.EC6C)
^^LPCB.EC0.IBE2 ()
}
}
Else
{
If (LEqual (_T_1, 0x0F))
{
Store (Zero, ^^LPCB.EC0.PSBB)
}
Else
{
If (LEqual (_T_1, 0x10))
{
Store (Zero, ODAP)
}
Else
{
Store (0x0100, Index (BADG, Subtract (Local0, One)))
}
}
}
}
}
}
}
}
Else
{
Name (_T_2, Zero)
Store (Local0, _T_2)
If (LEqual (_T_2, 0x04))
{
If (ECON)
{
^^LPCB.EC0.IBE2 ()
Store (0x23, ^^LPCB.EC0.EC6C)
^^LPCB.EC0.IBE2 ()
}
}
Else
{
If (LEqual (_T_2, 0x05))
{
If (ECON)
{
^^LPCB.EC0.IBE2 ()
Store (0x25, ^^LPCB.EC0.EC6C)
^^LPCB.EC0.IBE2 ()
}
}
Else
{
If (LEqual (_T_2, 0x06)) {}
Else
{
If (LEqual (_T_2, 0x07))
{
Store (One, BAEF)
}
Else
{
If (LEqual (_T_2, 0x0B))
{
If (ECON)
{
^^LPCB.EC0.IBE2 ()
Store (0xA9, ^^LPCB.EC0.EC6C)
^^LPCB.EC0.IBE2 ()
}
}
Else
{
If (LEqual (_T_2, 0x0F))
{
Store (One, ^^LPCB.EC0.PSBB)
}
Else
{
If (LEqual (_T_2, 0x10))
{
Store (One, ODAP)
}
Else
{
Store (0x0100, Index (BADG, Subtract (Local0, One)))
}
}
}
}
}
}
}
}
}
Method (OEMN, 0, NotSerialized)
{
If (LEqual (BGEF, One))
{
Store (NTDV, Local0)
If (LNotEqual (Local0, Zero))
{
Store (Zero, NTDV)
Return (Local0)
}
}
If (LEqual (BAEF, One))
{
Store (NTDC, Local0)
If (LNotEqual (Local0, Zero))
{
Store (Zero, NTDC)
Return (Local0)
}
}
If (LEqual (BFEF, One)) {}
If (ECON)
{
If (LEqual (BF00, Zero))
{
If (^^LPCB.EC0.WLST)
{
Return (WLSE)
}
Else
{
Return (WLSD)
}
}
If (LEqual (BF00, One))
{
If (^^LPCB.EC0.BLTS)
{
Return (BLTE)
}
Else
{
Return (BLTD)
}
}
If (LEqual (BF00, 0x02))
{
If (^^LPCB.EC0.MNST)
{
Return (LDON)
}
Else
{
Return (LDOF)
}
}
If (LEqual (BF00, 0x03))
{
If (^^LPCB.EC0.ED3G)
{
Return (G3ME)
}
Else
{
Return (G3MD)
}
}
If (LEqual (BF00, 0x04))
{
Return (ODDE)
}
If (LEqual (BF00, 0x05))
{
If (^^LPCB.EC0.PSBB)
{
Return (PSON)
}
Else
{
Return (PSOF)
}
}
}
}
Method (STRL, 2, NotSerialized)
{
Store (Arg0, Local0)
Store (Arg1, BUFF)
Store (Zero, BBSB)
Name (_T_0, Zero)
Store (Local0, _T_0)
If (LEqual (_T_0, One))
{
Store (IHWM (One, 0x019A), Local1)
CreateDWordField (Local1, Zero, TMP)
Divide (TMP, 0x02, , TMP)
If (And (TMP, 0x08))
{
Store (Subtract (TMP, 0x08), BBD0)
}
Else
{
Store (Zero, BBD0)
}
Store (Zero, BBD1)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (Zero, DI00)
Store (Zero, DSY1)
Store (0x019A, DY10)
If (LEqual (BF00, Zero))
{
Store (Zero, DY11)
}
Else
{
Store (Or (Multiply (BF00, 0x02), 0x10), DY11)
}
Store (Zero, DY12)
IHWM (0x02, DSY1)
Store (Zero, BBSB)
}
Else
{
Store (0x00010000, BBSB)
}
}
}
Method (WODP, 2, NotSerialized)
{
CreateDWordField (Arg1, Zero, SETP)
If (LEqual (Arg0, 0x05))
{
If (ECON)
{
If (^^LPCB.EC0.ODST)
{
Store (One, BFW0)
}
Else
{
Store (Zero, BFW0)
}
}
}
If (LEqual (Arg0, 0x0E))
{
If (ECON)
{
^^LPCB.EC0.IBE2 ()
If (SETP)
{
Store (0x65, ^^LPCB.EC0.EC6C)
}
Else
{
Store (0x66, ^^LPCB.EC0.EC6C)
}
^^LPCB.EC0.IBE2 ()
Sleep (0x07D0)
Notify (^^AHCI.PRT1, One)
}
}
}
Method (GCPU, 1, NotSerialized)
{
Store (DSY5, DSY0)
Store (Arg0, Local0)
Store (IHWM (Zero, Arg0), Local2)
Store (Local2, DSY6)
Store (DY60, DY00)
Store (DY61, DY01)
Store (DY62, DY02)
Store (DY63, DY03)
}
Method (MSRR, 1, NotSerialized)
{
Store (DSY3, DSY1)
Store (Arg0, DY00)
Store (IHWM (One, Arg0), Local2)
Store (Local2, DSY6)
Store (DY60, DY10)
Store (DY61, DY11)
Store (Zero, WIT0)
Store (WIT0, DY12)
}
Method (MSRW, 1, NotSerialized)
{
Store (DSY3, DSY1)
Store (IHWM (0x02, Arg0), Local2)
Store (Local2, DSY6)
Store (DY60, DY10)
Store (DY61, DY11)
Store (Zero, WIT0)
Store (WIT0, DY12)
}
Method (C4C3, 2, NotSerialized)
{
Store (Arg1, BUFF)
If (LEqual (Arg0, 0x04))
{
Store (BF00, Index (BCDS, 0x09))
}
Else
{
}
}
Method (CPUF, 0, NotSerialized)
{
}
Method (CPUT, 0, NotSerialized)
{
}
Method (PCIR, 1, NotSerialized)
{
Store (Arg0, Local0)
Store (IHWM (0x03, Arg0), Local2)
Store (Local2, DY20)
Store (Local2, DSY6)
Store (DSY4, DSY2)
Store (DY60, DY20)
}
Method (PCIW, 1, NotSerialized)
{
Store (Arg0, Local0)
Store (Arg0, DY20)
Store (IHWM (0x04, Arg0), Local2)
Store (Local2, DSY6)
Store (DY61, BUFF)
}
Method (CPUS, 0, NotSerialized)
{
Store (IHWM (0x05, Zero), Local2)
Store (Local2, BUFF)
Store (BUFF, Index (BCDS, 0x0C))
}
Method (PCID, 1, NotSerialized)
{
Store (IHWM (0x06, Arg0), Local2)
Store (Local2, DSY6)
}
Method (BTIF, 2, NotSerialized)
{
Store (Arg0, Local0)
Store (Arg1, BUFF)
If (LEqual (Local0, 0x0D))
{
Store (BF02, BF00)
Store (BF01, Local1)
Store (BF02, BF00)
Store (BF01, Local1)
}
If (LEqual (Local0, 0x0E))
{
If (LEqual (BF00, Zero))
{
Store (0xFF, BF00)
}
Else
{
Store (BF00, Local1)
Store (One, BF00)
}
}
If (LEqual (Local0, 0x13))
{
If (LEqual (BF00, 0x03))
{
Store (0x1111, BFW0)
Store (Zero, BFW1)
}
If (LEqual (BF00, 0x08))
{
If (ECON)
{
Store (^^LPCB.EC0.MTMP, BFW0)
Store (Zero, BFW1)
}
}
If (LEqual (BF00, 0x09))
{
If (ECON)
{
Store (^^LPCB.EC0.MBVG, BFW0)
Store (Zero, BFW1)
}
}
If (LEqual (BF00, 0x0A))
{
If (ECON)
{
Store (^^LPCB.EC0.MCUR, BFW0)
Store (Zero, BFW1)
}
}
If (LEqual (BF00, 0x0F))
{
If (ECON)
{
Store (^^LPCB.EC0.MBRM, BFW0)
Store (Zero, BFW1)
}
}
If (LEqual (BF00, 0x17))
{
If (ECON)
{
Store (^^LPCB.EC0.MCYC, BFW0)
Store (Zero, BFW1)
}
}
If (LEqual (BF00, 0x18))
{
If (ECON)
{
Store (^^LPCB.EC0.BTDC, BFW0)
Store (Zero, BFW1)
}
}
If (LEqual (BF00, 0x19))
{
If (ECON)
{
Store (^^LPCB.EC0.BTDV, BFW0)
Store (Zero, BFW1)
}
}
If (LEqual (BF00, 0x1B))
{
If (ECON)
{
Store (^^LPCB.EC0.MDAT, BFW0)
Store (Zero, BFW1)
}
}
If (LEqual (BF00, 0x1C))
{
If (ECON)
{
Store (^^LPCB.EC0.BTSN, BFW0)
Store (Zero, BFW1)
}
}
}
}
Method (CKGS, 0, NotSerialized)
{
Store (One, GSTS)
Return (GSTS)
}
Method (WSHP, 1, NotSerialized)
{
}
Method (WSSL, 1, NotSerialized)
{
}
Method (WSSP, 1, NotSerialized)
{
}
Method (WSSE, 1, NotSerialized)
{
}
Method (WSVE, 1, NotSerialized)
{
Store (Arg0, Local0)
If (LEqual (Local0, One))
{
Store (One, BGEF)
}
Else
{
Store (Zero, BGEF)
}
Store (Zero, Index (BGDS, Zero))
}
Method (GBDS, 0, NotSerialized)
{
IHWM (0x07, Zero)
Store (DI00, DSY4)
Store (DSY4, BO01)
Store (Zero, BO02)
Store (Zero, BO03)
Store (Zero, BO04)
}
Method (SBDS, 1, NotSerialized)
{
IHWM (0x08, Arg0)
}
Method (LMON, 0, NotSerialized)
{
Store (One, LMST)
Store (One, ^^LPCB.EC0.LMAT)
Return (Zero)
}
Method (LMOF, 0, NotSerialized)
{
Store (Zero, LMST)
Store (Zero, ^^LPCB.EC0.LMAT)
Return (Zero)
}
Method (GCMS, 1, NotSerialized)
{
Store (Zero, Local0)
If (^^LPCB.EC0.WLST)
{
Or (Local0, One, Local0)
}
If (^^LPCB.EC0.ED3G)
{
Or (Local0, 0x40, Local0)
}
If (^^LPCB.EC0.BLTS)
{
Or (Local0, 0x0800, Local0)
}
Store (Local0, Arg0)
Return (Zero)
}
Method (SCMS, 2, NotSerialized)
{
If (And (Arg0, One))
{
If (And (Arg1, One))
{
Store (One, ^^LPCB.EC0.WLST)
}
Else
{
Store (Zero, ^^LPCB.EC0.WLST)
}
}
If (And (Arg0, 0x40))
{
If (And (Arg1, 0x40))
{
Store (One, ^^LPCB.EC0.ED3G)
}
Else
{
Store (Zero, ^^LPCB.EC0.ED3G)
}
}
If (And (Arg0, 0x0800))
{
If (And (Arg1, 0x0800))
{
Store (One, ^^LPCB.EC0.BLTS)
}
Else
{
Store (Zero, ^^LPCB.EC0.BLTS)
}
}
Return (Zero)
}
Method (GAPS, 1, NotSerialized)
{
Return (0xE1)
}
Method (SAPS, 2, NotSerialized)
{
Return (0xE1)
}
Method (GMES, 1, NotSerialized)
{
Return (0xE1)
}
Method (SMES, 2, NotSerialized)
{
Return (0xE1)
}
Method (GDSS, 1, NotSerialized)
{
Return (0xE1)
}
Method (SDSS, 2, NotSerialized)
{
Return (0xE1)
}
Method (GOTS, 1, NotSerialized)
{
Store (Zero, Local0)
If (LEqual (^^LPCB.EC0.TPDB, Zero))
{
Or (Local0, 0x02, Local0)
}
If (^^LPCB.EC0.PSBB)
{
Or (Local0, 0x10, Local0)
}
Store (Local0, Arg0)
Return (Zero)
}
Method (SOTS, 2, NotSerialized)
{
If (And (Arg0, 0x02))
{
If (And (Arg1, 0x02))
{
Store (Zero, ^^LPCB.EC0.TPDB)
}
Else
{
Store (One, ^^LPCB.EC0.TPDB)
}
}
If (And (Arg0, 0x10))
{
If (And (Arg1, 0x10))
{
Store (One, ^^LPCB.EC0.PSBB)
}
Else
{
Store (Zero, ^^LPCB.EC0.PSBB)
}
}
Return (Zero)
}
Name (_WDG, Buffer (0x0140)
{
/* 0000 */ 0x09, 0x4E, 0x76, 0x95, 0x56, 0xFB, 0x83, 0x4E,
/* 0008 */ 0xB3, 0x1A, 0x37, 0x76, 0x1F, 0x60, 0x99, 0x4A,
/* 0010 */ 0x41, 0x41, 0x01, 0x01, 0x58, 0xF2, 0xF4, 0x6A,
/* 0018 */ 0x01, 0xB4, 0xFD, 0x42, 0xBE, 0x91, 0x3D, 0x4A,
/* 0020 */ 0xC2, 0xD7, 0xC0, 0xD3, 0x42, 0x41, 0x01, 0x02,
/* 0028 */ 0xAC, 0x61, 0x1A, 0xCC, 0x56, 0x42, 0xA3, 0x41,
/* 0030 */ 0xB9, 0xE0, 0x05, 0xA4, 0x45, 0xAD, 0xE2, 0xF5,
/* 0038 */ 0x80, 0x00, 0x01, 0x08, 0x53, 0x44, 0x8C, 0xE7,
/* 0040 */ 0x27, 0x02, 0x61, 0x48, 0x9E, 0xDE, 0xF5, 0x60,
/* 0048 */ 0x0B, 0x4A, 0x3D, 0x39, 0x42, 0x42, 0x01, 0x02,
/* 0050 */ 0x7B, 0x4F, 0xE0, 0xAA, 0xC5, 0xB3, 0x65, 0x48,
/* 0058 */ 0x95, 0xD6, 0x9F, 0xAC, 0x7F, 0xF3, 0xE9, 0x2B,
/* 0060 */ 0x42, 0x43, 0x01, 0x02, 0x79, 0x4C, 0xF9, 0xCF,
/* 0068 */ 0x77, 0x6C, 0xF7, 0x4A, 0xAC, 0x56, 0x7D, 0xD0,
/* 0070 */ 0xCE, 0x01, 0xC9, 0x97, 0x42, 0x44, 0x01, 0x02,
/* 0078 */ 0xC5, 0x2E, 0x77, 0x79, 0xB1, 0x04, 0xFD, 0x4B,
/* 0080 */ 0x84, 0x3C, 0x61, 0xE7, 0xF7, 0x7B, 0x6C, 0xC9,
/* 0088 */ 0x42, 0x45, 0x01, 0x02, 0xB7, 0xA0, 0xC9, 0xA7,
/* 0090 */ 0x9D, 0x4C, 0x72, 0x4C, 0x83, 0xBB, 0x53, 0xA3,
/* 0098 */ 0x45, 0x91, 0x71, 0xDF, 0x42, 0x46, 0x01, 0x02,
/* 00A0 */ 0x4F, 0x06, 0x3A, 0x65, 0x3A, 0xA2, 0x5F, 0x48,
/* 00A8 */ 0xB3, 0xD9, 0x13, 0xF6, 0x53, 0x2A, 0x01, 0x82,
/* 00B0 */ 0x42, 0x47, 0x01, 0x02, 0x45, 0xDD, 0x23, 0x59,
/* 00B8 */ 0x80, 0x04, 0xD5, 0x4E, 0xB6, 0x1A, 0xC9, 0xEC,
/* 00C0 */ 0x6C, 0x90, 0xE2, 0x6A, 0x42, 0x48, 0x01, 0x02,
/* 00C8 */ 0xA7, 0xB1, 0x85, 0xDB, 0x9A, 0x06, 0xBB, 0x4A,
/* 00D0 */ 0xA2, 0xB5, 0xD1, 0x86, 0xA2, 0x1B, 0x80, 0xF1,
/* 00D8 */ 0x81, 0x00, 0x01, 0x08, 0x91, 0x6B, 0x91, 0x36,
/* 00E0 */ 0x64, 0x1A, 0x83, 0x45, 0x84, 0xD0, 0x53, 0x83,
/* 00E8 */ 0x0F, 0xB9, 0x10, 0x8D, 0x82, 0x00, 0x01, 0x08,
/* 00F0 */ 0x97, 0x13, 0xAA, 0xFA, 0x88, 0x11, 0x8F, 0x44,
/* 00F8 */ 0x85, 0x16, 0x9A, 0x07, 0x98, 0x7D, 0xD3, 0x8A,
/* 0100 */ 0x42, 0x49, 0x01, 0x02, 0x5E, 0xA1, 0x6A, 0x67,
/* 0108 */ 0x47, 0x6A, 0x9F, 0x4D, 0xA2, 0xCC, 0x1E, 0x6D,
/* 0110 */ 0x18, 0xD1, 0x40, 0x26, 0xBC, 0x00, 0x01, 0x08,
/* 0118 */ 0xEA, 0x69, 0xEF, 0x61, 0x5C, 0x86, 0xC3, 0x4B,
/* 0120 */ 0xA5, 0x02, 0xA0, 0xDE, 0xBA, 0x0C, 0xB5, 0x31,
/* 0128 */ 0x41, 0x41, 0x01, 0x02, 0x21, 0x12, 0x90, 0x05,
/* 0130 */ 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0,
/* 0138 */ 0xC9, 0x06, 0x29, 0x10, 0x41, 0x42, 0x01, 0x00
})
Method (WQAA, 1, NotSerialized)
{
AAF1 ()
Store (AADS, BUFF)
Return (BUFF)
}
Name (WQAB, Buffer (0x042A)
{
/* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,
/* 0008 */ 0x1A, 0x04, 0x00, 0x00, 0x38, 0x10, 0x00, 0x00,
/* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,
/* 0018 */ 0x18, 0xCF, 0x87, 0x00, 0x01, 0x06, 0x18, 0x42,
/* 0020 */ 0x10, 0x07, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01,
/* 0028 */ 0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E,
/* 0030 */ 0x24, 0x15, 0x07, 0x85, 0x12, 0x02, 0xA1, 0xFE,
/* 0038 */ 0x04, 0xF2, 0x2B, 0x00, 0xA1, 0x43, 0x01, 0x32,
/* 0040 */ 0x05, 0x18, 0x14, 0xE0, 0x14, 0x41, 0x04, 0xBD,
/* 0048 */ 0x0A, 0xB0, 0x29, 0xC0, 0xA4, 0x00, 0x8B, 0x02,
/* 0050 */ 0xB4, 0x0B, 0xB0, 0x2C, 0x40, 0xB7, 0x00, 0xE9,
/* 0058 */ 0xB0, 0x44, 0x24, 0x38, 0x4A, 0x0C, 0x38, 0x4A,
/* 0060 */ 0x27, 0xB6, 0x70, 0xC3, 0x06, 0x2F, 0x14, 0x45,
/* 0068 */ 0x33, 0x88, 0x92, 0xA0, 0x72, 0x01, 0xBE, 0x11,
/* 0070 */ 0x04, 0x5E, 0xAE, 0x00, 0xC9, 0x13, 0x90, 0x66,
/* 0078 */ 0x01, 0x86, 0x05, 0x58, 0x17, 0x20, 0x7B, 0x08,
/* 0080 */ 0x54, 0xEA, 0x10, 0x50, 0x72, 0x86, 0x80, 0x1A,
/* 0088 */ 0x40, 0xAB, 0x13, 0x10, 0x7E, 0xA5, 0x53, 0x42,
/* 0090 */ 0x12, 0x84, 0x33, 0x56, 0xF1, 0xF8, 0x9A, 0x45,
/* 0098 */ 0xD3, 0x73, 0x92, 0x73, 0x0C, 0x39, 0x1E, 0x17,
/* 00A0 */ 0x7A, 0x10, 0x3C, 0xAA, 0x04, 0x10, 0x26, 0x7F,
/* 00A8 */ 0xC8, 0x0A, 0x07, 0x83, 0xD2, 0x30, 0x16, 0xEA,
/* 00B0 */ 0x62, 0xD4, 0xA8, 0x91, 0xB2, 0x01, 0x19, 0xA2,
/* 00B8 */ 0x24, 0x38, 0xD4, 0xA8, 0x2D, 0x51, 0x80, 0xF9,
/* 00C0 */ 0x71, 0x68, 0x76, 0x6D, 0x8F, 0x85, 0x40, 0x32,
/* 00C8 */ 0x69, 0x43, 0x41, 0x49, 0x81, 0xD0, 0xD8, 0xCE,
/* 00D0 */ 0xD4, 0x33, 0x8A, 0x78, 0xA4, 0x86, 0x49, 0xE0,
/* 00D8 */ 0x51, 0x44, 0x36, 0x1A, 0x87, 0xC6, 0x0E, 0xC3,
/* 00E0 */ 0xC3, 0x0C, 0x76, 0x10, 0x87, 0x71, 0xCC, 0x91,
/* 00E8 */ 0x13, 0x78, 0x42, 0x47, 0x7A, 0xE4, 0x85, 0xCD,
/* 00F0 */ 0x53, 0xA8, 0x31, 0x9A, 0x83, 0x22, 0x82, 0x8F,
/* 00F8 */ 0x02, 0xE8, 0x31, 0x85, 0x3D, 0xDA, 0xD8, 0xE7,
/* 0100 */ 0x6B, 0xE1, 0x83, 0x15, 0xC6, 0x11, 0x1C, 0x57,
/* 0108 */ 0x82, 0xFF, 0xFF, 0x89, 0x1F, 0x4A, 0x8F, 0x70,
/* 0110 */ 0x12, 0x34, 0x45, 0x0A, 0x72, 0xD4, 0x18, 0x59,
/* 0118 */ 0x38, 0xD2, 0x3A, 0x2B, 0x32, 0x77, 0x03, 0x1B,
/* 0120 */ 0xA8, 0x31, 0x01, 0xBA, 0x46, 0x22, 0x82, 0xE3,
/* 0128 */ 0x39, 0x10, 0x8C, 0x0C, 0x08, 0x79, 0x3E, 0x17,
/* 0130 */ 0x68, 0x84, 0x26, 0xB0, 0x7B, 0x01, 0xDA, 0x04,
/* 0138 */ 0x78, 0x83, 0xD0, 0x38, 0x22, 0x04, 0x6E, 0x6D,
/* 0140 */ 0x12, 0xB2, 0x85, 0x43, 0xE6, 0x15, 0x2B, 0x4A,
/* 0148 */ 0x8C, 0x63, 0x3A, 0xB2, 0x1A, 0x51, 0x84, 0x54,
/* 0150 */ 0xD9, 0xCD, 0x40, 0x08, 0x51, 0x62, 0x86, 0x8C,
/* 0158 */ 0x18, 0x2C, 0xC8, 0x63, 0x44, 0x0C, 0x0F, 0xD1,
/* 0160 */ 0x70, 0x91, 0xDA, 0x1F, 0x04, 0x91, 0xF7, 0x98,
/* 0168 */ 0xD0, 0x79, 0xC0, 0x91, 0x46, 0x83, 0x3A, 0x2C,
/* 0170 */ 0xF8, 0x4C, 0xE0, 0xC9, 0x3D, 0x23, 0x78, 0x6C,
/* 0178 */ 0xE7, 0x1C, 0xE4, 0x3C, 0x8F, 0xED, 0x11, 0xE2,
/* 0180 */ 0x61, 0xC0, 0xC3, 0x66, 0xB7, 0x04, 0x9F, 0x2D,
/* 0188 */ 0x7C, 0x3A, 0xC0, 0xBB, 0x06, 0xD4, 0xB5, 0xE0,
/* 0190 */ 0xA1, 0x80, 0x4D, 0x32, 0x1C, 0x66, 0x88, 0x1E,
/* 0198 */ 0x6B, 0xB8, 0x13, 0x38, 0x44, 0x06, 0xE8, 0xB1,
/* 01A0 */ 0xFA, 0x3C, 0x80, 0x9B, 0xDB, 0xC9, 0x1C, 0xFA,
/* 01A8 */ 0xFB, 0x44, 0xB3, 0x37, 0x09, 0x42, 0x70, 0x3C,
/* 01B0 */ 0xBE, 0x44, 0xB0, 0x09, 0x3F, 0x3A, 0x90, 0x41,
/* 01B8 */ 0xA0, 0x46, 0x66, 0x68, 0x0F, 0xF5, 0xB4, 0x5E,
/* 01C0 */ 0x06, 0x7C, 0x0C, 0x30, 0x81, 0xC5, 0x42, 0x48,
/* 01C8 */ 0x01, 0x84, 0xC6, 0x03, 0x7E, 0xC5, 0x07, 0x0F,
/* 01D0 */ 0x72, 0x63, 0xF0, 0x7C, 0x7D, 0x86, 0xD0, 0xC9,
/* 01D8 */ 0x42, 0x46, 0x56, 0xE1, 0xF1, 0xD0, 0xE3, 0x82,
/* 01E0 */ 0xEF, 0x08, 0x98, 0x0B, 0x83, 0x87, 0xEE, 0x21,
/* 01E8 */ 0x3D, 0x1F, 0x58, 0xD2, 0x21, 0x83, 0xFE, 0xFF,
/* 01F0 */ 0x45, 0x9D, 0x56, 0xF8, 0xA1, 0x82, 0x9E, 0x27,
/* 01F8 */ 0x18, 0x6C, 0xD0, 0xB0, 0x1E, 0xCC, 0x39, 0xF9,
/* 0200 */ 0xCF, 0xE2, 0xB1, 0xC1, 0x07, 0xC4, 0x7B, 0x9F,
/* 0208 */ 0x35, 0x19, 0xC1, 0xC9, 0x1A, 0xD0, 0x87, 0x07,
/* 0210 */ 0xDC, 0xA1, 0x02, 0xBC, 0x30, 0x87, 0xC5, 0xAF,
/* 0218 */ 0x15, 0x70, 0x0F, 0x0B, 0x6C, 0x94, 0x7C, 0x34,
/* 0220 */ 0x1E, 0xC2, 0x59, 0x3C, 0x0D, 0x18, 0xC6, 0xE8,
/* 0228 */ 0x4F, 0x01, 0xB0, 0x6F, 0x18, 0x1E, 0x8B, 0x0F,
/* 0230 */ 0x3A, 0x3E, 0xE9, 0x80, 0x63, 0x70, 0xFC, 0x0A,
/* 0238 */ 0x83, 0x3B, 0xE9, 0x00, 0x8F, 0xB9, 0x3E, 0xE9,
/* 0240 */ 0x80, 0xED, 0x7C, 0xC0, 0x4E, 0x39, 0xD0, 0x4C,
/* 0248 */ 0x80, 0xB0, 0x00, 0x6F, 0x04, 0xC9, 0x5A, 0x37,
/* 0250 */ 0x85, 0xF1, 0xFF, 0xFF, 0x94, 0x03, 0xB8, 0xBA,
/* 0258 */ 0x4B, 0xF8, 0x04, 0x01, 0x56, 0x8C, 0xE7, 0x0D,
/* 0260 */ 0x8B, 0x06, 0xD4, 0x08, 0x9E, 0x1F, 0x60, 0x1F,
/* 0268 */ 0x73, 0xE0, 0x5F, 0x6D, 0x7C, 0xBE, 0x09, 0x72,
/* 0270 */ 0x52, 0x41, 0x0E, 0xE5, 0xF5, 0xE6, 0xC9, 0x21,
/* 0278 */ 0xCC, 0x8B, 0xCE, 0x13, 0x8E, 0x87, 0x56, 0x21,
/* 0280 */ 0x88, 0x9C, 0x1D, 0x73, 0x08, 0xD2, 0x03, 0x8E,
/* 0288 */ 0x51, 0x0C, 0x72, 0x66, 0x51, 0xA3, 0x45, 0x31,
/* 0290 */ 0x5E, 0x90, 0x68, 0x11, 0x8F, 0xE0, 0x31, 0x87,
/* 0298 */ 0xC5, 0x3A, 0x10, 0xE8, 0x1F, 0xE5, 0x63, 0x0E,
/* 02A0 */ 0x70, 0xFF, 0xFF, 0x1F, 0x73, 0x00, 0x47, 0xF2,
/* 02A8 */ 0x8E, 0x24, 0xA0, 0x1A, 0x15, 0xBF, 0x32, 0xB0,
/* 02B0 */ 0x33, 0x09, 0x30, 0x89, 0xF2, 0xF4, 0xD0, 0x38,
/* 02B8 */ 0xAD, 0xF1, 0x39, 0x20, 0x1B, 0x27, 0x21, 0x3A,
/* 02C0 */ 0x08, 0x2B, 0xA1, 0xD2, 0x08, 0xDE, 0x23, 0x7C,
/* 02C8 */ 0x6B, 0x88, 0xFB, 0x6C, 0xE0, 0xF9, 0x60, 0xD2,
/* 02D0 */ 0x1F, 0x14, 0x74, 0xFE, 0x31, 0xB8, 0x73, 0x93,
/* 02D8 */ 0x28, 0xF7, 0x80, 0x28, 0xBC, 0x93, 0x1E, 0x83,
/* 02E0 */ 0x28, 0x88, 0x01, 0x1D, 0x03, 0x42, 0x56, 0x0E,
/* 02E8 */ 0x02, 0xE8, 0xEB, 0x84, 0x8F, 0x0C, 0x3E, 0x67,
/* 02F0 */ 0x44, 0x39, 0x23, 0x1F, 0x30, 0x1E, 0x17, 0xD8,
/* 02F8 */ 0x70, 0x7C, 0x10, 0xE0, 0x07, 0x14, 0xDF, 0x0C,
/* 0300 */ 0x8C, 0x6D, 0x35, 0xC7, 0x1D, 0x14, 0x98, 0xE1,
/* 0308 */ 0x5F, 0x60, 0x4C, 0xE0, 0x7B, 0xC6, 0xCB, 0x00,
/* 0310 */ 0xBC, 0xFF, 0xFF, 0x6D, 0x07, 0x7B, 0xC6, 0x78,
/* 0318 */ 0x2C, 0xB1, 0xBE, 0xC3, 0x00, 0x28, 0x80, 0x3C,
/* 0320 */ 0x7D, 0x9F, 0x68, 0x1E, 0x01, 0xD8, 0x18, 0x1E,
/* 0328 */ 0x6A, 0x8C, 0x66, 0x74, 0x1E, 0x7F, 0xAE, 0xA8,
/* 0330 */ 0xC0, 0x73, 0xA5, 0x20, 0x9E, 0xAB, 0xC3, 0x40,
/* 0338 */ 0xC8, 0xC9, 0x5C, 0x51, 0xB7, 0x17, 0x8F, 0xC8,
/* 0340 */ 0x3E, 0xA7, 0x4A, 0x06, 0xCB, 0x09, 0xA2, 0xBC,
/* 0348 */ 0x6A, 0xC0, 0x3A, 0x08, 0x44, 0x64, 0xF3, 0xF0,
/* 0350 */ 0x5D, 0x09, 0x3F, 0x5B, 0x3E, 0x18, 0x5F, 0x25,
/* 0358 */ 0xE0, 0x0F, 0x97, 0x9F, 0x4A, 0xDE, 0x4D, 0x12,
/* 0360 */ 0x58, 0xE0, 0x74, 0x41, 0x0E, 0x8F, 0x11, 0xB4,
/* 0368 */ 0x1E, 0x59, 0xB8, 0x4B, 0xD1, 0x71, 0xF1, 0xDB,
/* 0370 */ 0x81, 0x6F, 0x3C, 0xEC, 0x4E, 0x83, 0xBB, 0x88,
/* 0378 */ 0x61, 0x60, 0x3D, 0x52, 0x0E, 0x6B, 0xB4, 0xB0,
/* 0380 */ 0x07, 0xFC, 0xC6, 0xE1, 0xE3, 0x8A, 0x67, 0x66,
/* 0388 */ 0x8C, 0xB0, 0xBE, 0xA7, 0x80, 0xE3, 0x4E, 0x06,
/* 0390 */ 0x3F, 0xC0, 0xD8, 0x10, 0xFF, 0xFF, 0x2B, 0x10,
/* 0398 */ 0xF8, 0xCE, 0x1A, 0xEC, 0x4A, 0x66, 0x90, 0x17,
/* 03A0 */ 0x25, 0x9F, 0x6B, 0x8C, 0x1E, 0xE8, 0x7D, 0x03,
/* 03A8 */ 0x7F, 0x13, 0x82, 0x7D, 0x03, 0x81, 0x33, 0x14,
/* 03B0 */ 0xDF, 0x40, 0x80, 0xC3, 0x31, 0x02, 0x77, 0x03,
/* 03B8 */ 0x01, 0xD6, 0x77, 0x08, 0x76, 0x03, 0x01, 0x96,
/* 03C0 */ 0xA7, 0x17, 0xDC, 0x0D, 0x04, 0x9C, 0xFF, 0xFF,
/* 03C8 */ 0x1B, 0x08, 0x70, 0xB9, 0xBF, 0xB0, 0x1B, 0x08,
/* 03D0 */ 0x30, 0x1F, 0xB5, 0x6F, 0x20, 0x80, 0xA5, 0xB3,
/* 03D8 */ 0x06, 0xBB, 0x81, 0x80, 0x5F, 0xA1, 0x4D, 0x9F,
/* 03E0 */ 0x1A, 0x8D, 0x5A, 0x35, 0x28, 0x53, 0xA3, 0x4C,
/* 03E8 */ 0x83, 0x5A, 0x7D, 0x2A, 0x35, 0x66, 0xCC, 0xC6,
/* 03F0 */ 0xE8, 0xBD, 0x74, 0x8D, 0xDD, 0x71, 0x40, 0x68,
/* 03F8 */ 0xF0, 0x87, 0x9C, 0x40, 0x1C, 0xDE, 0x03, 0x08,
/* 0400 */ 0x93, 0xBE, 0x38, 0x81, 0x38, 0xE6, 0xA1, 0x51,
/* 0408 */ 0x46, 0x40, 0xF4, 0xFF, 0xCF, 0x0C, 0x22, 0x20,
/* 0410 */ 0x27, 0x54, 0x01, 0xC4, 0xF2, 0x82, 0x08, 0xC8,
/* 0418 */ 0x4A, 0xD6, 0x20, 0x20, 0xCB, 0x02, 0x11, 0x90,
/* 0420 */ 0x45, 0xE8, 0x00, 0x62, 0x92, 0x40, 0x04, 0xE4,
/* 0428 */ 0xFF, 0x3F
})
OperationRegion (SBAA, SystemMemory, 0x000EA947, 0x0100)
Field (SBAA, AnyAcc, NoLock, Preserve)
{
TPAA, 8,
LNTH, 8,
Offset (0x04),
CDPB, 16,
Offset (0x0E),
BTND, 1928
}
Method (FBFS, 2, NotSerialized)
{
If (LNotEqual (TPAA, 0xAA))
{
Return (0xFF)
}
If (LLess (LNTH, 0x12))
{
Return (0xFF)
}
Subtract (LNTH, 0x0E, Local0)
Store (Zero, Local1)
Store (BTND, Local2)
While (LLess (Local1, Local0))
{
If (LEqual (Arg0, DerefOf (Index (Local2, Local1))))
{
If (LGreaterEqual (Subtract (Local0, Local1), 0x04))
{
Store (DerefOf (Index (Local2, Add (Local1, 0x02))), Arg1)
Store (DerefOf (Index (Local2, Add (Local1, 0x03))), Local3)
Or (ShiftLeft (Local3, 0x08), DerefOf (Arg1), Arg1)
Return (Zero)
}
}
Add (Local1, 0x04, Local1)
}
Return (0xFF)
}
Method (EVBC, 0, NotSerialized)
{
CMSW (One, 0xFF)
CMSW (0x02, 0xFF)
CMSW (0x03, 0xFF)
CMSW (0x04, 0xFF)
Store (DerefOf (Index (FEBC, Zero)), Local0)
If (LOr (LEqual (Local0, Zero), LGreater (Local0, 0x02)))
{
Store (Zero, Index (FEBC, Zero))
Store (Zero, Index (FEBC, One))
CMSW (One, DerefOf (Index (FEBC, Zero)))
CMSW (0x02, DerefOf (Index (FEBC, One)))
CMSW (0x03, DerefOf (Index (FEBC, 0x02)))
CMSW (0x04, DerefOf (Index (FEBC, 0x03)))
Return (FEBC)
}
If (LEqual (Local0, One))
{
Store (DerefOf (Index (FEBC, One)), Local1)
Store (Zero, Local2)
Store (Zero, Local3)
If (LAnd (LGreater (Local1, Zero), LLess (Local1, 0x20)))
{
Store (GCMS (RefOf (Local2)), Local3)
If (LEqual (Local3, Zero))
{
If (LAnd (LEqual (TPAA, 0xAA), LGreaterEqual (LNTH, 0x0E)))
{
And (Local2, CDPB, Local2)
}
}
}
Else
{
If (LAnd (LGreater (Local1, 0x80), LLess (Local1, 0xFF)))
{
Store (GOTS (RefOf (Local2)), Local3)
}
}
If (LNotEqual (Local3, Zero))
{
Store (Zero, Index (FEBC, Zero))
Store (Zero, Index (FEBC, One))
CMSW (One, DerefOf (Index (FEBC, Zero)))
CMSW (0x02, DerefOf (Index (FEBC, One)))
CMSW (0x03, DerefOf (Index (FEBC, 0x02)))
CMSW (0x04, DerefOf (Index (FEBC, 0x03)))
Return (FEBC)
}
Store (And (Local2, 0xFF), Index (FEBC, 0x02))
ShiftRight (Local2, 0x08, Local2)
Store (And (Local2, 0xFF), Index (FEBC, 0x03))
}
Else
{
Store (Zero, Index (FEBC, 0x02))
Store (Zero, Index (FEBC, 0x03))
}
Store (Zero, Index (FEBC, 0x04))
Store (Zero, Index (FEBC, 0x05))
Store (Zero, Index (FEBC, 0x06))
Store (Zero, Index (FEBC, 0x07))
CMSW (One, DerefOf (Index (FEBC, Zero)))
CMSW (0x02, DerefOf (Index (FEBC, One)))
CMSW (0x03, DerefOf (Index (FEBC, 0x02)))
CMSW (0x04, DerefOf (Index (FEBC, 0x03)))
Return (FEBC)
}
Method (SDDV, 1, NotSerialized)
{
Store (Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
}, Local0)
And (DerefOf (Index (Arg0, 0x05)), One, Local1)
ShiftRight (DerefOf (Index (Arg0, 0x05)), 0x06, Local2)
And (Local2, 0x03, Local2)
If (LEqual (Local1, One))
{
LMON ()
}
If (LEqual (Local2, One))
{
Store (0xFFFF, Local3)
If (LAnd (LEqual (TPAA, 0xAA), LGreaterEqual (LNTH, 0x0E)))
{
And (Local3, CDPB, Local3)
}
If (LNotEqual (Local3, Zero))
{
Store (Zero, Local4)
Store (DerefOf (Index (Arg0, One)), Local4)
Or (ShiftLeft (DerefOf (Index (Arg0, 0x02)), 0x08), Local4,
Local4)
Store (SCMS (Local3, Local4), Local5)
If (LNotEqual (Local5, Zero))
{
Store (Local5, Index (Local0, Zero))
Return (Local0)
}
}
Store (Zero, Local4)
Store (DerefOf (Index (Arg0, 0x03)), Local4)
Or (ShiftLeft (DerefOf (Index (Arg0, 0x04)), 0x08), Local4,
Local4)
Store (SOTS (0xFFFF, Local4), Local5)
If (LNotEqual (Local5, Zero))
{
Store (Local5, Index (Local0, Zero))
Return (Local0)
}
}
If (LEqual (Local1, Zero))
{
LMOF ()
}
Return (Local0)
}
Method (SNDE, 1, NotSerialized)
{
Store (Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
}, Local0)
Store (DerefOf (Index (Arg0, One)), Local1)
Store (Zero, Local2)
Store (DerefOf (Index (Arg0, 0x02)), Local2)
Or (ShiftLeft (DerefOf (Index (Arg0, 0x03)), 0x08), Local2,
Local2)
Store (Zero, Local3)
Store (FBFS (Local1, RefOf (Local3)), Local4)
If (LNotEqual (Local4, Zero))
{
Store (0xFFFF, Local3)
}
If (LAnd (LGreater (Local1, Zero), LLess (Local1, 0x20)))
{
If (LAnd (LEqual (TPAA, 0xAA), LGreaterEqual (LNTH, 0x0E)))
{
And (Local3, CDPB, Local3)
}
If (LEqual (Local3, Zero))
{
Store (0xE2, Local4)
}
Else
{
Store (SCMS (Local3, Local2), Local4)
}
}
Else
{
If (LAnd (LGreater (Local1, 0x20), LLess (Local1, 0x40)))
{
Store (SAPS (Local3, Local2), Local4)
}
Else
{
If (LAnd (LGreater (Local1, 0x40), LLess (Local1, 0x60)))
{
Store (SMES (Local3, Local2), Local4)
}
Else
{
If (LAnd (LGreater (Local1, 0x60), LLess (Local1, 0x80)))
{
Store (SDSS (Local3, Local2), Local4)
}
Else
{
If (LAnd (LGreater (Local1, 0x80), LLess (Local1, 0xFF)))
{
Store (SOTS (Local3, Local2), Local4)
}
Else
{
Store (0xE4, Local4)
}
}
}
}
}
Store (Local4, Index (Local0, Zero))
If (LNotEqual (Local4, Zero))
{
Store (Local1, Index (Local0, 0x02))
}
Return (Local0)
}
Method (GDST, 1, NotSerialized)
{
Store (Buffer (0x08)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}, Local0)
Store (DerefOf (Index (Arg0, One)), Local1)
Store (DerefOf (Index (Arg0, 0x02)), Local2)
Or (ShiftLeft (DerefOf (Index (Arg0, 0x03)), 0x08), Local2,
Local2)
Store (Zero, Local3)
If (LAnd (LGreater (Local1, Zero), LLess (Local1, 0x20)))
{
If (LAnd (LEqual (TPAA, 0xAA), LGreaterEqual (LNTH, 0x0E)))
{
If (LEqual (And (Local2, CDPB), Zero))
{
Store (0xE2, Index (Local0, Zero))
Return (Local0)
}
}
Store (GCMS (RefOf (Local3)), Local4)
}
Else
{
If (LAnd (LGreater (Local1, 0x20), LLess (Local1, 0x40)))
{
Store (GAPS (RefOf (Local3)), Local4)
}
Else
{
If (LAnd (LGreater (Local1, 0x40), LLess (Local1, 0x60)))
{
Store (GMES (RefOf (Local3)), Local4)
}
Else
{
If (LAnd (LGreater (Local1, 0x60), LLess (Local1, 0x80)))
{
Store (GDSS (RefOf (Local3)), Local4)
}
Else
{
If (LAnd (LGreater (Local1, 0x80), LLess (Local1, 0xFF)))
{
Store (GOTS (RefOf (Local3)), Local4)
}
Else
{
Store (0xE4, Index (Local0, Zero))
Return (Local0)
}
}
}
}
}
If (LEqual (Local2, Zero))
{
Store (0xE2, Local4)
}
Store (Local4, Index (Local0, Zero))
And (Local3, Local2, Local3)
Store (And (Local3, 0xFF), Index (Local0, 0x02))
Store (ShiftRight (Local3, 0x08), Index (Local0, 0x03))
Return (Local0)
}
Method (WMAA, 3, NotSerialized)
{
CMSW (0x05, Arg1)
CMSW (0x06, DerefOf (Index (Arg2, Zero)))
CMSW (0x07, DerefOf (Index (Arg2, One)))
CMSW (0x08, DerefOf (Index (Arg2, 0x02)))
CMSW (0x09, DerefOf (Index (Arg2, 0x03)))
CMSW (0x0A, 0xFF)
CMSW (0x0B, 0xFF)
CMSW (0x0C, 0xFF)
CMSW (0x0D, 0xFF)
CMSW (0x0E, 0xFF)
CMSW (0x0F, 0xFF)
If (LEqual (Arg1, One))
{
Store (Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
}, Local0)
Name (_T_0, Zero)
Store (DerefOf (Index (Arg2, Zero)), _T_0)
If (LEqual (_T_0, One))
{
CMSW (0x0E, DerefOf (Index (Arg2, 0x04)))
CMSW (0x0F, DerefOf (Index (Arg2, 0x05)))
Store (SDDV (Arg2), Local0)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Store (SNDE (Arg2), Local0)
}
Else
{
Store (0xE4, Index (Local0, Zero))
}
}
}
Else
{
If (LEqual (Arg1, 0x02))
{
Store (Buffer (0x08)
{
/* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}, Local0)
Name (_T_1, Zero)
Store (DerefOf (Index (Arg2, Zero)), _T_1)
If (LEqual (_T_1, One))
{
Store (GDST (Arg2), Local0)
}
Else
{
Store (0xE4, Index (Local0, Zero))
}
}
Else
{
Store (Buffer (0x04)
{
0xE4, 0x00, 0x00, 0x00
}, Local0)
}
}
CMSW (0x0A, DerefOf (Index (Local0, Zero)))
CMSW (0x0B, DerefOf (Index (Local0, One)))
CMSW (0x0C, DerefOf (Index (Local0, 0x02)))
CMSW (0x0D, DerefOf (Index (Local0, 0x03)))
Return (Local0)
}
Method (WMBA, 3, NotSerialized)
{
Store (Zero, BUFF)
Name (_T_0, Zero)
Store (Arg1, _T_0)
If (LNotEqual (Match (Package (0x0A)
{
One,
0x02,
0x03,
0x08,
0x09,
0x0A,
0x0C,
0x0D,
0x0E,
0x11
}, MEQ, _T_0, MTR, Zero, Zero), Ones))
{
Store (Zero, Local0)
}
Else
{
If (LNotEqual (Match (Package (0x07)
{
0x04,
0x05,
0x06,
0x07,
0x0B,
0x0F,
0x10
}, MEQ, _T_0, MTR, Zero, Zero), Ones))
{
If (LEqual (Arg1, 0x07))
{
Store (Arg2, BUFF)
If (BF00)
{
Store (One, BAEF)
}
}
If (LEqual (Arg1, 0x10))
{
Store (Arg2, BUFF)
If (BF00)
{
Store (One, ODAP)
}
}
Store (One, Local0)
}
}
If (Local0)
{
WSDS (Arg1, Arg2)
}
Else
{
WGDS (Arg1)
}
Store (DerefOf (Index (BADG, Subtract (Arg1, One))), BUFF)
Return (BUFF)
}
Method (_WED, 1, NotSerialized)
{
If (LGreaterEqual (Arg0, 0x80))
{
If (LLess (Arg0, 0x83))
{
Return (OEMN ())
}
}
If (LEqual (Arg0, 0xBC))
{
Return (EVBC ())
}
}
Method (WMBB, 3, NotSerialized)
{
STRL (Arg1, Arg2)
Store (BBSB, BUFF)
Return (BUFF)
}
Method (WMBC, 3, NotSerialized)
{
Store (Zero, BUFF)
WODP (Arg1, Arg2)
Return (BUFF)
}
Method (WMBD, 3, NotSerialized)
{
If (LEqual (Arg1, One))
{
Store (Arg2, BUFF)
Store (BUFF, Local0)
Store (Arg2, WIT0)
GCPU (WIT0)
Return (DSY0)
}
If (LEqual (Arg1, 0x02))
{
Store (Arg2, Local0)
MSRR (Arg2)
Return (DSY1)
}
If (LEqual (Arg1, 0x03))
{
Store (Arg2, Local0)
MSRW (Arg2)
Return (DSY1)
}
If (LEqual (Arg1, 0x04))
{
C4C3 (Arg1, Arg2)
ShiftRight (DerefOf (Index (BCDS, Add (Arg1, 0x05))), 0x10,
BUFF)
Return (BUFF)
}
If (LEqual (Arg1, 0x05))
{
C4C3 (Arg1, Arg2)
Store (DerefOf (Index (BCDS, Add (Arg1, 0x04))), BUFF)
Return (BUFF)
}
If (LEqual (Arg1, 0x06))
{
CPUF ()
Store (DerefOf (Index (BCDS, Add (Arg1, 0x04))), BUFF)
Return (BUFF)
}
If (LEqual (Arg1, 0x07))
{
CPUT ()
Store (DerefOf (Index (BCDS, Add (Arg1, 0x04))), BUFF)
Return (BUFF)
}
If (LEqual (Arg1, 0x08))
{
Store (Arg2, WPRW)
Store (WWD1, WPIR)
Store (WWD2, WPIF)
Store (WWD3, WPID)
Store (WWD4, WPIB)
Concatenate (WPCI, WWD0, Local0)
PCIR (Local0)
Return (DSY2)
}
If (LEqual (Arg1, 0x09))
{
Store (Arg2, DSY6)
Store (DY60, Local0)
Store (Arg2, DSY0)
Store (DY01, WPRW)
Store (WWD1, WPIR)
Store (WWD2, WPIF)
Store (WWD3, WPID)
Store (WWD4, WPIB)
Store (WPCI, Local1)
Concatenate (DY60, WPCI, Local0)
Concatenate (Local0, WWD0, Local1)
PCIW (Local1)
Return (BUFF)
}
If (LEqual (Arg1, 0x0A))
{
CPUS ()
Store (DerefOf (Index (BCDS, Add (Arg1, 0x02))), BUFF)
Return (BUFF)
}
If (LEqual (Arg1, 0x0B))
{
PCID (Arg2)
Return (DSY6)
}
Return (Zero)
}
Method (WMBE, 3, NotSerialized)
{
BTIF (Arg1, Arg2)
Store (BUFF, Debug)
Store (BEDS, Debug)
Store (BUFF, Debug)
Return (BUFF)
}
Method (WMBF, 3, NotSerialized)
{
}
Method (WMBG, 3, NotSerialized)
{
Store (Arg2, BUFF)
WSVE (BF00)
Store (DerefOf (Index (BGDS, Subtract (Arg1, One))), BUFF)
Store (BUFF, Debug)
Return (BUFF)
}
Method (WMBH, 3, NotSerialized)
{
Store (0x44, P80H)
If (LEqual (Arg1, One))
{
IHWM (0x10, Arg2)
Store (DI00, BUF1)
Return (BUF1)
}
If (LEqual (Arg1, 0x02))
{
IHWM (0x11, Arg2)
Store (DI00, BUF1)
Return (BUF1)
}
If (LEqual (Arg1, 0x03))
{
IHWM (0x12, Arg2)
Store (DI00, BUF1)
Return (BUF1)
}
If (LEqual (Arg1, 0x04))
{
GBDS ()
Return (BOOT)
}
If (LEqual (Arg1, 0x05))
{
SBDS (Arg2)
Store (Zero, Index (BUF1, Zero))
Store (Zero, Index (BUF1, One))
Store (Zero, Index (BUF1, 0x02))
Store (Zero, Index (BUF1, 0x03))
Return (BUF1)
}
If (LEqual (Arg1, 0x0A))
{
If (LEqual (D2DF, Zero))
{
Store (One, Index (BUF1, Zero))
}
Else
{
Store (Zero, Index (BUF1, Zero))
}
Store (Zero, Index (BUF1, 0x02))
Store (Zero, Index (BUF1, 0x03))
Return (BUF1)
}
}
Method (WMBI, 3, NotSerialized)
{
If (LEqual (Arg1, One))
{
Store (IHWM (0x09, Zero), BUF1)
Return (BUF1)
}
If (LEqual (Arg1, 0x02))
{
IHWM (0x0A, Zero)
Return (DI00)
}
If (LEqual (Arg1, 0x03))
{
Store (IHWM (0x0B, Zero), BUF1)
Return (BUF1)
}
If (LEqual (Arg1, 0x06))
{
If (LEqual (DPMD, Zero))
{
Return (0x04)
}
Else
{
Return (0x02)
}
}
If (LEqual (Arg1, 0x07))
{
Store (IHWM (0x14, Zero), BUF1)
Return (BUF1)
}
If (LEqual (Arg1, 0x08))
{
Store (IHWM (0x0E, Zero), BUF1)
Return (BUF1)
}
If (LEqual (Arg1, 0x09))
{
Store (IHWM (0x0F, Zero), BUF1)
Return (BUF1)
}
If (LEqual (Arg1, 0x0A))
{
Store (IHWM (0x15, Zero), BUF1)
Return (BUF1)
}
If (LEqual (Arg1, 0x0B))
{
Return (Zero)
}
}
Method (WMBJ, 3, NotSerialized)
{
If (LEqual (Arg1, One))
{
If (LGreater (OSYS, 0x03E8))
{
Store (0x02, Index (BUF1, Zero))
Store (Zero, Index (BUF1, One))
Store (Zero, Index (BUF1, 0x02))
Store (Zero, Index (BUF1, 0x03))
}
Else
{
Store (One, Index (BUF1, Zero))
Store (Zero, Index (BUF1, One))
Store (Zero, Index (BUF1, 0x02))
Store (Zero, Index (BUF1, 0x03))
}
Return (BUF1)
}
If (LEqual (Arg1, 0x02))
{
Return (Zero)
}
}
}
}
}
Scope (_PR)
{
Processor (CPU0, 0x01, 0x00000410, 0x06) {}
Processor (CPU1, 0x02, 0x00000410, 0x06) {}
Processor (CPU2, 0x03, 0x00000410, 0x06) {}
Processor (CPU3, 0x04, 0x00000410, 0x06) {}
Processor (CPU4, 0x05, 0x00000410, 0x06) {}
Processor (CPU5, 0x06, 0x00000410, 0x06) {}
Processor (CPU6, 0x07, 0x00000410, 0x06) {}
Processor (CPU7, 0x08, 0x00000410, 0x06) {}
}
Device (_SB.PCI0.LPCB.TPM)
{
Name (_HID, EisaId ("PNP0C31"))
Name (_CID, EisaId ("PNP0C31"))
Name (_STR, Unicode ("TPM 1.2 Device"))
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED40000, // Address Base
0x00005000, // Address Length
)
})
OperationRegion (CMOS, SystemIO, 0x70, 0x04)
Field (CMOS, ByteAcc, NoLock, Preserve)
{
IDX0, 7,
Offset (0x01),
DAT0, 8,
IDX1, 7,
Offset (0x03),
DAT1, 8
}
IndexField (IDX1, DAT1, ByteAcc, NoLock, Preserve)
{
Offset (0x60),
CCMD, 8,
LCMD, 8,
LRET, 32,
EXST, 8
}
OperationRegion (TPMR, SystemMemory, 0xFED40000, 0x5000)
Field (TPMR, AnyAcc, NoLock, Preserve)
{
ACC0, 8
}
Method (_INI, 0, NotSerialized)
{
Store (_STA (), EXST)
}
Method (_STA, 0, NotSerialized)
{
If (LNotEqual (ACC0, 0xFF))
{
Return (0x0F)
}
Return (Zero)
}
Method (HINF, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (ToInteger (Arg1), _T_0)
If (LEqual (_T_0, Zero))
{
Return (Buffer (One)
{
0x01
})
}
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 (One)
{
0x00
})
}
Method (TPPI, 3, NotSerialized)
{
Name (_T_0, Zero)
Store (ToInteger (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))
{
Store (DerefOf (Index (Arg2, Zero)), Local0)
If (LGreater (Local0, 0x0E))
{
Return (One)
}
Store (Local0, CCMD)
Return (Zero)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Name (TMP0, Package (0x02)
{
Zero,
Zero
})
Store (CCMD, Index (TMP0, One))
Return (TMP0)
}
Else
{
If (LEqual (_T_0, 0x04))
{
Return (0x02)
}
Else
{
If (LEqual (_T_0, 0x05))
{
Name (TMP1, Package (0x03)
{
Zero,
Zero,
Zero
})
Store (LCMD, Index (TMP1, One))
Store (LRET, Index (TMP1, 0x02))
Return (TMP1)
}
Else
{
If (LEqual (_T_0, 0x06))
{
Return (Zero)
}
Else
{
BreakPoint
}
}
}
}
}
}
}
Return (One)
}
Method (SMBS, 3, NotSerialized)
{
Return (Zero)
}
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xA5, 0x16, 0x8E, 0xCF, 0xE8, 0xC1, 0x25, 0x4E,
/* 0008 */ 0xB7, 0x12, 0x4F, 0x54, 0xA9, 0x67, 0x02, 0xC8
}))
{
Return (HINF (Arg1, Arg2, Arg3))
}
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E,
/* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
}))
{
Return (TPPI (Arg1, Arg2, Arg3))
}
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46,
/* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
}))
{
Return (SMBS (Arg1, Arg2, Arg3))
}
Return (Buffer (One)
{
0x00
})
}
Method (PTS, 1, NotSerialized)
{
Return (Zero)
}
}
Mutex (MUTX, 0x00)
OperationRegion (PRT0, SystemIO, 0x80, 0x04)
Field (PRT0, DWordAcc, Lock, Preserve)
{
P80H, 32
}
Method (P8XH, 3, 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)
}
If (LEqual (Arg0, 0x04))
{
Store (Or (And (P80D, Zero), Arg1), P80D)
}
If (LEqual (Arg2, Zero)) {}
If (LEqual (Arg2, One))
{
Store (P80D, P80H)
}
}
OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
Field (SPRT, ByteAcc, Lock, Preserve)
{
SSMP, 8
}
OperationRegion (CMS1, SystemIO, 0x72, 0x02)
Field (CMS1, ByteAcc, NoLock, Preserve)
{
CMSI, 8,
CMSD, 8
}
Method (CMSW, 2, NotSerialized)
{
Store (Arg0, CMSI)
Store (Arg1, CMSD)
}
Method (CMSR, 1, NotSerialized)
{
Store (Arg0, CMSI)
Return (CMSD)
}
Method (_PIC, 1, NotSerialized)
{
Store (Arg0, GPIC)
Store (Arg0, PICM)
}
Method (_PTS, 1, NotSerialized)
{
Store (Zero, P80D)
P8XH (Zero, Arg0, Zero)
If (LEqual (DPMD, 0x02))
{
Store (Zero, Local0)
If (LEqual (\_SB.PCI0.WMID.BAEF, One))
{
Or (0x02, Local0, Local0)
}
If (LEqual (\_SB.PCI0.LPCB.EC0.PSBB, One))
{
Or (One, Local0, Local0)
}
CMSW (0x40, Local0)
Sleep (0x64)
Store (Zero, \_SB.PCI0.LPCB.EC0.PSBB)
Sleep (0x64)
}
If (LEqual (Arg0, 0x03))
{
P8XH (0x04, 0x53, Zero)
P8XH (0x04, 0x53, One)
If (ECON)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.LID2, One))
{
Store (One, USBW)
Store (One, USW2)
}
}
}
If (LEqual (Arg0, 0x04))
{
P8XH (0x04, 0x54, Zero)
P8XH (0x04, 0x54, One)
If (ECON)
{
Store (One, \_SB.PCI0.LPCB.EC0.FLS4)
}
}
If (LEqual (TCGM, One))
{
\_SB.PCI0.LPCB.TPM.PTS (Arg0)
}
}
Method (_WAK, 1, Serialized)
{
Store (Zero, P80D)
If (NEXP)
{
If (And (OSCC, 0x02))
{
\_SB.PCI0.NHPG ()
}
If (And (OSCC, 0x04))
{
\_SB.PCI0.NPME ()
}
}
If (LEqual (Arg0, 0x03))
{
P8XH (0x04, 0xE3, Zero)
P8XH (0x04, 0xE3, One)
If (LAnd (LEqual (DPMD, 0x02), LEqual (\_SB.PCI0.LPCB.EC0.DGPU, Zero)))
{
If (LEqual (\_SB.PCI0.D1EN, One))
{
Store (Zero, \_SB.PCI0.D1EN)
Sleep (0xC8)
Notify (\_SB.PCI0, Zero)
}
}
}
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ACDF, \_SB.PCI0.LPCB.EC0.BEAC))
{
Store (0x40, CMSI)
Store (CMSD, Local1)
And (One, Local1, Local1)
If (Local1)
{
Store (One, \_SB.PCI0.LPCB.EC0.PSBB)
}
Else
{
Store (Zero, \_SB.PCI0.LPCB.EC0.PSBB)
}
}
Else
{
Store (\_SB.PCI0.LPCB.EC0.ACDF, \_SB.PCI0.LPCB.EC0.BEAC)
If (LEqual (DPMD, 0x02))
{
If (LEqual (\_SB.PCI0.LPCB.EC0.GP07, Zero))
{
Store (One, Local7)
}
Else
{
If (LEqual (\_SB.PCI0.LPCB.EC0.SKU, 0x4D))
{
Store (One, Local7)
}
Else
{
If (LEqual (\_SB.PCI0.LPCB.EC0.SKU, 0x56))
{
Store (Zero, Local7)
}
Else
{
If (LEqual (\_SB.PCI0.LPCB.EC0.GP64, Zero))
{
Store (One, Local7)
}
Else
{
Store (Zero, Local7)
}
}
}
}
If (LEqual (Local7, One))
{
Store (0x40, CMSI)
Store (CMSD, Local2)
And (0x02, Local2, Local1)
And (One, Local2, Local2)
If (LAnd (LEqual (\_SB.PCI0.WMID.BAEF, Zero), LEqual (Local1, Zero)))
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ACDF, Zero))
{
Store (One, \_SB.PCI0.LPCB.EC0.PSBB)
If (LEqual (Local2, Zero))
{
If (LEqual (\_SB.PCI0.LPCB.EC0.PSTA, One))
{
Store (Zero, \_SB.PCI0.LPCB.EC0.PSTA)
}
\_SB.PCI0.LPCB.EC0.CPOL (0x14)
Store (One, \_SB.PCI0.LPCB.EC0.QEVN)
}
}
Else
{
Store (Zero, \_SB.PCI0.LPCB.EC0.PSBB)
If (LEqual (Local2, One))
{
Store (Zero, \_SB.PCI0.LPCB.EC0.DGPU)
If (LEqual (\_SB.PCI0.LPCB.EC0.PSTA, One))
{
Store (Zero, \_SB.PCI0.LPCB.EC0.PSTA)
}
\_SB.PCI0.LPCB.EC0.CPOL (0x14)
Store (One, \_SB.PCI0.LPCB.EC0.QEVN)
}
}
}
Else
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ACDF, One))
{
Store (Zero, \_SB.PCI0.LPCB.EC0.PSBB)
}
Else
{
Store (One, \_SB.PCI0.LPCB.EC0.PSBB)
}
}
}
Else
{
Store (0x40, CMSI)
Store (CMSD, Local1)
And (One, Local1, Local1)
If (Local1)
{
Store (One, \_SB.PCI0.LPCB.EC0.PSBB)
}
Else
{
Store (Zero, \_SB.PCI0.LPCB.EC0.PSBB)
}
}
}
}
If (LEqual (PMEE, One))
{
Store (One, PMEN)
}
If (LEqual (OSYS, 0x07D2))
{
If (And (CFGD, One))
{
If (LGreater (\_PR.CPU0._PPC, Zero))
{
Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
PNOT ()
Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
PNOT ()
}
Else
{
Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
PNOT ()
Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
PNOT ()
}
}
}
If (LEqual (RP1D, Zero))
{
Notify (\_SB.PCI0.RP01, Zero)
}
If (LEqual (RP2D, Zero))
{
Notify (\_SB.PCI0.RP02, Zero)
}
If (LEqual (RP3D, Zero))
{
Notify (\_SB.PCI0.RP03, Zero)
}
If (LEqual (RP4D, Zero))
{
Notify (\_SB.PCI0.RP04, Zero)
}
If (LEqual (RP5D, Zero))
{
Notify (\_SB.PCI0.RP05, Zero)
}
If (LEqual (RP7D, Zero))
{
Notify (\_SB.PCI0.RP07, Zero)
}
If (LEqual (RP8D, Zero))
{
Notify (\_SB.PCI0.RP08, Zero)
}
}
If (LEqual (Arg0, 0x04))
{
P8XH (0x04, 0xE4, Zero)
P8XH (0x04, 0xE4, One)
}
If (LEqual (PFLV, FMBL)) {}
If (LEqual (Arg0, 0x03))
{
If (LEqual (\_SB.PCI0.LPCB.EC0.LID2, One))
{
Store (0x32, \_SB.PCI0.LPCB.EC0.Q29T)
}
}
Return (Package (0x02)
{
Zero,
Zero
})
}
Method (GETB, 3, Serialized)
{
Multiply (Arg0, 0x08, Local0)
Multiply (Arg1, 0x08, Local1)
CreateField (Arg2, Local0, Local1, TBF3)
Return (TBF3)
}
Method (PNOT, 0, Serialized)
{
If (LGreater (TCNT, One))
{
If (And (PDC0, 0x08))
{
Notify (\_PR.CPU0, 0x80)
If (And (PDC0, 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU0, 0x81)
}
}
If (And (PDC1, 0x08))
{
Notify (\_PR.CPU1, 0x80)
If (And (PDC1, 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU1, 0x81)
}
}
If (And (PDC2, 0x08))
{
Notify (\_PR.CPU2, 0x80)
If (And (PDC2, 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU2, 0x81)
}
}
If (And (PDC3, 0x08))
{
Notify (\_PR.CPU3, 0x80)
If (And (PDC3, 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU3, 0x81)
}
}
If (And (PDC4, 0x08))
{
Notify (\_PR.CPU4, 0x80)
If (And (PDC4, 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU4, 0x81)
}
}
If (And (PDC5, 0x08))
{
Notify (\_PR.CPU5, 0x80)
If (And (PDC5, 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU5, 0x81)
}
}
If (And (PDC6, 0x08))
{
Notify (\_PR.CPU6, 0x80)
If (And (PDC6, 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU6, 0x81)
}
}
If (And (PDC7, 0x08))
{
Notify (\_PR.CPU7, 0x80)
If (And (PDC7, 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU7, 0x81)
}
}
}
Else
{
Notify (\_PR.CPU0, 0x80)
Sleep (0x64)
Notify (\_PR.CPU0, 0x81)
}
}
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)
}
Mutex (PSMX, 0x00)
Method (IHWM, 2, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (Arg0, PRMW)
Store (Arg1, DI00)
Store (0xD1, SSMP)
Store (DI00, Local0)
Release (PSMX)
Return (Local0)
}
Scope (_SB.PCI0)
{
OperationRegion (TCOT, SystemIO, 0x0460, 0x04)
Field (TCOT, ByteAcc, NoLock, Preserve)
{
TCOA, 8,
TCOB, 8
}
Device (BAT1)
{
Name (CBTI, Zero)
Name (PBTI, Zero)
Name (BTIN, Zero)
Name (BTCH, Zero)
Name (BIFI, Zero)
Name (SEL0, Zero)
Name (BCRI, Zero)
Name (PBIF, Package (0x0D)
{
One,
0x1130,
0x1130,
One,
0x2B5C,
0x012C,
0x84,
0x20,
0x20,
"BAT1 ",
"11 ",
"11 ",
"11 "
})
Name (PBST, Package (0x04)
{
Zero,
0xFFFFFFFF,
0xFFFFFFFF,
0x2710
})
Name (ERRC, Zero)
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, Zero)
Method (_STA, 0, NotSerialized)
{
If (And (^^LPCB.EC0.MBTS, One))
{
Return (0x1F)
}
Else
{
Return (0x0F)
}
}
Name (BTPV, 0xFFFFFFFF)
Name (POFT, Zero)
Method (_INI, 0, NotSerialized)
{
Store (^^LPCB.EC0.ACDF, ^^LPCB.EC0.BEAC)
If (LEqual (DPMD, 0x02))
{
If (LEqual (^^LPCB.EC0.GP07, Zero))
{
Store (One, Local7)
}
Else
{
If (LEqual (^^LPCB.EC0.SKU, 0x4D))
{
Store (One, Local7)
}
Else
{
If (LEqual (^^LPCB.EC0.SKU, 0x56))
{
Store (Zero, Local7)
}
Else
{
If (LEqual (^^LPCB.EC0.GP64, Zero))
{
Store (One, Local7)
}
Else
{
Store (Zero, Local7)
}
}
}
}
If (LEqual (Local7, One))
{
Store (One, POFT)
If (LEqual (^^LPCB.EC0.ACDF, Zero))
{
Store (One, ^^LPCB.EC0.PSBB)
}
Else
{
Store (Zero, ^^LPCB.EC0.PSBB)
}
}
Else
{
Store (0x40, CMSI)
Store (CMSD, Local1)
And (One, Local1, Local1)
If (Local1)
{
Store (One, ^^LPCB.EC0.PSBB)
}
Else
{
Store (Zero, ^^LPCB.EC0.PSBB)
}
}
}
}
Method (_BTP, 1, NotSerialized)
{
Store (Arg0, BTPV)
}
Method (_BIF, 0, NotSerialized)
{
If (LEqual (BIFI, Zero))
{
UBIF ()
Store (One, BIFI)
}
Return (PBIF)
}
Name (LFCC, 0x1130)
Method (UBIF, 0, NotSerialized)
{
If (ECON)
{
Store (^^LPCB.EC0.BTDC, Local0)
Store (^^LPCB.EC0.LFC2, Local1)
Store (^^LPCB.EC0.BTDV, Local2)
Store (^^LPCB.EC0.BTMD, Local3)
Store (^^LPCB.EC0.BTMN, Local4)
Store (^^LPCB.EC0.BTSN, Local5)
Store (^^LPCB.EC0.LION, Local6)
Store (Local0, Index (PBIF, One))
Store (Local1, Index (PBIF, 0x02))
Store (Local2, Index (PBIF, 0x04))
Store (Local1, LFCC)
Store (Zero, Index (PBIF, 0x06))
If (Local6)
{
Store ("NiMH", Index (PBIF, 0x0B))
}
Else
{
Store ("LION", Index (PBIF, 0x0B))
}
And (Local3, 0x1F, Local3)
If (LEqual (Local3, One))
{
Store ("AS10B71", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x02))
{
Store ("AS10B73", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x03))
{
Store ("AS10B75", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x04))
{
Store ("AS10B7E", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x05))
{
Store ("AS10B31", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x06))
{
Store ("AS10B41", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x07))
{
Store ("AS10B51", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x08))
{
Store ("AS10B61", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x09))
{
Store ("AS10B6E", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x0A))
{
Store ("AS10E7E", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x0B))
{
Store ("AS10C7E", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x0C))
{
Store ("AS10B5E", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x0D))
{
Store ("AS10B3E", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x0E))
{
Store ("AS10E76", Index (PBIF, 0x09))
}
Else
{
If (LEqual (Local3, 0x0F))
{
Store ("AS10E36", Index (PBIF, 0x09))
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
If (LEqual (Local4, 0x03))
{
Store ("SANYO", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x04))
{
Store ("SONY", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x05))
{
Store ("PANASONIC", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x06))
{
Store ("SAMSUNG", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x07))
{
Store ("SIMPLO", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x08))
{
Store ("MOTOROLA", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x09))
{
Store ("CELXPERT", Index (PBIF, 0x0C))
}
Else
{
If (LEqual (Local4, 0x0A))
{
Store ("LGC", Index (PBIF, 0x0C))
}
Else
{
Store ("UNKNOWN", Index (PBIF, 0x0C))
}
}
}
}
}
}
}
}
Store (ITOS (Local5), Index (PBIF, 0x0A))
}
}
Name (RCAP, Zero)
Method (_BST, 0, NotSerialized)
{
If (LEqual (^^LPCB.EC0.MBTS, Zero))
{
Store (Zero, Index (PBST, Zero))
Store (0xFFFFFFFF, Index (PBST, One))
Store (0xFFFFFFFF, Index (PBST, 0x02))
Store (0xFFFFFFFF, Index (PBST, 0x03))
Return (PBST)
}
If (ECON)
{
Store (^^LPCB.EC0.MBTC, Local0)
Store (^^LPCB.EC0.MBRM, Local1)
Store (^^LPCB.EC0.MBVG, Local2)
Store (^^LPCB.EC0.MCUR, Local3)
Store (^^LPCB.EC0.BTST, Local4)
Store (^^LPCB.EC0.MBTF, Local5)
Store (^^LPCB.EC0.ACDF, Local6)
If (Local6)
{
If (LEqual (Local5, One))
{
Store (Zero, Local7)
Store (LFCC, Local1)
}
Else
{
If (LEqual (Local0, One))
{
Store (0x02, Local7)
}
Else
{
Store (Zero, Local7)
}
}
}
Else
{
If (LAnd (Local4, One))
{
Store (One, Local7)
}
Else
{
Store (Zero, Local7)
}
}
And (Local4, 0x04, Local4)
If (LEqual (Local4, 0x04))
{
Or (Local7, Local4, Local7)
}
Store (Local7, Index (PBST, Zero))
If (LNot (And (Local1, 0x8000)))
{
Store (Local1, Index (PBST, 0x02))
}
If (LNot (And (Local2, 0x8000)))
{
Store (Local2, Index (PBST, 0x03))
}
If (LAnd (Local3, 0x8000))
{
If (LNotEqual (Local3, 0xFFFF))
{
Not (Local3, Local3)
Increment (Local3)
And (Local3, 0xFFFF, Local3)
}
}
Store (Local3, Index (PBST, One))
}
Return (PBST)
}
Method (ITOS, 1, NotSerialized)
{
Store ("", Local0)
Store (0x04, Local1)
While (Local1)
{
Decrement (Local1)
And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4)
Store (DerefOf (Index (CHAR, Local4)), Local2)
Concatenate (Local0, Local2, Local5)
Store (Local5, Local0)
}
Return (Local0)
}
Name (CHAR, Package (0x10)
{
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"A",
"B",
"C",
"D",
"E",
"F"
})
Method (BATS, 0, NotSerialized)
{
If (ECON)
{
Store (^^LPCB.EC0.MBTS, Local0)
If (LEqual (Local0, One))
{
If (LEqual (BTIN, Zero))
{
Store (One, BTCH)
Store (Zero, BIFI)
}
Store (One, BTIN)
}
Else
{
If (LEqual (BTIN, One))
{
Store (One, BTCH)
Store (Zero, BIFI)
}
Store (Zero, BTIN)
}
}
}
}
Device (ACAD)
{
Name (_HID, "ACPI0003")
Name (_PCL, Package (0x01)
{
_SB
})
Name (ACST, Zero)
Method (_PSR, 0, NotSerialized)
{
If (LLessEqual (TCOA, 0xE8))
{
CMSW (0x7F, One)
}
If (LEqual (^^LPCB.EC0.SIMU, 0x53))
{
Store (Zero, ACST)
}
Else
{
If (ECON)
{
Store (^^LPCB.EC0.ACDF, ACST)
}
Else
{
Store (One, ACST)
}
}
If (ACST)
{
Store (One, Local0)
Store (Zero, ^^BAT1.BCRI)
Store (One, PWRS)
}
Else
{
Store (Zero, Local0)
Store (Zero, PWRS)
}
PNOT ()
Return (Local0)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
}
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D"))
Method (_LID, 0, NotSerialized)
{
If (ECON)
{
If (LEqual (^^LPCB.EC0.LID2, Zero))
{
Return (One)
}
Else
{
Return (Zero)
}
}
Else
{
Return (One)
}
}
}
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
}
Method (_INI, 0, NotSerialized)
{
Store (One, RLBM)
Store (0x07D0, OSYS)
If (CondRefOf (_OSI, Local0))
{
If (_OSI ("Linux"))
{
Store (0x03E8, OSYS)
}
If (_OSI ("Windows 2001"))
{
Store (0x07D1, OSYS)
}
If (_OSI ("Windows 2001 SP1"))
{
Store (0x07D1, OSYS)
}
If (_OSI ("Windows 2001 SP2"))
{
Store (0x07D2, OSYS)
}
If (_OSI ("Windows 2006"))
{
Store (0x07D6, OSYS)
}
If (_OSI ("Windows 2009"))
{
Store (0x07D9, OSYS)
}
}
}
Method (NHPG, 0, Serialized)
{
Store (Zero, ^RP01.HPEX)
Store (Zero, ^RP02.HPEX)
Store (Zero, ^RP03.HPEX)
Store (Zero, ^RP04.HPEX)
Store (Zero, ^RP05.HPEX)
Store (Zero, ^RP07.HPEX)
Store (Zero, ^RP08.HPEX)
Store (One, ^RP01.HPSX)
Store (One, ^RP02.HPSX)
Store (One, ^RP03.HPSX)
Store (One, ^RP04.HPSX)
Store (One, ^RP05.HPSX)
Store (One, ^RP07.HPSX)
Store (One, ^RP08.HPSX)
}
Method (NPME, 0, Serialized)
{
Store (Zero, ^RP01.PMEX)
Store (Zero, ^RP02.PMEX)
Store (Zero, ^RP03.PMEX)
Store (Zero, ^RP04.PMEX)
Store (Zero, ^RP05.PMEX)
Store (Zero, ^RP07.PMEX)
Store (Zero, ^RP08.PMEX)
Store (One, ^RP01.PMSX)
Store (One, ^RP02.PMSX)
Store (One, ^RP03.PMSX)
Store (One, ^RP04.PMSX)
Store (One, ^RP05.PMSX)
Store (One, ^RP07.PMSX)
Store (One, ^RP08.PMSX)
}
}
Scope (\)
{
Name (PICM, Zero)
}
Scope (_TZ)
{
ThermalZone (THRM)
{
Method (_TMP, 0, NotSerialized)
{
If (ECON)
{
Store (\_SB.PCI0.LPCB.EC0.CTMP, Local0)
Return (Add (Multiply (Local0, 0x0A), 0x0AAC))
}
Else
{
Return (0x0C3C)
}
}
Method (_PSV, 0, NotSerialized)
{
If (ECON)
{
Store (\_SB.PCI0.LPCB.EC0.TJMX, Local1)
Name (_T_0, Zero)
Store (Local1, _T_0)
If (LEqual (_T_0, Zero))
{
Return (0x0DCC)
}
Else
{
If (LEqual (_T_0, One))
{
Return (0x0DFE)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Return (0x0E62)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Return (0x0E94)
}
}
}
}
}
Else
{
Return (0x0E80)
}
}
Name (_PSL, Package (0x01)
{
\_PR.CPU0
})
Name (_TSP, 0x28)
Name (_TC1, 0x02)
Name (_TC2, 0x03)
Method (_CRT, 0, NotSerialized)
{
If (ECON)
{
Store (\_SB.PCI0.LPCB.EC0.TJMX, Local1)
Name (_T_0, Zero)
Store (Local1, _T_0)
If (LEqual (_T_0, Zero))
{
Return (0x0DFE)
}
Else
{
If (LEqual (_T_0, One))
{
Return (0x0E30)
}
Else
{
If (LEqual (_T_0, 0x02))
{
Return (0x0E94)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Return (0x0EC6)
}
}
}
}
}
Else
{
Return (0x0EC6)
}
}
}
}
Scope (_SB.PCI0)
{
Device (PDRC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, One)
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED20000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFED90000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED45000, // Address Base
0x0004B000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFF000000, // Address Base
0x01000000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFEE00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
)
})
Method (_CRS, 0, Serialized)
{
CreateDWordField (BUF0, 0x04, RBR0)
ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0)
CreateDWordField (BUF0, 0x7C, TBR0)
Store (TBAB, TBR0)
CreateDWordField (BUF0, 0x80, TBLN)
If (LEqual (TBAB, Zero))
{
Store (Zero, TBLN)
}
If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And (
PNHM, 0x000FFFF0), 0x000106A0)))
{
CreateDWordField (BUF0, 0x14, MBLN)
Store (Zero, MBLN)
}
Else
{
CreateDWordField (BUF0, 0x10, MBR0)
ShiftLeft (MHBR, 0x0E, MBR0)
}
CreateDWordField (BUF0, 0x1C, DBR0)
ShiftLeft (DIBR, 0x0C, DBR0)
If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And (
PNHM, 0x000FFFF0), 0x000106A0)))
{
ShiftLeft (DIBI, 0x0C, DBR0)
}
If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And (
PNHM, 0x000FFFF0), 0x000106A0)))
{
CreateDWordField (BUF0, 0x2C, EBLN)
Store (Zero, EBLN)
}
Else
{
CreateDWordField (BUF0, 0x28, EBR0)
ShiftLeft (EPBR, 0x0C, EBR0)
}
CreateDWordField (BUF0, 0x34, XBR0)
ShiftLeft (^^^CPBG.IMCH.PXBR, 0x14, XBR0)
CreateDWordField (BUF0, 0x38, XSZ0)
ShiftRight (0x10000000, ^^^CPBG.IMCH.PXSZ, XSZ0)
CreateDWordField (BUF0, 0x4C, VTB0)
CreateDWordField (BUF0, 0x50, VTLN)
If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And (
PNHM, 0x000FFFF0), 0x000106A0)))
{
If (LGreaterEqual (PNHM, 0x000106E1))
{
If (^^IO10.VTEN)
{
ShiftLeft (^^IO10.VTBA, 0x0C, VTB0)
}
Else
{
Store (Zero, VTLN)
}
}
Else
{
If (^^IIO0.VTEN)
{
ShiftLeft (^^IIO0.VTBA, 0x0C, VTB0)
}
Else
{
Store (Zero, VTLN)
}
}
}
Else
{
If (ADVE)
{
ShiftLeft (ADVT, 0x0C, VTB0)
}
Else
{
Store (Zero, VTLN)
}
}
Return (BUF0)
}
}
}
Method (BRTN, 1, Serialized)
{
If (LEqual (And (DID1, 0x0F00), 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD01, Arg0)
}
If (LEqual (And (DID2, 0x0F00), 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD02, Arg0)
}
If (LEqual (And (DID3, 0x0F00), 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD03, Arg0)
}
If (LEqual (And (DID4, 0x0F00), 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD04, Arg0)
}
If (LEqual (And (DID5, 0x0F00), 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD05, Arg0)
}
If (LEqual (And (DID6, 0x0F00), 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD06, Arg0)
}
If (LEqual (And (DID7, 0x0F00), 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD07, Arg0)
}
If (LEqual (And (DID8, 0x0F00), 0x0400))
{
Notify (\_SB.PCI0.GFX0.DD08, Arg0)
}
}
Scope (\)
{
OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
Field (IO_T, ByteAcc, NoLock, Preserve)
{
TRPI, 16,
Offset (0x04),
Offset (0x06),
Offset (0x08),
TRP0, 8,
Offset (0x0A),
Offset (0x0B),
Offset (0x0C),
Offset (0x0D),
Offset (0x0E),
Offset (0x0F),
Offset (0x10)
}
OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
Field (IO_D, ByteAcc, NoLock, Preserve)
{
TRPD, 8
}
OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
Field (IO_H, ByteAcc, NoLock, Preserve)
{
TRPH, 8
}
OperationRegion (PMIO, SystemIO, PMBS, 0x80)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
, 1,
RLBM, 1,
Offset (0x20),
, 2,
SPST, 1,
Offset (0x28),
, 11,
PMEN, 1,
Offset (0x42),
, 1,
GPEC, 1,
Offset (0x64),
, 9,
SCIS, 1,
Offset (0x66)
}
OperationRegion (GPIO, SystemIO, GPBS, 0x64)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
GU00, 8,
GU01, 8,
GU02, 8,
GU03, 8,
GIO0, 8,
GIO1, 8,
GIO2, 8,
GIO3, 8,
Offset (0x0C),
GL00, 8,
GL01, 8,
GL02, 8,
, 3,
GP27, 1,
GP28, 1,
Offset (0x10),
Offset (0x18),
GB00, 8,
GB01, 8,
GB02, 8,
GB03, 8,
Offset (0x2C),
GIV0, 8,
GIV1, 8,
GIV2, 8,
GIV3, 8,
GU04, 8,
GU05, 8,
GU06, 8,
GU07, 8,
GIO4, 8,
GIO5, 8,
GIO6, 8,
GIO7, 8,
, 5,
, 1,
Offset (0x39),
GL05, 8,
GL06, 8,
GL07, 8,
Offset (0x40),
GU08, 8,
GU09, 8,
GU0A, 8,
GU0B, 8,
GIO8, 8,
GIO9, 8,
GIOA, 8,
GIOB, 8,
GL08, 8,
GL09, 8,
GL0A, 8,
GL0B, 8
}
OperationRegion (RCRB, SystemMemory, SRCB, 0x4000)
Field (RCRB, DWordAcc, Lock, Preserve)
{
Offset (0x1000),
Offset (0x3000),
Offset (0x3404),
HPAS, 2,
, 5,
HPAE, 1,
Offset (0x3418),
, 1,
, 1,
SATD, 1,
SMBD, 1,
HDAD, 1,
Offset (0x341A),
RP1D, 1,
RP2D, 1,
RP3D, 1,
RP4D, 1,
RP5D, 1,
RP6D, 1,
RP7D, 1,
RP8D, 1,
Offset (0x35B0),
, 3,
USBW, 1,
, 3,
USW2, 1
}
Method (GPI0, 4, NotSerialized)
{
If (LEqual (Or (Arg0, Arg1), Zero))
{
Return (0xFFFFFFFF)
}
Else
{
If (And (LEqual (Arg0, Zero), LEqual (Arg1, One)))
{
Return (0x0384)
}
}
Return (Multiply (0x1E, Subtract (0x09, Add (Arg2, Arg3))
))
}
Method (GDMA, 2, NotSerialized)
{
If (LEqual (Arg0, One))
{
If (LEqual (Arg1, One))
{
Return (0x0F)
}
}
Return (0xFFFFFFFF)
}
Method (SFLG, 5, NotSerialized)
{
Store (Zero, Local0)
Or (Arg1, Local0, Local0)
Or (ShiftLeft (Arg0, One), Local0, Local0)
Or (ShiftLeft (Arg2, 0x03), Local0, Local0)
Or (ShiftLeft (Arg3, 0x02), Local0, Local0)
Or (ShiftLeft (Arg4, 0x04), Local0, Local0)
Return (Local0)
}
Method (SPIO, 3, NotSerialized)
{
Name (PBUF, Buffer (0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00
})
CreateByteField (PBUF, Zero, RCT)
CreateByteField (PBUF, One, ISP)
CreateByteField (PBUF, 0x02, FAST)
CreateByteField (PBUF, 0x03, DMAE)
CreateByteField (PBUF, 0x04, PIOT)
If (LOr (LEqual (Arg0, Zero), LEqual (Arg0, 0xFFFFFFFF)))
{
Return (PBUF)
}
If (LGreater (Arg0, 0xF0))
{
Store (One, DMAE)
Store (Zero, PIOT)
}
Else
{
Store (One, FAST)
If (And (Arg1, 0x02))
{
If (And (LEqual (Arg0, 0x78), And (Arg2, 0x02)))
{
Store (0x03, RCT)
Store (0x02, ISP)
Store (0x04, PIOT)
Return (PBUF)
}
If (And (LLessEqual (Arg0, 0xB4), And (Arg2, One)
))
{
Store (One, RCT)
Store (0x02, ISP)
Store (0x03, PIOT)
Return (PBUF)
}
Else
{
Store (Zero, RCT)
Store (One, ISP)
Store (0x02, PIOT)
}
}
}
Return (PBUF)
}
Method (SDMA, 3, NotSerialized)
{
Name (PBUF, Buffer (0x05)
{
0x00, 0x00, 0x00, 0x00
})
CreateByteField (PBUF, Zero, PCT)
CreateByteField (PBUF, One, PCB)
CreateByteField (PBUF, 0x02, UDMT)
CreateByteField (PBUF, 0x03, UDME)
CreateByteField (PBUF, 0x04, DMAT)
If (LOr (LEqual (Arg0, Zero), LEqual (Arg0, 0xFFFFFFFF)))
{
Return (PBUF)
}
If (LLessEqual (Arg0, 0x78))
{
If (And (Arg1, 0x04))
{
Store (One, UDME)
If (And (LLessEqual (Arg0, 0x0F), And (Arg2, 0x40)
))
{
Store (One, UDMT)
Store (One, PCB)
Store (One, PCT)
Store (0x06, DMAT)
Return (PBUF)
}
If (And (LLessEqual (Arg0, 0x14), And (Arg2, 0x20)
))
{
Store (One, UDMT)
Store (One, PCB)
Store (One, PCT)
Store (0x05, DMAT)
Return (PBUF)
}
If (And (LLessEqual (Arg0, 0x1E), And (Arg2, 0x10)
))
{
Store (One, PCB)
Store (0x02, PCT)
Store (0x04, DMAT)
Return (PBUF)
}
If (And (LLessEqual (Arg0, 0x2D), And (Arg2, 0x08)
))
{
Store (One, PCB)
Store (One, PCT)
Store (0x03, DMAT)
Return (PBUF)
}
If (And (LLessEqual (Arg0, 0x3C), And (Arg2, 0x04)
))
{
Store (0x02, PCT)
Store (0x02, DMAT)
Return (PBUF)
}
If (And (LLessEqual (Arg0, 0x5A), And (Arg2, 0x02)
))
{
Store (One, PCT)
Store (One, DMAT)
Return (PBUF)
}
If (And (LLessEqual (Arg0, 0x78), And (Arg2, One)
))
{
Store (Zero, DMAT)
}
}
}
Return (PBUF)
}
Method (SETT, 3, Serialized)
{
If (And (Arg1, 0x02))
{
If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
{
Return (0x0B)
}
If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
{
Return (0x09)
}
}
Return (0x04)
}
}
Scope (_SB.PCI0)
{
Device (SBUS)
{
Name (_ADR, 0x001F0003)
OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
Field (SMBP, DWordAcc, NoLock, Preserve)
{
, 2,
I2CE, 1
}
OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
Field (SMPB, DWordAcc, NoLock, Preserve)
{
, 5,
SBAR, 11
}
OperationRegion (SMBI, SystemIO, ShiftLeft (SBAR, 0x05), 0x10)
Field (SMBI, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
Offset (0x02),
HCON, 8,
HCOM, 8,
TXSA, 8,
DAT0, 8,
DAT1, 8,
HBDR, 8,
PECR, 8,
RXSA, 8,
SDAT, 16
}
Method (SSXB, 2, Serialized)
{
If (STRT ())
{
Return (Zero)
}
Store (Zero, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (One)
}
Return (Zero)
}
Method (SRXB, 1, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
Store (Zero, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, One), TXSA)
Store (0x44, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (DAT0)
}
Return (0xFFFF)
}
Method (SWRB, 3, Serialized)
{
If (STRT ())
{
Return (Zero)
}
Store (Zero, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (Arg2, DAT0)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (One)
}
Return (Zero)
}
Method (SRDB, 2, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
Store (Zero, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, One), TXSA)
Store (Arg1, HCOM)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (DAT0)
}
Return (0xFFFF)
}
Method (SWRW, 3, Serialized)
{
If (STRT ())
{
Return (Zero)
}
Store (Zero, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
And (Arg2, 0xFF, DAT1)
And (ShiftRight (Arg2, 0x08), 0xFF, DAT0)
Store (0x4C, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (One)
}
Return (Zero)
}
Method (SRDW, 2, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
Store (Zero, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, One), TXSA)
Store (Arg1, HCOM)
Store (0x4C, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (Or (ShiftLeft (DAT0, 0x08), DAT1))
}
Return (0xFFFFFFFF)
}
Method (SBLW, 4, Serialized)
{
If (STRT ())
{
Return (Zero)
}
Store (Arg3, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (SizeOf (Arg2), DAT0)
Store (Zero, Local1)
Store (DerefOf (Index (Arg2, Zero)), HBDR)
Store (0x54, HCON)
While (LGreater (SizeOf (Arg2), Local1))
{
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}
If (LNot (Local0))
{
KILL ()
Return (Zero)
}
Store (0x80, HSTS)
Increment (Local1)
If (LGreater (SizeOf (Arg2), Local1))
{
Store (DerefOf (Index (Arg2, Local1)), HBDR)
}
}
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (One)
}
Return (Zero)
}
Method (SBLR, 3, Serialized)
{
Name (TBUF, Buffer (0x0100) {})
If (STRT ())
{
Return (Zero)
}
Store (Arg2, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, One), TXSA)
Store (Arg1, HCOM)
Store (0x54, HCON)
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}
If (LNot (Local0))
{
KILL ()
Return (Zero)
}
Store (DAT0, Index (TBUF, Zero))
Store (0x80, HSTS)
Store (One, Local1)
While (LLess (Local1, DerefOf (Index (TBUF, Zero))))
{
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}
If (LNot (Local0))
{
KILL ()
Return (Zero)
}
Store (HBDR, Index (TBUF, Local1))
Store (0x80, HSTS)
Increment (Local1)
}
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (TBUF)
}
Return (Zero)
}
Method (STRT, 0, Serialized)
{
Store (0xC8, Local0)
While (Local0)
{
If (And (HSTS, 0x40))
{
Decrement (Local0)
Sleep (One)
If (LEqual (Local0, Zero))
{
Return (One)
}
}
Else
{
Store (Zero, Local0)
}
}
Store (0x0FA0, Local0)
While (Local0)
{
If (And (HSTS, One))
{
Decrement (Local0)
Stall (0x32)
If (LEqual (Local0, Zero))
{
KILL ()
}
}
Else
{
Return (Zero)
}
}
Return (One)
}
Method (COMP, 0, Serialized)
{
Store (0x0FA0, Local0)
While (Local0)
{
If (And (HSTS, 0x02))
{
Return (One)
}
Else
{
Decrement (Local0)
Stall (0x32)
If (LEqual (Local0, Zero))
{
KILL ()
}
}
}
Return (Zero)
}
Method (KILL, 0, Serialized)
{
Or (HCON, 0x02, HCON)
Or (HSTS, 0xFF, HSTS)
}
}
}
Scope (_GPE)
{
Method (_L01, 0, NotSerialized)
{
Add (L01C, One, L01C)
If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.RP01.PDCX)
{
Store (One, \_SB.PCI0.RP01.PDCX)
Store (One, \_SB.PCI0.RP01.HPSX)
Notify (\_SB.PCI0.RP01, Zero)
}
Else
{
Store (One, \_SB.PCI0.RP01.HPSX)
}
}
If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.RP02.PDCX)
{
Store (One, \_SB.PCI0.RP02.PDCX)
Store (One, \_SB.PCI0.RP02.HPSX)
Notify (\_SB.PCI0.RP02, Zero)
}
Else
{
Store (One, \_SB.PCI0.RP02.HPSX)
}
}
If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.RP03.PDCX)
{
Store (One, \_SB.PCI0.RP03.PDCX)
Store (One, \_SB.PCI0.RP03.HPSX)
Notify (\_SB.PCI0.RP03, Zero)
}
Else
{
Store (One, \_SB.PCI0.RP03.HPSX)
}
}
If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.RP04.PDCX)
{
Store (One, \_SB.PCI0.RP04.PDCX)
Store (One, \_SB.PCI0.RP04.HPSX)
Notify (\_SB.PCI0.RP04, Zero)
}
Else
{
Store (One, \_SB.PCI0.RP04.HPSX)
}
}
If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.RP05.PDCX)
{
Store (One, \_SB.PCI0.RP05.PDCX)
Store (One, \_SB.PCI0.RP05.HPSX)
Notify (\_SB.PCI0.RP05, Zero)
}
Else
{
Store (One, \_SB.PCI0.RP05.HPSX)
}
}
If (LAnd (LEqual (RP7D, Zero), \_SB.PCI0.RP07.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.RP07.PDCX)
{
Store (One, \_SB.PCI0.RP07.PDCX)
Store (One, \_SB.PCI0.RP07.HPSX)
}
Else
{
Store (One, \_SB.PCI0.RP07.HPSX)
}
}
If (LAnd (LEqual (RP8D, Zero), \_SB.PCI0.RP08.HPSX))
{
Sleep (0x64)
If (\_SB.PCI0.RP08.PDCX)
{
Store (One, \_SB.PCI0.RP08.PDCX)
Store (One, \_SB.PCI0.RP08.HPSX)
}
Else
{
Store (One, \_SB.PCI0.RP08.HPSX)
}
}
}
Method (_L02, 0, NotSerialized)
{
Store (Zero, GPEC)
If (CondRefOf (\_SB.PCI0.IEIT.EITV))
{
\_SB.PCI0.IEIT.EITV ()
}
If (CondRefOf (TNOT))
{
TNOT ()
}
}
Method (_L06, 0, NotSerialized)
{
If (LAnd (\_SB.PCI0.GFX0.GSSE, LNot (GSMI)))
{
\_SB.PCI0.GFX0.GSCI ()
}
}
Method (_L07, 0, NotSerialized)
{
Store (0x20, \_SB.PCI0.SBUS.HSTS)
}
Method (_L09, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P2, 0x02)
Notify (\_SB.PCI0.P0P2.PEGP, 0x02)
Notify (\_SB.PCI0.RP01, 0x02)
Notify (\_SB.PCI0.RP02, 0x02)
Notify (\_SB.PCI0.RP03, 0x02)
Notify (\_SB.PCI0.RP04, 0x02)
Notify (\_SB.PCI0.RP05, 0x02)
Notify (\_SB.PCI0.RP07, 0x02)
Notify (\_SB.PCI0.RP08, 0x02)
Notify (\_SB.PCI0.PEG3, 0x02)
Notify (\_SB.PCI0.PEG5, 0x02)
Notify (\_SB.PCI0.PEG6, 0x02)
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P1, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.EHC1, 0x02)
Notify (\_SB.PCI0.EHC2, 0x02)
Notify (\_SB.PCI0.HDEF, 0x02)
Notify (\_SB.PCI0.GLAN, 0x02)
}
}
OperationRegion (PBIC, PCI_Config, Zero, 0xF0)
Field (PBIC, DWordAcc, NoLock, Preserve)
{
Offset (0x7C),
SR0, 32,
SR1, 32,
SR2, 32,
SR3, 32,
SR4, 32,
SR5, 32,
SR6, 32,
SR7, 32,
SR8, 32,
SR9, 32
}
OperationRegion (IBUS, PCI_Config, 0xD0, 0xE0)
Field (IBUS, DWordAcc, NoLock, Preserve)
{
, 26,
TOLM, 6,
, 26,
TOHM, 38,
Offset (0xB0),
VTEN, 1,
, 11,
VTBA, 20
}
Scope (_SB)
{
Device (CPBG)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_UID, 0xFF)
Name (_BBN, 0x7F)
Name (_ADR, Zero)
Name (BUF0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x007F, // Range Minimum
0x007F, // Range Maximum
0x0000, // Translation Offset
0x0001, // Length
,, )
})
Method (_CRS, 0, Serialized)
{
CreateWordField (BUF0, 0x08, PBMN)
Store (Subtract (ShiftRight (PELN, 0x14), One), PBMN)
CreateWordField (BUF0, 0x0A, PBMX)
Store (Subtract (ShiftRight (PELN, 0x14), One), PBMX)
Return (BUF0)
}
Device (IMCH)
{
Name (_ADR, One)
OperationRegion (PBUS, PCI_Config, Zero, 0xC0)
Field (PBUS, DWordAcc, NoLock, Preserve)
{
Offset (0x40),
, 4,
PM0H, 2,
Offset (0x41),
PM1L, 2,
, 2,
PM1H, 2,
Offset (0x42),
PM2L, 2,
, 2,
PM2H, 2,
Offset (0x43),
PM3L, 2,
, 2,
PM3H, 2,
Offset (0x44),
PM4L, 2,
, 2,
PM4H, 2,
Offset (0x45),
PM5L, 2,
, 2,
PM5H, 2,
Offset (0x46),
PM6L, 2,
, 2,
PM6H, 2,
Offset (0x47),
Offset (0x48),
, 7,
HENA, 1,
Offset (0x50),
PXEN, 1,
PXSZ, 2,
, 17,
PXBR, 12
}
}
}
}
Name (_S0, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
If (LEqual (S3DS, One))
{
Name (_S3, Package (0x04)
{
0x05,
Zero,
Zero,
Zero
})
}
Name (_S4, Package (0x04)
{
0x06,
Zero,
Zero,
Zero
})
Name (_S5, Package (0x04)
{
0x07,
Zero,
Zero,
Zero
})
}
References