toshiba L300-1fo acpi DSDT
public text v1 · immutable/*
* Intel ACPI Component Architecture
* AML Disassembler version 20081204
*
* Disassembly of DSDT.aml, Thu May 7 13:22:06 2009
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x00008F1A (36634)
* Revision 0x01 **** ACPI 1.0, no 64-bit math support
* Checksum 0x66
* OEM ID "TOSINV"
* OEM Table ID "TOSINV00"
* OEM Revision 0x00000001 (1)
* Compiler ID "MSFT"
* Compiler Version 0x01000013 (16777235)
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "TOSINV", "TOSINV00", 0x00000001)
{
Name (SP2O, 0x4E)
Name (SP1O, 0x164E)
Name (IO1B, 0x0600)
Name (IO1L, 0x70)
Name (IO2B, 0x0680)
Name (IO2L, 0x20)
Name (IO3B, 0x0290)
Name (IO3L, 0x10)
Name (MCHB, 0xFED10000)
Name (MCHL, 0x4000)
Name (EGPB, 0xFED19000)
Name (EGPL, 0x1000)
Name (DMIB, 0xFED18000)
Name (DMIL, 0x1000)
Name (IFPB, 0xFED14000)
Name (IFPL, 0x1000)
Name (PEBS, 0xE0000000)
Name (PELN, 0x10000000)
Name (TTTB, 0xFED20000)
Name (TTTL, 0x00020000)
Name (SMBS, 0xEFA0)
Name (PBLK, 0x0410)
Name (PMBS, 0x0400)
Name (PMLN, 0x80)
Name (LVL2, 0x0414)
Name (LVL3, 0x0415)
Name (LVL4, 0x0416)
Name (SMIP, 0xB2)
Name (GPBS, 0x0500)
Name (GPLN, 0x40)
Name (APCB, 0xFEC00000)
Name (APCL, 0x1000)
Name (PM30, 0x0430)
Name (SRCB, 0xFED1C000)
Name (SRCL, 0x4000)
Name (SUSW, 0xFF)
Name (ACPH, 0xDE)
Name (ASSB, Zero)
Name (AOTB, Zero)
Name (AAXB, Zero)
Name (PEHP, One)
Name (SHPC, One)
Name (PEPM, One)
Name (PEER, One)
Name (PECS, One)
Name (ITKE, Zero)
Name (TRTP, One)
Name (TRTD, 0x02)
Name (TRTI, 0x03)
Name (GCDD, One)
Name (DSTA, 0x0A)
Name (DSLO, 0x0C)
Name (DSLC, 0x0E)
Name (PITS, 0x10)
Name (SBCS, 0x12)
Name (SALS, 0x13)
Name (LSSS, 0x2A)
Name (PSSS, 0x2B)
Name (SOOT, 0x35)
Name (ESCS, 0x48)
Name (PDBR, 0x4D)
Name (SMBL, 0x10)
OperationRegion (GPIO, SystemIO, 0x0500, 0x3C)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
Offset (0x0C),
, 17,
BTRS, 1,
, 11,
GP29, 1,
Offset (0x10),
Offset (0x38),
, 1,
, 1,
CPEN, 1,
, 4,
GP39, 1,
, 7
}
OperationRegion (PMBA, SystemIO, 0x0400, 0x80)
Field (PMBA, ByteAcc, NoLock, Preserve)
{
Offset (0x10),
, 1,
THDT, 4,
Offset (0x28),
, 2,
SPST, 1,
Offset (0x30),
, 4,
SSMI, 1,
Offset (0x42),
, 1,
GPEC, 1,
Offset (0x64),
, 9,
SCIS, 1,
Offset (0x66)
}
OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
Field (RCRB, DWordAcc, Lock, Preserve)
{
Offset (0x1000),
Offset (0x3000),
Offset (0x3404),
HPAS, 2,
, 5,
HPAE, 1,
Offset (0x3418),
, 1,
PATD, 1,
SATD, 1,
SMBD, 1,
HDAD, 1,
Offset (0x341A),
RP1D, 1,
RP2D, 1,
RP3D, 1,
RP4D, 1,
RP5D, 1,
RP6D, 1
}
OperationRegion (MBOX, SystemMemory, 0xB7CBE918, 0x000002BC)
Field (MBOX, AnyAcc, NoLock, Preserve)
{
PCI1, 8,
PCI2, 8,
PCI3, 8,
PCI4, 8,
PCI5, 8,
PCI6, 8,
PCI7, 8,
PCI8, 8,
NLCK, 8,
ZIPE, 8,
COMA, 8,
CAIO, 8,
CAIP, 8,
CAMD, 8,
CADA, 8,
COMB, 8,
CBIO, 8,
CBIP, 8,
CBMD, 8,
CBDA, 8,
FHSD, 8,
COMC, 8,
CCIO, 8,
CCIP, 8,
CCMD, 8,
CCDA, 8,
COMD, 8,
CDIO, 8,
CDIP, 8,
CDMD, 8,
CDDA, 8,
LPT1, 8,
L1IO, 8,
L1IP, 8,
L1MD, 8,
L1DA, 8,
LPT2, 8,
L2IO, 8,
L2IP, 8,
L2MD, 8,
L2DA, 8,
LPT3, 8,
L3IO, 8,
L3IP, 8,
L3MD, 8,
L3DA, 8,
FDDC, 8,
FDWP, 8,
HGMP, 8,
LGMP, 8,
MIDI, 8,
AZLA, 8,
AUDO, 8,
MODM, 8,
IDEC, 8,
SSED, 8,
PACT, 8,
SCFG, 8,
AMOD, 8,
IMOD, 8,
LCFG, 8,
IDLY, 8,
PMTP, 8,
PMIO, 8,
PMBM, 8,
PMTM, 8,
PSTP, 8,
PSIO, 8,
PSBM, 8,
PSTM, 8,
IDE0, 8,
IDE1, 8,
IDE2, 8,
IDE3, 8,
IDE4, 8,
IDE5, 8,
IDE6, 8,
IDE7, 8,
HIUB, 8,
LUBS, 8,
PLYT, 8,
EDCG, 8,
SDFY, 8,
SDTC, 8,
SDRP, 8,
SDCL, 8,
SDRC, 8,
SDRE, 8,
FC2L, 8,
FC3L, 8,
FCS4, 8,
APIM, 8,
HPTS, 8,
HPTA, 8,
EMAS, 8,
VGAO, 8,
SOFF, 8,
KBPO, 8,
MSPO, 8,
USBB, 8,
EVTL, 8,
SYBE, 8,
ETLC, 8,
AC30, 8,
TPMD, 8,
TPMO, 8,
TPMC, 8,
TPMM, 8,
TPCC, 8,
TPLC, 8,
TPLR, 32,
QBOT, 8,
BOTQ, 8,
PBOT, 8,
M256, 8,
PEGF, 8,
OSYS, 16,
BMTP, 8,
BNPT, 8,
LNMT, 8,
NBTO, 8,
NABD, 8,
NEBD, 8,
NLBD, 8,
DFBT, 16,
NPSP, 16,
LANG, 8,
UACL, 8,
SUPS, 8,
DVET, 8,
S3RS, 8,
DAS1, 8,
DAS3, 8,
WKPM, 8,
WKMD, 8,
WKS5, 8,
HOUR, 8,
MINS, 8,
SECS, 8,
DOFM, 8,
NBTV, 64,
BTOD, 64,
SPVP, 16,
POPW, 16,
USPW, 16,
HDPW, 16,
KRSV, 480,
LANE, 8,
AORS, 8,
P0HP, 8,
P1HP, 8,
P4HP, 8,
P5HP, 8,
P0IL, 8,
P1IL, 8,
P2IL, 8,
PEGS, 8,
D2F1, 8,
IGMT, 8,
DTSZ, 8,
CLKC, 8,
CKSC, 8,
BOTT, 8,
PANT, 8,
TVTP, 8,
U201, 8,
U202, 8,
U111, 8,
U112, 8,
U113, 8,
U114, 8,
U115, 8,
UPPC, 8,
UP00, 8,
UP01, 8,
UP02, 8,
UP03, 8,
UP04, 8,
UP05, 8,
UP06, 8,
UP07, 8,
UP08, 8,
UP09, 8,
UP10, 8,
UP11, 8,
P80R, 8,
WDOG, 8,
WDTO, 16,
WDTB, 16,
MASF, 8,
MAMT, 8,
ABXP, 8,
SPIL, 8,
PWDW, 8,
HETO, 8,
AWTR, 16,
EOPT, 8,
ASFB, 8,
MBTX, 8,
IDER, 8,
SOLE, 8,
PRE0, 8,
PRE1, 8,
PRE2, 8,
PRE3, 8,
PRE4, 8,
PRE5, 8,
PRA0, 8,
PRA1, 8,
PRA2, 8,
PRA3, 8,
PRA4, 8,
PRA5, 8,
PRV0, 8,
PRV1, 8,
PRV2, 8,
PRV3, 8,
PRV4, 8,
PRV5, 8,
PAA0, 8,
PAA1, 8,
PAA2, 8,
PAA3, 8,
PAA4, 8,
PAA5, 8,
L0S0, 8,
L0S1, 8,
L0S2, 8,
L0S3, 8,
L0S4, 8,
L0S5, 8,
AL10, 8,
AL11, 8,
AL12, 8,
AL13, 8,
AL14, 8,
AL15, 8,
PES0, 8,
PES1, 8,
PES2, 8,
PES3, 8,
PES4, 8,
PES5, 8,
PRU0, 8,
PRU1, 8,
PRU2, 8,
PRU3, 8,
PRU4, 8,
PRU5, 8,
PRF0, 8,
PRF1, 8,
PRF2, 8,
PRF3, 8,
PRF4, 8,
PRF5, 8,
PRN0, 8,
PRN1, 8,
PRN2, 8,
PRN3, 8,
PRN4, 8,
PRN5, 8,
PRC0, 8,
PRC1, 8,
PRC2, 8,
PRC3, 8,
PRC4, 8,
PRC5, 8,
CTD0, 8,
CTD1, 8,
CTD2, 8,
CTD3, 8,
CTD4, 8,
CTD5, 8,
PIE0, 8,
PIE1, 8,
PIE2, 8,
PIE3, 8,
PIE4, 8,
PIE5, 8,
SFE0, 8,
SFE1, 8,
SFE2, 8,
SFE3, 8,
SFE4, 8,
SFE5, 8,
SNE0, 8,
SNE1, 8,
SNE2, 8,
SNE3, 8,
SNE4, 8,
SNE5, 8,
SCE0, 8,
SCE1, 8,
SCE2, 8,
SCE3, 8,
SCE4, 8,
SCE5, 8,
MCE0, 8,
MCE1, 8,
MCE2, 8,
MCE3, 8,
MCE4, 8,
MCE5, 8,
PCE0, 8,
PCE1, 8,
PCE2, 8,
PCE3, 8,
PCE4, 8,
PCE5, 8,
PTC0, 8,
PTC1, 8,
PTC2, 8,
PTC3, 8,
PTC4, 8,
PTC5, 8,
DAPM, 8,
DPMA, 8,
DL0S, 8,
DAL1, 8,
PEGA, 8,
PGAA, 8,
PGL0, 8,
PL0A, 8,
PGL1, 8,
PGES, 8,
PAVP, 8,
ISTC, 8,
TRML, 8,
FNON, 8,
TRON, 8,
NXMD, 8,
PCRR, 8,
C4EN, 8,
C43D, 8,
EMTT, 8,
PROH, 8,
DFSB, 8,
TUBM, 8,
TSTE, 8,
BPST, 8,
QKS4, 8,
POPU, 8,
POPD, 8,
C4ET, 8,
NXFE, 8,
VTST, 8,
VTFE, 8,
S5FG, 8,
CSTS, 8,
ENCS, 8,
DEC4, 8,
HC4E, 8,
ENC6, 8,
CSTR, 8,
CMPE, 8,
CSMD, 8,
DTSE, 8,
DTSC, 8,
RAID, 8,
PSHM, 8,
PEXC, 8,
DTST, 8,
TXTS, 8,
VTDE, 8,
SMRR, 8,
CART, 8,
CATT, 8,
ITPM, 8,
STBE, 8,
PEBE, 8,
PCBE, 8,
EHBE, 8,
UHBE, 8,
HABE, 8,
MTME, 8,
MTSD, 8,
MTML, 8,
ERS2, 8,
GLPM, 8,
CRSV, 520,
ISTM, 8,
ISTS, 8,
PTDV, 8,
WKOL, 8,
WOWL, 8,
WLEX, 8,
ICIR, 8,
IREX, 8,
IWEX, 8,
CRWK, 8,
ILED, 8,
XDBT, 8,
TBMM, 8,
TMEX, 8,
AKWE, 8,
SSPW, 8,
TM01, 8,
TM02, 8,
HDD0, 8,
HDD1, 8,
HDD2, 8,
HDD3, 8,
HDD4, 8,
HDD5, 8,
USCM, 8,
HCEC, 8,
RPON, 8,
RPOF, 8,
HDDC, 8,
MFGM, 8,
IDAF, 8,
DVLK, 8,
LKST, 8,
LKBT, 8,
ORSV, 288,
HPOP, 8,
LOCF, 8,
PSTA, 8,
CCMP, 8,
DTP1, 8,
SCBK, 8,
SCBF, 8,
DRSV, 744
}
OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
Field (IO_T, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
Offset (0x04),
Offset (0x06),
Offset (0x08),
TRP0, 8,
Offset (0x0A),
Offset (0x0B),
Offset (0x0C),
Offset (0x0D),
Offset (0x0E),
Offset (0x0F),
Offset (0x10)
}
OperationRegion (IO_D, SystemIO, 0x0810, 0x08)
Field (IO_D, ByteAcc, NoLock, Preserve)
{
TRPD, 8
}
OperationRegion (IO_H, SystemIO, 0x0820, 0x04)
Field (IO_H, ByteAcc, NoLock, Preserve)
{
TRPH, 8
}
OperationRegion (NVST, SystemMemory, 0xB7CBEBD4, 0x0000018B)
Field (NVST, AnyAcc, Lock, Preserve)
{
SMIF, 8,
PRM0, 8,
PRM1, 8,
SCIF, 8,
PRM2, 8,
PRM3, 8,
LCKF, 8,
PRM4, 8,
PRM5, 8,
P80D, 32,
LIDS, 8,
PWRS, 8,
DBGS, 8,
THOF, 8,
ACT1, 8,
ACTT, 8,
CRTT, 8,
Offset (0x15),
DTS1, 8,
DTS2, 8,
DTSF, 8,
BNUM, 8,
APIC, 8,
PCP0, 8,
PCP1, 8,
PPCM, 8,
PPMF, 32,
IGDS, 8,
TLST, 8,
CADL, 8,
PADL, 8,
CSTE, 16,
NSTE, 16,
SSTE, 16,
NDID, 8,
DID1, 32,
DID2, 32,
DID3, 32,
DID4, 32,
DID5, 32,
BDSP, 8,
PTY1, 8,
PTY2, 8,
PSCL, 8,
TVF1, 8,
TVF2, 8,
GETM, 8,
BLCS, 8,
BRTL, 8,
ALSE, 8,
ALAF, 8,
LLOW, 8,
LHIH, 8,
EMAE, 8,
EMAP, 16,
EMAL, 16,
MEFE, 8,
DSTS, 8,
TPMP, 8,
TPME, 8,
GTF0, 56,
GTF2, 56,
IDEM, 8,
GTF1, 56,
BID, 8,
ASLB, 32,
IBTT, 8,
IPAT, 8,
ITVF, 8,
ITVM, 8,
IPSC, 8,
IBLC, 8,
IBIA, 8,
ISSC, 8,
I409, 8,
I509, 8,
I609, 8,
I709, 8,
IPC, 8,
IDMS, 8,
IF1E, 8,
HVCO, 8,
NXD1, 32,
NXD2, 32,
NXD3, 32,
NXD4, 32,
NXD5, 32,
NXD6, 32,
NXD7, 32,
NXD8, 32,
GSMI, 8,
DSEN, 8,
ECON, 8,
GPIC, 8,
CTYP, 8,
L01C, 8,
VFN0, 8,
VFN1, 8,
LCDA, 16,
BVAL, 32,
KSV0, 32,
KSV1, 8,
USBM, 32,
TPID, 8,
Offset (0x100),
ACPS, 8,
CPUS, 8,
CPUL, 8,
ECRO, 8,
ECRM, 8,
ECRS, 8,
ECRD, 8,
REVD, 8
}
Name (PWBS, Zero)
Name (ACBS, Zero)
Name (ACBW, Zero)
Mutex (MUTS, 0x00)
Mutex (MUTE, 0x00)
OperationRegion (PSMI, SystemIO, 0xB2, 0x02)
Field (PSMI, ByteAcc, NoLock, Preserve)
{
APMC, 8,
APMD, 8
}
Field (NVST, AnyAcc, Lock, Preserve)
{
Offset (0x108),
EGST, 8,
LCDS, 4,
CECS, 1,
CECP, 1,
HDMI, 1,
HKMD, 1,
TSBK, 1,
SDAT, 1,
DCIR, 1,
DBTN, 2,
HKEM, 1,
HSEM, 1,
IECC, 1,
HSWK, 8,
LCMD, 8,
SVCF, 8,
SWB0, 32,
SWB1, 32,
SWB2, 32,
SWB3, 32,
SWB4, 32,
SWB5, 32,
SWB6, 32,
SWB7, 32,
KYB0, 32,
KYB1, 32,
KYB2, 32,
KYB3, 32,
KYB4, 32,
KYB5, 32,
KYB6, 32,
KYB7, 32,
VALC, 208,
IEC0, 8,
IEC1, 8,
IEC2, 8,
CECC, 8,
CECE, 32,
CECI, 16,
CECZ, 8,
CECF, 8,
CEC1, 32,
CEC2, 32,
CEC3, 32,
CEC4, 32,
CEC5, 32
}
OperationRegion (WNBD, SystemMemory, 0xFF800100, 0x80)
Field (WNBD, ByteAcc, Lock, Preserve)
{
Offset (0x02),
LRPM, 8,
HRPM, 8,
RCPU, 8,
EVCT, 8,
Offset (0x08),
, 4,
PERN, 1,
ECSL, 1,
Offset (0x09),
DLCK, 8,
VGAT, 8,
THRF, 3,
Offset (0x17),
FKST, 2,
Offset (0x18),
CMW1, 32,
CMW2, 32,
CMW3, 32,
CMW4, 32,
CMW5, 32,
CMR1, 32,
CMR2, 32,
CMR3, 32,
CMR4, 32,
CMR5, 32,
EC92, 8,
EC93, 8,
EC94, 8,
EC95, 8,
EC96, 8,
EC99, 8,
EC9A, 8,
EC9C, 8,
EC9D, 8,
EC9E, 8,
EC9F, 8,
ECA0, 8,
ECA2, 8,
ECA3, 8,
ECA4, 8,
ECA5, 8,
ECA7, 8,
ECA8, 8,
ECA9, 8,
ECAA, 8,
ECAB, 8,
ECAC, 8,
ECAD, 8,
ECAE, 8,
ECAF, 8,
ECB6, 8,
ECB8, 8,
ECB9, 8,
ECBA, 8,
ECBD, 8,
ECBE, 8,
ECBF, 8,
ECC0, 8,
ECC1, 8,
ECC2, 8,
ECC5, 8,
ECC6, 8,
ECC8, 8,
ECC9, 8,
ECCA, 8,
ECCB, 8,
ECD7, 8,
ECDB, 8,
ECDF, 8,
ECE2, 8,
ECE3, 8
}
Method (RDEC, 3, Serialized)
{
Acquire (MUTE, 0xFFFF)
Store (Arg0, ECRO)
Store (Arg1, ECRM)
Store (Arg2, ECRS)
FLNK (0xFF, 0x0E)
Store (ECRD, Local0)
Release (MUTE)
Return (Local0)
}
Method (WREC, 4, Serialized)
{
Acquire (MUTE, 0xFFFF)
Store (Arg0, ECRO)
Store (Arg1, ECRM)
Store (Arg2, ECRS)
Store (Arg3, ECRD)
FLNK (0xFF, 0x0F)
Release (MUTE)
}
Method (FLNK, 2, Serialized)
{
If (LEqual (IECC, Zero))
{
Add (IEC2, 0x03, IEC2)
Decrement (IEC1)
Subtract (IEC0, 0x0B, IEC0)
Store (One, IECC)
}
If (LEqual (Arg0, 0xFF))
{
Store (Arg1, SVCF)
}
Else
{
Store (Arg1, SWB0)
}
Store (Arg0, LCMD)
Store (0xFF, APMD)
Store (0xE3, APMC)
Return (And (SWB0, 0xFF))
}
Method (CECK, 0, NotSerialized)
{
Store (0x08, Local2)
While (Local2)
{
If (LEqual (CMW1, Ones))
{
If (LEqual (CMW2, Ones))
{
If (LEqual (CMW3, Ones))
{
If (LEqual (CMW4, Ones))
{
If (LEqual (CMW5, Ones))
{
Store (One, Local2)
}
}
}
}
}
If (LNotEqual (Local2, One))
{
Sleep (0x96)
}
Decrement (Local2)
}
}
Method (CHKB, 1, Serialized)
{
If (LEqual (SDAT, Zero))
{
Acquire (MUTS, 0xFFFF)
FLNK (0xCF, Zero)
Store (ShiftRight (SWB0, 0x08), Local0)
Release (MUTS)
Store (And (ShiftRight (Local0, One), One), DCIR)
Store (And (ShiftRight (Local0, 0x03), 0x03), DBTN)
Store (One, SDAT)
}
Store (0x0F, Local0)
If (LEqual (Arg0, Zero))
{
If (LEqual (DCIR, Zero))
{
Store (Zero, Local0)
}
}
Else
{
If (LEqual (Arg0, One))
{
If (LEqual (And (DBTN, One), Zero))
{
Store (Zero, Local0)
}
}
}
Return (Local0)
}
Device (_SB.HSB1)
{
Name (_HID, EisaId ("PNP0C32"))
Name (_UID, One)
Method (_STA, 0, NotSerialized)
{
If (LLess (OSYS, 0x07D6))
{
Return (Zero)
}
Else
{
Return (CHKB (One))
}
}
Method (GHID, 0, NotSerialized)
{
Return (Buffer (One)
{
0x01
})
}
}
Device (_SB.HSB2)
{
Name (_HID, EisaId ("PNP0C32"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
If (LLess (OSYS, 0x07D6))
{
Return (Zero)
}
Else
{
Return (CHKB (One))
}
}
Method (GHID, 0, NotSerialized)
{
Return (Buffer (One)
{
0x02
})
}
}
Device (_SB.VALZ)
{
Name (_HID, "TOS1900")
Name (PTST, 0xFF)
Method (_DDN, 0, NotSerialized)
{
Return ("VALZeneral")
}
Method (ENAB, 0, NotSerialized)
{
Acquire (MUTS, 0xFFFF)
If (LEqual (TSBK, Zero))
{
FLNK (0x14, Zero)
}
Store (One, TSBK)
Release (MUTS)
}
Method (INFO, 0, NotSerialized)
{
Acquire (MUTS, 0xFFFF)
Store (Zero, Local0)
If (LNotEqual (CECC, Zero))
{
FLNK (0xFF, 0x03)
If (LNotEqual (CECE, Zero))
{
Release (MUTS)
Return (CECE)
}
Else
{
FLNK (0xFF, 0x04)
}
}
If (LNotEqual (KYB0, Zero))
{
Store (And (KYB0, 0xFF), Local0)
ShiftRight (KYB0, 0x08, KYB0)
If (LEqual (KYB0, Zero))
{
If (LNotEqual (KYB1, Zero))
{
Store (KYB1, KYB0)
Store (KYB2, KYB1)
Store (KYB3, KYB2)
Store (KYB4, KYB3)
Store (KYB5, KYB4)
Store (KYB6, KYB5)
Store (KYB7, KYB6)
Store (Zero, KYB7)
}
}
}
Else
{
If (LNotEqual (EVCT, Zero))
{
FLNK (0x11, EVCT)
Store (And (KYB0, 0xFF), Local0)
ShiftRight (KYB0, 0x08, KYB0)
}
Else
{
Release (MUTS)
Return (Zero)
}
}
If (LEqual (Local0, 0xFE))
{
Store (Zero, Local0)
}
If (LEqual (And (Local0, 0xF0), 0x90))
{
Add (Local0, 0x0B00, Local0)
}
Add (Local0, 0x0100, Local0)
Release (MUTS)
Return (Local0)
}
Method (SPFC, 6, Serialized)
{
Acquire (MUTS, 0xFFFF)
Name (RETP, Package (0x06)
{
Zero,
Zero,
Zero,
Zero,
Zero,
Zero
})
Name (CAG0, Package (0x1A)
{
Zero,
0xF300050E,
0xF400050E,
0xFE00001E,
0xFE000011,
0xFE000056,
0xFE000062,
0xFE00007F,
0xFE00C000,
0xFF00001E,
0xFF000056,
0xFF00005A,
0xFF00007F,
0xFF00C000,
0xF3000154,
0xF4000154,
0xF3000155,
0xF4000155,
0xFE00008F,
0xFF00008F,
0xFE000047,
0xF300014E,
0xF400014E,
0xFF000047,
0xFE000061,
0xFF000061
})
Name (FLNC, Buffer (0x1A)
{
/* 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
})
Store (VALC, FLNC)
Store (0x8000, Index (RETP, Zero))
CreateDWordField (Arg0, Zero, ARGA)
CreateDWordField (Arg1, Zero, ARGB)
CreateDWordField (Arg2, Zero, ARGC)
CreateDWordField (Arg3, Zero, ARGD)
CreateDWordField (Arg4, Zero, ARGE)
CreateDWordField (Arg5, Zero, ARGF)
Store (0x19, Local6)
While (Local6)
{
Store (DerefOf (Index (CAG0, Local6)), Local1)
Add (ShiftLeft (ARGA, 0x10), And (ARGB, 0xFFFF), Local2)
If (LEqual (Local2, Local1))
{
Store (DerefOf (Index (FLNC, Local6)), Local5)
Break
}
Decrement (Local6)
}
If (LEqual (Local6, One))
{
If (LEqual (PTST, 0xFF))
{
Store (FLNK (Local5, 0x0F), PTST)
}
Store (PTST, Index (RETP, 0x02))
Store (Zero, Index (RETP, Zero))
}
Else
{
If (LEqual (Local6, 0x02))
{
If (LEqual (And (ARGC, 0xFFFE), Zero))
{
Store (ARGC, PTST)
FLNK (Local5, ARGC)
Store (Zero, Index (RETP, Zero))
}
}
Else
{
If (LEqual (Local6, 0x03))
{
Store (One, Local0)
If (LEqual (HKEM, One))
{
Store (0x03, Local0)
}
If (LEqual (HSEM, One))
{
Add (Local0, 0x08, Local0)
}
Store (Local0, Index (RETP, 0x02))
Store (Zero, Index (RETP, Zero))
}
Else
{
If (LEqual (Local6, 0x04))
{
Or (Or (Or (ARGC, ARGD), ARGE), ARGF, Local0)
If (LEqual (Local0, Zero))
{
Store (LCDS, Local0)
ShiftLeft (Local0, 0x08, Local0)
If (LEqual (LCDS, 0x0F))
{
Store (0xFFFF, Local0)
}
Store (Local0, Index (RETP, 0x02))
Store (Zero, Index (RETP, Zero))
}
}
Else
{
If (LEqual (Local6, 0x05))
{
If (LEqual (ARGD, One))
{
If (LNotEqual (And (EC93, 0x22), Zero))
{
Add (ShiftLeft (And (EC93, 0x08), 0x06), ShiftRight (And (
EC93, 0x10), 0x04), Index (RETP, 0x02))
Store (Zero, Index (RETP, Zero))
}
}
}
Else
{
If (LEqual (Local6, 0x06))
{
Store (EGST, Index (RETP, 0x03))
Store (Zero, Index (RETP, Zero))
}
Else
{
If (LEqual (Local6, 0x07))
{
Store (Zero, Local0)
Store (FLNK (Local5, 0xFF), Local0)
Store (Local0, Index (RETP, 0x02))
Store (One, Index (RETP, 0x03))
Store (Zero, Index (RETP, Zero))
}
Else
{
If (LEqual (Local6, 0x08))
{
If (LEqual (ARGC, 0x03))
{
Store (Zero, Index (RETP, 0x03))
If (LEqual (HDMI, One))
{
ShiftLeft (FLNK (Local5, 0xFF), 0x04, Local0)
Store (And (Local0, 0x10), Index (RETP, 0x03))
}
Store (Zero, Index (RETP, Zero))
}
}
Else
{
If (LEqual (Local6, 0x09))
{
If (LEqual (And (ARGC, One), One))
{
Store (And (ShiftRight (ARGC, One), One), Local0)
Store (Local0, HKEM)
WREC (0xDB, 0x10, 0x04, Local0)
Store (And (ShiftRight (ARGC, 0x03), One), Local0)
Store (Local0, HSEM)
WREC (0xDB, 0x20, 0x05, Local0)
If (LEqual (Local0, Zero))
{
If (LEqual (HSWK, 0xDC))
{
Notify (HSB1, 0x02)
Store (Zero, HSWK)
}
Else
{
If (LEqual (HSWK, 0xDD))
{
Notify (HSB2, 0x02)
Store (Zero, HSWK)
}
}
}
Store (Zero, Index (RETP, Zero))
}
}
Else
{
If (LEqual (Local6, 0x0A))
{
If (LEqual (ARGD, 0x0200))
{
If (LNotEqual (FLNK (Local5, ARGC), 0xFF))
{
Store (Zero, Index (RETP, Zero))
}
}
}
Else
{
If (LEqual (Local6, 0x0B))
{
If (LEqual (ARGD, One))
{
If (LEqual (And (ARGC, 0xFFFC), Zero))
{
If (LEqual (And (ARGC, 0x03), 0x02))
{
Store (0x07, Local0)
}
Else
{
ShiftLeft (ARGC, One, Local0)
Add (Local0, One, Local0)
}
FLNK (Local5, Local0)
Store (Zero, Index (RETP, Zero))
}
}
}
Else
{
If (LEqual (Local6, 0x0C))
{
If (LEqual (And (ARGC, 0xFFFE), Zero))
{
FLNK (Local5, ARGC)
Store (Zero, Index (RETP, Zero))
}
}
Else
{
If (LEqual (Local6, 0x0D))
{
If (LEqual (ARGC, Zero))
{
If (LEqual (And (ARGD, 0xFFFE), Zero))
{
Store (Zero, Index (RETP, Zero))
}
}
}
Else
{
If (LEqual (Local6, 0x0E))
{
Or (Or (Or (ARGC, ARGD), ARGE), ARGF, Local0)
If (LEqual (Local0, Zero))
{
Store (CECS, Index (RETP, 0x02))
Store (One, Index (RETP, 0x04))
Store (One, Index (RETP, Zero))
}
}
Else
{
If (LEqual (Local6, 0x0F))
{
If (LEqual (And (ARGC, 0xFFFE), Zero))
{
Store (ARGC, CECS)
FLNK (0xFF, One)
Store (One, Index (RETP, Zero))
}
Else
{
Store (0x8300, Index (RETP, Zero))
}
}
Else
{
If (LEqual (Local6, 0x10))
{
Store (CECP, Index (RETP, 0x02))
Store (Zero, Index (RETP, One))
Store (One, Index (RETP, Zero))
}
Else
{
If (LEqual (Local6, 0x11))
{
If (LEqual (And (ARGC, 0xFFFE), Zero))
{
Store (ARGC, CECP)
FLNK (0xFF, 0x02)
Store (One, Index (RETP, Zero))
}
Else
{
Store (0x8300, Index (RETP, Zero))
}
}
Else
{
If (LEqual (Local6, 0x12))
{
Or (Or (ARGD, ARGE), ARGF, Local0)
If (LEqual (Local0, Zero))
{
Store (One, Local0)
If (LEqual (ARGC, 0xC1))
{
FLNK (0xFF, 0x10)
}
Else
{
If (LEqual (ARGC, 0xC3))
{
FLNK (0xFF, 0x11)
}
Else
{
If (LEqual (ARGC, 0xC4))
{
FLNK (0xFF, 0x12)
}
Else
{
If (LEqual (ARGC, 0xC5))
{
FLNK (0xFF, 0x13)
}
Else
{
If (LEqual (ARGC, 0xC7))
{
FLNK (0xFF, 0x14)
}
Else
{
If (LEqual (ARGC, 0xC8))
{
FLNK (0xFF, 0x15)
}
Else
{
Store (Zero, Local0)
}
}
}
}
}
}
If (LEqual (Local0, One))
{
Store (CEC1, Index (RETP, One))
Store (CEC2, Index (RETP, 0x02))
Store (CEC3, Index (RETP, 0x03))
Store (CEC4, Index (RETP, 0x04))
Store (CEC5, Index (RETP, 0x05))
Store (Zero, Index (RETP, Zero))
}
}
}
Else
{
If (LEqual (Local6, 0x13))
{
Store (And (ARGB, 0x00FF0000), Local0)
If (LEqual (Local0, 0x00C00000))
{
If (LEqual (And (ARGB, 0xFF000000), Zero))
{
CECK ()
And (ARGC, 0xFFFF, Local1)
Add (ShiftLeft (ARGD, 0x10), Local1, CMW1)
Add (ShiftRight (ARGD, 0x10), ShiftLeft (ARGE, 0x10), CMW2)
Add (ShiftRight (ARGE, 0x10), ShiftLeft (ARGF, 0x10), CMW3)
And (ARGC, 0xFFFF0000, Local1)
Add (ShiftRight (ARGF, 0x10), Local1, CMW4)
Store (Zero, CMW5)
FLNK (0xFF, 0x16)
}
Else
{
CECK ()
Add (ShiftRight (ARGB, 0x18), 0x1000, Local1)
Add (Local1, ShiftLeft (ARGC, 0x10), CMW1)
Add (ShiftRight (ARGC, 0x10), ShiftLeft (ARGD, 0x10), CMW2)
Add (ShiftRight (ARGD, 0x10), ShiftLeft (ARGE, 0x10), CMW3)
Add (ShiftRight (ARGE, 0x10), ShiftLeft (ARGF, 0x10), CMW4)
Store (ShiftRight (ARGF, 0x10), CMW5)
FLNK (0xFF, 0x17)
}
Store (Zero, Index (RETP, Zero))
}
Else
{
If (LEqual (Local0, 0x00C20000))
{
CECK ()
And (ARGB, 0xFF000000, Local1)
Add (Local1, 0x00800000, Local1)
Add (ShiftRight (Local1, 0x10), ShiftLeft (ARGC, 0x10), CMW1)
Add (ShiftRight (ARGC, 0x10), ShiftLeft (ARGD, 0x10), CMW2)
Add (ShiftRight (ARGD, 0x10), ShiftLeft (ARGE, 0x10), CMW3)
Add (ShiftRight (ARGE, 0x10), ShiftLeft (ARGF, 0x10), CMW4)
Store (ShiftRight (ARGF, 0x10), CMW5)
FLNK (0xFF, 0x18)
Store (Zero, Index (RETP, Zero))
}
Else
{
If (LEqual (Local0, 0x00C90000))
{
Or (Or (ARGD, ARGE), ARGF, Local0)
If (LEqual (Local0, Zero))
{
If (LEqual (And (ARGC, 0xFFFFFF00), Zero))
{
Store (ARGC, CEC2)
FLNK (0xFF, 0x19)
Store (Zero, Index (RETP, Zero))
}
}
}
}
}
}
Else
{
If (LEqual (Local6, 0x14))
{
Or (Or (ARGD, ARGE), ARGF, Local0)
If (LEqual (Local0, Zero))
{
Store (Zero, Index (RETP, 0x02))
If (LEqual (HSWK, 0xE8))
{
Store (0x0131, Index (RETP, 0x02))
}
Else
{
If (LEqual (HSWK, 0xE9))
{
Store (0x20, Index (RETP, 0x02))
Store (0x90, Index (RETP, 0x03))
}
}
Store (Zero, Index (RETP, Zero))
}
}
Else
{
If (LEqual (Local6, 0x17))
{
Or (Or (ARGD, ARGE), ARGF, Local0)
If (LEqual (Local0, Zero))
{
If (LEqual (ARGC, 0x5A00))
{
If (LEqual (HSWK, 0xE9))
{
Store (Zero, HSWK)
}
If (LEqual (HSWK, 0xE8))
{
Store (Zero, HSWK)
}
Store (Zero, Index (RETP, Zero))
}
}
}
Else
{
If (LEqual (Local6, 0x18))
{
Or (Or (Or (ARGC, ARGD), ARGE), ARGF, Local0)
If (LEqual (Local0, Zero))
{
Store (FLNK (Local5, 0xFF), Local0)
If (LNotEqual (Local0, 0xFF))
{
Store (Zero, Index (RETP, Zero))
Store (Local0, Index (RETP, 0x02))
}
}
}
Else
{
If (LEqual (Local6, 0x19))
{
Or (Or (ARGD, ARGE), ARGF, Local0)
If (LEqual (Local0, Zero))
{
If (LEqual (And (ARGC, 0xFFFE), Zero))
{
Store (ARGC, Local1)
Store (FLNK (Local5, Local1), Local0)
If (LNotEqual (Local0, 0xFF))
{
Store (Zero, Index (RETP, Zero))
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Release (MUTS)
Return (RETP)
}
Method (_STA, 0, NotSerialized)
{
If (LLess (OSYS, 0x07D6))
{
Return (Zero)
}
Else
{
Return (0x0B)
}
}
}
Device (_SB.FWEX)
{
Name (_HID, "TOS1901")
Method (FWES, 1, NotSerialized)
{
Acquire (MUTS, 0xFFFF)
Name (FWEB, Buffer (0x20) {})
Store (DerefOf (Index (Arg0, Zero)), Local4)
Store (Zero, Local7)
If (LEqual (Local4, One))
{
If (^^PCI0.LPC.EC0.ECOK)
{
Store (RCPU, Index (FWEB, Zero))
Store (VGAT, Index (FWEB, One))
Store (LRPM, Index (FWEB, 0x02))
Store (HRPM, Index (FWEB, 0x03))
Store (Zero, Index (FWEB, 0x04))
Store (Zero, Index (FWEB, 0x05))
Store (RDEC (0xA0, 0xFF, Zero), Index (FWEB, 0x06))
}
Release (MUTS)
Return (FWEB)
}
If (LEqual (Local4, 0x81))
{
Store (DerefOf (Index (Arg0, One)), Local0)
If (LEqual (Local0, 0xFF))
{
Store (EVCT, Local0)
Store (Local0, Index (FWEB, Zero))
Release (MUTS)
Return (FWEB)
}
Else
{
If (LEqual (Local0, 0xFE))
{
Store (FKST, Local0)
Store (Local0, Index (FWEB, Zero))
Release (MUTS)
Return (FWEB)
}
Else
{
Store (One, Local7)
}
}
}
Store (0x20, Local0)
Store (One, Local1)
Store (Zero, Local3)
While (Local0)
{
Store (ShiftLeft (DerefOf (Index (Arg0, Local1)), 0x18), Local2)
Add (And (ShiftRight (Local3, 0x08), 0x00FFFFFF), Local2, Local3)
If (LEqual (Local1, 0x04))
{
Store (Local3, Local5)
Store (Local3, SWB0)
}
Else
{
If (LEqual (Local1, 0x08))
{
Store (Local3, SWB1)
}
Else
{
If (LEqual (Local1, 0x0C))
{
Store (Local3, SWB2)
}
Else
{
If (LEqual (Local1, 0x10))
{
Store (Local3, SWB3)
}
Else
{
If (LEqual (Local1, 0x14))
{
Store (Local3, SWB4)
}
Else
{
If (LEqual (Local1, 0x18))
{
Store (Local3, SWB5)
}
Else
{
If (LEqual (Local1, 0x1C))
{
Store (Local3, SWB6)
}
Else
{
If (LEqual (Local1, 0x20))
{
Store (Local3, SWB7)
}
}
}
}
}
}
}
}
Decrement (Local0)
Add (Local1, One, Local1)
}
If (LEqual (Local7, One))
{
Store (0x11, Local4)
Store (EVCT, Local5)
}
FLNK (Local4, Local5)
Store (SWB0, Local1)
Store (Zero, Local2)
While (LNotEqual (Local2, 0x20))
{
If (LEqual (Local2, 0x04))
{
Store (SWB1, Local1)
}
Else
{
If (LEqual (Local2, 0x08))
{
Store (SWB2, Local1)
}
Else
{
If (LEqual (Local2, 0x0C))
{
Store (SWB3, Local1)
}
Else
{
If (LEqual (Local2, 0x10))
{
Store (SWB4, Local1)
}
Else
{
If (LEqual (Local2, 0x14))
{
Store (SWB5, Local1)
}
Else
{
If (LEqual (Local2, 0x18))
{
Store (SWB6, Local1)
}
Else
{
If (LEqual (Local2, 0x1C))
{
Store (SWB7, Local1)
}
}
}
}
}
}
}
Store (Local1, Index (FWEB, Local2))
Divide (Local1, 0x0100, Local0, Local1)
Add (Local2, One, Local2)
}
Store (Zero, Local0)
If (LNotEqual (LCMD, Zero))
{
Store (Zero, Local2)
While (LNotEqual (Local2, 0x20))
{
Store (0xFF, Index (FWEB, Local2))
Add (Local2, One, Local2)
}
}
Store (Local0, SWB0)
Store (Local0, SWB1)
Store (Local0, SWB2)
Store (Local0, SWB3)
Store (Local0, SWB4)
Store (Local0, SWB5)
Store (Local0, SWB6)
Store (Local0, SWB7)
If (LEqual (Local7, One))
{
Store (EVCT, Index (FWEB, 0x1F))
}
Release (MUTS)
Return (FWEB)
}
Method (_STA, 0, NotSerialized)
{
If (LLess (OSYS, 0x07D0))
{
Return (Zero)
}
Else
{
Return (0x0B)
}
}
}
Method (WFNK, 1, NotSerialized)
{
Acquire (MUTS, 0xFFFF)
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
Store (And (ShiftRight (ECB6, 0x03), One), Local0)
If (LNotEqual (Local0, PWBS))
{
WREC (0xB6, 0x08, 0x03, PWBS)
}
If (LNotEqual (ECC8, ACBS))
{
WREC (0xC8, 0xFF, Zero, ACBS)
}
If (LNotEqual (ECC9, ACBW))
{
WREC (0xC9, 0xFF, Zero, ACBW)
}
}
If (LGreater (OSYS, 0x07D5))
{
If (LEqual (Arg0, 0x04))
{
Store (HKMD, Local0)
WREC (0xDB, One, Zero, Local0)
}
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
Store (HKEM, Local0)
WREC (0xDB, 0x10, 0x04, Local0)
Store (HSEM, Local0)
WREC (0xDB, 0x20, 0x05, Local0)
FLNK (0x10, One)
FLNK (0x15, 0xFF)
FLNK (0xFF, 0x22)
}
If (LNotEqual (EVCT, Zero))
{
FLNK (0x11, EVCT)
If (LEqual (RDEC (0xDB, 0x20, 0x05), Zero))
{
Store (And (KYB0, 0xFF), Local0)
If (LEqual (Local0, 0xDC))
{
Notify (\_SB.HSB1, 0x02)
}
Else
{
If (LEqual (Local0, 0xDD))
{
Notify (\_SB.HSB2, 0x02)
}
Else
{
Store (KYB0, HSWK)
}
}
Store (Zero, KYB0)
}
}
}
Else
{
If (LNotEqual (EVCT, Zero))
{
Notify (\_SB.FWEX, 0x80)
}
FLNK (0x15, 0xFF)
}
FLNK (0xFF, 0x30)
Release (MUTS)
}
Method (SFNK, 1, NotSerialized)
{
Acquire (MUTS, 0xFFFF)
If (LGreater (OSYS, 0x07D5))
{
Store (Zero, HSWK)
If (LEqual (Arg0, 0x04))
{
Store (RDEC (0xDB, One, Zero), HKMD)
}
}
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
Store (And (ShiftRight (ECB6, 0x03), One), PWBS)
Store (ECC8, ACBS)
Store (ECC9, ACBW)
}
Else
{
If (LEqual (Arg0, 0x05))
{
If (LEqual (ECC8, Zero))
{
WREC (0xC8, 0xFF, Zero, 0x3F)
If (LEqual (ECC9, Zero))
{
WREC (0xC9, 0xFF, Zero, 0x03)
}
}
}
}
If (LGreater (Arg0, 0x02))
{
FLNK (0xFF, 0x21)
}
Release (MUTS)
}
Scope (_PR)
{
Processor (CPU0, 0x01, 0x00000410, 0x06) {}
Processor (CPU1, 0x02, 0x00000410, 0x06) {}
Processor (CPU2, 0x03, 0x00000410, 0x06) {}
Processor (CPU3, 0x04, 0x00000410, 0x06) {}
}
OperationRegion (PRT0, SystemIO, 0x80, 0x04)
Field (PRT0, DWordAcc, Lock, Preserve)
{
P80H, 32
}
Method (P8XH, 2, Serialized)
{
If (LEqual (Arg0, Zero))
{
Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
}
If (LEqual (Arg0, One))
{
Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)
), P80D)
}
If (LEqual (Arg0, 0x02))
{
Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)
), P80D)
}
If (LEqual (Arg0, 0x03))
{
Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)
), P80D)
}
Store (P80D, P80H)
}
Method (TRAP, 2, Serialized)
{
Store (Arg1, SMIF)
If (LEqual (Arg0, TRTP))
{
Store (Zero, TRP0)
}
If (LEqual (Arg0, TRTD))
{
Store (Arg1, DTSF)
Store (Zero, TRPD)
Return (DTSF)
}
If (LEqual (Arg0, TRTI))
{
Store (Zero, TRPH)
}
Return (SMIF)
}
OperationRegion (CMS1, SystemIO, 0x72, 0x02)
Field (CMS1, ByteAcc, NoLock, Preserve)
{
CMSI, 8,
CMSD, 8
}
Method (CMSW, 2, NotSerialized)
{
Store (Arg0, CMSI)
Store (Arg1, CMSD)
}
Method (_PTS, 1, NotSerialized)
{
Acquire (MUTS, 0xFFFF)
\_SB.OSMI (0xFF)
Release (MUTS)
If (LEqual (Arg0, 0x03))
{
Store (0x53, P80H)
}
If (LEqual (Arg0, 0x04))
{
CMSW (0x3F, 0x3F)
}
SFNK (Arg0)
Return (Zero)
}
Method (_WAK, 1, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
If (LAnd (DTSE, CMPE))
{
Store (0x14, DTSF)
Store (Zero, TRPD)
}
Store (One, SSMI)
Acquire (MUTS, 0xFFFF)
\_SB.OSMI (0xC2)
Release (MUTS)
Notify (\_SB.PCI0.EXP5, Zero)
If (SCFG)
{
FLNK (0xFF, 0x31)
If (\_SB.PCI0.LPC.EC0.ECOK)
{
Store (Zero, \_SB.PCI0.LPC.EC0.SATC)
WREC (0xD4, 0xFF, Zero, 0x1E)
}
}
Store (0xE3, P80H)
}
If (LEqual (Arg0, 0x04))
{
If (LAnd (DTSE, CMPE))
{
Store (0x14, DTSF)
Store (Zero, TRPD)
}
If (\_SB.PCI0.LPC.EC0.ECOK)
{
If (RDEC (0xA2, 0xFF, Zero))
{
Notify (\_SB.PWRB, 0x02)
}
}
If (SCFG)
{
FLNK (0xFF, 0x31)
If (\_SB.PCI0.LPC.EC0.ECOK)
{
Store (Zero, \_SB.PCI0.LPC.EC0.SATC)
WREC (0xD4, 0xFF, Zero, 0x1E)
}
}
Store (0xE4, P80H)
}
Acquire (MUTS, 0xFFFF)
FLNK (0x16, 0xF1)
Release (MUTS)
WFNK (Arg0)
Return (Zero)
}
If (LEqual (DAS3, One))
{
Name (_S3, Package (0x04)
{
0x05,
0x05,
Zero,
Zero
})
}
Name (_S4, Package (0x04)
{
0x06,
0x06,
Zero,
Zero
})
Name (_S5, Package (0x04)
{
0x07,
0x07,
Zero,
Zero
})
Scope (_GPE)
{
Method (_L01, 0, NotSerialized)
{
If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.EXP1.HPCS))
{
Sleep (0x64)
If (\_SB.PCI0.EXP1.PDC1)
{
Store (One, \_SB.PCI0.EXP1.PDC1)
Store (One, \_SB.PCI0.EXP1.HPCS)
Notify (\_SB.PCI0.EXP1, Zero)
}
Else
{
Store (One, \_SB.PCI0.EXP1.HPCS)
}
}
If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.EXP2.HPCS))
{
Sleep (0x64)
If (\_SB.PCI0.EXP2.PDC2)
{
Store (One, \_SB.PCI0.EXP2.PDC2)
Store (One, \_SB.PCI0.EXP2.HPCS)
Notify (\_SB.PCI0.EXP2, Zero)
}
Else
{
Store (One, \_SB.PCI0.EXP2.HPCS)
}
}
If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.EXP3.HPCS))
{
Sleep (0x64)
If (\_SB.PCI0.EXP3.PDC3)
{
Store (One, \_SB.PCI0.EXP3.PDC3)
Store (One, \_SB.PCI0.EXP3.HPCS)
Notify (\_SB.PCI0.EXP3, Zero)
}
Else
{
Store (One, \_SB.PCI0.EXP3.HPCS)
}
}
If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.EXP4.HPCS))
{
Sleep (0x64)
If (\_SB.PCI0.EXP4.PDC4)
{
Store (One, \_SB.PCI0.EXP4.PDC4)
Store (One, \_SB.PCI0.EXP4.HPCS)
Notify (\_SB.PCI0.EXP4, Zero)
}
Else
{
Store (One, \_SB.PCI0.EXP4.HPCS)
}
}
If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.EXP5.HPCS))
{
Sleep (0x64)
If (\_SB.PCI0.EXP5.PDC5)
{
Store (One, \_SB.PCI0.EXP5.PDC5)
Store (One, \_SB.PCI0.EXP5.HPCS)
Notify (\_SB.PCI0.EXP5, Zero)
}
Else
{
Store (One, \_SB.PCI0.EXP5.HPCS)
}
}
If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.EXP6.HPCS))
{
Sleep (0x64)
If (\_SB.PCI0.EXP6.PDC6)
{
Store (One, \_SB.PCI0.EXP6.PDC6)
Store (One, \_SB.PCI0.EXP6.HPCS)
Notify (\_SB.PCI0.EXP6, Zero)
}
Else
{
Store (One, \_SB.PCI0.EXP6.HPCS)
}
}
}
Method (_L06, 0, NotSerialized)
{
If (\_SB.PCI0.OVGA.GSSE)
{
\_SB.PCI0.OVGA.GSCI ()
}
Else
{
Store (One, SCIS)
}
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.UHC1, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.UHC2, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.UHC5, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.UHC3, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0E, 0, NotSerialized)
{
Notify (\_SB.PCI0.UHC4, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
Method (_PIC, 1, NotSerialized)
{
Store (Arg0, GPIC)
}
Scope (_TZ)
{
PowerResource (FN00, 0x00, 0x0000)
{
Method (_STA, 0, Serialized)
{
Return (One)
}
Method (_ON, 0, Serialized)
{
}
Method (_OFF, 0, Serialized)
{
}
}
Device (FAN)
{
Name (_HID, EisaId ("PNP0C0B"))
Name (_UID, Zero)
Name (_PR0, Package (0x01)
{
FN00
})
}
ThermalZone (THRM)
{
Method (_TMP, 0, Serialized)
{
If (\_SB.PCI0.LPC.EC0.ECOK)
{
Store (RDEC (0x9C, 0xFF, Zero), Local0)
Return (Add (0x0AAC, Multiply (Local0, 0x0A)))
}
Return (0x0BB8)
}
Method (_AC0, 0, Serialized)
{
If (LLess (FNON, 0x28))
{
Return (0x0D68)
}
Else
{
Return (Add (0x0AAC, Multiply (FNON, 0x0A)))
}
}
Method (_PSV, 0, Serialized)
{
If (LNotEqual (PERN, One))
{
If (LLess (TRON, 0x64))
{
Return (0x0E58)
}
Else
{
Return (0x0EF8)
}
}
Else
{
If (LLess (TRON, 0x64))
{
Return (0x0EBC)
}
Else
{
Return (0x0F20)
}
}
}
Method (_CRT, 0, Serialized)
{
If (LNotEqual (PERN, One))
{
If (LLess (TRON, 0x64))
{
Return (0x0E58)
}
Else
{
Return (0x0EF8)
}
}
Else
{
If (LLess (TRON, 0x64))
{
Return (0x0EBC)
}
Else
{
Return (0x0F20)
}
}
}
Method (_SCP, 1, Serialized)
{
Store (Arg0, CTYP)
}
Name (_AL0, Package (0x01)
{
FAN
})
Method (_PSL, 0, Serialized)
{
If (CMPE)
{
Return (Package (0x02)
{
\_PR.CPU0,
\_PR.CPU1
})
}
Return (Package (0x01)
{
\_PR.CPU0
})
}
Name (_TC1, 0x02)
Name (_TC2, 0x05)
Name (_TSP, 0x012C)
}
}
Method (GETP, 1, Serialized)
{
If (LEqual (And (Arg0, 0x09), Zero))
{
Return (Ones)
}
If (LEqual (And (Arg0, 0x09), 0x08))
{
Return (0x0384)
}
ShiftRight (And (Arg0, 0x0300), 0x08, Local0)
ShiftRight (And (Arg0, 0x3000), 0x0C, Local1)
Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1))
))
}
Method (GDMA, 5, Serialized)
{
If (Arg0)
{
If (Arg1)
{
Return (0x14)
}
If (Arg2)
{
Return (Multiply (Subtract (0x04, Arg3), 0x0F))
}
Return (Multiply (Subtract (0x04, Arg3), 0x1E))
}
Return (Ones)
}
Method (GETT, 1, Serialized)
{
Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02
), 0x03), And (Arg0, 0x03)))))
}
Method (GETF, 3, Serialized)
{
Name (TMPF, Zero)
If (Arg0)
{
Or (TMPF, One, TMPF)
}
If (And (Arg2, 0x02))
{
Or (TMPF, 0x02, TMPF)
}
If (Arg1)
{
Or (TMPF, 0x04, TMPF)
}
If (And (Arg2, 0x20))
{
Or (TMPF, 0x08, TMPF)
}
If (And (Arg2, 0x4000))
{
Or (TMPF, 0x10, TMPF)
}
Return (TMPF)
}
Method (SETP, 3, Serialized)
{
If (LGreater (Arg0, 0xF0))
{
Return (0x08)
}
Else
{
If (And (Arg1, 0x02))
{
If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
{
Return (0x2301)
}
If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
{
Return (0x2101)
}
}
Return (0x1001)
}
}
Method (SDMA, 1, Serialized)
{
If (LLessEqual (Arg0, 0x14))
{
Return (One)
}
If (LLessEqual (Arg0, 0x1E))
{
Return (0x02)
}
If (LLessEqual (Arg0, 0x2D))
{
Return (One)
}
If (LLessEqual (Arg0, 0x3C))
{
Return (0x02)
}
If (LLessEqual (Arg0, 0x5A))
{
Return (One)
}
Return (Zero)
}
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)
{
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
}
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D"))
Method (_LID, 0, NotSerialized)
{
If (^^PCI0.LPC.EC0.ECOK)
{
If (RDEC (0x92, One, Zero))
{
Return (Zero)
}
Else
{
Return (One)
}
}
Else
{
Return (One)
}
}
Name (_PRW, Package (0x02)
{
0x0D,
0x04
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
If (RDEC (0x92, One, Zero))
{
WREC (0xB6, One, Zero, One)
}
Else
{
WREC (0xB6, One, Zero, Zero)
}
}
Else
{
WREC (0xB6, One, Zero, Zero)
}
}
}
Device (ADP0)
{
Name (_PCL, Package (0x01)
{
_SB
})
Name (_HID, "ACPI0003")
Method (_PSR, 0, NotSerialized)
{
If (^^PCI0.LPC.EC0.ECOK)
{
And (ShiftRight (EC92, 0x03), One, Local0)
If (Local0)
{
Return (One)
}
Else
{
Return (Zero)
}
}
Else
{
Return (One)
}
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Device (BAT0)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, One)
Name (_PCL, Package (0x01)
{
_SB
})
Name (BIF1, Package (0x0D)
{
One,
0x10CC,
0x10CC,
One,
0x3A98,
Zero,
Zero,
Zero,
Zero,
"PA3478U-1BAS/BRS",
"0000",
"Li-ion",
""
})
Method (_STA, 0, NotSerialized)
{
If (^^PCI0.LPC.EC0.ECOK)
{
If (And (EC94, One))
{
Return (0x1F)
}
Else
{
Return (0x0F)
}
}
Else
{
Return (0x0F)
}
}
Name (BST1, Package (0x04)
{
One,
0x0A90,
0x1000,
0x23A0
})
Method (_BIF, 0, NotSerialized)
{
If (^^PCI0.LPC.EC0.ECOK)
{
Store (ECAE, Local0)
Store (ECAF, Local5)
ShiftLeft (Local5, 0x08, Local5)
Add (Local0, Local5, Local0)
Store (Local0, Index (BIF1, 0x04))
Store (ECAA, Local0)
Store (ECAB, Local5)
ShiftLeft (Local5, 0x08, Local5)
Add (Local0, Local5, Local0)
Store (Local0, Index (BIF1, 0x02))
Store (ECAC, Local1)
Store (ECAD, Local5)
ShiftLeft (Local5, 0x08, Local5)
Add (Local1, Local5, Local1)
Store (Local1, Index (BIF1, One))
Store (Local0, Index (BIF1, 0x08))
Store (ECDF, Local0)
If (LEqual (Local0, 0x05))
{
If (LEqual (And (ECE2, 0x04), 0x04))
{
Store ("PA3537U-1BRS", Index (BIF1, 0x09))
}
Else
{
Store ("PA3535U-1BRS", Index (BIF1, 0x09))
}
}
If (LEqual (Local0, 0x04))
{
If (LEqual (And (ECE2, 0x04), 0x04))
{
Store ("PA3536U-1BRS", Index (BIF1, 0x09))
}
Else
{
Store ("PA3534U-1BRS", Index (BIF1, 0x09))
}
}
If (LEqual (Local0, 0x03))
{
Store ("PA3533U-1BRS", Index (BIF1, 0x09))
}
If (LEqual (Local0, 0x02))
{
If (LEqual (And (ECE2, 0x04), 0x04))
{
Store ("PA3537U-1BAS", Index (BIF1, 0x09))
}
Else
{
Store ("PA3535U-1BAS", Index (BIF1, 0x09))
}
}
If (LEqual (Local0, One))
{
If (LEqual (And (ECE2, 0x04), 0x04))
{
Store ("PA3536U-1BAS", Index (BIF1, 0x09))
}
Else
{
Store ("PA3534U-1BAS", Index (BIF1, 0x09))
}
}
If (LEqual (Local0, Zero))
{
Store ("PA3533U-1BAS", Index (BIF1, 0x09))
}
Store (ECB9, Local0)
Store (ECBA, Local5)
ShiftLeft (Local5, 0x08, Local5)
Add (Local0, Local5, Local0)
Store (ITOS (Local0), Local1)
Store (Local1, Index (BIF1, 0x0A))
}
Else
{
Store (Ones, Index (BIF1, One))
Store (Ones, Index (BIF1, 0x04))
}
Return (BIF1)
}
Method (_BST, 0, NotSerialized)
{
If (^^PCI0.LPC.EC0.ECOK)
{
And (ShiftRight (EC94, 0x04), One, Local1)
And (EC95, One, Local0)
ShiftLeft (Local1, One, Local2)
Or (Local0, Local2, Local3)
Store (ECC6, Local2)
Multiply (Local2, 0x0100, Local1)
Store (ECC5, Local0)
Add (Local1, Local0, Local1)
Store (Local1, Index (BST1, One))
Store (ECA4, Local0)
If (LLess (Local0, 0x0F))
{
Or (Local3, 0x04, Local3)
}
Store (Local3, Index (BST1, Zero))
Store (DerefOf (Index (BIF1, 0x02)), Local1)
Multiply (Local1, Local0, Local2)
Divide (Local2, 0x64, Local3, Local2)
Add (Local2, One, Local2)
Store (Local2, Index (BST1, 0x02))
Store (DerefOf (Index (BIF1, 0x04)), Local3)
Store (Local3, Index (BST1, 0x03))
}
Else
{
Store (One, Index (BST1, Zero))
Store (Ones, Index (BST1, One))
Store (Ones, Index (BST1, 0x02))
Store (Ones, Index (BST1, 0x03))
}
Return (BST1)
}
}
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"
})
Device (BT)
{
Name (_HID, "TOS6205")
Method (_STA, 0, NotSerialized)
{
And (ShiftRight (EC93, 0x05), One, Local2)
Store (Zero, Local0)
If (Local2)
{
Store (0x0F, Local0)
}
Return (Local0)
}
Method (BTST, 0, NotSerialized)
{
Store (Zero, Local0)
If (LEqual (And (EC93, 0x20), 0x20))
{
And (EC93, 0xC0, Local0)
If (LEqual (And (EC93, 0x10), 0x10))
{
Add (Local0, One, Local0)
}
}
Return (Local0)
}
Method (AUSB, 0, NotSerialized)
{
}
Method (DUSB, 0, NotSerialized)
{
Store (Zero, BTRS)
Acquire (MUTS, 0xFFFF)
FLNK (0x16, 0xFC)
Release (MUTS)
Sleep (0x96)
}
Method (BTPO, 0, NotSerialized)
{
Store (RDEC (0x93, 0x20, 0x05), Local2)
If (Local2)
{
Store (RDEC (0x93, 0x10, 0x04), Local3)
If (Local3)
{
WREC (0x93, 0x80, 0x07, One)
WREC (0x93, 0x40, 0x06, One)
Acquire (MUTS, 0xFFFF)
FLNK (0x16, 0xFA)
Release (MUTS)
Store (One, BTRS)
}
}
}
Method (BTPF, 0, NotSerialized)
{
If (^^PCI0.LPC.EC0.ECOK)
{
Store (RDEC (0x93, 0x20, 0x05), Local2)
If (Local2)
{
Sleep (0xFA)
}
}
}
}
OperationRegion (PSMI, SystemIO, 0xB2, 0x02)
Field (PSMI, ByteAcc, NoLock, Preserve)
{
APMC, 8,
APMD, 8
}
Method (OSMI, 1, NotSerialized)
{
Store (Arg0, APMD)
Store (0xBE, APMC)
Stall (0xFF)
Stall (0xFF)
Stall (0xFF)
Stall (0xFF)
Stall (0xFF)
Stall (0xFF)
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A08"))
Name (_CID, EisaId ("PNP0A03"))
Name (_ADR, Zero)
Method (_INI, 0, NotSerialized)
{
If (CondRefOf (_OSI, Local0))
{
If (_OSI ("Linux"))
{
Store (0x03E8, OSYS)
}
Else
{
Store (0x07D0, 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 (LNotEqual (OSYS, 0x07D6))
{
If (_OSI ("Windows 2006 SP1"))
{
Store (0x07D6, OSYS)
}
Else
{
If (_OSI ("Windows 2006 SP2"))
{
Store (0x07D6, OSYS)
}
}
}
}
}
}
Name (_BBN, Zero)
OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
EPEN, 1,
, 11,
EPBR, 20,
Offset (0x08),
MHEN, 1,
, 13,
MHBR, 18,
Offset (0x20),
PXEN, 1,
PXSZ, 2,
, 23,
PXBR, 6,
Offset (0x28),
DIEN, 1,
, 11,
DIBR, 20,
Offset (0x30),
IPEN, 1,
, 11,
IPBR, 20,
Offset (0x50),
, 4,
PM0H, 2,
Offset (0x51),
PM1L, 2,
, 2,
PM1H, 2,
Offset (0x52),
PM2L, 2,
, 2,
PM2H, 2,
Offset (0x53),
PM3L, 2,
, 2,
PM3H, 2,
Offset (0x54),
PM4L, 2,
, 2,
PM4H, 2,
Offset (0x55),
PM5L, 2,
, 2,
PM5H, 2,
Offset (0x56),
PM6L, 2,
, 2,
PM6H, 2,
Offset (0x57),
, 7,
HENA, 1,
Offset (0x62),
TUUD, 16,
Offset (0x70),
, 4,
TLUD, 12,
Offset (0x89),
, 3,
GTSE, 1,
Offset (0x8A)
}
OperationRegion (MCHT, SystemMemory, 0xFED11000, 0xFF)
Field (MCHT, ByteAcc, NoLock, Preserve)
{
Offset (0x1E),
T0IS, 16,
Offset (0x5E),
T1IS, 16,
Offset (0xEF),
ESCS, 8
}
Name (BUF0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // 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
,, _Y00, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C4000, // Range Minimum
0x000C7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y01, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C8000, // Range Minimum
0x000CBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y02, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000CC000, // Range Minimum
0x000CFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y03, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D0000, // Range Minimum
0x000D3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y04, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D4000, // Range Minimum
0x000D7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y05, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D8000, // Range Minimum
0x000DBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y06, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000DC000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y07, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E0000, // Range Minimum
0x000E3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y08, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E4000, // Range Minimum
0x000E7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y09, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E8000, // Range Minimum
0x000EBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y0A, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000EC000, // Range Minimum
0x000EFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
,, _Y0B, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000F0000, // Range Minimum
0x000FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00010000, // Length
,, _Y0C, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xFEBFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, _Y0D, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0xFED40000, // Range Minimum
0xFED44FFF, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, , AddressRangeMemory, TypeStatic)
})
Method (_CRS, 0, Serialized)
{
If (PM1L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)
Store (Zero, C0LN)
}
If (LEqual (PM1L, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)
Store (Zero, C0RW)
}
If (PM1H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)
Store (Zero, C4LN)
}
If (LEqual (PM1H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)
Store (Zero, C4RW)
}
If (PM2L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)
Store (Zero, C8LN)
}
If (LEqual (PM2L, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)
Store (Zero, C8RW)
}
If (PM2H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)
Store (Zero, CCLN)
}
If (LEqual (PM2H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)
Store (Zero, CCRW)
}
If (PM3L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)
Store (Zero, D0LN)
}
If (LEqual (PM3L, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)
Store (Zero, D0RW)
}
If (PM3H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)
Store (Zero, D4LN)
}
If (LEqual (PM3H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)
Store (Zero, D4RW)
}
If (PM4L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)
Store (Zero, D8LN)
}
If (LEqual (PM4L, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)
Store (Zero, D8RW)
}
If (PM4H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)
Store (Zero, DCLN)
}
If (LEqual (PM4H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)
Store (Zero, DCRW)
}
If (PM5L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)
Store (Zero, E0LN)
}
If (LEqual (PM5L, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)
Store (Zero, E0RW)
}
If (PM5H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)
Store (Zero, E4LN)
}
If (LEqual (PM5H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)
Store (Zero, E4RW)
}
If (PM6L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)
Store (Zero, E8LN)
}
If (LEqual (PM6L, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)
Store (Zero, E8RW)
}
If (PM6H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)
Store (Zero, ECLN)
}
If (LEqual (PM6H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)
Store (Zero, ECRW)
}
If (PM0H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)
Store (Zero, F0LN)
}
If (LEqual (PM0H, One))
{
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)
Store (Zero, F0RW)
}
CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)
CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)
ShiftLeft (TLUD, 0x14, M1MN)
Add (Subtract (M1MX, M1MN), One, M1LN)
Return (BUF0)
}
Method (_PRT, 0, NotSerialized)
{
If (LEqual (GPIC, Zero))
{
Return (Package (0x1B)
{
Package (0x04)
{
0x0001FFFF,
Zero,
^LPC.LNKA,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
^LPC.LNKB,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
^LPC.LNKC,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
^LPC.LNKD,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
^LPC.LNKA,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
^LPC.LNKA,
Zero
},
Package (0x04)
{
0x0003FFFF,
One,
^LPC.LNKB,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x02,
^LPC.LNKC,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x03,
^LPC.LNKD,
Zero
},
Package (0x04)
{
0x0019FFFF,
Zero,
^LPC.LNKE,
Zero
},
Package (0x04)
{
0x001AFFFF,
Zero,
^LPC.LNKA,
Zero
},
Package (0x04)
{
0x001AFFFF,
One,
^LPC.LNKF,
Zero
},
Package (0x04)
{
0x001AFFFF,
0x02,
^LPC.LNKC,
Zero
},
Package (0x04)
{
0x001AFFFF,
0x03,
^LPC.LNKD,
Zero
},
Package (0x04)
{
0x001BFFFF,
Zero,
^LPC.LNKG,
Zero
},
Package (0x04)
{
0x001CFFFF,
Zero,
^LPC.LNKB,
Zero
},
Package (0x04)
{
0x001CFFFF,
One,
^LPC.LNKA,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x02,
^LPC.LNKC,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x03,
^LPC.LNKD,
Zero
},
Package (0x04)
{
0x001DFFFF,
Zero,
^LPC.LNKH,
Zero
},
Package (0x04)
{
0x001DFFFF,
One,
^LPC.LNKD,
Zero
},
Package (0x04)
{
0x001DFFFF,
0x02,
^LPC.LNKC,
Zero
},
Package (0x04)
{
0x001DFFFF,
0x03,
^LPC.LNKA,
Zero
},
Package (0x04)
{
0x001FFFFF,
Zero,
^LPC.LNKC,
Zero
},
Package (0x04)
{
0x001FFFFF,
One,
^LPC.LNKD,
Zero
},
Package (0x04)
{
0x001FFFFF,
0x02,
^LPC.LNKC,
Zero
},
Package (0x04)
{
0x001FFFFF,
0x03,
^LPC.LNKA,
Zero
}
})
}
Else
{
Return (Package (0x1B)
{
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0003FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0003FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0003FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0003FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0019FFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x001AFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x001AFFFF,
One,
Zero,
0x15
},
Package (0x04)
{
0x001AFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001AFFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x001BFFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0x001CFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x001CFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001CFFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x001DFFFF,
Zero,
Zero,
0x17
},
Package (0x04)
{
0x001DFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
Zero,
0x10
},
Package (0x04)
{
0x001FFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0x001FFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0x001FFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001FFFFF,
0x03,
Zero,
0x10
}
})
}
}
Device (OVGA)
{
Name (_ADR, 0x00020000)
Name (BCML, 0x64)
Method (_STA, 0, NotSerialized)
{
If (IGDS)
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
Method (_DOS, 1, NotSerialized)
{
Store (And (Arg0, 0x07), DSEN)
}
Method (_DOD, 0, NotSerialized)
{
Store (Zero, NDID)
If (LNotEqual (DIDL, Zero))
{
Store (SDDL (DID1), DID1)
}
If (LNotEqual (DDL2, Zero))
{
Store (SDDL (DID2), DID2)
}
If (LNotEqual (DDL3, Zero))
{
Store (SDDL (DID3), DID3)
}
If (LNotEqual (DDL4, Zero))
{
Store (SDDL (DID4), DID4)
}
If (LNotEqual (DDL5, Zero))
{
Store (SDDL (DID5), DID5)
}
If (LEqual (NDID, One))
{
Name (TMP1, Package (0x01)
{
Ones
})
Store (Or (0x00010000, DID1), Index (TMP1, Zero))
Return (TMP1)
}
If (LEqual (NDID, 0x02))
{
Name (TMP2, Package (0x02)
{
Ones,
Ones
})
Store (Or (0x00010000, DID1), Index (TMP2, Zero))
Store (Or (0x00010000, DID2), Index (TMP2, One))
Return (TMP2)
}
If (LEqual (NDID, 0x03))
{
Name (TMP3, Package (0x03)
{
Ones,
Ones,
Ones
})
Store (Or (0x00010000, DID1), Index (TMP3, Zero))
Store (Or (0x00010000, DID2), Index (TMP3, One))
Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
Return (TMP3)
}
If (LEqual (NDID, 0x04))
{
Name (TMP4, Package (0x04)
{
Ones,
Ones,
Ones,
Ones
})
Store (Or (0x00010000, DID1), Index (TMP4, Zero))
Store (Or (0x00010000, DID2), Index (TMP4, One))
Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
Return (TMP4)
}
If (LGreater (NDID, 0x04))
{
Name (TMP5, Package (0x05)
{
Ones,
Ones,
Ones,
Ones,
Ones
})
Store (Or (0x00010000, DID1), Index (TMP5, Zero))
Store (Or (0x00010000, DID2), Index (TMP5, One))
Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
Store (Or (0x00010000, DID5), Index (TMP5, 0x04))
Return (TMP5)
}
Return (Package (0x01)
{
0x0400
})
}
Device (DD01)
{
Method (_ADR, 0, Serialized)
{
If (LEqual (DID1, Zero))
{
Return (One)
}
Else
{
Return (And (0xFFFF, DID1))
}
}
Method (_DCS, 0, NotSerialized)
{
Return (CDDS (DID1))
}
Method (_DGS, 0, NotSerialized)
{
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)
{
Return (CDDS (DID2))
}
Method (_DGS, 0, NotSerialized)
{
Return (NDDS (DID2))
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
}
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)
{
Return (NDDS (DID3))
}
Method (_DSS, 1, NotSerialized)
{
If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
{
Store (NSTE, CSTE)
}
}
Name (BRLV, Package (0x0A)
{
0x5A,
0x23,
0x0A,
0x19,
0x23,
0x32,
0x3C,
0x4B,
0x5A,
0x64
})
Method (_BCL, 0, NotSerialized)
{
Return (BRLV)
}
Method (_BQC, 0, Serialized)
{
Return (BCML)
}
Method (_BCM, 1, Serialized)
{
Acquire (MUTS, 0xFFFF)
Store (Arg0, BCML)
Store (SizeOf (BRLV), Local0)
While (Local0)
{
Decrement (Local0)
Store (DerefOf (Index (BRLV, Local0)), Local1)
If (LEqual (Arg0, Local1))
{
Break
}
}
Subtract (Local0, 0x02, Local0)
Store (Local0, BRTL)
OSMI (0xA2)
Release (MUTS)
}
}
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)
{
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)
{
Return (NDDS (DID5))
}
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)
{
If (LEqual (CADL, And (Arg0, 0x0F0F)))
{
Return (0x1F)
}
If (LEqual (CAL2, And (Arg0, 0x0F0F)))
{
Return (0x1F)
}
If (LEqual (CAL3, And (Arg0, 0x0F0F)))
{
Return (0x1F)
}
If (LEqual (CAL4, And (Arg0, 0x0F0F)))
{
Return (0x1F)
}
If (LEqual (CAL5, And (Arg0, 0x0F0F)))
{
Return (0x1F)
}
If (LEqual (CAL6, And (Arg0, 0x0F0F)))
{
Return (0x1F)
}
If (LEqual (CAL7, And (Arg0, 0x0F0F)))
{
Return (0x1F)
}
If (LEqual (CAL8, And (Arg0, 0x0F0F)))
{
Return (0x1F)
}
Return (0x1D)
}
Method (NDDS, 1, NotSerialized)
{
If (LEqual (NADL, And (Arg0, 0x0F0F)))
{
Return (One)
}
If (LEqual (NDL2, And (Arg0, 0x0F0F)))
{
Return (One)
}
If (LEqual (NDL3, And (Arg0, 0x0F0F)))
{
Return (One)
}
If (LEqual (NDL4, And (Arg0, 0x0F0F)))
{
Return (One)
}
If (LEqual (NDL5, And (Arg0, 0x0F0F)))
{
Return (One)
}
If (LEqual (NDL6, And (Arg0, 0x0F0F)))
{
Return (One)
}
If (LEqual (NDL7, And (Arg0, 0x0F0F)))
{
Return (One)
}
If (LEqual (NDL8, And (Arg0, 0x0F0F)))
{
Return (One)
}
Return (Zero)
}
Method (STBL, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (0x0400, NADL)
Store (Zero, NDL2)
}
If (LEqual (CADL, 0x0100))
{
If (LEqual (CAL2, Zero))
{
Store (0x0400, NADL)
Store (Zero, NDL2)
}
}
If (LEqual (CADL, 0x0400))
{
If (LEqual (CAL2, 0x0100))
{
Store (0x0100, NADL)
Store (Zero, NDL2)
}
}
If (LEqual (CADL, 0x03))
{
Store (0x0400, NADL)
Store (0x0200, NDL2)
}
If (LEqual (CADL, 0x0400))
{
If (LEqual (CAL2, Zero))
{
Store (0x0100, NADL)
Store (0x0400, NDL2)
}
}
}
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))
{
Acquire (MUTS, 0xFFFF)
OSMI (0x56)
Store (PRM1, PARM)
Store (Zero, GESF)
Release (MUTS)
Return (SUCC)
}
If (LEqual (GESF, 0x07))
{
Store (GIVD, PARM)
XOr (PARM, One, PARM)
Or (PARM, ShiftLeft (GMFN, One), PARM)
Or (PARM, 0x1800, PARM)
Or (PARM, ShiftLeft (IDMS, 0x11), PARM)
Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL
)), 0x15), PARM, PARM)
Store (One, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x0A))
{
Store (Zero, PARM)
If (ISSC)
{
Or (PARM, 0x03, PARM)
}
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x0B))
{
Store (KSV0, PARM)
Store (KSV1, GESF)
Return (SUCC)
}
Store (Zero, GESF)
Return (CRIT)
}
Method (SBCB, 0, Serialized)
{
If (LEqual (GESF, Zero))
{
Store (Zero, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, One))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x03))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x04))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x05))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x06))
{
Acquire (MUTS, 0xFFFF)
Store (PARM, PRM0)
OSMI (0x57)
Store (Zero, GESF)
Store (Zero, PARM)
Release (MUTS)
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 (OVGA, Arg1)
}
}
Notify (OVGA, 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 (Zero, LBPC)
Return (Zero)
}
Method (SCIP, 0, NotSerialized)
{
If (LNotEqual (OVER, Zero))
{
Return (LNot (GSMI))
}
Return (Zero)
}
}
Device (P32)
{
Name (_ADR, 0x001E0000)
Method (_PRW, 0, NotSerialized)
{
If (LEqual (WKPM, One))
{
Return (Package (0x02)
{
0x0B,
0x04
})
}
Else
{
Return (Package (0x02)
{
0x0B,
Zero
})
}
}
Method (_PRT, 0, NotSerialized)
{
If (LEqual (GPIC, Zero))
{
Return (Package (0x01)
{
Package (0x04)
{
0x0006FFFF,
Zero,
^^LPC.LNKC,
Zero
}
})
}
Else
{
Return (Package (0x01)
{
Package (0x04)
{
0x0006FFFF,
Zero,
Zero,
0x12
}
})
}
}
}
Device (LPC)
{
Name (_ADR, 0x001F0000)
OperationRegion (PRR0, PCI_Config, 0x60, 0x04)
Field (PRR0, AnyAcc, NoLock, Preserve)
{
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
OperationRegion (PRR1, PCI_Config, 0x68, 0x04)
Field (PRR1, AnyAcc, NoLock, Preserve)
{
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8
}
OperationRegion (PRR2, PCI_Config, 0x80, 0x02)
Field (PRR2, AnyAcc, NoLock, Preserve)
{
IODL, 8,
IODH, 8
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Method (_STA, 0, NotSerialized)
{
If (And (PIRA, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{0}
})
CreateWordField (BUF0, One, IRQW)
If (And (PIRA, 0x80))
{
Store (Zero, Local0)
}
Else
{
Store (One, Local0)
}
ShiftLeft (Local0, And (PIRA, 0x0F), IRQW)
Return (BUF0)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,7,9,10,11,12}
})
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQW)
FindSetRightBit (IRQW, Local0)
If (LNotEqual (IRQW, Zero))
{
And (Local0, 0x7F, Local0)
Decrement (Local0)
}
Else
{
Or (Local0, 0x80, Local0)
}
Store (Local0, PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
If (And (PIRB, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRB, 0x80, PIRB)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{0}
})
CreateWordField (BUF0, One, IRQW)
If (And (PIRB, 0x80))
{
Store (Zero, Local0)
}
Else
{
Store (One, Local0)
}
ShiftLeft (Local0, And (PIRB, 0x0F), IRQW)
Return (BUF0)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,7,9,10,11,12}
})
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQW)
FindSetRightBit (IRQW, Local0)
If (LNotEqual (IRQW, Zero))
{
And (Local0, 0x7F, Local0)
Decrement (Local0)
}
Else
{
Or (Local0, 0x80, Local0)
}
Store (Local0, PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
If (And (PIRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRC, 0x80, PIRC)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{0}
})
CreateWordField (BUF0, One, IRQW)
If (And (PIRC, 0x80))
{
Store (Zero, Local0)
}
Else
{
Store (One, Local0)
}
ShiftLeft (Local0, And (PIRC, 0x0F), IRQW)
Return (BUF0)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,7,9,10,11,12}
})
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQW)
FindSetRightBit (IRQW, Local0)
If (LNotEqual (IRQW, Zero))
{
And (Local0, 0x7F, Local0)
Decrement (Local0)
}
Else
{
Or (Local0, 0x80, Local0)
}
Store (Local0, PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
If (And (PIRD, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRD, 0x80, PIRD)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{0}
})
CreateWordField (BUF0, One, IRQW)
If (And (PIRD, 0x80))
{
Store (Zero, Local0)
}
Else
{
Store (One, Local0)
}
ShiftLeft (Local0, And (PIRD, 0x0F), IRQW)
Return (BUF0)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,7,9,10,11,12}
})
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQW)
FindSetRightBit (IRQW, Local0)
If (LNotEqual (IRQW, Zero))
{
And (Local0, 0x7F, Local0)
Decrement (Local0)
}
Else
{
Or (Local0, 0x80, Local0)
}
Store (Local0, PIRD)
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
If (And (PIRE, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRE, 0x80, PIRE)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{0}
})
CreateWordField (BUF0, One, IRQW)
If (And (PIRE, 0x80))
{
Store (Zero, Local0)
}
Else
{
Store (One, Local0)
}
ShiftLeft (Local0, And (PIRE, 0x0F), IRQW)
Return (BUF0)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,7,9,10,11,12}
})
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQW)
FindSetRightBit (IRQW, Local0)
If (LNotEqual (IRQW, Zero))
{
And (Local0, 0x7F, Local0)
Decrement (Local0)
}
Else
{
Or (Local0, 0x80, Local0)
}
Store (Local0, PIRE)
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_STA, 0, NotSerialized)
{
If (And (PIRF, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRF, 0x80, PIRF)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{0}
})
CreateWordField (BUF0, One, IRQW)
If (And (PIRF, 0x80))
{
Store (Zero, Local0)
}
Else
{
Store (One, Local0)
}
ShiftLeft (Local0, And (PIRF, 0x0F), IRQW)
Return (BUF0)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,7,9,10,11,12}
})
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQW)
FindSetRightBit (IRQW, Local0)
If (LNotEqual (IRQW, Zero))
{
And (Local0, 0x7F, Local0)
Decrement (Local0)
}
Else
{
Or (Local0, 0x80, Local0)
}
Store (Local0, PIRF)
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
If (And (PIRG, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRG, 0x80, PIRG)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{0}
})
CreateWordField (BUF0, One, IRQW)
If (And (PIRG, 0x80))
{
Store (Zero, Local0)
}
Else
{
Store (One, Local0)
}
ShiftLeft (Local0, And (PIRG, 0x0F), IRQW)
Return (BUF0)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,7,9,10,11,12}
})
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQW)
FindSetRightBit (IRQW, Local0)
If (LNotEqual (IRQW, Zero))
{
And (Local0, 0x7F, Local0)
Decrement (Local0)
}
Else
{
Or (Local0, 0x80, Local0)
}
Store (Local0, PIRG)
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
If (And (PIRH, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRH, 0x80, PIRH)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{0}
})
CreateWordField (BUF0, One, IRQW)
If (And (PIRH, 0x80))
{
Store (Zero, Local0)
}
Else
{
Store (One, Local0)
}
ShiftLeft (Local0, And (PIRH, 0x0F), IRQW)
Return (BUF0)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,7,9,10,11,12}
})
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQW)
FindSetRightBit (IRQW, Local0)
If (LNotEqual (IRQW, Zero))
{
And (Local0, 0x7F, Local0)
Decrement (Local0)
}
Else
{
Or (Local0, 0x80, Local0)
}
Store (Local0, PIRH)
}
}
Device (SYSR)
{
Name (_HID, EisaId ("PNP0C02"))
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,
0x164E, // Range Minimum
0x164E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0061, // Range Minimum
0x0061, // 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,
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,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0810, // Range Minimum
0x0810, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0820, // Range Minimum
0x0820, // Range Maximum
0x01, // Alignment
0x04, // 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,
0x0580, // Range Minimum
0x0580, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x0600, // Range Minimum
0x0600, // Range Maximum
0x01, // Alignment
0x28, // Length
)
IO (Decode16,
0x0068, // Range Minimum
0x0068, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x006C, // Range Minimum
0x006C, // Range Maximum
0x01, // Alignment
0x01, // Length
)
Memory32Fixed (ReadWrite,
0xF8000000, // Address Base
0x04000000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED1C000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED10000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED18000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED19000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEC00000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED20000, // Address Base
0x00070000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEE00000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFF800000, // Address Base
0x00800000, // Address Length
)
})
}
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 (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{8}
})
Method (_CRS, 0, Serialized)
{
If (LEqual (HPTS, One))
{
Return (BUF0)
}
Else
{
Return (BUF1)
}
}
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (BUF0, ResourceTemplate ()
{
IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
_Y0E)
})
Method (_STA, 0, NotSerialized)
{
If (LGreaterEqual (OSYS, 0x07D1))
{
If (LEqual (HPTS, One))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Else
{
If (HPTS)
{
Return (0x0B)
}
Else
{
Return (Zero)
}
}
}
Method (_CRS, 0, Serialized)
{
If (LEqual (HPTS, One))
{
CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y0E._BAS, HPT0)
If (LEqual (HPTA, One))
{
Store (0xFED01000, HPT0)
}
If (LEqual (HPTA, 0x02))
{
Store (0xFED02000, HPT0)
}
If (LEqual (HPTA, 0x03))
{
Store (0xFED03000, HPT0)
}
}
Return (BUF0)
}
}
Device (PIC)
{
Name (_HID, 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 (FPU)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{13}
})
}
Device (TIMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (BUF0, 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
)
})
Name (BUF1, 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}
})
Method (_CRS, 0, Serialized)
{
If (HPTS)
{
Return (BUF0)
}
Return (BUF1)
}
}
Device (KBC)
{
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}
})
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Device (MOUE)
{
Method (_HID, 0, NotSerialized)
{
If (LEqual (TPID, One))
{
Return (0x130FD041)
}
Return (0x13192E4F)
}
Name (_CID, Package (0x03)
{
EisaId ("SYN1900"),
EisaId ("SYN0002"),
EisaId ("PNP0F13")
})
Name (_CRS, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, )
{12}
})
Method (_STA, 0, NotSerialized)
{
If (PTDV)
{
Return (0x0F)
}
Return (Zero)
}
}
Device (WCIR)
{
Method (_STA, 0, NotSerialized)
{
If (GP29)
{
If (ICIR)
{
Return (0x0F)
}
}
Return (Zero)
}
Method (_HID, 0, NotSerialized)
{
If (LLess (OSYS, 0x07D6))
{
Return (0x2310A35C)
}
Return (0x2010A35C)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0620, // Range Minimum
0x0620, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0600, // Range Minimum
0x0600, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IRQ (Edge, ActiveHigh, Exclusive, )
{4}
})
}
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09"))
Name (_GPE, 0x16)
Name (ECOK, Zero)
Name (SATC, Zero)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
If (LEqual (Arg1, One))
{
Store (One, ECOK)
Store (KSST, Local0)
Notify (ADP0, Zero)
Notify (BAT0, 0x80)
Acquire (MUTS, 0xFFFF)
FLNK (0xFF, 0x22)
If (LGreater (OSYS, 0x07D5))
{
WREC (0xDB, One, Zero, One)
FLNK (0x14, One)
Store (One, HKEM)
WREC (0xDB, 0x10, 0x04, One)
Store (One, HSEM)
WREC (0xDB, 0x20, 0x05, One)
If (LNotEqual (EVCT, Zero))
{
FLNK (0x11, EVCT)
Store (And (KYB0, 0xFF), HSWK)
Store (Zero, KYB0)
}
FLNK (0x10, One)
FLNK (0x15, 0xFF)
}
Else
{
WREC (0xDB, One, Zero, Zero)
FLNK (0x15, 0xFF)
}
Release (MUTS)
_Q41 ()
}
Else
{
Store (Zero, ECOK)
}
}
Acquire (MUTS, 0xFFFF)
FLNK (0x30, Zero)
Release (MUTS)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0066, // Range Minimum
0x0066, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x90),
Offset (0x91),
Offset (0x92),
LIDE, 1,
DOCK, 1,
FNST, 1,
ACST, 1,
, 1,
, 1,
, 1,
Offset (0x93),
SMIE, 1,
WLST, 1,
BTRT, 1,
WLIF, 1,
KSST, 1,
BTST, 1,
BION, 1,
BTON, 1,
B1EX, 1,
, 3,
B1CG, 1,
Offset (0x95),
B1DC, 1,
, 3,
B1CF, 1,
Offset (0x96),
L1B1, 1,
, 3,
L1B2, 1,
Offset (0x97),
CPTO, 8,
Offset (0x99),
BL1P, 7,
Offset (0x9A),
BL2P, 7,
Offset (0x9B),
Offset (0x9C),
CCTV, 8,
CCLT, 8,
CCHT, 8,
CCST, 8,
CFAS, 8,
Offset (0xA2),
WKSV, 8,
BNDT, 8,
B1PT, 8,
Offset (0xA7),
BLEC, 1,
Offset (0xA8),
B1RL, 8,
B1RH, 8,
B1FL, 8,
B1FH, 8,
B1DL, 8,
B1DH, 8,
B1VL, 8,
B1VH, 8,
Offset (0xB4),
OTCD, 8,
Offset (0xB6),
WKLD, 1,
WKKY, 1,
WKLN, 1,
Offset (0xB8),
, 1,
SWI4, 1,
SDPF, 1,
Offset (0xB9),
B1SL, 8,
B1SH, 8,
POHV, 8,
Offset (0xBD),
B1PL, 8,
B1PH, 8,
Offset (0xC1),
THOF, 8,
THON, 8,
VFON, 8,
VFOF, 8,
BPRL, 8,
BPRH, 8,
Offset (0xC8),
BUT0, 1,
BUT1, 1,
BUT2, 1,
BUT3, 1,
BUT4, 1,
BUT5, 1,
, 1,
Offset (0xC9),
BU0W, 1,
BU1W, 1,
BU2W, 1,
BU3W, 1,
BU4W, 1,
BU5W, 1,
, 1,
Offset (0xCA),
PDSE, 8,
VGAL, 8,
ECTR, 8,
Offset (0xCF),
VGAR, 8,
Offset (0xD1),
VGAS, 8,
Offset (0xD7),
CPUT, 8,
Offset (0xD9),
PANT, 8,
Offset (0xDB),
VKEY, 1,
, 3,
KEMU, 1,
HEMU, 1,
Offset (0xDF),
BCEL, 8,
Offset (0xE3),
CCIR, 1
}
Method (_Q11, 0, NotSerialized)
{
Store (0x11, P80H)
Acquire (MUTS, 0xFFFF)
OSMI (0xC2)
Release (MUTS)
Notify (\_TZ.THRM, 0x81)
}
Method (_Q13, 0, NotSerialized)
{
Store (0x13, P80H)
Notify (ADP0, Zero)
Notify (BAT0, 0x80)
Notify (BAT0, 0x81)
}
Method (_Q14, 0, NotSerialized)
{
Notify (LID0, 0x80)
}
Method (_Q19, 0, NotSerialized)
{
Store (0x19, P80H)
Notify (ADP0, Zero)
Notify (BAT0, 0x80)
Notify (BAT0, 0x81)
}
Method (_Q25, 0, NotSerialized)
{
If (IGDS)
{
If (^^^PEGP.VGA.DOSA)
{
Acquire (MUTS, 0xFFFF)
OSMI (0xA7)
Release (MUTS)
^^^PEGP.VGA.UDCS ()
}
Else
{
^^^PEGP.VGA.UDCS ()
Notify (^^^PEGP.VGA, 0x80)
}
^^^PEGP.VGA.UDGS ()
}
Else
{
If (DSEN)
{
Acquire (MUTS, 0xFFFF)
OSMI (0xA8)
Increment (NSTE)
If (LGreater (NSTE, 0x04))
{
Store (Zero, NSTE)
}
OSMI (0xA7)
Release (MUTS)
}
Else
{
^^^OVGA.STBL (One)
^^^OVGA.GHDS (One)
}
}
}
Method (_Q26, 0, NotSerialized)
{
If (IGDS)
{
Store (Zero, ^^^PEGP.VGA.CRT._DGS)
Store (One, ^^^PEGP.VGA.LCD._DGS)
Store (Zero, ^^^PEGP.VGA.TV._DGS)
Store (Zero, ^^^PEGP.VGA.CSTT)
Notify (^^^PEGP.VGA, 0x80)
}
Else
{
If (DSEN)
{
Acquire (MUTS, 0xFFFF)
Store (Zero, NSTE)
OSMI (0xA7)
Release (MUTS)
}
Else
{
If (LLess (OSYS, 0x07D6))
{
^^^OVGA.STBL (Zero)
^^^OVGA.GHDS (One)
}
Else
{
^^^OVGA.GHDS (0x02)
}
}
}
}
Method (_Q27, 0, NotSerialized)
{
}
Method (_Q28, 0, NotSerialized)
{
If (ECOK)
{
If (LEqual (And (EC93, 0x30), 0x30))
{
WREC (0x93, 0x80, 0x07, One)
WREC (0x93, 0x40, 0x06, One)
Store (One, BTRS)
}
}
Notify (BT, Zero)
}
Method (_Q29, 0, NotSerialized)
{
If (ECOK)
{
If (LEqual (And (EC93, 0x30), 0x30))
{
WREC (0x93, 0x80, 0x07, Zero)
WREC (0x93, 0x40, 0x06, Zero)
Store (Zero, BTRS)
}
}
Notify (BT, Zero)
}
Method (_Q31, 0, NotSerialized)
{
Acquire (MUTS, 0xFFFF)
If (LLess (OSYS, 0x07D6))
{
If (LEqual (THRF, Zero))
{
Store (Zero, PRM0)
}
Else
{
Store (One, PRM0)
}
OSMI (0xC0)
}
Else
{
If (LEqual (THRF, Zero))
{
Store (Zero, THDT)
}
Else
{
Store (0x18, THDT)
}
}
Release (MUTS)
Notify (\_TZ.THRM, 0x81)
}
Method (_Q32, 0, NotSerialized)
{
}
Method (_Q33, 0, NotSerialized)
{
}
Method (_Q34, 0, NotSerialized)
{
}
Method (_Q40, 0, NotSerialized)
{
Acquire (MUTS, 0xFFFF)
OSMI (0xC1)
Release (MUTS)
Notify (\_TZ.THRM, 0x81)
}
Method (_Q41, 0, NotSerialized)
{
Store (And (CPUS, 0x80), Local0)
Store (And (CPUS, 0x7F), Local1)
If (LEqual (Local0, Zero))
{
If (LEqual (THRF, Zero))
{
Store (CPUL, ACPS)
}
Else
{
Decrement (Local1)
Store (Local1, ACPS)
}
}
Notify (\_PR.CPU0, 0x80)
Sleep (0x64)
Notify (\_PR.CPU1, 0x80)
}
Method (CMRC, 0, Serialized)
{
Store (Ones, CMR1)
Store (Ones, CMR2)
Store (Ones, CMR3)
Store (Ones, CMR4)
Store (Ones, CMR5)
}
Method (CMWC, 0, Serialized)
{
Store (Ones, CMW1)
Store (Ones, CMW2)
Store (Ones, CMW3)
Store (Ones, CMW4)
Store (Ones, CMW5)
}
Method (CMRR, 0, Serialized)
{
Store (CMR1, CEC1)
Store (CMR2, CEC2)
Store (CMR3, CEC3)
Store (CMR4, CEC4)
Store (CMR5, CEC5)
CMRC ()
}
Method (CECR, 0, Serialized)
{
If (LEqual (CMR1, Ones))
{
If (LEqual (CMR2, Ones))
{
If (LEqual (CMR3, Ones))
{
If (LEqual (CMR4, Ones))
{
If (LEqual (CMR5, Ones))
{
Return (Zero)
}
}
}
}
}
Return (One)
}
Method (_Q50, 0, NotSerialized)
{
If (TSBK)
{
Acquire (MUTS, 0xFFFF)
Store (0x1581, CECI)
FLNK (0xFF, 0x05)
Release (MUTS)
Notify (VALZ, 0x80)
}
}
Method (_Q51, 0, NotSerialized)
{
If (TSBK)
{
Acquire (MUTS, 0xFFFF)
Store (0x1580, CECI)
FLNK (0xFF, 0x05)
Release (MUTS)
Notify (VALZ, 0x80)
}
}
Method (_Q52, 0, NotSerialized)
{
If (TSBK)
{
Acquire (MUTS, 0xFFFF)
If (LEqual (CECR (), One))
{
CMRR ()
FLNK (0xFF, 0x06)
Store (0x1500, CECI)
FLNK (0xFF, 0x05)
Release (MUTS)
Notify (VALZ, 0x80)
}
Else
{
Release (MUTS)
}
}
}
Method (_Q53, 0, NotSerialized)
{
If (TSBK)
{
Acquire (MUTS, 0xFFFF)
If (LEqual (CECR (), One))
{
CMRR ()
FLNK (0xFF, 0x07)
Store (0x1501, CECI)
FLNK (0xFF, 0x05)
Release (MUTS)
Notify (VALZ, 0x80)
}
Else
{
Release (MUTS)
}
}
}
Method (_Q54, 0, NotSerialized)
{
If (TSBK)
{
Acquire (MUTS, 0xFFFF)
If (LEqual (CECR (), One))
{
CMRR ()
FLNK (0xFF, 0x08)
Store (0x1502, CECI)
FLNK (0xFF, 0x05)
Release (MUTS)
Notify (VALZ, 0x80)
}
Else
{
Release (MUTS)
}
}
}
Method (_Q55, 0, NotSerialized)
{
If (TSBK)
{
Acquire (MUTS, 0xFFFF)
If (LEqual (CECR (), One))
{
Add (And (CMR1, 0xFF), 0x1400, CECI)
And (CECI, 0xFF, CECZ)
FLNK (0xFF, 0x05)
CMRC ()
Release (MUTS)
Notify (VALZ, 0x80)
}
Else
{
Release (MUTS)
}
}
}
Method (_Q56, 0, NotSerialized)
{
If (TSBK)
{
Acquire (MUTS, 0xFFFF)
If (LEqual (CECR (), One))
{
Add (And (CMR1, 0xFF), 0x1600, CECI)
FLNK (0xFF, 0x05)
CMRC ()
Release (MUTS)
Notify (VALZ, 0x80)
}
Else
{
Release (MUTS)
}
}
}
Method (_Q59, 0, NotSerialized)
{
Acquire (MUTS, 0xFFFF)
FLNK (0x16, 0xFB)
Release (MUTS)
}
Method (_Q60, 0, NotSerialized)
{
If (LLess (OSYS, 0x07D6))
{
Notify (FWEX, 0x80)
}
Else
{
If (TSBK)
{
Notify (VALZ, 0x80)
}
Else
{
If (LNotEqual (EVCT, Zero))
{
Acquire (MUTS, 0xFFFF)
FLNK (0x11, EVCT)
Store (And (KYB0, 0xFF), Local0)
Store (Zero, KYB0)
Release (MUTS)
}
}
}
}
Method (_Q61, 0, NotSerialized)
{
Notify (HSB1, 0x80)
}
Method (_Q62, 0, NotSerialized)
{
Notify (HSB2, 0x80)
}
Method (_Q63, 0, NotSerialized)
{
If (IGDS)
{
Notify (^^^PEGP.VGA.LCD, 0x87)
}
Else
{
Notify (^^^OVGA.DD03, 0x87)
}
}
Method (_Q64, 0, NotSerialized)
{
If (IGDS)
{
Notify (^^^PEGP.VGA.LCD, 0x86)
}
Else
{
Notify (^^^OVGA.DD03, 0x86)
}
}
Method (_Q71, 0, NotSerialized)
{
Acquire (MUTS, 0xFFFF)
OSMI (0xFD)
Release (MUTS)
}
Method (_Q80, 0, NotSerialized)
{
If (Not (GP39))
{
Acquire (MUTS, 0xFFFF)
Store (0x80, APMD)
Store (0xBE, APMC)
Release (MUTS)
}
}
Method (_Q81, 0, NotSerialized)
{
If (Not (GP39))
{
Acquire (MUTS, 0xFFFF)
Store (0x81, APMD)
Store (0xBE, APMC)
Release (MUTS)
}
}
Method (_Q98, 0, NotSerialized)
{
If (ECOK)
{
If (LLess (SATC, 0x05))
{
If (SCFG)
{
FLNK (0xFF, 0x31)
}
Increment (SATC)
WREC (0xD4, 0xFF, Zero, 0x1E)
}
}
}
}
}
Device (UHC1)
{
Name (_ADR, 0x001D0000)
Name (_PRW, Package (0x02)
{
0x03,
0x03
})
OperationRegion (USBR, PCI_Config, 0xC4, One)
Field (USBR, AnyAcc, NoLock, Preserve)
{
URES, 8
}
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (Zero, URES)
}
If (LEqual (Arg0, One))
{
Store (0x03, URES)
}
}
}
Device (UHC2)
{
Name (_ADR, 0x001D0001)
Name (_PRW, Package (0x02)
{
0x04,
0x03
})
OperationRegion (USBR, PCI_Config, 0xC4, One)
Field (USBR, AnyAcc, NoLock, Preserve)
{
URES, 8
}
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (Zero, URES)
}
If (LEqual (Arg0, One))
{
Store (0x03, URES)
}
}
}
Device (UHC3)
{
Name (_ADR, 0x001D0002)
OperationRegion (USBR, PCI_Config, 0xC4, One)
Field (USBR, AnyAcc, NoLock, Preserve)
{
URES, 8
}
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (Zero, URES)
}
If (LEqual (Arg0, One))
{
Store (0x03, URES)
}
}
}
Device (UHC4)
{
Name (_ADR, 0x001A0000)
OperationRegion (USBR, PCI_Config, 0xC4, One)
Field (USBR, AnyAcc, NoLock, Preserve)
{
URES, 8
}
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (Zero, URES)
}
If (LEqual (Arg0, One))
{
Store (0x03, URES)
}
}
}
Device (UHC5)
{
Name (_ADR, 0x001A0001)
OperationRegion (USBR, PCI_Config, 0xC4, One)
Field (USBR, AnyAcc, NoLock, Preserve)
{
URES, 8
}
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (Zero, URES)
}
If (LEqual (Arg0, One))
{
Store (0x03, URES)
}
}
}
Device (ECHI)
{
Name (_ADR, 0x001D0007)
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
OperationRegion (USBR, PCI_Config, 0xC4, One)
Field (USBR, AnyAcc, NoLock, Preserve)
{
URES, 8
}
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (Zero, URES)
}
If (LEqual (Arg0, One))
{
Store (0x03, URES)
}
}
}
Device (EHII)
{
Name (_ADR, 0x001A0007)
OperationRegion (USBR, PCI_Config, 0xC4, One)
Field (USBR, AnyAcc, NoLock, Preserve)
{
URES, 8
}
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (Zero, URES)
}
If (LEqual (Arg0, One))
{
Store (0x03, URES)
}
}
}
Device (EXP1)
{
Name (_ADR, 0x001C0000)
OperationRegion (P1CS, PCI_Config, 0x40, 0x0100)
Field (P1CS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
, 4,
LKD1, 1,
Offset (0x1A),
ABP1, 1,
, 2,
PDC1, 1,
, 2,
PDS1, 1,
Offset (0x20),
RID1, 16,
PSP1, 1,
PPP1, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (PXS1)
{
Name (_ADR, Zero)
}
Method (_PRW, 0, NotSerialized)
{
If (WKOL)
{
Return (Package (0x02)
{
0x09,
0x04
})
}
Return (Package (0x02)
{
0x09,
Zero
})
}
Method (_PRT, 0, NotSerialized)
{
If (LEqual (GPIC, Zero))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
^^LPC.LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
^^LPC.LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
^^LPC.LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
^^LPC.LNKD,
Zero
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
}
}
}
Device (EXP2)
{
Name (_ADR, 0x001C0001)
OperationRegion (P2CS, PCI_Config, 0x40, 0x0100)
Field (P2CS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
, 4,
LKD2, 1,
Offset (0x1A),
ABP2, 1,
, 2,
PDC2, 1,
, 2,
PDS2, 1,
Offset (0x20),
RID2, 16,
PSP2, 1,
PPP2, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (PXS2)
{
Name (_ADR, Zero)
}
Method (_PRW, 0, NotSerialized)
{
If (WOWL)
{
Return (Package (0x02)
{
0x09,
0x04
})
}
Return (Package (0x02)
{
0x09,
Zero
})
}
Method (_PRT, 0, NotSerialized)
{
If (LEqual (GPIC, Zero))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
^^LPC.LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
^^LPC.LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
^^LPC.LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
^^LPC.LNKA,
Zero
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
}
}
}
Device (EXP3)
{
Name (_ADR, 0x001C0002)
OperationRegion (P3CS, PCI_Config, 0x40, 0x0100)
Field (P3CS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
, 4,
LKD3, 1,
Offset (0x1A),
ABP3, 1,
, 2,
PDC3, 1,
, 2,
PDS3, 1,
Offset (0x20),
RID3, 16,
PSP3, 1,
PPP3, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (PXS3)
{
Name (_ADR, Zero)
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_PRT, 0, NotSerialized)
{
If (LEqual (GPIC, Zero))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
^^LPC.LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
^^LPC.LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
^^LPC.LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
^^LPC.LNKB,
Zero
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
}
}
}
Device (EXP4)
{
Name (_ADR, 0x001C0003)
OperationRegion (P4CS, PCI_Config, 0x40, 0x0100)
Field (P4CS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
, 4,
LKD4, 1,
Offset (0x1A),
ABP4, 1,
, 2,
PDC4, 1,
, 2,
PDS4, 1,
Offset (0x20),
RID4, 16,
PSP4, 1,
PPP4, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (PXS4)
{
Name (_ADR, Zero)
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_PRT, 0, NotSerialized)
{
If (LEqual (GPIC, Zero))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
^^LPC.LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
One,
^^LPC.LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
^^LPC.LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
^^LPC.LNKC,
Zero
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x12
}
})
}
}
}
Device (EXP5)
{
Name (_ADR, 0x001C0004)
OperationRegion (P5CS, PCI_Config, 0x40, 0x0100)
Field (P5CS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
, 4,
LKD5, 1,
Offset (0x1A),
ABP5, 1,
, 2,
PDC5, 1,
, 2,
PDS5, 1,
Offset (0x20),
RID5, 16,
PSP5, 1,
PPP5, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (PXS5)
{
Name (_ADR, Zero)
Method (_RMV, 0, NotSerialized)
{
Return (One)
}
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_PRT, 0, NotSerialized)
{
If (LEqual (GPIC, Zero))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
^^LPC.LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
^^LPC.LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
^^LPC.LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
^^LPC.LNKD,
Zero
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
}
}
}
Device (EXP6)
{
Name (_ADR, 0x001C0005)
OperationRegion (P6CS, PCI_Config, 0x40, 0x0100)
Field (P6CS, AnyAcc, NoLock, Preserve)
{
Offset (0x10),
, 4,
LKD6, 1,
Offset (0x1A),
ABP6, 1,
, 2,
PDC6, 1,
, 2,
PDS6, 1,
Offset (0x20),
RID6, 16,
PSP6, 1,
PPP6, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (PXS6)
{
Name (_ADR, Zero)
Method (_RMV, 0, NotSerialized)
{
Return (One)
}
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_PRT, 0, NotSerialized)
{
If (LEqual (GPIC, Zero))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
^^LPC.LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
^^LPC.LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
^^LPC.LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
^^LPC.LNKA,
Zero
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
}
}
}
Device (AZAL)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
If (LEqual (WKMD, One))
{
Return (Package (0x02)
{
0x0D,
0x04
})
}
Else
{
Return (Package (0x02)
{
0x0D,
Zero
})
}
}
}
Device (PEGP)
{
Name (_ADR, 0x00010000)
Method (_PRT, 0, NotSerialized)
{
If (LEqual (GPIC, Zero))
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
^^LPC.LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
^^LPC.LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
^^LPC.LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
^^LPC.LNKD,
Zero
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
}
}
Device (VGA)
{
Name (_ADR, Zero)
Name (CSTT, Zero)
Name (DOSA, One)
Name (BCML, 0x64)
Method (_STA, 0, NotSerialized)
{
If (IGDS)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_INI, 0, NotSerialized)
{
UDCS ()
UDGS ()
}
Method (_DOS, 1, NotSerialized)
{
Store (Arg0, DOSA)
}
Method (_DOD, 0, NotSerialized)
{
Return (Package (0x03)
{
0x00010100,
0x00010110,
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, 0x0110)
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 (0x0A)
{
0x5A,
0x23,
0x0A,
0x19,
0x23,
0x32,
0x3C,
0x4B,
0x5A,
0x64
})
Method (_BCL, 0, NotSerialized)
{
Return (BRLV)
}
Method (_BQC, 0, Serialized)
{
Return (BCML)
}
Method (_BCM, 1, Serialized)
{
Acquire (MUTS, 0xFFFF)
Store (Arg0, BCML)
Store (SizeOf (BRLV), Local0)
While (Local0)
{
Decrement (Local0)
Store (DerefOf (Index (BRLV, Local0)), Local1)
If (LEqual (Arg0, Local1))
{
Break
}
}
Subtract (Local0, 0x02, Local0)
Store (Local0, BRTL)
OSMI (0xA2)
Release (MUTS)
}
}
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)
Acquire (MUTS, 0xFFFF)
OSMI (0xA8)
Release (MUTS)
If (LEqual (CSTT, Zero))
{
Or (^LCD._DCS, 0x02, ^LCD._DCS)
}
If (LEqual (CSTT, One))
{
Or (^LCD._DCS, 0x02, ^LCD._DCS)
Or (^CRT._DCS, 0x02, ^CRT._DCS)
}
If (LEqual (CSTT, 0x02))
{
Or (^CRT._DCS, 0x02, ^CRT._DCS)
}
If (LEqual (CSTT, 0x03))
{
Or (^LCD._DCS, 0x02, ^LCD._DCS)
Or (^TV._DCS, 0x02, ^TV._DCS)
}
If (LEqual (CSTT, 0x04))
{
Or (^TV._DCS, 0x02, ^TV._DCS)
}
}
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)
Increment (CSTT)
If (LGreater (CSTT, 0x04))
{
Store (Zero, CSTT)
}
If (LEqual (CSTT, Zero))
{
Or (^LCD._DGS, One, ^LCD._DGS)
}
If (LEqual (CSTT, One))
{
Or (^LCD._DGS, One, ^LCD._DGS)
Or (^CRT._DGS, One, ^CRT._DGS)
}
If (LEqual (CSTT, 0x02))
{
Or (^CRT._DGS, One, ^CRT._DGS)
}
If (LEqual (CSTT, 0x03))
{
Or (^LCD._DGS, One, ^LCD._DGS)
Or (^TV._DGS, One, ^TV._DGS)
}
If (LEqual (CSTT, 0x04))
{
Or (^TV._DGS, One, ^TV._DGS)
}
Store (CSTT, 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)
Acquire (MUTS, 0xFFFF)
OSMI (0x56)
Store (PRM1, TVIF)
Release (MUTS)
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)
Acquire (MUTS, 0xFFFF)
Store (TVIF, PRM0)
OSMI (0x57)
Release (MUTS)
}
}
}
Device (SAT0)
{
Name (_ADR, 0x001F0002)
Device (LOC4)
{
Name (_ADR, 0x0004FFFF)
Method (_RMV, 0, NotSerialized)
{
If (SCFG)
{
FLNK (0xFF, 0x31)
}
Return (One)
}
}
Device (CHA4)
{
Name (_ADR, 0x04)
Device (ESTA)
{
Name (_ADR, Zero)
Method (_RMV, 0, NotSerialized)
{
If (SCFG)
{
FLNK (0xFF, 0x31)
}
Return (One)
}
}
}
OperationRegion (SACS, PCI_Config, 0x40, 0xC0)
Field (SACS, DWordAcc, NoLock, Preserve)
{
PRIT, 16,
SECT, 16,
PSIT, 4,
SSIT, 4,
Offset (0x08),
SYNC, 4,
Offset (0x0A),
SDT0, 2,
, 2,
SDT1, 2,
Offset (0x0B),
SDT2, 2,
, 2,
SDT3, 2,
Offset (0x14),
ICR0, 4,
ICR1, 4,
ICR2, 4,
ICR3, 4,
ICR4, 4,
ICR5, 4,
Offset (0x50),
MAPV, 2
}
Device (PRID)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (PBUF, 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
})
CreateDWordField (PBUF, Zero, PIO0)
CreateDWordField (PBUF, 0x04, DMA0)
CreateDWordField (PBUF, 0x08, PIO1)
CreateDWordField (PBUF, 0x0C, DMA1)
CreateDWordField (PBUF, 0x10, FLAG)
Store (GETP (PRIT), PIO0)
Store (GDMA (And (SYNC, One), And (ICR3, One),
And (ICR0, One), SDT0, And (ICR1, One)), DMA0)
If (LEqual (DMA0, Ones))
{
Store (PIO0, DMA0)
}
If (And (PRIT, 0x4000))
{
If (LEqual (And (PRIT, 0x90), 0x80))
{
Store (0x0384, PIO1)
}
Else
{
Store (GETT (PSIT), PIO1)
}
}
Else
{
Store (Ones, PIO1)
}
Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02),
And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1)
If (LEqual (DMA1, Ones))
{
Store (PIO1, DMA1)
}
Store (GETF (And (SYNC, One), And (SYNC, 0x02),
PRIT), FLAG)
Return (PBUF)
}
}
Method (_STM, 3, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
CreateDWordField (Arg0, Zero, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
If (LEqual (SizeOf (Arg1), 0x0200))
{
And (PRIT, 0x40F0, PRIT)
And (SYNC, 0x0E, SYNC)
Store (Zero, SDT0)
And (ICR0, 0x0E, ICR0)
And (ICR1, 0x0E, ICR1)
And (ICR3, 0x0E, ICR3)
And (ICR5, 0x0E, ICR5)
CreateWordField (Arg1, 0x62, W490)
CreateWordField (Arg1, 0x6A, W530)
CreateWordField (Arg1, 0x7E, W630)
CreateWordField (Arg1, 0x80, W640)
CreateWordField (Arg1, 0xB0, W880)
CreateWordField (Arg1, 0xBA, W930)
Or (PRIT, 0x8004, PRIT)
If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
{
Or (PRIT, 0x02, PRIT)
}
Or (PRIT, SETP (PIO0, W530, W640), PRIT)
If (And (FLAG, One))
{
Or (SYNC, One, SYNC)
Store (SDMA (DMA0), SDT0)
If (LLess (DMA0, 0x1E))
{
Or (ICR3, One, ICR3)
}
If (LLess (DMA0, 0x3C))
{
Or (ICR0, One, ICR0)
}
Or (ICR1, One, ICR1)
}
}
If (LEqual (SizeOf (Arg2), 0x0200))
{
And (PRIT, 0x3F0F, PRIT)
Store (Zero, PSIT)
And (SYNC, 0x0D, SYNC)
Store (Zero, SDT1)
And (ICR0, 0x0D, ICR0)
And (ICR1, 0x0D, ICR1)
And (ICR3, 0x0D, ICR3)
And (ICR5, 0x0D, ICR5)
CreateWordField (Arg2, 0x62, W491)
CreateWordField (Arg2, 0x6A, W531)
CreateWordField (Arg2, 0x7E, W631)
CreateWordField (Arg2, 0x80, W641)
CreateWordField (Arg2, 0xB0, W881)
CreateWordField (Arg2, 0xBA, W931)
Or (PRIT, 0x8040, PRIT)
If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
{
Or (PRIT, 0x20, PRIT)
}
If (And (FLAG, 0x10))
{
Or (PRIT, 0x4000, PRIT)
If (LGreater (PIO1, 0xF0))
{
Or (PRIT, 0x80, PRIT)
}
Else
{
Or (PRIT, 0x10, PRIT)
Store (SETT (PIO1, W531, W641), PSIT)
}
}
If (And (FLAG, 0x04))
{
Or (SYNC, 0x02, SYNC)
Store (SDMA (DMA1), SDT1)
If (LLess (DMA1, 0x1E))
{
Or (ICR3, 0x02, ICR3)
}
If (LLess (DMA1, 0x3C))
{
Or (ICR0, 0x02, ICR0)
}
Or (ICR1, 0x02, ICR1)
}
}
}
}
Device (P_D0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (PIB0, Buffer (0x0E)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
})
CreateByteField (PIB0, One, PMD0)
CreateByteField (PIB0, 0x08, DMD0)
If (And (PRIT, 0x02))
{
If (LEqual (And (PRIT, 0x09), 0x08))
{
Store (0x08, PMD0)
}
Else
{
Store (0x0A, PMD0)
ShiftRight (And (PRIT, 0x0300), 0x08, Local0)
ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)
Add (Local0, Local1, Local2)
If (LEqual (0x03, Local2))
{
Store (0x0B, PMD0)
}
If (LEqual (0x05, Local2))
{
Store (0x0C, PMD0)
}
}
}
Else
{
Store (One, PMD0)
}
If (And (SYNC, One))
{
Store (Or (SDT0, 0x40), DMD0)
If (And (ICR1, One))
{
If (And (ICR0, One))
{
Add (DMD0, 0x02, DMD0)
}
If (And (ICR3, One))
{
Store (0x45, DMD0)
}
}
}
Else
{
Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
}
Return (PIB0)
}
}
}
Device (P_D1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (PIB1, Buffer (0x0E)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
})
CreateByteField (PIB1, One, PMD1)
CreateByteField (PIB1, 0x08, DMD1)
If (And (PRIT, 0x20))
{
If (LEqual (And (PRIT, 0x90), 0x80))
{
Store (0x08, PMD1)
}
Else
{
Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C),
0x02), Local0)
If (LEqual (0x05, Local0))
{
Store (0x0C, PMD1)
}
Else
{
If (LEqual (0x03, Local0))
{
Store (0x0B, PMD1)
}
Else
{
Store (0x0A, PMD1)
}
}
}
}
Else
{
Store (One, PMD1)
}
If (And (SYNC, 0x02))
{
Store (Or (SDT1, 0x40), DMD1)
If (And (ICR1, 0x02))
{
If (And (ICR0, 0x02))
{
Add (DMD1, 0x02, DMD1)
}
If (And (ICR3, 0x02))
{
Store (0x45, DMD1)
}
}
}
Else
{
Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
}
Return (PIB1)
}
}
}
}
Device (SECD)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (SBUF, 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
})
CreateDWordField (SBUF, Zero, PIO0)
CreateDWordField (SBUF, 0x04, DMA0)
CreateDWordField (SBUF, 0x08, PIO1)
CreateDWordField (SBUF, 0x0C, DMA1)
CreateDWordField (SBUF, 0x10, FLAG)
Store (GETP (SECT), PIO0)
Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04),
And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0)
If (LEqual (DMA0, Ones))
{
Store (PIO0, DMA0)
}
If (And (SECT, 0x4000))
{
If (LEqual (And (SECT, 0x90), 0x80))
{
Store (0x0384, PIO1)
}
Else
{
Store (GETT (SSIT), PIO1)
}
}
Else
{
Store (Ones, PIO1)
}
Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08),
And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1)
If (LEqual (DMA1, Ones))
{
Store (PIO1, DMA1)
}
Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08),
SECT), FLAG)
Return (SBUF)
}
}
Method (_STM, 3, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
CreateDWordField (Arg0, Zero, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
If (LEqual (SizeOf (Arg1), 0x0200))
{
And (SECT, 0x40F0, SECT)
And (SYNC, 0x0B, SYNC)
Store (Zero, SDT2)
And (ICR0, 0x0B, ICR0)
And (ICR1, 0x0B, ICR1)
And (ICR3, 0x0B, ICR3)
And (ICR5, 0x0B, ICR5)
CreateWordField (Arg1, 0x62, W490)
CreateWordField (Arg1, 0x6A, W530)
CreateWordField (Arg1, 0x7E, W630)
CreateWordField (Arg1, 0x80, W640)
CreateWordField (Arg1, 0xB0, W880)
CreateWordField (Arg1, 0xBA, W930)
Or (SECT, 0x8004, SECT)
If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
{
Or (SECT, 0x02, SECT)
}
Or (SECT, SETP (PIO0, W530, W640), SECT)
If (And (FLAG, One))
{
Or (SYNC, 0x04, SYNC)
Store (SDMA (DMA0), SDT2)
If (LLess (DMA0, 0x1E))
{
Or (ICR3, 0x04, ICR3)
}
If (LLess (DMA0, 0x3C))
{
Or (ICR0, 0x04, ICR0)
}
Or (ICR1, 0x04, ICR1)
}
}
If (LEqual (SizeOf (Arg2), 0x0200))
{
And (SECT, 0x3F0F, SECT)
Store (Zero, SSIT)
And (SYNC, 0x07, SYNC)
Store (Zero, SDT3)
And (ICR0, 0x07, ICR0)
And (ICR1, 0x07, ICR1)
And (ICR3, 0x07, ICR3)
And (ICR5, 0x07, ICR5)
CreateWordField (Arg2, 0x62, W491)
CreateWordField (Arg2, 0x6A, W531)
CreateWordField (Arg2, 0x7E, W631)
CreateWordField (Arg2, 0x80, W641)
CreateWordField (Arg2, 0xB0, W881)
CreateWordField (Arg2, 0xBA, W931)
Or (SECT, 0x8040, SECT)
If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
{
Or (SECT, 0x20, SECT)
}
If (And (FLAG, 0x10))
{
Or (SECT, 0x4000, SECT)
If (LGreater (PIO1, 0xF0))
{
Or (SECT, 0x80, SECT)
}
Else
{
Or (SECT, 0x10, SECT)
Store (SETT (PIO1, W531, W641), SSIT)
}
}
If (And (FLAG, 0x04))
{
Or (SYNC, 0x08, SYNC)
Store (SDMA (DMA1), SDT3)
If (LLess (DMA1, 0x1E))
{
Or (ICR3, 0x08, ICR3)
}
If (LLess (DMA1, 0x3C))
{
Or (ICR0, 0x08, ICR0)
}
Or (ICR1, 0x08, ICR1)
}
}
}
}
Device (S_D0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (SIB0, Buffer (0x0E)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
})
CreateByteField (SIB0, One, PMD0)
CreateByteField (SIB0, 0x08, DMD0)
If (And (SECT, 0x02))
{
If (LEqual (And (SECT, 0x09), 0x08))
{
Store (0x08, PMD0)
}
Else
{
Store (0x0A, PMD0)
ShiftRight (And (SECT, 0x0300), 0x08, Local0)
ShiftRight (And (SECT, 0x3000), 0x0C, Local1)
Add (Local0, Local1, Local2)
If (LEqual (0x03, Local2))
{
Store (0x0B, PMD0)
}
If (LEqual (0x05, Local2))
{
Store (0x0C, PMD0)
}
}
}
Else
{
Store (One, PMD0)
}
If (And (SYNC, 0x04))
{
Store (Or (SDT2, 0x40), DMD0)
If (And (ICR1, 0x04))
{
If (And (ICR0, 0x04))
{
Add (DMD0, 0x02, DMD0)
}
If (And (ICR3, 0x04))
{
Store (0x45, DMD0)
}
}
}
Else
{
Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
}
Return (SIB0)
}
}
}
Device (S_D1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (SIB1, Buffer (0x0E)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
})
CreateByteField (SIB1, One, PMD1)
CreateByteField (SIB1, 0x08, DMD1)
If (And (SECT, 0x20))
{
If (LEqual (And (SECT, 0x90), 0x80))
{
Store (0x08, PMD1)
}
Else
{
Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C),
0x02), Local0)
If (LEqual (0x05, Local0))
{
Store (0x0C, PMD1)
}
Else
{
If (LEqual (0x03, Local0))
{
Store (0x0B, PMD1)
}
Else
{
Store (0x0A, PMD1)
}
}
}
}
Else
{
Store (One, PMD1)
}
If (And (SYNC, 0x08))
{
Store (Or (SDT3, 0x40), DMD1)
If (And (ICR1, 0x08))
{
If (And (ICR0, 0x08))
{
Add (DMD1, 0x02, DMD1)
}
If (And (ICR3, 0x08))
{
Store (0x45, DMD1)
}
}
}
Else
{
Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
}
Return (SIB1)
}
}
}
}
}
Device (SAT1)
{
Name (_ADR, 0x001F0005)
OperationRegion (SACS, PCI_Config, 0x40, 0xC0)
Field (SACS, DWordAcc, NoLock, Preserve)
{
PRIT, 16,
SECT, 16,
PSIT, 4,
SSIT, 4,
Offset (0x08),
SYNC, 4,
Offset (0x0A),
SDT0, 2,
, 2,
SDT1, 2,
Offset (0x0B),
SDT2, 2,
, 2,
SDT3, 2,
Offset (0x14),
ICR0, 4,
ICR1, 4,
ICR2, 4,
ICR3, 4,
ICR4, 4,
ICR5, 4,
Offset (0x50),
MAPV, 2
}
Device (PRID)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (PBUF, 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
})
CreateDWordField (PBUF, Zero, PIO0)
CreateDWordField (PBUF, 0x04, DMA0)
CreateDWordField (PBUF, 0x08, PIO1)
CreateDWordField (PBUF, 0x0C, DMA1)
CreateDWordField (PBUF, 0x10, FLAG)
Store (GETP (PRIT), PIO0)
Store (GDMA (And (SYNC, One), And (ICR3, One),
And (ICR0, One), SDT0, And (ICR1, One)), DMA0)
If (LEqual (DMA0, Ones))
{
Store (PIO0, DMA0)
}
If (And (PRIT, 0x4000))
{
If (LEqual (And (PRIT, 0x90), 0x80))
{
Store (0x0384, PIO1)
}
Else
{
Store (GETT (PSIT), PIO1)
}
}
Else
{
Store (Ones, PIO1)
}
Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02),
And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1)
If (LEqual (DMA1, Ones))
{
Store (PIO1, DMA1)
}
Store (GETF (And (SYNC, One), And (SYNC, 0x02),
PRIT), FLAG)
Return (PBUF)
}
}
Method (_STM, 3, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
CreateDWordField (Arg0, Zero, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
If (LEqual (SizeOf (Arg1), 0x0200))
{
And (PRIT, 0x40F0, PRIT)
And (SYNC, 0x0E, SYNC)
Store (Zero, SDT0)
And (ICR0, 0x0E, ICR0)
And (ICR1, 0x0E, ICR1)
And (ICR3, 0x0E, ICR3)
And (ICR5, 0x0E, ICR5)
CreateWordField (Arg1, 0x62, W490)
CreateWordField (Arg1, 0x6A, W530)
CreateWordField (Arg1, 0x7E, W630)
CreateWordField (Arg1, 0x80, W640)
CreateWordField (Arg1, 0xB0, W880)
CreateWordField (Arg1, 0xBA, W930)
Or (PRIT, 0x8004, PRIT)
If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
{
Or (PRIT, 0x02, PRIT)
}
Or (PRIT, SETP (PIO0, W530, W640), PRIT)
If (And (FLAG, One))
{
Or (SYNC, One, SYNC)
Store (SDMA (DMA0), SDT0)
If (LLess (DMA0, 0x1E))
{
Or (ICR3, One, ICR3)
}
If (LLess (DMA0, 0x3C))
{
Or (ICR0, One, ICR0)
}
Or (ICR1, One, ICR1)
}
}
If (LEqual (SizeOf (Arg2), 0x0200))
{
And (PRIT, 0x3F0F, PRIT)
Store (Zero, PSIT)
And (SYNC, 0x0D, SYNC)
Store (Zero, SDT1)
And (ICR0, 0x0D, ICR0)
And (ICR1, 0x0D, ICR1)
And (ICR3, 0x0D, ICR3)
And (ICR5, 0x0D, ICR5)
CreateWordField (Arg2, 0x62, W491)
CreateWordField (Arg2, 0x6A, W531)
CreateWordField (Arg2, 0x7E, W631)
CreateWordField (Arg2, 0x80, W641)
CreateWordField (Arg2, 0xB0, W881)
CreateWordField (Arg2, 0xBA, W931)
Or (PRIT, 0x8040, PRIT)
If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
{
Or (PRIT, 0x20, PRIT)
}
If (And (FLAG, 0x10))
{
Or (PRIT, 0x4000, PRIT)
If (LGreater (PIO1, 0xF0))
{
Or (PRIT, 0x80, PRIT)
}
Else
{
Or (PRIT, 0x10, PRIT)
Store (SETT (PIO1, W531, W641), PSIT)
}
}
If (And (FLAG, 0x04))
{
Or (SYNC, 0x02, SYNC)
Store (SDMA (DMA1), SDT1)
If (LLess (DMA1, 0x1E))
{
Or (ICR3, 0x02, ICR3)
}
If (LLess (DMA1, 0x3C))
{
Or (ICR0, 0x02, ICR0)
}
Or (ICR1, 0x02, ICR1)
}
}
}
}
Device (P_D0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (PIB0, Buffer (0x0E)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
})
CreateByteField (PIB0, One, PMD0)
CreateByteField (PIB0, 0x08, DMD0)
If (And (PRIT, 0x02))
{
If (LEqual (And (PRIT, 0x09), 0x08))
{
Store (0x08, PMD0)
}
Else
{
Store (0x0A, PMD0)
ShiftRight (And (PRIT, 0x0300), 0x08, Local0)
ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)
Add (Local0, Local1, Local2)
If (LEqual (0x03, Local2))
{
Store (0x0B, PMD0)
}
If (LEqual (0x05, Local2))
{
Store (0x0C, PMD0)
}
}
}
Else
{
Store (One, PMD0)
}
If (And (SYNC, One))
{
Store (Or (SDT0, 0x40), DMD0)
If (And (ICR1, One))
{
If (And (ICR0, One))
{
Add (DMD0, 0x02, DMD0)
}
If (And (ICR3, One))
{
Store (0x45, DMD0)
}
}
}
Else
{
Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
}
Return (PIB0)
}
}
}
Device (P_D1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (PIB1, Buffer (0x0E)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
})
CreateByteField (PIB1, One, PMD1)
CreateByteField (PIB1, 0x08, DMD1)
If (And (PRIT, 0x20))
{
If (LEqual (And (PRIT, 0x90), 0x80))
{
Store (0x08, PMD1)
}
Else
{
Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C),
0x02), Local0)
If (LEqual (0x05, Local0))
{
Store (0x0C, PMD1)
}
Else
{
If (LEqual (0x03, Local0))
{
Store (0x0B, PMD1)
}
Else
{
Store (0x0A, PMD1)
}
}
}
}
Else
{
Store (One, PMD1)
}
If (And (SYNC, 0x02))
{
Store (Or (SDT1, 0x40), DMD1)
If (And (ICR1, 0x02))
{
If (And (ICR0, 0x02))
{
Add (DMD1, 0x02, DMD1)
}
If (And (ICR3, 0x02))
{
Store (0x45, DMD1)
}
}
}
Else
{
Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
}
Return (PIB1)
}
}
}
}
Device (SECD)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (SBUF, 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
})
CreateDWordField (SBUF, Zero, PIO0)
CreateDWordField (SBUF, 0x04, DMA0)
CreateDWordField (SBUF, 0x08, PIO1)
CreateDWordField (SBUF, 0x0C, DMA1)
CreateDWordField (SBUF, 0x10, FLAG)
Store (GETP (SECT), PIO0)
Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04),
And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0)
If (LEqual (DMA0, Ones))
{
Store (PIO0, DMA0)
}
If (And (SECT, 0x4000))
{
If (LEqual (And (SECT, 0x90), 0x80))
{
Store (0x0384, PIO1)
}
Else
{
Store (GETT (SSIT), PIO1)
}
}
Else
{
Store (Ones, PIO1)
}
Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08),
And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1)
If (LEqual (DMA1, Ones))
{
Store (PIO1, DMA1)
}
Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08),
SECT), FLAG)
Return (SBUF)
}
}
Method (_STM, 3, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
CreateDWordField (Arg0, Zero, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
If (LEqual (SizeOf (Arg1), 0x0200))
{
And (SECT, 0x40F0, SECT)
And (SYNC, 0x0B, SYNC)
Store (Zero, SDT2)
And (ICR0, 0x0B, ICR0)
And (ICR1, 0x0B, ICR1)
And (ICR3, 0x0B, ICR3)
And (ICR5, 0x0B, ICR5)
CreateWordField (Arg1, 0x62, W490)
CreateWordField (Arg1, 0x6A, W530)
CreateWordField (Arg1, 0x7E, W630)
CreateWordField (Arg1, 0x80, W640)
CreateWordField (Arg1, 0xB0, W880)
CreateWordField (Arg1, 0xBA, W930)
Or (SECT, 0x8004, SECT)
If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
{
Or (SECT, 0x02, SECT)
}
Or (SECT, SETP (PIO0, W530, W640), SECT)
If (And (FLAG, One))
{
Or (SYNC, 0x04, SYNC)
Store (SDMA (DMA0), SDT2)
If (LLess (DMA0, 0x1E))
{
Or (ICR3, 0x04, ICR3)
}
If (LLess (DMA0, 0x3C))
{
Or (ICR0, 0x04, ICR0)
}
Or (ICR1, 0x04, ICR1)
}
}
If (LEqual (SizeOf (Arg2), 0x0200))
{
And (SECT, 0x3F0F, SECT)
Store (Zero, SSIT)
And (SYNC, 0x07, SYNC)
Store (Zero, SDT3)
And (ICR0, 0x07, ICR0)
And (ICR1, 0x07, ICR1)
And (ICR3, 0x07, ICR3)
And (ICR5, 0x07, ICR5)
CreateWordField (Arg2, 0x62, W491)
CreateWordField (Arg2, 0x6A, W531)
CreateWordField (Arg2, 0x7E, W631)
CreateWordField (Arg2, 0x80, W641)
CreateWordField (Arg2, 0xB0, W881)
CreateWordField (Arg2, 0xBA, W931)
Or (SECT, 0x8040, SECT)
If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
{
Or (SECT, 0x20, SECT)
}
If (And (FLAG, 0x10))
{
Or (SECT, 0x4000, SECT)
If (LGreater (PIO1, 0xF0))
{
Or (SECT, 0x80, SECT)
}
Else
{
Or (SECT, 0x10, SECT)
Store (SETT (PIO1, W531, W641), SSIT)
}
}
If (And (FLAG, 0x04))
{
Or (SYNC, 0x08, SYNC)
Store (SDMA (DMA1), SDT3)
If (LLess (DMA1, 0x1E))
{
Or (ICR3, 0x08, ICR3)
}
If (LLess (DMA1, 0x3C))
{
Or (ICR0, 0x08, ICR0)
}
Or (ICR1, 0x08, ICR1)
}
}
}
}
Device (S_D0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (SIB0, Buffer (0x0E)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
})
CreateByteField (SIB0, One, PMD0)
CreateByteField (SIB0, 0x08, DMD0)
If (And (SECT, 0x02))
{
If (LEqual (And (SECT, 0x09), 0x08))
{
Store (0x08, PMD0)
}
Else
{
Store (0x0A, PMD0)
ShiftRight (And (SECT, 0x0300), 0x08, Local0)
ShiftRight (And (SECT, 0x3000), 0x0C, Local1)
Add (Local0, Local1, Local2)
If (LEqual (0x03, Local2))
{
Store (0x0B, PMD0)
}
If (LEqual (0x05, Local2))
{
Store (0x0C, PMD0)
}
}
}
Else
{
Store (One, PMD0)
}
If (And (SYNC, 0x04))
{
Store (Or (SDT2, 0x40), DMD0)
If (And (ICR1, 0x04))
{
If (And (ICR0, 0x04))
{
Add (DMD0, 0x02, DMD0)
}
If (And (ICR3, 0x04))
{
Store (0x45, DMD0)
}
}
}
Else
{
Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
}
Return (SIB0)
}
}
}
Device (S_D1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
If (LEqual (SCFG, Zero))
{
Name (SIB1, Buffer (0x0E)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
})
CreateByteField (SIB1, One, PMD1)
CreateByteField (SIB1, 0x08, DMD1)
If (And (SECT, 0x20))
{
If (LEqual (And (SECT, 0x90), 0x80))
{
Store (0x08, PMD1)
}
Else
{
Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C),
0x02), Local0)
If (LEqual (0x05, Local0))
{
Store (0x0C, PMD1)
}
Else
{
If (LEqual (0x03, Local0))
{
Store (0x0B, PMD1)
}
Else
{
Store (0x0A, PMD1)
}
}
}
}
Else
{
Store (One, PMD1)
}
If (And (SYNC, 0x08))
{
Store (Or (SDT3, 0x40), DMD1)
If (And (ICR1, 0x08))
{
If (And (ICR0, 0x08))
{
Add (DMD1, 0x02, DMD1)
}
If (And (ICR3, 0x08))
{
Store (0x45, DMD1)
}
}
}
Else
{
Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
}
Return (SIB1)
}
}
}
}
}
}
}
}