Date: Sat, 8 Aug 2009 19:21:17 +1200 From: Tim Matthews <tim.matthews7@gmail.com> To: freebsd-acpi@freebsd.org Subject: laptop doesn't power off Message-ID: <3f1d93450908080021j2e34286fxb46991bfea2da1b8@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
I have a sony vaio sz483n. The powering down works almost fine up until the
last step. The screen goes clear as it is about to power down but then it
just stays in a kind of on state.
The power light stays on but it doesn't do anything else. Even holding down
the power button for a long time which would work at any other time does
nothing. Rebooting works fine. Other operating systems on this machine can
poweroff fine. Using either gnome's shutdown, shutdown or halt makes no
difference.
I have attached my asl
Thanks
[-- Attachment #2 --]
/*
RSD PTR: OEM=PTLTD, ACPI_Rev=2.0x (2)
XSDT=0x7f673582, length=36, cksum=63
*/
/*
XSDT: Length=140, Revision=1, Checksum=163,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x6040000,
Creator ID=PTL, Creator Revision=0x0
Entries={ 0x7f67bbf8, 0x7f67bcec, 0x7f67bd54, 0x7f67bd8c, 0x7f67bdc8, 0x7f67bdfa, 0x7f67bf70, 0x7f67bfd8, 0x7f674ede, 0x7f67467d, 0x7f673b9a, 0x7f673af4, 0x7f67360e }
*/
/*
FACP: Length=244, Revision=3, Checksum=30,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x1
FACS=0x7f67cfc0, DSDT=0x7f6756f2
INT_MODEL=PIC
Preferred_PM_Profile=Mobile (2)
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0xf2
PSTATE_CNT=0x80
PM1a_EVT_BLK=0x1000-0x1003
PM1a_CNT_BLK=0x1004-0x1005
PM2_CNT_BLK=0x1020-0x1020
PM_TMR_BLK=0x1008-0x100b
GPE0_BLK=0x1028-0x102f
CST_CNT=0x85
P_LVL2_LAT=1 us, P_LVL3_LAT=1001 us
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=3
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
IAPC_BOOT_ARCH={8042}
Flags={WBINVD,PROC_C1,PWR_BUTTON,SLP_BUTTON,RTC_S4,DCK_CAP,RESET_REG}
RESET_REG=0x64:0[8] (IO), RESET_VALUE=0xfe
X_FACS=0x7f67cfc0, X_DSDT=0x7f6756f2
X_PM1a_EVT_BLK=0x1000:0[32] (IO)
X_PM1a_CNT_BLK=0x1004:0[16] (IO)
X_PM_TMR_BLK=0x1008:0[32] (IO)
X_GPE0_BLK=0x1028:0[64] (IO)
*/
/*
FACS: Length=64, HwSig=0x000016e0, Firm_Wake_Vec=0x00000000
Global_Lock=
Flags=
Version=1
*/
/*
DSDT: Length=25730, Revision=1, Checksum=81,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x20050624
*/
/*
APIC: Length=104, Revision=1, Checksum=226,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x5a
Local APIC ADDR=0xfee00000
Flags={PC-AT}
Type=Local APIC
ACPI CPU=0
Flags={ENABLED}
APIC ID=0
Type=Local APIC
ACPI CPU=1
Flags={ENABLED}
APIC ID=1
Type=IO APIC
APIC ID=1
INT BASE=0
ADDR=0x00000000fec00000
Type=INT Override
BUS=0
IRQ=0
INTR=2
Flags={Polarity=conforming, Trigger=conforming}
Type=INT Override
BUS=0
IRQ=9
INTR=9
Flags={Polarity=active-hi, Trigger=level}
Type=Local NMI
ACPI CPU=0
LINT Pin=1
Flags={Polarity=active-hi, Trigger=edge}
Type=Local NMI
ACPI CPU=1
LINT Pin=1
Flags={Polarity=active-hi, Trigger=edge}
*/
/*
HPET: Length=56, Revision=1, Checksum=32,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x5a
HPET Number=0
ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1
Comparitors=2
Counter Size=1
Legacy IRQ routing capable={TRUE}
PCI Vendor ID=0x8086
Minimal Tick=128
*/
/*
MCFG: Length=60, Revision=1, Checksum=72,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x5a
Base Address= 0x00000000e0000000
Segment Group= 0x0000
Start Bus= 0
End Bus= 255
*/
/*
TCPA: Length=50, Revision=1, Checksum=54,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x5a52
*/
/*
SLIC: Length=374, Revision=1, Checksum=38,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x1000000
*/
/*
APIC: Length=104, Revision=1, Checksum=54,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x0
Local APIC ADDR=0xfee00000
Flags={PC-AT}
Type=Local APIC
ACPI CPU=0
Flags={ENABLED}
APIC ID=0
Type=Local APIC
ACPI CPU=1
Flags={ENABLED}
APIC ID=1
Type=IO APIC
APIC ID=2
INT BASE=0
ADDR=0x00000000fec00000
Type=Local NMI
ACPI CPU=0
LINT Pin=1
Flags={Polarity=active-hi, Trigger=edge}
Type=Local NMI
ACPI CPU=1
LINT Pin=1
Flags={Polarity=active-hi, Trigger=edge}
Type=INT Override
BUS=0
IRQ=0
INTR=2
Flags={Polarity=active-hi, Trigger=edge}
Type=INT Override
BUS=0
IRQ=9
INTR=9
Flags={Polarity=active-hi, Trigger=level}
*/
/*
BOOT: Length=40, Revision=1, Checksum=71,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x1
*/
/*
SSDT: Length=2068, Revision=1, Checksum=72,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x20050624
*/
/*
SSDT: Length=2145, Revision=1, Checksum=182,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x20050624
*/
/*
SSDT: Length=607, Revision=1, Checksum=119,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x20050624
*/
/*
SSDT: Length=166, Revision=1, Checksum=29,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x20050624
*/
/*
SSDT: Length=1254, Revision=1, Checksum=193,
OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20070412,
Creator ID=PTL, Creator Revision=0x20050624
*/
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20070320
*
* Disassembly of /tmp/acpidump.EKkHpG, Wed Aug 5 21:47:46 2009
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x00007C2E (31790)
* Revision 0x01
* OEM ID "Sony"
* OEM Table ID "VAIO"
* OEM Revision 0x20070412 (537330706)
* Creator ID "PTL "
* Creator Revision 0x20050624 (537200164)
*/
DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "Sony", "VAIO", 0x20070412)
{
External (_PSS, IntObj)
External (\_PR_.CPU0._PPC)
OperationRegion (PRT0, SystemIO, 0x80, 0x04)
Field (PRT0, DWordAcc, Lock, Preserve)
{
P80H, 32
}
OperationRegion (S_IO, SystemIO, 0x06B0, 0x11)
Field (S_IO, ByteAcc, NoLock, Preserve)
{
PMS0, 8,
PME0, 8,
PMS1, 8,
PMS2, 8,
PMS3, 8,
PME1, 8,
PME2, 8,
PME3, 8,
SMS1, 8,
SMS2, 8,
SME1, 8,
SME2, 8,
RT10, 1,
RT11, 1,
, 1,
RT13, 1,
Offset (0x0E),
RT30, 1,
RT31, 1,
RT32, 1,
RT33, 1,
RT34, 1,
RT35, 1,
RT36, 1,
RT37, 1,
Offset (0x10),
DLPC, 1,
CK33, 1,
CK14, 1
}
OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
Field (IO_T, ByteAcc, NoLock, Preserve)
{
Offset (0x08),
TRP0, 8
}
OperationRegion (PMIO, SystemIO, 0x1000, 0x80)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
Offset (0x42),
, 1,
GPEC, 1
}
OperationRegion (GPIO, SystemIO, 0x1180, 0x3C)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
GU00, 8,
GU01, 8,
GU02, 8,
GU03, 8,
GIO0, 8,
GIO1, 8,
GIO2, 8,
GIO3, 8,
Offset (0x0C),
GL00, 8,
, 4,
GP12, 1,
Offset (0x0E),
GL02, 8,
GL03, 8,
Offset (0x18),
GB00, 8,
GB01, 8,
GB02, 8,
GB03, 8,
Offset (0x2C),
GIV0, 8,
GIV1, 8,
GIV2, 8,
GIV3, 8,
GU04, 8,
GU05, 8,
GU06, 8,
GU07, 8,
GIO4, 8,
GIO5, 8,
GIO6, 8,
GIO7, 8,
, 7,
GP39, 1,
GL05, 8,
GL06, 8,
GL07, 8
}
OperationRegion (GNVS, SystemMemory, 0x7F67C9F7, 0x0100)
Field (GNVS, AnyAcc, Lock, Preserve)
{
OSYS, 16,
SMIF, 8,
PRM0, 8,
PRM1, 8,
SCIF, 8,
PRM2, 8,
PRM3, 8,
LCKF, 8,
PRM4, 8,
PRM5, 8,
P80D, 32,
Offset (0x10),
Offset (0x11),
DBGS, 8,
LINX, 8,
Offset (0x14),
ACTT, 8,
PSVT, 8,
TC1V, 8,
TC2V, 8,
TSPV, 8,
CRTT, 8,
DTSE, 8,
DTS1, 8,
DTS2, 8,
Offset (0x1E),
BNUM, 8,
B0SC, 8,
B1SC, 8,
B2SC, 8,
B0SS, 8,
B1SS, 8,
B2SS, 8,
Offset (0x28),
APIC, 8,
MPEN, 8,
Offset (0x2B),
PPCM, 8,
PCP0, 8,
PCP1, 8,
Offset (0x32),
NATP, 8,
CMAP, 8,
CMBP, 8,
LPTP, 8,
FDCP, 8,
CMCP, 8,
CIRP, 8,
Offset (0x3C),
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,
Offset (0x67),
BLCS, 8,
BRTL, 8,
ALSE, 8,
ALAF, 8,
LLOW, 8,
LHIH, 8,
Offset (0x6E),
EMAE, 8,
EMAP, 16,
EMAL, 16,
Offset (0x74),
MEFE, 8,
Offset (0x78),
TPMP, 8,
TPME, 8,
Offset (0x82),
GTF0, 56,
GTF2, 56,
IDEM, 8
}
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,
A97D, 1,
Offset (0x341A),
RP1D, 1,
RP2D, 1,
RP3D, 1,
RP4D, 1,
RP5D, 1,
RP6D, 1
}
Mutex (MUTX, 0x00)
Name (_S0, Package (0x03)
{
0x00,
0x00,
0x00
})
Name (_S3, Package (0x03)
{
0x05,
0x05,
0x00
})
Name (_S4, Package (0x03)
{
0x06,
0x06,
0x00
})
Name (_S5, Package (0x03)
{
0x07,
0x07,
0x00
})
Scope (\_PR)
{
Processor (CPU0, 0x00, 0x00001010, 0x06) {}
Processor (CPU1, 0x01, 0x00001010, 0x06) {}
}
Name (\DSEN, 0x01)
Name (\ECON, 0x00)
Name (\GPIC, 0x00)
Name (\CTYP, 0x00)
Name (\L01C, 0x00)
Name (\VFN0, 0x00)
Method (\_PIC, 1, NotSerialized)
{
Store (Arg0, GPIC)
}
Method (_PTS, 1, NotSerialized)
{
Store (0x00, P80D)
If (LEqual (Arg0, 0x03)) {}
If (LEqual (Arg0, 0x05))
{
\_SB.PHSR (0x4B)
}
Store (\_SB.PCI0.LPCB.EC0.DOKD, \_SB.PCI0.LPCB.EC0.DCKB)
Store (\_SB.PCI0.LPCB.EC0.BT1A, \_SB.PCI0.LPCB.EC0.BT1B)
Store (\_SB.PCI0.LPCB.EC0.BT2A, \_SB.PCI0.LPCB.EC0.BT2B)
Store (\_SB.PCI0.LPCB.EC0.ACAT, \_SB.PCI0.LPCB.EC0.ACAB)
If (LEqual (Arg0, 0x03))
{
Store (\_SB.PCI0.LPCB.SPIC._CRS (), \_SB.PCI0.LPCB.SPIC.SSRC)
If (And (\_SB.PCI0.LPCB.SNC.LRST, 0x04))
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
PHSW (0xD5, 0x9E, 0x80)
}
Else
{
Store (0x01, \_SB.PCI0.LPCB.EC0.LIDE)
}
}
Store (0xB3, P80H)
Store (PHS (0xA0), Local0)
}
If (LEqual (Arg0, 0x04))
{
Store (\_SB.PCI0.LPCB.SPIC._CRS (), \_SB.PCI0.LPCB.SPIC.SSRC)
If (And (\_SB.PCI0.LPCB.SNC.LRST, 0x02))
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
PHSW (0xD5, 0x9E, 0x80)
}
Else
{
Store (0x01, \_SB.PCI0.LPCB.EC0.LIDE)
}
}
Store (0xB4, P80H)
Store (PHS (0xA2), Local0)
}
If (LEqual (Arg0, 0x05))
{
If (And (\_SB.PCI0.LPCB.SNC.LRST, 0x01))
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
PHSW (0xD5, 0x9E, 0x80)
}
Else
{
Store (0x01, \_SB.PCI0.LPCB.EC0.LIDE)
}
}
Store (0xB5, P80H)
Store (PHS (0xA7), Local0)
}
If (LEqual (DBGS, 0x00))
{
Store (0x00, RT10)
Store (0x20, PME1)
Store (0x01, PME0)
Store (0x20, PMS1)
Store (0x01, PMS0)
}
}
Method (_WAK, 1, NotSerialized)
{
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
If (And (CFGD, 0x01000000))
{
If (CondRefOf (\_OSI, Local0))
{
If (LNot (\_OSI ("Windows 2001 SP2")))
{
If (And (CFGD, 0xF0))
{
TRAP (0x3D)
}
}
}
}
}
If (LEqual (RP1D, 0x00))
{
Notify (\_SB.PCI0.RP01, 0x00)
}
If (LEqual (RP4D, 0x00))
{
Notify (\_SB.PCI0.RP04, 0x00)
}
Store (\_SB.PCI0.LPCB.EC0.WUP0, \_SB.PCI0.LPCB.EC0.WUP1)
If (LEqual (Arg0, 0x03))
{
\_SB.PCI0.LPCB.SPIC._SRS (\_SB.PCI0.LPCB.SPIC.SSRC)
If (PHS (0xC7))
{
Notify (\_SB.PCI0.RP02, 0x02)
Notify (\_SB.PCI0.RP03, 0x02)
Notify (\_SB.PCI0.RP04, 0x02)
}
If (\_SB.PCI0.LPCB.EC0.BT1A)
{
Notify (\_SB.PCI0.LPCB.EC0.BAT1, 0x81)
}
If (LNotEqual (\_SB.PCI0.LPCB.EC0.WUP1, 0x01))
{
Notify (\_SB.PWRB, 0x02)
}
Store (0x00, \_SB.PCI0.LPCB.EC0.UDRQ)
If (\_SB.PCI0.LPCB.EC0.DCKB)
{
If (\_SB.PCI0.LPCB.EC0.DOKD)
{
Store (0x01, \_SB.PCI0.LPCB.EC0.IUSE)
If (LEqual (\_SB.PCI0.LPCB.EC0.WUP1, 0x02))
{
Store (0x01, \_SB.PCI0.LPCB.EC0.UDRQ)
Notify (\_SB.DOCK, 0x03)
}
}
Else
{
Store (0x00, \_SB.PCI0.LPCB.EC0.IUSE)
Notify (\_SB.DOCK, 0x00)
Notify (\_SB.PCI0.RP04, 0x00)
Notify (\_SB.PCI0, 0x01)
}
}
Else
{
If (\_SB.PCI0.LPCB.EC0.DOKD)
{
Store (0x01, \_SB.PCI0.LPCB.EC0.IUSE)
If (LEqual (\_SB.PCI0.LPCB.EC0.WUP1, 0x02)) {}
Else
{
Notify (\_SB.DOCK, 0x00)
}
}
}
If (LEqual (0x00, ACTT)) {}
}
If (LEqual (Arg0, 0x04))
{
\_SB.PCI0.LPCB.SPIC._SRS (\_SB.PCI0.LPCB.SPIC.SSRC)
If (LEqual (\_SB.PCI0.LPCB.EC0.BAT1._STA (), 0x1F))
{
Notify (\_SB.PCI0.LPCB.EC0.BAT1, 0x81)
}
Notify (\_SB.PWRB, 0x02)
Store (Zero, \_SB.PCI0.PCIB.CRD2.CD44)
If (\_OSI ("Windows 2006"))
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
PHSW (0xD5, 0x97, 0x01)
}
Else
{
Store (0x01, \_SB.PCI0.LPCB.EC0.OSTP)
}
}
Store (0x00, \_SB.PCI0.LPCB.EC0.UDRQ)
If (\_SB.PCI0.LPCB.EC0.DCKB)
{
If (\_SB.PCI0.LPCB.EC0.DOKD)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.WUP1, 0x02))
{
Store (0x01, \_SB.PCI0.LPCB.EC0.UDRQ)
Notify (\_SB.DOCK, 0x03)
}
}
Else
{
Notify (\_SB.DOCK, 0x00)
Notify (\_SB.PCI0.RP04, 0x00)
Notify (\_SB.PCI0, 0x01)
}
}
Else
{
If (\_SB.PCI0.LPCB.EC0.DOKD)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.WUP1, 0x02)) {}
Else
{
Notify (\_SB.DOCK, 0x00)
}
}
}
}
If (LEqual (OSYS, 0x07D2))
{
If (And (CFGD, 0x01))
{
If (LGreater (\_PR.CPU0._PPC, 0x00))
{
Subtract (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)
PNOT ()
Add (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)
PNOT ()
}
Else
{
Add (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)
PNOT ()
Subtract (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)
PNOT ()
}
}
}
Return (Package (0x02)
{
0x00,
0x00
})
}
Scope (\_GPE)
{
Method (_L01, 0, NotSerialized)
{
Add (L01C, 0x01, L01C)
Sleep (0x64)
If (LAnd (LEqual (RP1D, 0x00), \_SB.PCI0.RP01.HPCS))
{
If (\_SB.PCI0.RP01.PDC1)
{
Store (0x01, \_SB.PCI0.RP01.PDC1)
Store (0x01, \_SB.PCI0.RP01.HPCS)
Notify (\_SB.PCI0.RP01, 0x00)
}
Else
{
Store (0x01, \_SB.PCI0.RP01.HPCS)
}
}
If (LAnd (LEqual (RP2D, 0x00), \_SB.PCI0.RP02.HPCS))
{
If (\_SB.PCI0.RP02.PDC2)
{
Store (0x01, \_SB.PCI0.RP02.PDC2)
Store (0x01, \_SB.PCI0.RP02.HPCS)
}
Else
{
Store (0x01, \_SB.PCI0.RP02.HPCS)
}
}
If (LAnd (LEqual (RP3D, 0x00), \_SB.PCI0.RP03.HPCS))
{
If (\_SB.PCI0.RP03.PDC3)
{
Store (0x01, \_SB.PCI0.RP03.PDC3)
Store (0x01, \_SB.PCI0.RP03.HPCS)
}
Else
{
Store (0x01, \_SB.PCI0.RP03.HPCS)
}
}
If (LAnd (LEqual (RP4D, 0x00), \_SB.PCI0.RP04.HPCS))
{
If (\_SB.PCI0.RP04.PDC4)
{
Store (0x01, \_SB.PCI0.RP04.PDC4)
Store (0x01, \_SB.PCI0.RP04.HPCS)
}
Else
{
Store (0x01, \_SB.PCI0.RP04.HPCS)
}
}
}
Method (_L02, 0, NotSerialized)
{
Store (0x00, GPEC)
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB1, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
}
Method (_L05, 0, NotSerialized)
{
If (HDAD)
{
Notify (\_SB.PCI0.MODM, 0x02)
}
Else
{
Notify (\_SB.PCI0.HDEF, 0x02)
}
}
Method (_L07, 0, NotSerialized)
{
Store (0x20, \_SB.PCI0.SBUS.HSTS)
}
Method (_L08, 0, NotSerialized)
{
}
Method (_L09, 0, NotSerialized)
{
If (\_SB.PCI0.RP01.PSP1)
{
Store (0x01, \_SB.PCI0.RP01.PSP1)
Store (0x01, \_SB.PCI0.RP01.PMCS)
Notify (\_SB.PCI0.RP01, 0x02)
}
If (\_SB.PCI0.RP03.PSP3)
{
Store (0x01, \_SB.PCI0.RP03.PSP3)
Store (0x01, \_SB.PCI0.RP03.PMCS)
Notify (\_SB.PCI0.RP03, 0x02)
}
If (\_SB.PCI0.RP04.PSP4)
{
Store (0x01, \_SB.PCI0.RP04.PSP4)
Store (0x01, \_SB.PCI0.RP04.PMCS)
Notify (\_SB.PCI0.RP04, 0x02)
}
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.PCIB, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB7, 0x02)
}
Method (_L1D, 0, NotSerialized)
{
}
}
Scope (\_SB)
{
Name (OSTB, Ones)
OperationRegion (OSTY, SystemMemory, 0x7F67CAF7, 0x00000001)
Field (OSTY, AnyAcc, NoLock, Preserve)
{
TPOS, 8
}
Method (OSTP, 0, NotSerialized)
{
If (LEqual (^OSTB, Ones))
{
If (CondRefOf (\_OSI, Local0))
{
If (\_OSI ("Windows 2001.1"))
{
Store (0x20, ^OSTB)
Store (0x20, ^TPOS)
}
Else
{
If (\_OSI ("Windows 2001 SP1"))
{
Store (0x10, ^OSTB)
Store (0x10, ^TPOS)
}
Else
{
If (\_OSI ("Windows 2001"))
{
Store (0x08, ^OSTB)
Store (0x08, ^TPOS)
}
Else
{
Store (0x00, ^OSTB)
Store (0x00, ^TPOS)
}
}
}
}
Else
{
If (CondRefOf (\_OS, Local0))
{
If (^SEQL (\_OS, "Microsoft Windows"))
{
Store (0x01, ^OSTB)
Store (0x01, ^TPOS)
}
Else
{
If (^SEQL (\_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store (0x02, ^OSTB)
Store (0x02, ^TPOS)
}
Else
{
If (^SEQL (\_OS, "Microsoft Windows NT"))
{
Store (0x04, ^OSTB)
Store (0x04, ^TPOS)
}
Else
{
Store (0x00, ^OSTB)
Store (0x00, ^TPOS)
}
}
}
}
Else
{
Store (0x00, ^OSTB)
Store (0x00, ^TPOS)
}
}
}
Return (^OSTB)
}
Method (SEQL, 2, Serialized)
{
Store (SizeOf (Arg0), Local0)
Store (SizeOf (Arg1), Local1)
If (LNotEqual (Local0, Local1))
{
Return (Zero)
}
Name (BUF0, Buffer (Local0) {})
Store (Arg0, BUF0)
Name (BUF1, Buffer (Local0) {})
Store (Arg1, BUF1)
Store (Zero, Local2)
While (LLess (Local2, Local0))
{
Store (DerefOf (Index (BUF0, Local2)), Local3)
Store (DerefOf (Index (BUF1, Local2)), Local4)
If (LNotEqual (Local3, Local4))
{
Return (Zero)
}
Increment (Local2)
}
Return (One)
}
}
Method (BTTM, 1, Serialized)
{
If (PWRS)
{
If (LGreaterEqual (Arg0, B0SC))
{
Store (Arg0, B0SC)
}
}
Else
{
If (LLessEqual (Arg0, B0SC))
{
Store (Arg0, B0SC)
}
}
}
Method (GETB, 3, Serialized)
{
Multiply (Arg0, 0x08, Local0)
Multiply (Arg1, 0x08, Local1)
CreateField (Arg2, Local0, Local1, TBF3)
Return (TBF3)
}
Method (P8XH, 2, Serialized)
{
If (LEqual (Arg0, 0x00))
{
Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
}
If (LEqual (Arg0, 0x01))
{
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 (PNOT, 0, Serialized)
{
If (MPEN)
{
If (And (PDC0, 0x08))
{
Notify (\_PR.CPU0, 0x80)
If (And (PDC0, 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU0, 0x81)
}
}
If (And (PDC1, 0x08))
{
Notify (\_PR.CPU1, 0x80)
If (And (PDC1, 0x10))
{
Sleep (0x64)
Notify (\_PR.CPU1, 0x81)
}
}
}
Else
{
Notify (\_PR.CPU0, 0x80)
Sleep (0x64)
Notify (\_PR.CPU0, 0x81)
}
}
Method (TRAP, 1, Serialized)
{
Store (Arg0, SMIF)
Store (0x00, TRP0)
Return (SMIF)
}
Method (GETP, 1, Serialized)
{
If (LEqual (And (Arg0, 0x09), 0x00))
{
Return (0xFFFFFFFF)
}
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 (LAnd (Arg1, Arg4))
{
Return (0x14)
}
If (LAnd (Arg2, Arg4))
{
Return (Multiply (Subtract (0x04, Arg3), 0x0F))
}
Return (Multiply (Subtract (0x04, Arg3), 0x1E))
}
Return (0xFFFFFFFF)
}
Method (GETT, 1, Serialized)
{
Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02
), 0x03), And (Arg0, 0x03)))))
}
Method (GETF, 3, Serialized)
{
Name (TMPF, 0x00)
If (Arg0)
{
Or (TMPF, 0x01, 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, 0x01)))
{
Return (0x2101)
}
}
Return (0x1001)
}
}
Method (SDMA, 1, Serialized)
{
If (LLessEqual (Arg0, 0x14))
{
Return (0x01)
}
If (LLessEqual (Arg0, 0x1E))
{
Return (0x02)
}
If (LLessEqual (Arg0, 0x2D))
{
Return (0x01)
}
If (LLessEqual (Arg0, 0x3C))
{
Return (0x02)
}
If (LLessEqual (Arg0, 0x5A))
{
Return (0x01)
}
Return (0x00)
}
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, 0x01)))
{
Return (0x09)
}
}
Return (0x04)
}
Scope (\_TZ)
{
ThermalZone (ATF0)
{
Method (KELV, 1, NotSerialized)
{
Store (Arg0, Local0)
Multiply (Local0, 0x0A, Local0)
Add (Local0, 0x0AAB, Local0)
Return (Local0)
}
Method (_TMP, 0, Serialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
Store (PHSD (0xD4, 0xC0), Local1)
}
Else
{
Store (\_SB.PCI0.LPCB.EC0.A1TP, Local1)
}
ShiftRight (Local1, 0x08, Local0)
If (LGreater (Local0, 0x80))
{
Sleep (0x32)
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
Store (PHSD (0xD4, 0xC0), Local1)
}
Else
{
Store (\_SB.PCI0.LPCB.EC0.A1TP, Local1)
}
ShiftRight (Local1, 0x08, Local0)
}
Return (KELV (Local0))
}
Method (_PSV, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
Store (PHSD (0xD4, 0xC4), Local1)
}
Else
{
Store (\_SB.PCI0.LPCB.EC0.A1PT, Local1)
}
ShiftRight (Local1, 0x08, Local0)
Return (KELV (Local0))
}
Method (_PSL, 0, Serialized)
{
If (MPEN)
{
Return (Package (0x02)
{
\_PR.CPU0,
\_PR.CPU1
})
}
Return (Package (0x01)
{
\_PR.CPU0
})
}
Method (_CRT, 0, Serialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
Store (PHSD (0xD4, 0xC6), Local1)
}
Else
{
Store (\_SB.PCI0.LPCB.EC0.A1CT, Local1)
}
ShiftRight (Local1, 0x08, Local0)
Return (KELV (Local0))
}
Name (_TC1, 0x01)
Name (_TC2, 0x02)
Name (_TSP, 0x32)
}
ThermalZone (DTS0)
{
Name (_PSV, 0x0E92)
Name (_CRT, 0x0E9C)
Method (_PSL, 0, Serialized)
{
If (MPEN)
{
Return (Package (0x02)
{
\_PR.CPU0,
\_PR.CPU1
})
}
Return (Package (0x01)
{
\_PR.CPU0
})
}
Name (_TC1, 0x01)
Name (_TC2, 0x02)
Name (_TSP, 0x32)
Method (_TMP, 0, NotSerialized)
{
Store (PHSB (0xA6, 0x00), Local0)
Multiply (Local0, 0x0A, Local0)
Add (Local0, 0x0AAB, Local0)
Return (Local0)
}
}
ThermalZone (DTS1)
{
Name (_PSV, 0x0E92)
Name (_CRT, 0x0E9C)
Method (_PSL, 0, Serialized)
{
If (MPEN)
{
Return (Package (0x02)
{
\_PR.CPU0,
\_PR.CPU1
})
}
Return (Package (0x01)
{
\_PR.CPU0
})
}
Name (_TC1, 0x01)
Name (_TC2, 0x02)
Name (_TSP, 0x32)
Method (_TMP, 0, NotSerialized)
{
If (MPEN)
{
Store (PHSB (0xA6, 0x01), Local0)
}
Else
{
Store (PHSB (0xA6, 0x00), Local0)
}
Multiply (Local0, 0x0A, Local0)
Add (Local0, 0x0AAB, Local0)
Return (Local0)
}
}
}
OperationRegion (SMI0, SystemMemory, 0x7F67CAF8, 0x00000415)
Field (SMI0, AnyAcc, NoLock, Preserve)
{
BCMD, 8,
DID, 32,
INFO, 4096
}
Field (SMI0, AnyAcc, NoLock, Preserve)
{
Offset (0x05),
INFB, 8
}
Field (SMI0, AnyAcc, NoLock, Preserve)
{
Offset (0x05),
INFD, 32
}
Field (SMI0, AnyAcc, NoLock, Preserve)
{
Offset (0x05),
SXBF, 8320
}
Field (SMI0, AnyAcc, NoLock, Preserve)
{
Offset (0x05),
INF1, 8,
INF2, 8
}
OperationRegion (SMI1, SystemIO, 0x0000FE00, 0x00000002)
Field (SMI1, AnyAcc, NoLock, Preserve)
{
SMIC, 8
}
Mutex (MPHS, 0x00)
Method (PHS0, 1, NotSerialized)
{
Store (Arg0, BCMD)
Store (Zero, SMIC)
While (LEqual (BCMD, Arg0)) {}
Store (0x00, BCMD)
}
Method (PHS, 1, Serialized)
{
Acquire (MPHS, 0xFFFF)
Store (0x00, DID)
PHS0 (Arg0)
Store (INFD, Local0)
Release (MPHS)
Return (Local0)
}
Method (PHSD, 2, Serialized)
{
Acquire (MPHS, 0xFFFF)
Store (0x00, DID)
Store (Arg1, INFD)
PHS0 (Arg0)
Store (INFD, Local0)
Release (MPHS)
Return (Local0)
}
Method (PHSW, 3, Serialized)
{
Acquire (MPHS, 0xFFFF)
Store (0x00, DID)
Store (Arg1, INF1)
Store (Arg2, INF2)
PHS0 (Arg0)
Store (INFB, Local0)
Release (MPHS)
Return (Local0)
}
Method (PHSB, 2, Serialized)
{
Acquire (MPHS, 0xFFFF)
Store (0x00, DID)
Store (Arg1, INFB)
PHS0 (Arg0)
Store (INFB, Local0)
Release (MPHS)
Return (Local0)
}
Method (PSCS, 1, Serialized)
{
Acquire (MPHS, 0xFFFF)
Store (Arg0, DID)
Store (Zero, INFO)
PHS0 (0x00)
Store (INFO, Local0)
Release (MPHS)
Return (Local0)
}
Method (PSSS, 2, Serialized)
{
Acquire (MPHS, 0xFFFF)
Store (Arg0, DID)
Store (Arg1, INFO)
PHS0 (0x01)
Release (MPHS)
}
Method (PSPS, 1, Serialized)
{
Acquire (MPHS, 0xFFFF)
Store (Arg0, DID)
Store (Zero, INFO)
PHS0 (0x02)
Store (INFO, Local0)
Release (MPHS)
Return (Local0)
}
Method (PSDI, 1, Serialized)
{
Acquire (MPHS, 0xFFFF)
Store (Arg0, DID)
PHS0 (0x03)
Release (MPHS)
}
Method (PSST, 1, Serialized)
{
Acquire (MPHS, 0xFFFF)
Store (Arg0, DID)
PHS0 (0x04)
Store (INFB, Local0)
Release (MPHS)
Return (Local0)
}
Scope (\_SB)
{
OperationRegion (TCG1, SystemMemory, 0x7F67C9F0, 0x00000007)
Field (TCG1, AnyAcc, NoLock, Preserve)
{
PPRQ, 8,
PPLO, 8,
PPRP, 8,
PPOR, 8,
TPRS, 8,
TPMV, 8,
MOR, 8
}
Method (PHSR, 1, Serialized)
{
Store (Arg0, BCMD)
Store (Zero, DID)
Store (Zero, SMIC)
If (LEqual (BCMD, Arg0)) {}
Store (Zero, BCMD)
Store (Zero, DID)
Return (0x00)
}
OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
Field (SMI0, AnyAcc, NoLock, Preserve)
{
SMIC, 8
}
OperationRegion (SMI1, SystemMemory, 0x7F67CAF8, 0x00000415)
Field (SMI1, AnyAcc, NoLock, Preserve)
{
BCMD, 8,
DID, 32,
INFO, 1024
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
AccessAs (ByteAcc, 0x00),
Offset (0x05),
INF, 8
}
Method (_INI, 0, NotSerialized)
{
Store (0x07D0, OSYS)
If (CondRefOf (\_OSI, Local0))
{
If (\_OSI ("Linux"))
{
Store (0x01, LINX)
}
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 (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
PHSW (0xD5, 0x97, 0x01)
}
Else
{
Store (0x01, \_SB.PCI0.LPCB.EC0.OSTP)
}
}
}
}
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D"))
Method (_LID, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
And (PHSB (0xD4, 0x82), 0x04, Local0)
}
Else
{
Store (\_SB.PCI0.LPCB.EC0.LIDS, Local0)
}
Return (Local0)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_PRW, Package (0x02)
{
0x1D,
0x04
})
}
Mutex (PLOK, 0x00)
Method (NCPU, 0, NotSerialized)
{
Acquire (PLOK, 0xFFFF)
Notify (\_PR.CPU0, 0x80)
If (MPEN)
{
Notify (\_PR.CPU1, 0x80)
}
Sleep (0x64)
Notify (\_PR.CPU0, 0x81)
If (MPEN)
{
Notify (\_PR.CPU1, 0x81)
}
Release (PLOK)
}
Device (PCI0)
{
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
Name (_HID, EisaId ("PNP0A08"))
Name (_CID, 0x030AD041)
Name (_ADR, 0x00)
Name (SUPP, 0x00)
Name (CTRL, 0x00)
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, CDW1)
CreateDWordField (Arg3, 0x04, CDW2)
CreateDWordField (Arg3, 0x08, CDW3)
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
/* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
}))
{
Store (CDW2, SUPP)
Store (CDW3, CTRL)
Store (0x00, CTRL)
If (LNotEqual (Arg1, One))
{
Or (CDW1, 0x08, CDW1)
}
If (LNotEqual (CDW3, CTRL))
{
Or (CDW1, 0x10, CDW1)
}
Store (CTRL, CDW3)
Return (Arg3)
}
Else
{
Or (CDW1, 0x04, CDW1)
Return (Arg3)
}
}
Name (_BBN, 0x00)
OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
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 (0x5C),
, 3,
TOUD, 5
}
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
,, _Y0E, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0xFED40000, // Range Minimum
0xFED44FFF, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, _Y0D, AddressRangeMemory, TypeStatic)
})
Method (_CRS, 0, Serialized)
{
If (PM1L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)
Store (Zero, C0LN)
}
If (LEqual (PM1L, 0x01))
{
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, 0x01))
{
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, 0x01))
{
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, 0x01))
{
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, 0x01))
{
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, 0x01))
{
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, 0x01))
{
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, 0x01))
{
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, 0x01))
{
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, 0x01))
{
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, 0x01))
{
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, 0x01))
{
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, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)
Store (Zero, F0RW)
}
If (TPMP)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, TPML)
Store (0x5000, TPML)
}
CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN)
CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX)
CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN)
ShiftLeft (TOUD, 0x1B, M1MN)
Add (Subtract (M1MX, M1MN), 0x01, M1LN)
Return (BUF0)
}
Method (_PRT, 0, NotSerialized)
{
If (GPIC)
{
Return (Package (0x0F)
{
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0002FFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x001BFFFF,
0x00,
0x00,
0x15
},
Package (0x04)
{
0x001CFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x001CFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001CFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x00,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x03,
0x00,
0x17
},
Package (0x04)
{
0x001EFFFF,
0x00,
0x00,
0x16
},
Package (0x04)
{
0x001EFFFF,
0x01,
0x00,
0x14
},
Package (0x04)
{
0x001FFFFF,
0x01,
0x00,
0x16
}
})
}
Else
{
Return (Package (0x0F)
{
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0x001BFFFF,
0x00,
\_SB.PCI0.LPCB.LNKF,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x01,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x03,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x00,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x01,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x02,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x03,
\_SB.PCI0.LPCB.LNKH,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x00,
\_SB.PCI0.LPCB.LNKG,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x01,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
\_SB.PCI0.LPCB.LNKG,
0x00
}
})
}
}
Device (PDRC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x01)
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xE0000000, // Address Base
0x10000000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED14000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED18000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED19000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED1C000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED20000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED40000, // Address Base
0x00005000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED45000, // Address Base
0x0004B000, // Address Length
)
})
Name (BUF1, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xE0000000, // Address Base
0x10000000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED14000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED18000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED19000, // Address Base
0x00001000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED1C000, // Address Base
0x00004000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED20000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFED45000, // Address Base
0x0004B000, // Address Length
)
})
Method (_CRS, 0, Serialized)
{
If (LNot (TPMP))
{
Return (BUF0)
}
Return (BUF1)
}
}
Device (PEGP)
{
Name (_ADR, 0x00010000)
Method (_PRT, 0, NotSerialized)
{
If (GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKD,
0x00
}
})
}
}
Device (NGFX)
{
Name (_ADR, 0x00)
Method (NVIF, 3, NotSerialized)
{
Store (Buffer (0x04) {}, Local0)
CreateDWordField (Local0, 0x00, STA0)
Store (Buffer (0x04) {}, Local1)
CreateDWordField (Local1, 0x00, DAT0)
Store (0x80000002, STA0)
Store (0x00, DAT0)
If (LEqual (Arg0, 0x01))
{
If (LEqual (Arg1, 0x00))
{
Store (0x00, STA0)
Store (0x01, DAT0)
Concatenate (Local0, Local1, Local0)
}
Return (Local0)
}
If (LEqual (Arg0, 0x05))
{
If (LEqual (Arg1, 0x00))
{
Store (0x00, STA0)
Store (0x00, DAT0)
Concatenate (Local0, Local1, Local0)
}
If (LEqual (Arg1, 0x01))
{
Store (0x00, STA0)
If (\_SB.PCI0.LPCB.EC0.DOKD)
{
Store (0x01, DAT0)
}
Else
{
Store (0x00, DAT0)
}
Concatenate (Local0, Local1, Local0)
}
Return (Local0)
}
If (LEqual (Arg0, 0x0B))
{
If (LEqual (Arg1, 0x01))
{
Store (0x00, STA0)
Store (Buffer (0x08)
{
/* 0000 */ 0x00, 0x01, 0x01, 0x00, 0x11, 0x01, 0x01, 0x00
}, Local1)
Concatenate (Local0, Local1, Local0)
}
Return (Local0)
}
Return (Local0)
}
Method (_DOD, 0, NotSerialized)
{
Return (Package (0x03)
{
0x00010110,
0x00010100,
0x00010111
})
}
Device (LCD)
{
Method (_ADR, 0, Serialized)
{
Return (And (0xFFFF, 0x0110))
}
}
Device (CRT)
{
Method (_ADR, 0, Serialized)
{
Return (And (0xFFFF, 0x0100))
}
}
Device (DVI)
{
Method (_ADR, 0, Serialized)
{
Return (And (0xFFFF, 0x0111))
}
}
}
}
Device (GFX0)
{
Name (_ADR, 0x00020000)
Method (_DOS, 1, NotSerialized)
{
}
Method (_DOD, 0, NotSerialized)
{
If (LEqual (NDID, 0x01))
{
Name (TMP1, Package (0x01)
{
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP1, 0x00))
Return (TMP1)
}
If (LEqual (NDID, 0x02))
{
Name (TMP2, Package (0x02)
{
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP2, 0x00))
Store (Or (0x00010000, DID2), Index (TMP2, 0x01))
Return (TMP2)
}
If (LEqual (NDID, 0x03))
{
Name (TMP3, Package (0x03)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP3, 0x00))
Store (Or (0x00010000, DID2), Index (TMP3, 0x01))
Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
Return (TMP3)
}
If (LEqual (NDID, 0x04))
{
Name (TMP4, Package (0x04)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP4, 0x00))
Store (Or (0x00010000, DID2), Index (TMP4, 0x01))
Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
Return (TMP4)
}
Name (TMP5, Package (0x05)
{
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (Or (0x00010000, DID1), Index (TMP5, 0x00))
Store (Or (0x00010000, DID2), Index (TMP5, 0x01))
Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
Store (Or (0x00010000, DID5), Index (TMP5, 0x04))
Return (TMP5)
}
Device (LCD)
{
Method (_ADR, 0, Serialized)
{
Return (And (0xFFFF, DID3))
}
Name (BRIT, Package (0x09)
{
0x04,
0x10,
0x1C,
0x28,
0x34,
0x40,
0x4C,
0x58,
0x64
})
Method (_BCL, 0, NotSerialized)
{
Name (RETB, Package (0x0B) {})
Store (DerefOf (Index (BRIT, 0x08)), Index (RETB, 0x00))
Store (DerefOf (Index (BRIT, 0x08)), Index (RETB, 0x01))
Store (Zero, Local0)
While (LLess (Local0, SizeOf (BRIT)))
{
Store (DerefOf (Index (BRIT, Local0)), Index (RETB, Add (Local0,
0x02)))
Increment (Local0)
}
Return (RETB)
}
Method (_BCM, 1, NotSerialized)
{
Store (Match (BRIT, MEQ, Arg0, MTR, 0x00, 0x00), Local0)
If (LEqual (Local0, Ones))
{
Return (Zero)
}
PHSB (0xC3, Local0)
PHSB (0xC2, Local0)
Return (Zero)
}
Method (_BQC, 0, NotSerialized)
{
Store (PHSB (0xC1, 0x00), Local0)
Return (DerefOf (Index (BRIT, Local0)))
}
}
}
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (AZPW, 1, Serialized)
{
If (\_SB.PCI0.LPCB.EC0.ECOK)
{
If (Arg0)
{
Store (0x00, Local0)
}
Else
{
Store (0x01, Local0)
}
If (LNotEqual (Local0, \_SB.PCI0.LPCB.EC0.VAUD))
{
Store (0x01, \_SB.PCI0.LPCB.EC0.PMUT)
Store (Local0, \_SB.PCI0.LPCB.EC0.VAUD)
Sleep (0x012C)
Store (0x00, \_SB.PCI0.LPCB.EC0.PMUT)
}
}
}
Method (_PS0, 0, NotSerialized)
{
AZPW (0x01)
}
Method (_PS3, 0, NotSerialized)
{
}
}
Device (RP01)
{
Name (_ADR, 0x001C0000)
OperationRegion (P1CS, PCI_Config, 0x40, 0x0100)
Field (P1CS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x1A),
ABP1, 1,
, 2,
PDC1, 1,
, 2,
PDS1, 1,
Offset (0x20),
Offset (0x22),
PSP1, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (S1F0)
{
Name (_ADR, 0x00)
Name (_SUN, 0x01)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Device (S1F1)
{
Name (_ADR, 0x01)
Name (_SUN, 0x01)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Device (S1F2)
{
Name (_ADR, 0x02)
Name (_SUN, 0x01)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Device (S1F3)
{
Name (_ADR, 0x03)
Name (_SUN, 0x01)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Device (S1F4)
{
Name (_ADR, 0x04)
Name (_SUN, 0x01)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Device (S1F5)
{
Name (_ADR, 0x05)
Name (_SUN, 0x01)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Device (S1F6)
{
Name (_ADR, 0x06)
Name (_SUN, 0x01)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Device (S1F7)
{
Name (_ADR, 0x07)
Name (_SUN, 0x01)
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
}
Method (_PRT, 0, NotSerialized)
{
If (\GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKD,
0x00
}
})
}
}
}
Device (RP02)
{
Name (_ADR, 0x001C0001)
OperationRegion (P2CS, PCI_Config, 0x40, 0x0100)
Field (P2CS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x1A),
ABP2, 1,
, 2,
PDC2, 1,
, 2,
PDS2, 1,
Offset (0x20),
Offset (0x22),
PSP2, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Device (WLAN)
{
Name (_ADR, 0x00)
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Method (_PRT, 0, NotSerialized)
{
If (\GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x10
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKA,
0x00
}
})
}
}
}
Device (RP03)
{
Name (_ADR, 0x001C0002)
OperationRegion (P3CS, PCI_Config, 0x40, 0x0100)
Field (P3CS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x1A),
ABP3, 1,
, 2,
PDC3, 1,
, 2,
PDS3, 1,
Offset (0x20),
Offset (0x22),
PSP3, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Method (_PRT, 0, NotSerialized)
{
If (\GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x11
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKB,
0x00
}
})
}
}
Device (TLAN)
{
Name (_ADR, 0x00)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
}
Name (_HPP, Package (0x04)
{
0x10,
0x00,
0x00,
0x00
})
}
Device (RP04)
{
Name (_ADR, 0x001C0003)
OperationRegion (P4CS, PCI_Config, 0x40, 0x0100)
Field (P4CS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x1A),
ABP4, 1,
, 2,
PDC4, 1,
, 2,
PDS4, 1,
Offset (0x20),
Offset (0x22),
PSP4, 1,
Offset (0x9C),
, 30,
HPCS, 1,
PMCS, 1
}
Method (_PRT, 0, NotSerialized)
{
If (\GPIC)
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x12
}
})
}
Else
{
Return (Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LPCB.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
\_SB.PCI0.LPCB.LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
\_SB.PCI0.LPCB.LNKC,
0x00
}
})
}
}
Device (DLAN)
{
Name (_ADR, 0x00)
Name (_SUN, 0x04)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Name (_EJD, "\\_SB.DOCK")
}
Device (S4F1)
{
Name (_ADR, 0x01)
Name (_SUN, 0x04)
}
Device (S4F2)
{
Name (_ADR, 0x02)
Name (_SUN, 0x04)
}
Device (S4F3)
{
Name (_ADR, 0x03)
Name (_SUN, 0x04)
}
Device (S4F4)
{
Name (_ADR, 0x04)
Name (_SUN, 0x04)
}
Device (S4F5)
{
Name (_ADR, 0x05)
Name (_SUN, 0x04)
}
Device (S4F6)
{
Name (_ADR, 0x06)
Name (_SUN, 0x04)
}
Device (S4F7)
{
Name (_ADR, 0x07)
Name (_SUN, 0x04)
}
}
Device (USB1)
{
Name (_ADR, 0x001D0000)
OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
Field (U1CS, DWordAcc, NoLock, Preserve)
{
U1EN, 2
}
Name (_PRW, Package (0x02)
{
0x03,
0x03
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, U1EN)
}
Else
{
Store (0x00, U1EN)
}
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
}
Device (USB2)
{
Name (_ADR, 0x001D0001)
OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
Field (U2CS, DWordAcc, NoLock, Preserve)
{
U2EN, 2
}
Name (_PRW, Package (0x02)
{
0x04,
0x03
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, U2EN)
}
Else
{
Store (0x00, U2EN)
}
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
}
Device (USB3)
{
Name (_ADR, 0x001D0002)
OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
Field (U2CS, DWordAcc, NoLock, Preserve)
{
U3EN, 2
}
Name (_PRW, Package (0x02)
{
0x0C,
0x03
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, U3EN)
}
Else
{
Store (0x00, U3EN)
}
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
}
Device (USB4)
{
Name (_ADR, 0x001D0003)
OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)
Field (U4CS, DWordAcc, NoLock, Preserve)
{
U4EN, 2
}
Name (_PRW, Package (0x02)
{
0x0E,
0x03
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x03, U4EN)
}
Else
{
Store (0x00, U4EN)
}
}
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
}
Device (USB7)
{
Name (_ADR, 0x001D0007)
Device (HUB7)
{
Name (_ADR, 0x00)
Device (PRT1)
{
Name (_ADR, 0x01)
}
Device (PRT2)
{
Name (_ADR, 0x02)
}
Device (PRT3)
{
Name (_ADR, 0x03)
}
Device (PRT4)
{
Name (_ADR, 0x04)
}
Device (PRT5)
{
Name (_ADR, 0x05)
}
Device (PRT6)
{
Name (_ADR, 0x06)
}
Device (PRT7)
{
Name (_ADR, 0x07)
}
Device (PRT8)
{
Name (_ADR, 0x08)
}
}
Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
Method (_S4D, 0, NotSerialized)
{
Return (0x02)
}
}
Device (PCIB)
{
Name (_ADR, 0x001E0000)
Device (SLT0)
{
Name (_ADR, 0x00)
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
}
Device (CRD2)
{
Name (_ADR, 0x00040000)
OperationRegion (CCRD, PCI_Config, 0x00, 0xE4)
Field (CCRD, DWordAcc, NoLock, Preserve)
{
Offset (0x04),
CD04, 32,
Offset (0x3E),
CD3E, 32,
Offset (0x44),
CD44, 32
}
Method (_INI, 0, NotSerialized)
{
Store (Zero, CD44)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Device (S294)
{
Name (_ADR, 0x00040001)
}
Device (MST2)
{
Name (_ADR, 0x00040002)
}
Device (CRD0)
{
Name (_ADR, 0x00050000)
OperationRegion (CCRD, PCI_Config, 0x00, 0xE4)
Field (CCRD, DWordAcc, NoLock, Preserve)
{
Offset (0x04),
CD04, 32,
Offset (0x3E),
CD3E, 32,
Offset (0x44),
CD44, 32
}
Method (_INI, 0, NotSerialized)
{
Store (Zero, CD44)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Device (SD94)
{
Name (_ADR, 0x00050002)
}
Device (MMST)
{
Name (_ADR, 0x00050003)
}
Method (_PRT, 0, NotSerialized)
{
If (GPIC)
{
Return (Package (0x0A)
{
Package (0x04)
{
0x0004FFFF,
0x00,
0x00,
0x14
},
Package (0x04)
{
0x0004FFFF,
0x01,
0x00,
0x15
},
Package (0x04)
{
0x0004FFFF,
0x02,
0x00,
0x16
},
Package (0x04)
{
0x0004FFFF,
0x03,
0x00,
0x17
},
Package (0x04)
{
0x0005FFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x0005FFFF,
0x02,
0x00,
0x14
},
Package (0x04)
{
0x0005FFFF,
0x03,
0x00,
0x17
},
Package (0x04)
{
0x0008FFFF,
0x00,
0x00,
0x14
},
Package (0x04)
{
0x000BFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x000BFFFF,
0x01,
0x00,
0x12
}
})
}
Else
{
Return (Package (0x0A)
{
Package (0x04)
{
0x0004FFFF,
0x00,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
\_SB.PCI0.LPCB.LNKF,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x02,
\_SB.PCI0.LPCB.LNKG,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x03,
\_SB.PCI0.LPCB.LNKH,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x00,
\_SB.PCI0.LPCB.LNKC,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x02,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x0005FFFF,
0x03,
\_SB.PCI0.LPCB.LNKH,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
\_SB.PCI0.LPCB.LNKE,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x00,
\_SB.PCI0.LPCB.LNKB,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x01,
\_SB.PCI0.LPCB.LNKC,
0x00
}
})
}
}
}
Device (AUD0)
{
Name (_ADR, 0x001E0002)
}
Device (MODM)
{
Name (_ADR, 0x001E0003)
}
Device (LPCB)
{
Name (_ADR, 0x001F0000)
OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
Field (LPC0, AnyAcc, NoLock, Preserve)
{
Offset (0x20),
PARC, 8,
PBRC, 8,
PCRC, 8,
PDRC, 8,
Offset (0x28),
PERC, 8,
PFRC, 8,
PGRC, 8,
PHRC, 8,
Offset (0x40),
IOD0, 8,
IOD1, 8,
IOD2, 8,
Offset (0x44),
Offset (0x46),
Offset (0x48),
GID2, 32,
GID3, 32,
GID4, 32
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_DIS, 0, Serialized)
{
Store (0x80, PARC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y0F)
{}
})
CreateWordField (RTLA, \_SB.PCI0.LPCB.LNKA._CRS._Y0F._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PARC, 0x0F), IRQ0)
Return (RTLA)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PARC)
}
Method (_STA, 0, Serialized)
{
If (And (PARC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_DIS, 0, Serialized)
{
Store (0x80, PBRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y10)
{}
})
CreateWordField (RTLB, \_SB.PCI0.LPCB.LNKB._CRS._Y10._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PBRC, 0x0F), IRQ0)
Return (RTLB)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PBRC)
}
Method (_STA, 0, Serialized)
{
If (And (PBRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_DIS, 0, Serialized)
{
Store (0x80, PCRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y11)
{}
})
CreateWordField (RTLC, \_SB.PCI0.LPCB.LNKC._CRS._Y11._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PCRC, 0x0F), IRQ0)
Return (RTLC)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PCRC)
}
Method (_STA, 0, Serialized)
{
If (And (PCRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_DIS, 0, Serialized)
{
Store (0x80, PDRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y12)
{}
})
CreateWordField (RTLD, \_SB.PCI0.LPCB.LNKD._CRS._Y12._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PDRC, 0x0F), IRQ0)
Return (RTLD)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PDRC)
}
Method (_STA, 0, Serialized)
{
If (And (PDRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_DIS, 0, Serialized)
{
Store (0x80, PERC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y13)
{}
})
CreateWordField (RTLE, \_SB.PCI0.LPCB.LNKE._CRS._Y13._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PERC, 0x0F), IRQ0)
Return (RTLE)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PERC)
}
Method (_STA, 0, Serialized)
{
If (And (PERC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_DIS, 0, Serialized)
{
Store (0x80, PFRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y14)
{}
})
CreateWordField (RTLF, \_SB.PCI0.LPCB.LNKF._CRS._Y14._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PFRC, 0x0F), IRQ0)
Return (RTLF)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PFRC)
}
Method (_STA, 0, Serialized)
{
If (And (PFRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_DIS, 0, Serialized)
{
Store (0x80, PGRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLG, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y15)
{}
})
CreateWordField (RTLG, \_SB.PCI0.LPCB.LNKG._CRS._Y15._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PGRC, 0x0F), IRQ0)
Return (RTLG)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PGRC)
}
Method (_STA, 0, Serialized)
{
If (And (PGRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_DIS, 0, Serialized)
{
Store (0x80, PHRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y16)
{}
})
CreateWordField (RTLH, \_SB.PCI0.LPCB.LNKH._CRS._Y16._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PHRC, 0x0F), IRQ0)
Return (RTLH)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PHRC)
}
Method (_STA, 0, Serialized)
{
If (And (PHRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09"))
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
)
})
Name (_GPE, 0x17)
Name (ECOK, 0x00)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, ECOK)
}
}
Name (_PRW, Package (0x02)
{
0x1D,
0x05
})
OperationRegion (ECR, EmbeddedControl, 0x00, 0xFF)
Field (ECR, ByteAcc, Lock, Preserve)
{
Offset (0x80),
MPBP, 1,
MPBD, 1,
DOKD, 1,
DFBP, 1,
Offset (0x81),
BT1A, 1,
BT2A, 1,
ACAT, 1,
Offset (0x82),
PWRB, 1,
JOGB, 1,
LIDS, 1,
Offset (0x83),
BT1P, 1,
BT2P, 1,
Offset (0x84),
B1ST, 8,
B2ST, 8,
Offset (0x87),
Offset (0x88),
WUP0, 8,
DKID, 8,
Offset (0x90),
MASK, 8,
BT1S, 1,
BT2S, 1,
Offset (0x92),
BT1W, 1,
BT2W, 1,
Offset (0x93),
FAN0, 8,
CB0S, 1,
CB1S, 1,
Offset (0x95),
PHYO, 1,
Offset (0x96),
BRIT, 8,
OSTP, 1,
Offset (0x98),
PMUT, 1,
VAUD, 1,
Offset (0x99),
SMDM, 1,
Offset (0x9A),
Offset (0x9B),
SIRQ, 8,
SLOB, 8,
SHIB, 8,
MPWR, 1,
COFF, 1,
ERST, 1,
EOFF, 1,
IRST, 1,
OPOW, 1,
IUSE, 1,
LIDE, 1,
Offset (0xA0),
B1RC, 16,
B1AB, 16,
B1AC, 16,
B1VO, 16,
B2RC, 16,
B2AB, 16,
B2AC, 16,
B2VO, 16,
B1DC, 16,
B1LF, 16,
B1DV, 16,
B1DL, 16,
B2DC, 16,
B2LF, 16,
B2DV, 16,
B2DL, 16,
A1TP, 16,
A1AT, 16,
A1PT, 16,
A1CT, 16,
A2TP, 16,
A2AT, 16,
A2PT, 16,
A2CT, 16,
Offset (0xF4),
, 4,
CPRS, 1
}
Name (UDRQ, 0x00)
Name (DCKB, 0x00)
Name (WUP1, 0x00)
Name (BT1B, 0x00)
Name (BT2B, 0x00)
Name (ACAB, 0x00)
Method (_Q50, 0, NotSerialized)
{
Notify (ACAD, 0x80)
\_SB.NCPU ()
}
Method (_Q51, 0, NotSerialized)
{
If (BT1A)
{
Notify (BAT1, 0x00)
}
Else
{
Notify (BAT1, 0x01)
}
Notify (BAT1, 0x80)
}
Method (_Q53, 0, NotSerialized)
{
}
Method (_Q58, 0, NotSerialized)
{
Notify (\_TZ.ATF0, 0x81)
}
Method (_Q5F, 0, NotSerialized)
{
Notify (\_TZ.ATF0, 0x80)
}
Method (_Q60, 0, NotSerialized)
{
Notify (\_SB.PWRB, 0x80)
}
Method (_Q66, 0, NotSerialized)
{
Notify (\_SB.LID0, 0x80)
}
Method (_Q69, 0, NotSerialized)
{
If (IGDS)
{
Notify (\_SB.PCI0.GFX0, 0x81)
}
Else
{
Notify (\_SB.PCI0.PEGP.NGFX, 0x81)
}
}
Method (_Q5A, 0, NotSerialized)
{
Notify (\_SB.DOCK, 0x00)
}
Method (_Q5B, 0, NotSerialized)
{
If (LNot (UDRQ))
{
Store (0x00, IUSE)
Notify (\_SB.DOCK, 0x00)
Notify (\_SB.PCI0.RP04, 0x00)
Notify (\_SB.PCI0, 0x01)
}
Else
{
Store (0x00, UDRQ)
Signal (\_SB.DOCK.UDCK)
}
}
Method (_Q5C, 0, NotSerialized)
{
If (DOKD)
{
Notify (\_SB.DOCK, 0x03)
}
}
Device (BAT1)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, 0x01)
Name (_PCL, Package (0x01)
{
\_SB
})
Name (BATI, Package (0x0D)
{
0x00,
0x9650,
0x9650,
0x00,
0x39D0,
0x00,
0x78,
0x00,
0x0A,
"",
"",
"LION",
"Sony Corp."
})
Name (BATS, Package (0x04)
{
0x02,
0xFFFFFFFF,
0x0D7A,
0x3840
})
Method (_STA, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
And (PHSD (0xD4, 0x80), 0x0100, Local1)
}
Else
{
Store (BT1A, Local1)
}
If (Local1)
{
Store (0x1F, Local0)
}
Else
{
Store (0x0F, Local0)
}
Return (Local0)
}
Method (_BIF, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
Store (PHSD (0xD4, 0xB0), Local0)
Store (PHSD (0xD4, 0xB2), Local1)
Store (PHSD (0xD4, 0xB6), Local2)
}
Else
{
Store (B1DC, Local0)
Store (B1LF, Local1)
Store (B1DV, Local2)
}
Multiply (Local0, 0x0A, Index (BATI, 0x01))
Multiply (Local1, 0x0A, Index (BATI, 0x02))
Store (Local2, Index (BATI, 0x04))
Return (BATI)
}
Method (_BST, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
Store (And (PHSD (0xD4, 0x84), 0xFF, Local0), Index (BATS, 0x00
))
Store (PHSD (0xD4, 0xA6), Local0)
Store (PHSD (0xD4, 0xA4), Local1)
Store (PHSD (0xD4, 0xA2), Local2)
}
Else
{
Store (B1ST, Index (BATS, 0x00))
Store (B1VO, Local0)
Store (B1AC, Local1)
Store (B1AB, Local2)
}
If (LEqual (Local1, 0xFFFF))
{
Store (0xFFFFFFFF, Local1)
}
Else
{
If (LGreaterEqual (Local1, 0x8000))
{
XOr (Local1, 0xFFFF, Local1)
Increment (Local1)
}
Multiply (Local0, Local1, Local1)
Divide (Local1, 0x03E8, , Local1)
}
Store (Local1, Index (BATS, 0x01))
Multiply (Local2, 0x0A, Index (BATS, 0x02))
Store (Local0, Index (BATS, 0x03))
Return (BATS)
}
}
Scope (\)
{
Name (PWRS, Ones)
}
Device (ACAD)
{
Name (_HID, "ACPI0003")
Name (_PCL, Package (0x01)
{
\_SB
})
Method (_PSR, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
And (PHSD (0xD4, 0x80), 0x0400, Local1)
}
Else
{
Store (ACAT, Local1)
}
Store (Local1, PWRS)
If (Local1)
{
Return (One)
}
Else
{
Return (Zero)
}
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
}
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x01, // Alignment
0x11, // Length
)
IO (Decode16,
0x0093, // Range Minimum
0x0093, // Range Maximum
0x01, // Alignment
0x0D, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{4}
})
}
Device (FWHD)
{
Name (_HID, EisaId ("INT0800"))
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFF000000, // Address Base
0x01000000, // Address Length
)
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (_CID, 0x010CD041)
Name (BUF0, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
_Y17)
})
Method (_STA, 0, NotSerialized)
{
If (LGreaterEqual (OSYS, 0x07D1))
{
If (HPAE)
{
Return (0x0F)
}
}
Else
{
If (HPAE)
{
Return (0x0B)
}
}
Return (0x00)
}
Method (_CRS, 0, Serialized)
{
If (HPAE)
{
CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y17._BAS, HPT0)
If (LEqual (HPAS, 0x01))
{
Store (0xFED01000, HPT0)
}
If (LEqual (HPAS, 0x02))
{
Store (0xFED02000, HPT0)
}
If (LEqual (HPAS, 0x03))
{
Store (0xFED03000, HPT0)
}
}
Return (BUF0)
}
}
Device (IPIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0024, // Range Minimum
0x0024, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0028, // Range Minimum
0x0028, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002C, // Range Minimum
0x002C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0030, // Range Minimum
0x0030, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0034, // Range Minimum
0x0034, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0038, // Range Minimum
0x0038, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x003C, // Range Minimum
0x003C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A4, // Range Minimum
0x00A4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A8, // Range Minimum
0x00A8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00AC, // Range Minimum
0x00AC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B4, // Range Minimum
0x00B4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B8, // Range Minimum
0x00B8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00BC, // Range Minimum
0x00BC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (MATH)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{13}
})
}
Device (LDRC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x02)
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x004E, // Range Minimum
0x004E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0063, // Range Minimum
0x0063, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0067, // Range Minimum
0x0067, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0092, // Range Minimum
0x0092, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x00B2, // Range Minimum
0x00B2, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0680, // Range Minimum
0x0680, // Range Maximum
0x01, // Alignment
0x70, // Length
)
IO (Decode16,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x1000, // Range Minimum
0x1000, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1180, // Range Minimum
0x1180, // Range Maximum
0x01, // Alignment
0x40, // Length
)
IO (Decode16,
0x1640, // Range Minimum
0x1640, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0xFE00, // Range Minimum
0xFE00, // Range Maximum
0x01, // Alignment
0x02, // Length
)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x004E, // Range Minimum
0x004E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0063, // Range Minimum
0x0063, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0067, // Range Minimum
0x0067, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0092, // Range Minimum
0x0092, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x00B2, // Range Minimum
0x00B2, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0680, // Range Minimum
0x0680, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x1000, // Range Minimum
0x1000, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1180, // Range Minimum
0x1180, // Range Maximum
0x01, // Alignment
0x40, // Length
)
IO (Decode16,
0x1640, // Range Minimum
0x1640, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0xFE00, // Range Minimum
0xFE00, // Range Maximum
0x01, // Alignment
0x02, // Length
)
})
Method (_CRS, 0, Serialized)
{
If (CIRP)
{
Return (BUF0)
}
Return (BUF1)
}
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{8}
})
}
Device (TIMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x10, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
}
Device (SPIC)
{
Name (_HID, EisaId ("SNY6001"))
Name (RSRC, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x20, // Length
_Y18)
IRQNoFlags (_Y19)
{}
})
Name (SSRC, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IRQNoFlags ()
{}
})
Name (SIRT, Package (0x04)
{
0x06,
0x09,
0x0A,
0x0B
})
Method (_CRS, 0, NotSerialized)
{
CreateByteField (RSRC, \_SB.PCI0.LPCB.SPIC._Y18._MIN, IOM1)
CreateByteField (RSRC, 0x03, IOM2)
CreateWordField (RSRC, \_SB.PCI0.LPCB.SPIC._Y18._MIN, IO1I)
CreateWordField (RSRC, \_SB.PCI0.LPCB.SPIC._Y18._MAX, IO1A)
CreateWordField (RSRC, \_SB.PCI0.LPCB.SPIC._Y19._INT, IRQV)
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
Store (PHSB (0xD4, 0x9C), IOM1)
Store (PHSB (0xD4, 0x9D), IOM2)
}
Else
{
Store (\_SB.PCI0.LPCB.EC0.SLOB, IOM1)
Store (\_SB.PCI0.LPCB.EC0.SHIB, IOM2)
}
Store (IO1I, IO1A)
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
ShiftRight (PHSB (0xD4, 0x9B), 0x04, Local0)
}
Else
{
ShiftRight (\_SB.PCI0.LPCB.EC0.SIRQ, 0x04, Local0)
}
FindSetRightBit (Local0, Local1)
If (Local1)
{
Decrement (Local1)
Store (DerefOf (Index (SIRT, Local1)), Local0)
ShiftLeft (0x01, Local0, IRQV)
}
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOA1)
CreateByteField (Arg0, 0x03, IOA2)
CreateWordField (Arg0, 0x02, IOA0)
CreateWordField (Arg0, 0x09, IRQV)
FindSetRightBit (IRQV, Local0)
If (Local0)
{
Decrement (Local0)
Store (Match (SIRT, MEQ, Local0, MTR, 0x00, 0x00), Local1)
ShiftLeft (0x10, Local1, Local2)
}
Else
{
Store (0x00, Local2)
}
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
PHSW (0xD5, 0x9B, Local2)
}
Else
{
Store (Local2, \_SB.PCI0.LPCB.EC0.SIRQ)
}
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
PHSW (0xD5, 0x9D, IOA2)
PHSW (0xD5, 0x9C, IOA1)
}
Else
{
Store (IOA2, \_SB.PCI0.LPCB.EC0.SHIB)
Store (IOA1, \_SB.PCI0.LPCB.EC0.SLOB)
}
Sleep (0x01)
Store (Or (And (IOA0, 0xFFF0), 0x001C0001), \_SB.PCI0.LPCB.GID3)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0xC000, // Range Minimum
0xC000, // Range Maximum
0x01, // Alignment
0x20, // Length
)
}
StartDependentFnNoPri ()
{
IO (Decode16,
0xC800, // Range Minimum
0xC800, // Range Maximum
0x01, // Alignment
0x20, // Length
)
}
StartDependentFnNoPri ()
{
IO (Decode16,
0xD000, // Range Minimum
0xD000, // Range Maximum
0x01, // Alignment
0x20, // Length
)
}
StartDependentFnNoPri ()
{
IO (Decode16,
0xD800, // Range Minimum
0xD800, // Range Maximum
0x01, // Alignment
0x20, // Length
)
}
EndDependentFn ()
IRQNoFlags ()
{6,9,10,11}
})
Method (_DIS, 0, NotSerialized)
{
Store (_CRS (), SSRC)
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
PHSW (0xD5, 0x9B, 0x00)
PHSW (0xD5, 0x9D, 0x00)
PHSW (0xD5, 0x9C, 0x00)
}
Else
{
Store (0x00, \_SB.PCI0.LPCB.EC0.SIRQ)
Store (0x00, \_SB.PCI0.LPCB.EC0.SHIB)
Store (0x00, \_SB.PCI0.LPCB.EC0.SLOB)
}
Sleep (0x01)
Store (0x00, \_SB.PCI0.LPCB.GID3)
}
Method (_STA, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
ShiftRight (PHSB (0xD4, 0x9B), 0x04, Local0)
}
Else
{
ShiftRight (\_SB.PCI0.LPCB.EC0.SIRQ, 0x04, Local0)
}
FindSetRightBit (Local0, Local1)
If (Local1)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
}
Device (SNC)
{
Name (_HID, EisaId ("SNY5001"))
Method (GBRT, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
Store (PHSD (0xD4, 0x96), Local0)
}
Else
{
Store (\_SB.PCI0.LPCB.EC0.BRIT, Local0)
}
Return (PHSB (0xCF, Local0))
}
Method (SBRT, 1, NotSerialized)
{
PHSB (0xC3, Arg0)
Return (Zero)
}
Method (GPBR, 0, NotSerialized)
{
Return (PHSB (0xC1, 0x00))
}
Method (SPBR, 1, NotSerialized)
{
PHSB (0xC2, Arg0)
Return (Zero)
}
Method (PWAK, 0, NotSerialized)
{
Acquire (PLOK, 0xFFFF)
Sleep (0x64)
Notify (\_PR.CPU0, 0x80)
If (MPEN)
{
Notify (\_PR.CPU1, 0x80)
}
Sleep (0x64)
Notify (\_PR.CPU0, 0x81)
If (MPEN)
{
Notify (\_PR.CPU1, 0x81)
}
Release (PLOK)
Return (Zero)
}
Method (PWRN, 0, NotSerialized)
{
Notify (\_SB.PWRB, 0x80)
}
Method (CSXB, 1, NotSerialized)
{
Acquire (MPHS, 0xFFFF)
Store (Arg0, SXBF)
PHS0 (0xCC)
Store (SXBF, Local0)
Release (MPHS)
Return (Local0)
}
Method (GWDP, 0, NotSerialized)
{
Return (And (PHSB (0xD4, 0xF4), 0x0F))
}
Method (CDPW, 1, NotSerialized)
{
Store (\_SB.PCI0.LPCB.EC0.OPOW, Local1)
If (LEqual (Arg0, One))
{
If (LNotEqual (Local1, 0x00))
{
Store (0x01, \_SB.PCI0.LPCB.EC0.IRST)
Store (\_SB.PCI0.PATA.ICR4, Local1)
Or (And (Local1, 0x0C), 0x01, Local1)
Store (Local1, \_SB.PCI0.PATA.ICR4)
Store (0x00, \_SB.PCI0.LPCB.EC0.OPOW)
Sleep (0x64)
Store (\_SB.PCI0.PATA.ICR4, Local1)
Or (And (Local1, 0x0C), 0x00, Local1)
Store (Local1, \_SB.PCI0.PATA.ICR4)
Store (0x00, \_SB.PCI0.LPCB.EC0.IRST)
}
}
Else
{
If (LEqual (Arg0, Zero))
{
If (LEqual (Local1, 0x00))
{
Store (0x01, \_SB.PCI0.LPCB.EC0.IRST)
Store (\_SB.PCI0.PATA.ICR4, Local1)
Or (And (Local1, 0x0C), 0x02, Local1)
Store (Local1, \_SB.PCI0.PATA.ICR4)
Store (\_SB.PCI0.PATA.PRIT, Local1)
Store (And (Local1, 0xFFDD), \_SB.PCI0.PATA.PRIT)
Store (\_SB.PCI0.PATA.ICR4, Local1)
Or (And (Local1, 0x0C), 0x01, Local1)
Store (Local1, \_SB.PCI0.PATA.ICR4)
Store (0x01, \_SB.PCI0.LPCB.EC0.OPOW)
}
}
}
Return (Zero)
}
Method (GCDP, 0, NotSerialized)
{
Store (\_SB.PCI0.LPCB.EC0.OPOW, Local1)
Return (And (LNot (Local1), One))
}
Name (LRST, 0x00)
Method (SLRS, 1, NotSerialized)
{
And (Arg0, 0x07, Arg0)
Store (Arg0, LRST)
Return (Zero)
}
Mutex (MIDB, 0x00)
Method (RBMF, 1, Serialized)
{
Acquire (MIDB, 0xFFFF)
And (Arg0, 0x00010000, Local0)
PHSD (0xDC, Local0)
Sleep (0x07D0)
Store (0x03000000, Local0)
Store (PHSD (0xDC, Local0), Local0)
Release (MIDB)
Return (Local0)
}
Method (RSBI, 1, Serialized)
{
Acquire (MIDB, 0xFFFF)
Or (And (Arg0, 0x0001FFFF), 0x01000000, Local0)
Store (PHSD (0xDC, Local0), Local0)
Sleep (0x07D0)
Or (And (Arg0, 0x0001FFFF), 0x03000000, Local0)
Store (PHSD (0xDC, Local0), Local0)
Release (MIDB)
Return (Local0)
}
Method (CBMF, 1, Serialized)
{
Acquire (MIDB, 0xFFFF)
Or (And (Arg0, 0x0001FFFF), 0x02000000, Local0)
Store (PHSD (0xDC, Local0), Local0)
Release (MIDB)
Return (Zero)
}
Method (AZPW, 1, NotSerialized)
{
\_SB.PCI0.HDEF.AZPW (Arg0)
}
Method (GAZP, 0, NotSerialized)
{
If (\_SB.PCI0.LPCB.EC0.ECOK)
{
If (\_SB.PCI0.LPCB.EC0.VAUD)
{
Return (0x00)
}
Else
{
Return (0x01)
}
}
Return (0x01)
}
Method (LNPW, 1, NotSerialized)
{
If (\_SB.PCI0.LPCB.EC0.ECOK)
{
If (Arg0)
{
If (\_SB.PCI0.LPCB.EC0.EOFF)
{
Store (0x00, \_SB.PCI0.LPCB.EC0.EOFF)
Sleep (0x6E)
Store (0x00, \_SB.PCI0.LPCB.EC0.ERST)
}
}
Else
{
Store (0x01, \_SB.PCI0.LPCB.EC0.ERST)
Store (0x01, \_SB.PCI0.LPCB.EC0.EOFF)
}
}
}
Method (GLNP, 0, NotSerialized)
{
If (\_SB.PCI0.LPCB.EC0.ECOK)
{
If (\_SB.PCI0.LPCB.EC0.EOFF)
{
Return (0x00)
}
Else
{
Return (0x01)
}
}
Return (0x01)
}
Method (SCAM, 1, NotSerialized)
{
}
Method (GCAM, 0, NotSerialized)
{
Return (Zero)
}
}
Device (TPM)
{
Name (_HID, EisaId ("IFX0102"))
Name (_CID, 0x310CD041)
Name (_UID, 0x01)
Name (_STR, Unicode ("Infineon Trusted Platform Module"))
Method (_STA, 0, NotSerialized)
{
If (TPRS)
{
Return (0x0F)
}
Return (0x00)
}
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED40000, // Address Base
0x00005000, // Address Length
)
IO (Decode16,
0x002E, // Range Minimum
0x002E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x1670, // Range Minimum
0x1670, // Range Maximum
0x01, // Alignment
0x10, // Length
)
})
Method (UCMP, 2, NotSerialized)
{
If (LNotEqual (0x10, SizeOf (Arg0)))
{
Return (0x00)
}
If (LNotEqual (0x10, SizeOf (Arg1)))
{
Return (0x00)
}
Store (0x00, Local0)
While (LLess (Local0, 0x10))
{
If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index (
Arg1, Local0))))
{
Return (0x00)
}
Increment (Local0)
}
Return (0x01)
}
Method (_DSM, 4, Serialized)
{
If (LEqual (UCMP (Arg0, Buffer (0x10)
{
/* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E,
/* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
}), 0x01))
{
If (LEqual (Arg2, 0x00))
{
Return (Buffer (0x01)
{
0x7F
})
}
If (LEqual (Arg2, 0x01))
{
Return (Buffer (0x04)
{
"1.0"
})
}
If (LEqual (Arg2, 0x02))
{
If (TPRS)
{
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x00))
{
Store (0x00, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x01))
{
Store (0x01, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x02))
{
Store (0x02, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x03))
{
Store (0x03, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x04))
{
Store (0x04, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x05))
{
Store (0x05, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x06))
{
Store (0x06, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x07))
{
Store (0x07, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x08))
{
Store (0x08, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x09))
{
Store (0x09, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x0A))
{
Store (0x0A, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x0B))
{
Store (0x0B, PPRQ)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x0C))
{
Store (0x00, PPRQ)
Return (0x01)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x0D))
{
Store (0x00, PPRQ)
Return (0x01)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x0E))
{
Store (0x0E, PPRQ)
Return (0x00)
}
Return (0x01)
}
Return (0x01)
}
If (LEqual (Arg2, 0x03))
{
Name (TMP1, Package (0x02)
{
0x00,
0xFFFFFFFF
})
Store (\_SB.PPRQ, Index (TMP1, 0x01))
Return (TMP1)
}
If (LEqual (Arg2, 0x04))
{
Return (0x01)
}
If (LEqual (Arg2, 0x05))
{
Name (TMP2, Package (0x03)
{
0x00,
0xFFFFFFFF,
0xFFFFFFFF
})
Store (\_SB.PPLO, Index (TMP2, 0x01))
If (LOr (LOr (LGreater (\_SB.PPLO, 0x0E), LEqual (\_SB.PPLO, 0x0C)), LEqual (
\_SB.PPLO, 0x0D)))
{
Store (0xFFFFFFF1, Index (TMP2, 0x02))
Return (TMP2)
}
If (LEqual (PPRP, 0xFF))
{
Store (0xFFFFFFF1, Index (TMP2, 0x02))
Return (TMP2)
}
If (PPOR)
{
Store (0xFFFFFFF0, Index (TMP2, 0x02))
Return (TMP2)
}
Store (\_SB.PPRP, Index (TMP2, 0x02))
Return (TMP2)
}
If (LEqual (Arg2, 0x06))
{
CreateByteField (Arg3, 0x04, LAN0)
CreateByteField (Arg3, 0x05, LAN1)
Or (ShiftLeft (LAN1, 0x08), LAN0, P80H)
If (LOr (LEqual (LAN0, 0x65), LEqual (LAN0, 0x45)))
{
If (LOr (LEqual (LAN1, 0x6E), LEqual (LAN1, 0x4E)))
{
Return (0x00)
}
}
Return (0x01)
}
Return (0x01)
}
If (LEqual (UCMP (Arg0, Buffer (0x10)
{
/* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46,
/* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
}), 0x01))
{
If (LEqual (Arg2, 0x00))
{
Return (Buffer (0x01)
{
0x01
})
}
If (LEqual (Arg2, 0x01))
{
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x00))
{
Store (0x00, \_SB.MOR)
Return (0x00)
}
If (LEqual (DerefOf (Index (Arg3, 0x00)), 0x01))
{
Store (0x01, \_SB.MOR)
Return (0x00)
}
}
Return (0x01)
}
Return (Buffer (0x01)
{
0x00
})
}
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQ (Edge, ActiveHigh, Exclusive, )
{1}
})
}
Device (PS2M)
{
Name (_HID, EisaId ("SNY9001"))
Name (_CID, 0x130FD041)
Name (_CRS, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive, )
{12}
})
}
}
Device (PATA)
{
Name (_ADR, 0x001F0001)
OperationRegion (PACS, PCI_Config, 0x40, 0xC0)
Field (PACS, DWordAcc, NoLock, Preserve)
{
PRIT, 16,
Offset (0x04),
PSIT, 4,
Offset (0x08),
SYNC, 4,
Offset (0x0A),
SDT0, 2,
, 2,
SDT1, 2,
Offset (0x14),
ICR0, 4,
ICR1, 4,
ICR2, 4,
ICR3, 4,
ICR4, 4,
ICR5, 4
}
Device (PRID)
{
Name (_ADR, 0x00)
Method (_GTM, 0, NotSerialized)
{
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, 0x00, 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, 0x01), And (ICR3, 0x01),
And (ICR0, 0x01), SDT0, And (ICR1, 0x01)), DMA0)
If (LEqual (DMA0, 0xFFFFFFFF))
{
Store (PIO0, DMA0)
}
If (And (PRIT, 0x4000))
{
If (LEqual (And (PRIT, 0x90), 0x80))
{
Store (0x0384, PIO1)
}
Else
{
Store (GETT (PSIT), PIO1)
}
}
Else
{
Store (0xFFFFFFFF, PIO1)
}
Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02),
And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1)
If (LEqual (DMA1, 0xFFFFFFFF))
{
Store (PIO1, DMA1)
}
Store (GETF (And (SYNC, 0x01), And (SYNC, 0x02),
PRIT), FLAG)
If (And (LEqual (PIO0, 0xFFFFFFFF), LEqual (DMA0, 0xFFFFFFFF)))
{
Store (0x78, PIO0)
Store (0x14, DMA0)
Store (0x03, FLAG)
}
Return (PBUF)
}
Method (_STM, 3, NotSerialized)
{
CreateDWordField (Arg0, 0x00, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
If (LEqual (SizeOf (Arg1), 0x0200))
{
And (PRIT, 0xC0F0, PRIT)
And (SYNC, 0x02, SYNC)
Store (0x00, SDT0)
And (ICR0, 0x02, ICR0)
And (ICR1, 0x02, ICR1)
And (ICR3, 0x02, ICR3)
And (ICR5, 0x02, 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, 0x01))
{
Or (SYNC, 0x01, SYNC)
Store (SDMA (DMA0), SDT0)
If (LLess (DMA0, 0x1E))
{
Or (ICR3, 0x01, ICR3)
}
If (LLess (DMA0, 0x3C))
{
Or (ICR0, 0x01, ICR0)
}
If (And (W930, 0x2000))
{
Or (ICR1, 0x01, ICR1)
}
}
}
If (LEqual (SizeOf (Arg2), 0x0200))
{
And (PRIT, 0xBF0F, PRIT)
Store (0x00, PSIT)
And (SYNC, 0x01, SYNC)
Store (0x00, SDT1)
And (ICR0, 0x01, ICR0)
And (ICR1, 0x01, ICR1)
And (ICR3, 0x01, ICR3)
And (ICR5, 0x01, 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)
}
If (And (W931, 0x2000))
{
Or (ICR1, 0x02, ICR1)
}
}
}
}
Device (P_D0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Name (PIB0, Buffer (0x0E)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
})
CreateByteField (PIB0, 0x01, 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 (0x01, PMD0)
}
If (And (SYNC, 0x01))
{
Store (Or (SDT0, 0x40), DMD0)
If (And (ICR1, 0x01))
{
If (And (ICR0, 0x01))
{
Add (DMD0, 0x02, DMD0)
}
If (And (ICR3, 0x01))
{
Store (0x45, DMD0)
}
}
}
Else
{
Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
}
Return (PIB0)
}
}
Device (P_D1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Name (PIB1, Buffer (0x0E)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
})
CreateByteField (PIB1, 0x01, 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 (0x01, 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)
}
}
}
Name (FWSO, "FWSO")
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (_PSC, Local0)
Store (0x00, _PSC)
If (LEqual (Local0, 0x03))
{
Store (0x01, INFB)
While (INFB)
{
Store (0x20, BCMD)
Store (Zero, SMIC)
If (LAnd (LEqual (INFB, 0x01), LGreaterEqual (\_SB.OSTB, 0x04)))
{
Sleep (0x01F4)
}
}
}
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Scope (\_SB)
{
Mutex (MHDS, 0x00)
Method (PHDS, 2, NotSerialized)
{
Acquire (\_SB.MHDS, 0xFFFF)
While (\PHSD (Add (0xB0, Arg0), 0x01))
{
Sleep (Arg1)
}
Release (\_SB.MHDS)
}
}
Scope (PRID.P_D0)
{
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (_PSC, Local0)
Store (0x00, _PSC)
If (LEqual (Local0, 0x03))
{
\_SB.PHDS (0x00, 0x0A)
\_SB.PHDS (0x01, 0x0A)
}
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
}
Scope (PRID.P_D1)
{
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (_PSC, Local0)
Store (0x00, _PSC)
If (LEqual (Local0, 0x03))
{
\_SB.PHDS (0x00, 0x0A)
\_SB.PHDS (0x01, 0x0A)
}
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
}
}
Device (SATA)
{
Name (_ADR, 0x001F0002)
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 (SBUS)
{
Name (_ADR, 0x001F0003)
OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
Field (SMBP, DWordAcc, NoLock, Preserve)
{
, 2,
I2CE, 1
}
OperationRegion (SMBI, SystemIO, 0x18E0, 0x10)
Field (SMBI, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
Offset (0x02),
HCON, 8,
HCOM, 8,
TXSA, 8,
DAT0, 8,
DAT1, 8,
HBDR, 8,
PECR, 8,
RXSA, 8,
SDAT, 16
}
Method (SSXB, 2, Serialized)
{
If (STRT ())
{
Return (0x00)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}
Return (0x00)
}
Method (SRXB, 1, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (0x44, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (DAT0)
}
Return (0xFFFF)
}
Method (SWRB, 3, Serialized)
{
If (STRT ())
{
Return (0x00)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (Arg2, DAT0)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}
Return (0x00)
}
Method (SRDB, 2, Serialized)
{
If (STRT ())
{
Return (0xFFFF)
}
Store (0x00, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (Arg1, HCOM)
Store (0x48, HCON)
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (DAT0)
}
Return (0xFFFF)
}
Method (SBLW, 4, Serialized)
{
If (STRT ())
{
Return (0x00)
}
Store (Arg3, I2CE)
Store (0xBF, HSTS)
Store (Arg0, TXSA)
Store (Arg1, HCOM)
Store (SizeOf (Arg2), DAT0)
Store (0x00, Local1)
Store (DerefOf (Index (Arg2, 0x00)), HBDR)
Store (0x54, HCON)
While (LGreater (SizeOf (Arg2), Local1))
{
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}
If (LNot (Local0))
{
KILL ()
Return (0x00)
}
Store (0x80, HSTS)
Increment (Local1)
If (LGreater (SizeOf (Arg2), Local1))
{
Store (DerefOf (Index (Arg2, Local1)), HBDR)
}
}
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (0x01)
}
Return (0x00)
}
Method (SBLR, 3, Serialized)
{
Name (TBUF, Buffer (0x0100) {})
If (STRT ())
{
Return (0x00)
}
Store (Arg2, I2CE)
Store (0xBF, HSTS)
Store (Or (Arg0, 0x01), TXSA)
Store (Arg1, HCOM)
Store (0x54, HCON)
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}
If (LNot (Local0))
{
KILL ()
Return (0x00)
}
Store (DAT0, Index (TBUF, 0x00))
Store (0x80, HSTS)
Store (0x01, Local1)
While (LLess (Local1, DerefOf (Index (TBUF, 0x00))))
{
Store (0x0FA0, Local0)
While (LAnd (LNot (And (HSTS, 0x80)), Local0))
{
Decrement (Local0)
Stall (0x32)
}
If (LNot (Local0))
{
KILL ()
Return (0x00)
}
Store (HBDR, Index (TBUF, Local1))
Store (0x80, HSTS)
Increment (Local1)
}
If (COMP ())
{
Or (HSTS, 0xFF, HSTS)
Return (TBUF)
}
Return (0x00)
}
Method (STRT, 0, Serialized)
{
Store (0xC8, Local0)
While (Local0)
{
If (And (HSTS, 0x40))
{
Decrement (Local0)
Sleep (0x01)
If (LEqual (Local0, 0x00))
{
Return (0x01)
}
}
Else
{
Store (0x00, Local0)
}
}
Store (0x0FA0, Local0)
While (Local0)
{
If (And (HSTS, 0x01))
{
Decrement (Local0)
Stall (0x32)
If (LEqual (Local0, 0x00))
{
KILL ()
}
}
Else
{
Return (0x00)
}
}
Return (0x01)
}
Method (COMP, 0, Serialized)
{
Store (0x0FA0, Local0)
While (Local0)
{
If (And (HSTS, 0x02))
{
Return (0x01)
}
Else
{
Decrement (Local0)
Stall (0x32)
If (LEqual (Local0, 0x00))
{
KILL ()
}
}
}
Return (0x00)
}
Method (KILL, 0, Serialized)
{
Or (HCON, 0x02, HCON)
Or (HSTS, 0xFF, HSTS)
}
}
}
Device (DOCK)
{
Name (_HID, EisaId ("PNP0C15"))
Name (_UID, 0x00)
Name (_BDN, 0xFFFFFFFF)
Method (_EJ0, 1, NotSerialized)
{
Store (0x01, \_SB.PCI0.LPCB.EC0.UDRQ)
Wait (UDCK, 0xFFFF)
Reset (UDCK)
Notify (\_SB.PCI0.RP04, 0x00)
}
Event (UDCK)
Method (_DCK, 1, NotSerialized)
{
If (Arg0)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
Store (PHSB (0xD4, 0x9E), Local0)
Or (Local0, Not (0x40), Local0)
PHSW (0xD5, 0x9E, Local0)
}
Else
{
Store (0x01, \_SB.PCI0.LPCB.EC0.IUSE)
}
}
Else
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
Store (PHSB (0xD4, 0x9E), Local0)
And (Local0, Not (0x40), Local0)
PHSW (0xD5, 0x9E, Local0)
}
Else
{
Store (0x00, \_SB.PCI0.LPCB.EC0.IUSE)
}
}
Return (0x01)
}
Method (_STA, 0, NotSerialized)
{
If (LEqual (\_SB.PCI0.LPCB.EC0.ECOK, 0x00))
{
If (LAnd (PHSB (0xD4, 0x9E), 0x40))
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Else
{
If (\_SB.PCI0.LPCB.EC0.IUSE)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
}
}
}
Name (TBUF, Buffer (0x02)
{
0x00, 0x00
})
CreateByteField (TBUF, 0x00, SPM0)
CreateByteField (TBUF, 0x01, SPM1)
Scope (\_SB.PCI0.SATA)
{
Device (PRID)
{
Name (_ADR, 0x00)
Method (_GTM, 0, NotSerialized)
{
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, 0x00, 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, 0x01), And (ICR3, 0x01),
And (ICR0, 0x01), SDT0, And (ICR1, 0x01)), DMA0)
If (LEqual (DMA0, 0xFFFFFFFF))
{
Store (PIO0, DMA0)
}
If (And (PRIT, 0x4000))
{
If (LEqual (And (PRIT, 0x90), 0x80))
{
Store (0x0384, PIO1)
}
Else
{
Store (GETT (PSIT), PIO1)
}
}
Else
{
Store (0xFFFFFFFF, PIO1)
}
Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02),
And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1)
If (LEqual (DMA1, 0xFFFFFFFF))
{
Store (PIO1, DMA1)
}
Store (GETF (And (SYNC, 0x01), And (SYNC, 0x02),
PRIT), FLAG)
Return (PBUF)
}
Method (_STM, 3, NotSerialized)
{
CreateDWordField (Arg0, 0x00, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
If (LEqual (SizeOf (Arg1), 0x0200))
{
And (PRIT, 0xC0F0, PRIT)
And (SYNC, 0x0E, SYNC)
Store (0x00, 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, 0x9C, W780)
CreateWordField (Arg1, 0x9E, W790)
CreateWordField (Arg1, 0xB0, W880)
CreateWordField (Arg1, 0xBA, W930)
If (And (W780, 0x08))
{
If (LEqual (And (W790, 0x08), 0x00))
{
Store (0x01, SPM0)
}
}
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, 0x01))
{
Or (SYNC, 0x01, SYNC)
Store (SDMA (DMA0), SDT0)
If (LLess (DMA0, 0x1E))
{
Or (ICR3, 0x01, ICR3)
}
If (LLess (DMA0, 0x3C))
{
Or (ICR0, 0x01, ICR0)
}
Or (ICR1, 0x01, ICR1)
}
}
If (LEqual (SizeOf (Arg2), 0x0200))
{
And (PRIT, 0xBF0F, PRIT)
Store (0x00, PSIT)
And (SYNC, 0x0D, SYNC)
Store (0x00, 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, 0x9C, W781)
CreateWordField (Arg2, 0x9E, W791)
CreateWordField (Arg2, 0xB0, W881)
CreateWordField (Arg2, 0xBA, W931)
If (And (W781, 0x08))
{
If (LEqual (And (W791, 0x08), 0x00))
{
Store (0x01, SPM1)
}
}
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, 0x00)
Method (_GTF, 0, NotSerialized)
{
Name (PIB0, Buffer (0x15)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0x00
})
CreateByteField (PIB0, 0x01, PMD0)
CreateByteField (PIB0, 0x08, DMD0)
CreateByteField (PIB0, 0x0E, SA00)
CreateByteField (PIB0, 0x0F, SA01)
CreateByteField (PIB0, 0x10, SA02)
CreateByteField (PIB0, 0x14, SA06)
If (And (SPM0, 0x01))
{
Store (0x10, SA00)
Store (0x03, SA01)
Store (0xC0, SA02)
Store (0xEF, SA06)
}
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 (0x01, PMD0)
}
If (And (SYNC, 0x01))
{
Store (Or (SDT0, 0x40), DMD0)
If (And (ICR1, 0x01))
{
If (And (ICR0, 0x01))
{
Add (DMD0, 0x02, DMD0)
}
If (And (ICR3, 0x01))
{
Store (0x45, DMD0)
}
}
}
Else
{
Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
}
Return (PIB0)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (_PSC, Local0)
Store (0x00, _PSC)
If (LEqual (Local0, 0x03))
{
\_SB.PHDS (0x04, 0x0A)
\_SB.PHDS (0x05, 0x0A)
}
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
}
Device (P_D1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Name (PIB1, Buffer (0x15)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0xB0, 0x00
})
CreateByteField (PIB1, 0x01, PMD1)
CreateByteField (PIB1, 0x08, DMD1)
CreateByteField (PIB1, 0x0E, SA10)
CreateByteField (PIB1, 0x0F, SA11)
CreateByteField (PIB1, 0x10, SA12)
CreateByteField (PIB1, 0x14, SA16)
If (And (SPM1, 0x01))
{
Store (0x10, SA10)
Store (0x03, SA11)
Store (0xC0, SA12)
Store (0xEF, SA16)
}
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 (0x01, 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)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (_PSC, Local0)
Store (0x00, _PSC)
If (LEqual (Local0, 0x03))
{
\_SB.PHDS (0x04, 0x0A)
\_SB.PHDS (0x05, 0x0A)
}
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
}
}
}
Name (TBU2, Buffer (0x02)
{
0x00, 0x00
})
CreateByteField (TBU2, 0x00, SPM2)
CreateByteField (TBU2, 0x01, SPM3)
Scope (\_SB.PCI0.SATA)
{
Device (SECD)
{
Name (_ADR, 0x01)
Method (_GTM, 0, NotSerialized)
{
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, 0x00, 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, 0xFFFFFFFF))
{
Store (PIO0, DMA0)
}
If (And (SECT, 0x4000))
{
If (LEqual (And (SECT, 0x90), 0x80))
{
Store (0x0384, PIO1)
}
Else
{
Store (GETT (SSIT), PIO1)
}
}
Else
{
Store (0xFFFFFFFF, PIO1)
}
Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08),
And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1)
If (LEqual (DMA1, 0xFFFFFFFF))
{
Store (PIO1, DMA1)
}
Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08),
SECT), FLAG)
If (And (LEqual (PIO0, 0xFFFFFFFF), LEqual (DMA0, 0xFFFFFFFF)))
{
Store (0x78, PIO0)
Store (0x14, DMA0)
Store (0x03, FLAG)
}
Return (SBUF)
}
Method (_STM, 3, NotSerialized)
{
CreateDWordField (Arg0, 0x00, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
If (LEqual (SizeOf (Arg1), 0x0200))
{
And (SECT, 0xC0F0, SECT)
And (SYNC, 0x0B, SYNC)
Store (0x00, 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, 0x9C, W780)
CreateWordField (Arg1, 0x9E, W790)
CreateWordField (Arg1, 0xB0, W880)
CreateWordField (Arg1, 0xBA, W930)
If (And (W780, 0x08))
{
If (LEqual (And (W790, 0x08), 0x00))
{
Store (0x01, SPM2)
}
}
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, 0x01))
{
Or (SYNC, 0x04, SYNC)
Store (SDMA (DMA0), SDT2)
If (LLess (DMA0, 0x1E))
{
Or (ICR3, 0x04, ICR3)
}
If (LLess (DMA0, 0x3C))
{
Or (ICR0, 0x04, ICR0)
}
If (And (W930, 0x2000))
{
Or (ICR1, 0x04, ICR1)
}
}
}
If (LEqual (SizeOf (Arg2), 0x0200))
{
And (SECT, 0xBF0F, SECT)
Store (0x00, SSIT)
And (SYNC, 0x07, SYNC)
Store (0x00, 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, 0x9C, W781)
CreateWordField (Arg2, 0x9E, W791)
CreateWordField (Arg2, 0xB0, W881)
CreateWordField (Arg2, 0xBA, W931)
If (And (W781, 0x08))
{
If (LEqual (And (W791, 0x08), 0x00))
{
Store (0x01, SPM3)
}
}
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)
}
If (And (W931, 0x2000))
{
Or (ICR1, 0x08, ICR1)
}
}
}
}
Device (S_D0)
{
Name (_ADR, 0x00)
Method (_RMV, 0, NotSerialized)
{
Return (0x01)
}
Method (_GTF, 0, NotSerialized)
{
Name (SIB0, Buffer (0x15)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0x00
})
CreateByteField (SIB0, 0x01, PMD0)
CreateByteField (SIB0, 0x08, DMD0)
CreateByteField (SIB0, 0x0E, SA20)
CreateByteField (SIB0, 0x0F, SA21)
CreateByteField (SIB0, 0x10, SA22)
CreateByteField (SIB0, 0x14, SA26)
If (And (SPM2, 0x01))
{
Store (0x10, SA20)
Store (0x03, SA21)
Store (0xC0, SA22)
Store (0xEF, SA26)
}
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 (0x01, 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)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (_PSC, Local0)
Store (0x00, _PSC)
If (LEqual (Local0, 0x03))
{
\_SB.PHDS (0x06, 0x0A)
\_SB.PHDS (0x07, 0x0A)
}
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
}
Device (S_D1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Name (SIB1, Buffer (0x15)
{
/* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0xB0, 0x00
})
CreateByteField (SIB1, 0x01, PMD1)
CreateByteField (SIB1, 0x08, DMD1)
CreateByteField (SIB1, 0x0E, SA30)
CreateByteField (SIB1, 0x0F, SA31)
CreateByteField (SIB1, 0x10, SA32)
CreateByteField (SIB1, 0x14, SA36)
If (And (SPM3, 0x01))
{
Store (0x10, SA30)
Store (0x03, SA31)
Store (0xC0, SA32)
Store (0xEF, SA36)
}
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 (0x01, 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)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (_PSC, Local0)
Store (0x00, _PSC)
If (LEqual (Local0, 0x03))
{
\_SB.PHDS (0x06, 0x0A)
\_SB.PHDS (0x07, 0x0A)
}
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
}
}
}
Scope (\_PR.CPU0)
{
Name (_TPC, 0x00)
Method (_PTC, 0, NotSerialized)
{
If (And (PDC0, 0x04))
{
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
}
})
}
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO,
0x04, // Bit Width
0x01, // Bit Offset
0x0000000000001010, // Address
,)
},
ResourceTemplate ()
{
Register (SystemIO,
0x04, // Bit Width
0x01, // Bit Offset
0x0000000000001010, // Address
,)
}
})
}
Name (TSSI, Package (0x08)
{
Package (0x05)
{
0x64,
0x03E8,
0x00,
0x00,
0x00
},
Package (0x05)
{
0x58,
0x036B,
0x00,
0x0F,
0x00
},
Package (0x05)
{
0x4B,
0x02EE,
0x00,
0x0E,
0x00
},
Package (0x05)
{
0x3F,
0x0271,
0x00,
0x0D,
0x00
},
Package (0x05)
{
0x32,
0x01F4,
0x00,
0x0C,
0x00
},
Package (0x05)
{
0x26,
0x0177,
0x00,
0x0B,
0x00
},
Package (0x05)
{
0x19,
0xFA,
0x00,
0x0A,
0x00
},
Package (0x05)
{
0x0D,
0x7D,
0x00,
0x09,
0x00
}
})
Name (TSSM, Package (0x08)
{
Package (0x05)
{
0x64,
0x03E8,
0x00,
0x00,
0x00
},
Package (0x05)
{
0x58,
0x036B,
0x00,
0x1E,
0x00
},
Package (0x05)
{
0x4B,
0x02EE,
0x00,
0x1C,
0x00
},
Package (0x05)
{
0x3F,
0x0271,
0x00,
0x1A,
0x00
},
Package (0x05)
{
0x32,
0x01F4,
0x00,
0x18,
0x00
},
Package (0x05)
{
0x26,
0x0177,
0x00,
0x16,
0x00
},
Package (0x05)
{
0x19,
0xFA,
0x00,
0x14,
0x00
},
Package (0x05)
{
0x0D,
0x7D,
0x00,
0x12,
0x00
}
})
Name (TSSF, 0x00)
Method (_TSS, 0, NotSerialized)
{
If (LAnd (LNot (TSSF), CondRefOf (_PSS)))
{
Store (_PSS, Local0)
Store (SizeOf (Local0), Local1)
Decrement (Local1)
Store (DerefOf (Index (DerefOf (Index (Local0, Local1)), 0x01)),
Local2)
Store (0x00, Local3)
While (LLess (Local3, SizeOf (TSSI)))
{
Store (Divide (Multiply (Local2, Subtract (0x08, Local3)), 0x08,
), Local4)
Store (Local4, Index (DerefOf (Index (TSSI, Local3)), 0x01))
Store (Local4, Index (DerefOf (Index (TSSM, Local3)), 0x01))
Increment (Local3)
}
Store (Ones, TSSF)
}
If (And (PDC0, 0x04))
{
Return (TSSM)
}
Return (TSSI)
}
Method (_TSD, 0, NotSerialized)
{
If (LAnd (And (CFGD, 0x01000000), LNot (And (PDC0, 0x04
))))
{
Return (Package (0x01)
{
Package (0x05)
{
0x05,
0x00,
0x00,
0xFD,
0x02
}
})
}
Return (Package (0x01)
{
Package (0x05)
{
0x05,
0x00,
0x00,
0xFC,
0x01
}
})
}
}
Scope (\_PR.CPU1)
{
Name (_TPC, 0x00)
Method (_PTC, 0, NotSerialized)
{
Return (\_PR.CPU0._PTC ())
}
Method (_TSS, 0, NotSerialized)
{
Return (\_PR.CPU0._TSS ())
}
Method (_TSD, 0, NotSerialized)
{
If (LAnd (And (CFGD, 0x01000000), LNot (And (PDC1, 0x04
))))
{
Return (Package (0x01)
{
Package (0x05)
{
0x05,
0x00,
0x00,
0xFD,
0x02
}
})
}
Return (Package (0x01)
{
Package (0x05)
{
0x05,
0x00,
0x01,
0xFC,
0x01
}
})
}
}
Scope (\)
{
Name (SSDT, Package (0x0C)
{
"CPU0IST ",
0x7F67437D,
0x00000238,
"CPU1IST ",
0x7F6745B5,
0x000000C8,
"CPU0CST ",
0x7F673DF9,
0x000004FF,
"CPU1CST ",
0x7F6742F8,
0x00000085
})
Name (CFGD, 0x113B69F1)
Name (\PDC0, 0x80000000)
Name (\PDC1, 0x80000000)
Name (\SDTL, 0x00)
}
Scope (\_PR.CPU0)
{
Name (HI0, 0x00)
Name (HC0, 0x00)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x00, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS0, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS0, TEMP, Local2)
_OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, STS0)
CreateDWordField (Arg3, 0x04, CAP0)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID0, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (UID0, 0x00, EID0)
CreateDWordField (UID0, 0x04, EID1)
CreateDWordField (UID0, 0x08, EID2)
CreateDWordField (UID0, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, STS0)
Return (Arg3)
}
If (LNotEqual (Arg1, 0x01))
{
Store (0x0A, STS0)
Return (Arg3)
}
Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0)
Store (And (PDC0, 0xFF), PCP0)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC0,
0x09), 0x09)), LNot (And (SDTL, 0x01))))
{
Or (SDTL, 0x01, SDTL)
OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, 0x01)), DerefOf (Index (SSDT, 0x02
)))
Load (IST0, HI0)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC0, 0x18
)), LNot (And (SDTL, 0x02))))
{
Or (SDTL, 0x02, SDTL)
OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08
)))
Load (CST0, HC0)
}
}
Return (Arg3)
}
}
Scope (\_PR.CPU1)
{
Name (HI1, 0x00)
Name (HC1, 0x00)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x00, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS1, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS1, TEMP, Local2)
_OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x00, STS1)
CreateDWordField (Arg3, 0x04, CAP1)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID1, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (UID1, 0x00, EID0)
CreateDWordField (UID1, 0x04, EID1)
CreateDWordField (UID1, 0x08, EID2)
CreateDWordField (UID1, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, STS1)
Return (Arg3)
}
If (LNotEqual (Arg1, 0x01))
{
Store (0x0A, STS1)
Return (Arg3)
}
Or (And (PDC1, 0x7FFFFFFF), CAP1, PDC1)
Store (And (PDC1, 0xFF), PCP1)
If (And (CFGD, 0x01))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC1,
0x09), 0x09)), LNot (And (SDTL, 0x10))))
{
Or (SDTL, 0x10, SDTL)
OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05
)))
Load (IST1, HI1)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC1, 0x18
)), LNot (And (SDTL, 0x20))))
{
Or (SDTL, 0x20, SDTL)
OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B
)))
Load (CST1, HC1)
}
}
Return (Arg3)
}
}
}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3f1d93450908080021j2e34286fxb46991bfea2da1b8>
