Getting suspend modes to work on a Dell Precision M70
Pierre-Luc Drouin
pldrouin at pldrouin.net
Wed Jun 8 21:44:33 GMT 2005
Kevin Oberman wrote:
>>Date: Wed, 08 Jun 2005 13:18:16 -0400
>>From: Pierre-Luc Drouin <pldrouin at pldrouin.net>
>>Sender: owner-freebsd-mobile at freebsd.org
>>
>>I have not received any reply about this. Could someone help me please?
>>
>>Thanks!!
>>
>>Pierre-Luc Drouin wrote:
>>
>>
>>
>>>Hi,
>>>
>>>I got a Dell Precision M70. All the ACPI features (battery, power
>>>buttons, change CPU frequency, temperature) seam to work, except the
>>>suspend modes. Here is what I get:
>>>
>>>acpi0: <DELL CPi R > on motherboard
>>>acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
>>>cpu0: <ACPI CPU (4 Cx states)> on acpi0
>>>acpi_throttle0: <ACPI CPU Throttling> on cpu0
>>>acpi_acad0: <AC Adapter> on acpi0
>>>acpi_cmbat0: <Control Method Battery> on acpi0
>>>acpi_cmbat1: <Control Method Battery> on acpi0
>>>acpi_lid0: <Control Method Lid Switch> on acpi0
>>>acpi_button0: <Power Button> on acpi0
>>>acpi_button1: <Sleep Button> on acpi0
>>>pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
>>>acpi_tz0: <Thermal Zone> on acpi0
>>>atkbdc0: <Keyboard controller (i8042)> port 0x66,0x62,0x64,0x60 irq 1
>>>on acpi0
>>>sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10
>>>on acpi0
>>>
>>>
>>>acpiconf -s1
>>>Jun 3 11:41:57 mdaemon acpi: suspend at 20050603 11:41:57
>>>Jun 3 11:41:57 mdaemon kernel: acpi0: Sleep state S1 not supported by
>>>BIOS
>>>Jun 3 11:41:57 mdaemon acpi: resumed at 20050603 11:41:57
>>>acpiconf: sleep type (1) failed: Invalid argument
>>>
>>>acpiconf -s2
>>>Jun 3 11:42:55 mdaemon acpi: suspend at 20050603 11:42:55
>>>Jun 3 11:42:55 mdaemon kernel: acpi0: Sleep state S2 not supported by
>>>BIOS
>>>Jun 3 11:42:55 mdaemon acpi: resumed at 20050603 11:42:55
>>>acpiconf: sleep type (2) failed: Invalid argument
>>>
>>>acpiconf -s3
>>>Jun 3 11:43:48 mdaemon acpi: suspend at 20050603 11:43:48
>>>Jun 3 11:43:48 mdaemon kernel: acpi0: device_suspend failed
>>>Jun 3 11:43:48 mdaemon acpi: resumed at 20050603 11:43:48
>>>
>>>acpiconf -s4
>>>Jun 3 11:44:18 mdaemon acpi: suspend at 20050603 11:44:18
>>>Jun 3 11:44:19 mdaemon kernel: acpi0: device_suspend failed
>>>Jun 3 11:44:19 mdaemon acpi: resumed at 20050603 11:44:19
>>>
>>>How can I fix it?
>>>
>>>
>
>In all honestly, these things are very platform/BIOS dependent, so it
>will likely take someone with a Dell system to be a lot of help. Bit a
>few things like the output of 'sysctl hw.acpi', a pointer to both a
>verbose boot, and the output of 'acpidump -t -d > FILE' are a minimum
>requirement.
>
>See the handbook section 11.16 for details.
>
>
%sysctl hw.acpi
hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S3
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 1
hw.acpi.verbose: 0
hw.acpi.reset_video: 1
hw.acpi.cpu.cx_supported: C1/1 C2/1 C3/85 C4/185
hw.acpi.cpu.cx_lowest: C4
hw.acpi.cpu.cx_usage: 0.00% 5.43% 0.31% 94.24%
hw.acpi.acline: 1
hw.acpi.battery.life: 100
hw.acpi.battery.time: -1
hw.acpi.battery.state: 0
hw.acpi.battery.units: 2
hw.acpi.battery.info_expire: 5
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.tz0.temperature: 43.5C
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: -1
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 98.0C
hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
I've attached the output of acpidump
Thanks!
Pierre-Luc Drouin
-------------- next part --------------
/*
RSD PTR: OEM=DELL, ACPI_Rev=1.0x (0)
RSDT=0x3ffd8790, cksum=45
*/
/*
RSDT: Length=64, Revision=1, Checksum=166,
OEMID=DELL, OEM Table ID=CPi R, OEM Revision=0x27d50203,
Creator ID=ASL, Creator Revision=0x61
Entries={ 0x3ffd9400, 0x3ffd9c00, 0x3ffd9800, 0x3ffd9bc0, 0x3ffd8be6, 0x3ffd8a0e, 0x3ffd8813 }
*/
/*
FACP: Length=116, Revision=1, Checksum=85,
OEMID=DELL, OEM Table ID=CPi R, OEM Revision=0x27d50203,
Creator ID=ASL, Creator Revision=0x61
FACS=0x3ffe8800, DSDT=0x3ffda000
INT_MODEL=APIC
Preferred_PM_Profile=Unspecified (0)
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0x70, ACPI_DISABLE=0x71, S4BIOS_REQ=0x97
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
P_LVL2_LAT=50 us, P_LVL3_LAT=50 us
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=3
DAY_ALRM=0, MON_ALRM=0, CENTURY=0
IAPC_BOOT_ARCH=
Flags={WBINVD,PROC_C1,PWR_BUTTON,SLP_BUTTON,DCK_CAP}
*/
/*
FACS: Length=64, HwSig=0x000000ff, Firm_Wake_Vec=0x00000000
Global_Lock=
Flags=S4BIOS
Version=0
*/
/*
DSDT: Length=12658, Revision=1, Checksum=79,
OEMID=INT430, OEM Table ID=SYSFexxx, OEM Revision=0x1001,
Creator ID=MSFT, Creator Revision=0x100000e
*/
/*
APIC: Length=104, Revision=1, Checksum=11,
OEMID=DELL, OEM Table ID=CPi R, OEM Revision=0x27d50203,
Creator ID=ASL, Creator Revision=0x47
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={DISABLED}
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}
*/
/*
ASF!: Length=91, Revision=16, Checksum=78,
OEMID=DELL, OEM Table ID=CPi R, OEM Revision=0x27d50203,
Creator ID=ASL, Creator Revision=0x61
*/
/*
MCFG: Length=62, Revision=16, Checksum=69,
OEMID=DELL, OEM Table ID=CPi R, OEM Revision=0x27d50203,
Creator ID=ASL, Creator Revision=0x61
*/
/*
SSDT: Length=640, Revision=1, Checksum=97,
OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
Creator ID=INTL, Creator Revision=0x20030522
*/
/*
SSDT: Length=472, Revision=1, Checksum=246,
OEMID=PmRef, OEM Table ID=Cpu0Cst, OEM Revision=0x3001,
Creator ID=INTL, Creator Revision=0x20030522
*/
/*
SSDT: Length=507, Revision=1, Checksum=52,
OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
Creator ID=INTL, Creator Revision=0x20030522
*/
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20041119
*
* Disassembly of /tmp/acpidump.8bm5SB, Wed Jun 8 17:42:54 2005
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "INT430", "SYSFexxx", 4097)
{
Name (VERS, Package (0x03)
{
"Project: DELL D05 ",
"Date: 11/12/2003",
"Ver: 1.00.00"
})
Event (EJTD)
Name (MISC, Buffer (0x08)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
CreateByteField (MISC, 0x00, MIS0)
CreateByteField (MISC, 0x02, MIS2)
CreateByteField (MISC, 0x03, MIS3)
CreateByteField (MISC, 0x04, MIS4)
CreateByteField (MISC, 0x05, MIS5)
CreateByteField (MISC, 0x06, MIS6)
CreateByteField (MISC, 0x07, MIS7)
Mutex (SMIX, 0x01)
Method (SMI, 2, NotSerialized)
{
Acquire (SMIX, 0xFFFF)
Store (Arg1, \_SB.SMIA)
Store (Arg0, \_SB.SMIC)
Store (\_SB.SMIC, Local0)
While (LNot (LEqual (Local0, 0x00)))
{
Store (\_SB.SMIC, Local0)
}
Store (\_SB.SMIA, Local1)
Release (SMIX)
Return (Local1)
}
Name (SXX0, Buffer (0x0100) {})
Name (SXX1, Buffer (0x08) {})
CreateWordField (SXX1, 0x00, SXX2)
CreateWordField (SXX1, 0x04, SXX3)
Method (SX10, 0, NotSerialized)
{
Acquire (SMIX, 0xFFFF)
Store (0x00, SXX2)
}
Method (SX30, 1, NotSerialized)
{
Store (SXX2, Local0)
Increment (Local0)
If (LNot (LGreater (Local0, SizeOf (SXX0))))
{
CreateByteField (SXX0, SXX2, SX20)
Store (Arg0, SX20)
Store (Local0, SXX2)
}
}
Method (SX31, 1, NotSerialized)
{
Store (SXX2, Local0)
Add (Local0, 0x02, Local0)
If (LNot (LGreater (Local0, SizeOf (SXX0))))
{
CreateWordField (SXX0, SXX2, SX21)
Store (Arg0, SX21)
Store (Local0, SXX2)
}
}
Method (SX32, 1, NotSerialized)
{
Store (SXX2, Local0)
Add (Local0, 0x04, Local0)
If (LNot (LGreater (Local0, SizeOf (SXX0))))
{
CreateDWordField (SXX0, SXX2, SX22)
Store (Arg0, SX22)
Store (Local0, SXX2)
}
}
Method (SX33, 2, NotSerialized)
{
If (LLess (Arg1, SizeOf (Arg0)))
{
CreateByteField (Arg0, Arg1, SX20)
SX30 (SX20)
}
}
Method (SX34, 2, NotSerialized)
{
Store (0x00, Local0)
While (LLess (Local0, Arg1))
{
SX33 (Arg0, Local0)
Increment (Local0)
}
}
Method (SXX6, 2, NotSerialized)
{
Store (Arg1, \_SB.SMIA)
Store (Arg0, \_SB.SMIC)
Store (\_SB.SMIC, Local0)
While (LNot (LEqual (Local0, 0x00)))
{
Store (\_SB.SMIC, Local0)
}
Return (\_SB.SMIA)
}
Method (SXX5, 2, NotSerialized)
{
If (LLess (Arg1, SizeOf (Arg0)))
{
CreateByteField (Arg0, Arg1, SX20)
SXX6 (0x7C, SX20)
}
}
Method (SXX4, 0, NotSerialized)
{
SXX6 (0x7B, 0x00)
Store (0x00, Local0)
While (LLess (Local0, SXX2))
{
SXX5 (SXX0, Local0)
Increment (Local0)
}
}
Method (SXX8, 2, NotSerialized)
{
If (LLess (Arg1, SizeOf (Arg0)))
{
CreateByteField (Arg0, Arg1, SX20)
Store (SXX6 (0x7D, 0x00), SX20)
}
}
Method (SXX7, 0, NotSerialized)
{
Store (0x00, Local0)
While (LLess (Local0, SXX3))
{
Add (SXX2, Local0, Local1)
SXX8 (SXX0, Local1)
Increment (Local0)
}
}
Method (SX11, 0, NotSerialized)
{
SXX4 ()
Store (SXX6 (0x79, 0x00), SXX3)
Add (SXX2, SXX3, Local0)
If (LLess (SizeOf (SXX0), Local0))
{
Store (SizeOf (SXX0), Local0)
Subtract (Local0, SXX2, Local0)
Store (Local0, SXX3)
}
SXX7 ()
}
Method (SX40, 0, NotSerialized)
{
Store (SXX2, Local0)
Increment (Local0)
If (LNot (LGreater (Local0, SizeOf (SXX0))))
{
CreateByteField (SXX0, SXX2, SX20)
Store (Local0, SXX2)
Return (SX20)
}
Return (0x00)
}
Method (SX41, 0, NotSerialized)
{
Store (SXX2, Local0)
Add (Local0, 0x02, Local0)
If (LNot (LGreater (Local0, SizeOf (SXX0))))
{
CreateWordField (SXX0, SXX2, SX21)
Store (Local0, SXX2)
Return (SX21)
}
Return (0x00)
}
Method (SX42, 0, NotSerialized)
{
Store (SXX2, Local0)
Add (Local0, 0x04, Local0)
If (LNot (LGreater (Local0, SizeOf (SXX0))))
{
CreateDWordField (SXX0, SXX2, SX22)
Store (Local0, SXX2)
Return (SX22)
}
Return (0x00)
}
Method (SX43, 2, NotSerialized)
{
If (LLess (Arg1, SizeOf (Arg0)))
{
CreateByteField (Arg0, Arg1, SX20)
Store (SX40 (), SX20)
}
}
Method (SX44, 2, NotSerialized)
{
Store (0x00, Local0)
While (LLess (Local0, Arg1))
{
SX43 (Arg0, Local0)
Increment (Local0)
}
}
Method (SX45, 0, NotSerialized)
{
Store (SX40 (), Local0)
Name (SX23, Buffer (Local0) {})
SX44 (SX23, Local0)
Return (SX23)
}
Method (SX12, 0, NotSerialized)
{
Release (SMIX)
}
Method (PNPQ, 1, NotSerialized)
{
SX10 ()
SX30 (0x00)
SX30 (0x02)
SX30 (Arg0)
SX11 ()
Store (SX40 (), Local0)
SX12 ()
Return (Local0)
}
Method (PNPD, 1, NotSerialized)
{
SX10 ()
SX30 (0x00)
SX30 (0x03)
SX30 (Arg0)
SX11 ()
SX12 ()
}
Method (PNPG, 1, NotSerialized)
{
SX10 ()
SX30 (0x00)
SX30 (0x00)
SX30 (Arg0)
SX11 ()
Name (PGET, Buffer (SXX3) {})
SX44 (PGET, SXX3)
SX12 ()
Return (PGET)
}
Method (PNPS, 2, NotSerialized)
{
SX10 ()
SX30 (0x00)
SX30 (0x01)
SX30 (Arg0)
SX34 (Arg1, SizeOf (Arg1))
SX11 ()
SX12 ()
}
Method (PSW, 2, NotSerialized)
{
SX10 ()
SX30 (0x06)
SX30 (Arg0)
SX30 (Arg1)
SX11 ()
SX12 ()
}
Method (DSS, 2, NotSerialized)
{
SX10 ()
SX30 (0x08)
SX30 (Arg0)
SX32 (Arg1)
SX11 ()
SX12 ()
}
Method (GMEM, 0, NotSerialized)
{
SX10 ()
SX30 (0x07)
SX11 ()
Store (SX42 (), Local0)
SX12 ()
Return (Local0)
}
Method (GORL, 0, NotSerialized)
{
SX10 ()
SX30 (0x09)
SX11 ()
Store (SX42 (), Local0)
SX12 ()
Return (Local0)
}
Name (W98S, "Microsoft Windows")
Name (NT5S, "Microsoft Windows NT")
Name (WINM, "Microsoft WindowsME: Millennium Edition")
Name (WXP, "Windows 2001")
Method (GETC, 2, NotSerialized)
{
CreateByteField (Arg0, Arg1, TCHR)
Return (TCHR)
}
Method (STRE, 2, NotSerialized)
{
Name (STR1, Buffer (0x50) {})
Name (STR2, Buffer (0x50) {})
Store (Arg0, STR1)
Store (Arg1, STR2)
Store (Zero, Local0)
Store (One, Local1)
While (Local1)
{
Store (GETC (STR1, Local0), Local1)
Store (GETC (STR2, Local0), Local2)
If (LNot (LEqual (Local1, Local2)))
{
Return (Zero)
}
Increment (Local0)
}
Return (One)
}
Method (OSID, 0, NotSerialized)
{
If (LEqual (MIS3, 0x00))
{
Store (0x01, MIS3)
If (CondRefOf (\_OSI, Local0))
{
If (\_OSI (WXP))
{
Store (0x10, MIS3)
}
}
Else
{
If (STRE (\_OS, W98S))
{
Store (0x02, MIS3)
}
If (STRE (\_OS, NT5S))
{
Store (0x08, MIS3)
}
If (STRE (\_OS, WINM))
{
Store (0x04, MIS3)
}
}
}
Return (MIS3)
}
Method (SOST, 0, NotSerialized)
{
SX10 ()
SX30 (0x0A)
OSID ()
SX30 (MIS3)
SX11 ()
SX12 ()
}
Name (WAKE, 0x00)
Method (NEVT, 0, NotSerialized)
{
Store (SMI (0x8C, 0x00), Local0)
If (And (Local0, 0x01))
{
Notify (\_SB.PBTN, 0x80)
}
If (And (Local0, 0x02))
{
EJTE ()
}
If (And (Local0, 0x04))
{
LIDE ()
}
If (And (Local0, 0x08))
{
PWRE ()
}
If (And (Local0, 0x10))
{
DCKE ()
}
If (And (Local0, 0x20))
{
BAYE ()
}
If (And (Local0, 0x40))
{
Notify (\_SB.SBTN, 0x80)
}
If (And (Local0, 0x80))
{
SMIE ()
}
}
Method (EJTE, 0, NotSerialized)
{
SMI (0xA6, 0x01)
Notify (\_SB.PCI0.PCIE.GDCK, 0x01)
}
Method (LIDE, 0, NotSerialized)
{
Store (SMI (0x43, 0x00), Local0)
If (LNot (LEqual (Local0, 0x00)))
{
Store (SMI (0x6D, 0x00), Local0)
If (LEqual (Local0, 0x03))
{
If (LEqual (OSID (), 0x10))
{
Notify (\_SB.PCI0, 0x00)
Sleep (0x03E8)
}
Else
{
If (LEqual (OSID (), 0x08))
{
Sleep (0x02EE)
}
}
Notify (\_SB.PCI0.AGP.VID, 0x80)
}
}
Notify (\_SB.LID, 0x80)
}
Method (PWRE, 0, NotSerialized)
{
Store (SMI (0x98, 0x00), Local0)
XOr (Local0, MIS0, Local1)
And (Local0, Or (0x01, Or (0x02, 0x10)), MIS0)
If (And (Local1, 0x01))
{
Notify (\_SB.AC, 0x80)
}
And (MIS0, 0x02, Local2)
If (And (Local1, 0x02))
{
If (Local2)
{
Notify (\_SB.BAT0, 0x81)
}
Else
{
Notify (\_SB.BAT0, 0x81)
}
}
If (And (Local1, 0x04))
{
If (Local2)
{
Notify (\_SB.BAT0, 0x80)
}
}
If (And (Local1, 0x08))
{
If (Local2)
{
Notify (\_SB.BAT0, 0x80)
}
}
And (MIS0, 0x10, Local2)
If (And (Local1, 0x10))
{
If (Local2)
{
Notify (\_SB.BAT1, 0x81)
}
Else
{
Notify (\_SB.BAT1, 0x81)
}
}
If (And (Local1, 0x20))
{
If (Local2)
{
Notify (\_SB.BAT1, 0x80)
}
}
If (And (Local1, 0x40))
{
If (Local2)
{
Notify (\_SB.BAT1, 0x80)
}
}
}
Method (DCKE, 0, NotSerialized)
{
Store (SMI (0x87, 0x00), Local0)
XOr (Local0, MIS7, Local1)
Store (Local0, MIS7)
Store (Local0, MIS2)
If (Local1)
{
If (Local0)
{
Notify (\_SB.PCI0.PCIE.GDCK, 0x00)
}
Else
{
SMI (0x8D, 0x00)
Signal (EJTD)
Notify (\_SB.PCI0.PCIE.GDCK, 0x01)
}
}
}
Method (BAYE, 0, NotSerialized)
{
Store (SMI (0x86, 0x00), Local0)
If (And (Local0, 0x02))
{
SMI (0x90, 0x01)
}
Else
{
SMI (0x90, 0x00)
}
SMI (0xBA, 0x00)
}
Method (SMIE, 0, NotSerialized)
{
Store (SMI (0x96, 0x00), Local0)
If (And (Local0, 0x01))
{
Notify (\_TZ.THM, 0x80)
}
If (And (Local0, 0x20))
{
Notify (\_SB.PCI0.AGP.VID, 0x81)
}
If (And (Local0, 0x02))
{
Notify (\_SB.PCI0.AGP.VID, 0x80)
}
If (And (Local0, 0x04))
{
Notify (\_SB.BAT0, 0x81)
Notify (\_SB.BAT1, 0x81)
}
If (And (Local0, 0x08))
{
Notify (\_PR.CPU0, 0x80)
}
If (And (Local0, 0x10))
{
Notify (\_SB.PCI0.IDE0.SEC0.MAST, 0x01)
If (LEqual (OSID (), 0x10))
{
Notify (\_SB.PCI0.IDE0.SEC0, 0x01)
}
}
If (And (Local0, 0x40))
{
Store (0x00, MIS5)
}
If (And (Local0, 0x80))
{
Notify (\_SB.PCI0.PXP0, 0x00)
}
}
Method (\_PTS, 1, NotSerialized)
{
SMI (0x8A, Arg0)
}
Method (\_WAK, 1, NotSerialized)
{
SMI (0xA7, MIS2)
SMI (0x9A, Arg0)
BAYE ()
If (LEqual (Arg0, 0x04))
{
Notify (\_SB.PBTN, 0x02)
Store (SMI (0x98, 0x00), MIS0)
Store (0x01, MIS4)
SOST ()
}
Notify (\_SB.AC, 0x80)
Store (SMI (0x87, 0x00), Local0)
XOr (Local0, MIS2, Local1)
If (Local1)
{
If (Local0)
{
Notify (\_SB.PCI0.PCIE.GDCK, 0x00)
}
Else
{
If (LEqual (OSID (), 0x02))
{
SMI (0x8D, 0x00)
Notify (\_SB.PCI0.PCIE.GDCK, 0x01)
}
}
}
Store (Local0, MIS2)
SMI (0xA6, 0x00)
}
Method (NWAK, 0, NotSerialized)
{
Store (0x01, WAKE)
Store (SMI (0x89, 0x00), Local0)
Store (0x00, Local1)
If (LEqual (Local0, 0x00))
{
Store (0x01, Local1)
}
If (And (Local0, 0x01))
{
Store (0x01, Local1)
}
If (And (Local0, 0x02))
{
LIDE ()
}
If (And (Local0, 0x10))
{
Notify (\_SB.PCI0.PCIE.GDCK, 0x02)
}
If (And (Local0, 0x40))
{
Notify (\_SB.PCI0.PCIE.GDCK, 0x01)
}
If (And (Local0, 0x20))
{
If (LEqual (OSID (), 0x02))
{
Store (0x01, Local1)
}
}
Notify (\_SB.BAT0, 0x81)
Notify (\_SB.BAT1, 0x81)
If (Local1)
{
Notify (\_SB.PBTN, 0x02)
}
Store (0x00, WAKE)
}
Scope (\_GPE)
{
Method (_L1D, 0, NotSerialized)
{
NEVT ()
}
Method (_L1C, 0, NotSerialized)
{
NWAK ()
}
Method (_L0B, 0, NotSerialized)
{
Store (0x00, Local0)
Notify (\_SB.PCI0, 0x02)
}
Method (_L18, 0, NotSerialized)
{
Store (0x00, Local0)
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB1, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB3, 0x02)
}
Method (_L0E, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB4, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.MODM, 0x02)
}
Method (_L09, 0, NotSerialized)
{
Notify (\_SB.PCI0.PXP0.NIC, 0x02)
}
}
Name (CRS0, Buffer (0x0192) {})
CreateWordField (CRS0, 0x0190, CRS1)
Method (CRS3, 0, NotSerialized)
{
Store (0x00, CRS1)
}
Method (CRS4, 1, NotSerialized)
{
CreateByteField (CRS0, CRS1, CRS2)
Store (Arg0, CRS2)
Increment (CRS1)
}
Method (CRS5, 1, NotSerialized)
{
CreateWordField (CRS0, CRS1, CRS2)
Store (Arg0, CRS2)
Increment (CRS1)
Increment (CRS1)
}
Method (CRS6, 1, NotSerialized)
{
CreateDWordField (CRS0, CRS1, CRS2)
Store (Arg0, CRS2)
Add (CRS1, 0x04, CRS1)
}
Method (CR_0, 3, NotSerialized)
{
CRS4 (0x86)
CRS5 (0x09)
CRS4 (Arg0)
CRS6 (Arg1)
CRS6 (Arg2)
}
Method (CR_1, 4, NotSerialized)
{
CRS4 (0x47)
CRS4 (0x01)
CRS5 (Arg0)
CRS5 (Arg1)
CRS4 (Arg2)
CRS4 (Arg3)
}
Method (CR_2, 2, NotSerialized)
{
CRS4 (0x88)
CRS5 (0x0D)
CRS4 (0x02)
CRS4 (0x0C)
CRS4 (0x00)
CRS5 (0x00)
CRS5 (Arg0)
Add (Arg0, Arg1, Local0)
Decrement (Local0)
CRS5 (Local0)
CRS5 (0x00)
CRS5 (Arg1)
}
Method (CR_3, 2, NotSerialized)
{
CRS4 (0x88)
CRS5 (0x0D)
CRS4 (0x01)
CRS4 (0x0C)
CRS4 (0x03)
CRS5 (0x00)
CRS5 (Arg0)
Add (Arg0, Arg1, Local0)
Decrement (Local0)
CRS5 (Local0)
CRS5 (0x00)
CRS5 (Arg1)
}
Method (CR_4, 2, NotSerialized)
{
CRS4 (0x87)
CRS5 (0x17)
CRS4 (0x00)
CRS4 (0x0C)
CRS4 (0x03)
CRS6 (0x00)
CRS6 (Arg0)
Add (Arg0, Arg1, Local0)
Decrement (Local0)
CRS6 (Local0)
CRS6 (0x00)
CRS6 (Arg1)
}
Method (CR_5, 0, NotSerialized)
{
CRS5 (0x79)
Store (CRS1, Local0)
Subtract (0x0192, 0x02, Local1)
While (LLess (Local0, Local1))
{
CRS4 (0x00)
Increment (Local0)
}
Store (0x79, CRS1)
}
Scope (\_PR)
{
Processor (CPU0, 0x00, 0x000010E0, 0x06) {}
Processor (CPU1, 0x01, 0x000010E0, 0x06) {}
}
Name (\_S0, Package (0x03)
{
0x00,
0x00,
0x00
})
Name (\_S3, Package (0x03)
{
0x05,
0x00,
0x00
})
Name (\_S4, Package (0x03)
{
0x07,
0x00,
0x00
})
Name (\_S5, Package (0x03)
{
0x07,
0x00,
0x00
})
Scope (\_TZ)
{
ThermalZone (THM)
{
Method (_CRT, 0, NotSerialized)
{
Store (0x62, Local0)
Multiply (Local0, 0x0A, Local0)
Add (Local0, 0x0AAC, Local0)
Return (Local0)
}
Method (_TMP, 0, NotSerialized)
{
Store (GINF (0x04), Local0)
Return (Local0)
}
Method (GINF, 1, NotSerialized)
{
SX10 ()
SX30 (Arg0)
SX11 ()
Store (SX41 (), Local0)
SX12 ()
If (LLess (Local0, 0x0BA6))
{
Store (0x0BA6, Local0)
}
Return (Local0)
}
}
}
Scope (\)
{
Name (PICF, 0x00)
Method (_PIC, 1, NotSerialized)
{
Store (Arg0, PICF)
}
}
Scope (\_SB)
{
OperationRegion (SMIR, SystemIO, 0xB2, 0x02)
Field (SMIR, ByteAcc, NoLock, Preserve)
{
SMIC, 8,
SMID, 8
}
OperationRegion (SMR2, SystemIO, 0x86, 0x01)
Field (SMR2, ByteAcc, NoLock, Preserve)
{
SMIA, 8
}
Device (AC)
{
Name (_HID, "ACPI0003")
Name (_PCL, Package (0x03)
{
\_SB,
BAT0,
BAT1
})
Method (_PSR, 0, NotSerialized)
{
Store (SMI (0x85, 0x00), Local0)
And (Local0, 0x01, Local0)
Return (Local0)
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Name (BIFP, Package (0x0D) {})
Method (BIF, 1, NotSerialized)
{
SX10 ()
SX30 (0x01)
SX30 (Arg0)
SX11 ()
Store (SX42 (), Index (BIFP, 0x00))
Store (SX42 (), Index (BIFP, 0x01))
Store (SX42 (), Index (BIFP, 0x02))
Store (SX42 (), Index (BIFP, 0x03))
Store (SX42 (), Index (BIFP, 0x04))
Store (SX42 (), Index (BIFP, 0x05))
Store (SX42 (), Index (BIFP, 0x06))
Store (SX42 (), Index (BIFP, 0x07))
Store (SX42 (), Index (BIFP, 0x08))
Store (SX45 (), Index (BIFP, 0x09))
Store (SX45 (), Index (BIFP, 0x0A))
Store (SX45 (), Index (BIFP, 0x0B))
Store (SX45 (), Index (BIFP, 0x0C))
SX12 ()
Return (BIFP)
}
Device (BAT0)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, 0x01)
Name (_PCL, Package (0x01)
{
\_SB
})
Method (_STA, 0, NotSerialized)
{
And (MIS0, 0x02, Local0)
If (Local0)
{
Return (0x1F)
}
Return (0x0F)
}
Method (_BIF, 0, NotSerialized)
{
Return (BIF (0x01))
}
Method (_BST, 0, NotSerialized)
{
SX10 ()
SX30 (0x02)
SX30 (0x01)
SX11 ()
Name (BST0, Package (0x04) {})
Store (SX42 (), Index (BST0, 0x00))
Store (SX42 (), Index (BST0, 0x01))
Store (SX42 (), Index (BST0, 0x02))
Store (SX42 (), Index (BST0, 0x03))
SX12 ()
Return (BST0)
}
Method (_BTP, 1, NotSerialized)
{
SX10 ()
SX30 (0x03)
SX30 (0x01)
SX32 (Arg0)
SX11 ()
SX12 ()
Sleep (0xFA)
}
}
Device (BAT1)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, 0x02)
Name (_PCL, Package (0x01)
{
\_SB
})
Method (_STA, 0, NotSerialized)
{
And (MIS0, 0x10, Local0)
If (Local0)
{
Return (0x1F)
}
Return (0x0F)
}
Method (_BIF, 0, NotSerialized)
{
Return (BIF (0x02))
}
Method (_BST, 0, NotSerialized)
{
SX10 ()
SX30 (0x02)
SX30 (0x02)
SX11 ()
Name (BST1, Package (0x04) {})
Store (SX42 (), Index (BST1, 0x00))
Store (SX42 (), Index (BST1, 0x01))
Store (SX42 (), Index (BST1, 0x02))
Store (SX42 (), Index (BST1, 0x03))
SX12 ()
Return (BST1)
}
Method (_BTP, 1, NotSerialized)
{
SX10 ()
SX30 (0x03)
SX30 (0x02)
SX32 (Arg0)
SX11 ()
SX12 ()
Sleep (0xFA)
}
}
Device (LID)
{
Name (_HID, EisaId ("PNP0C0D"))
Method (_LID, 0, NotSerialized)
{
Store (SMI (0x84, 0x00), Local0)
Return (Local0)
}
Name (_PRW, Package (0x02)
{
0x1C,
0x03
})
Method (_PSW, 1, NotSerialized)
{
PSW (Arg0, 0x02)
}
}
Device (PBTN)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_PRW, Package (0x02)
{
0x1C,
0x04
})
Method (_PSW, 1, NotSerialized)
{
PSW (Arg0, 0x01)
}
}
Device (SBTN)
{
Name (_HID, EisaId ("PNP0C0E"))
}
Device (MB1)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x01)
Method (_CRS, 0, NotSerialized)
{
CRS3 ()
CR_0 (0x01, 0x00, 0x0009FC00)
CR_0 (0x01, 0x0009FC00, 0x0400)
If (LOr (LEqual (OSID (), 0x08), LEqual (OSID (), 0x10)))
{
Store (GORL (), Local0)
CR_0 (0x00, 0x000C0000, Local0)
}
CR_0 (0x00, 0x000E0000, 0x00020000)
Store (GMEM (), Local0)
Subtract (Local0, 0x00028000, Local1)
CR_0 (0x01, 0x00100000, Local1)
Add (Local1, 0x00100000, Local1)
CR_0 (0x01, Local1, 0x00028000)
CR_0 (0x01, 0xFEDA0000, 0x00060000)
Subtract (0xFFFFFFFF, 0xFFB00000, Local0)
Add (Local0, 0x01, Local0)
CR_0 (0x00, 0xFFB00000, Local0)
CR_0 (0x01, 0xFEC00000, 0x00010000)
CR_0 (0x01, 0xFEE00000, 0x00010000)
CR_0 (0x00, 0xFED20000, 0x00080000)
CR_0 (0x01, 0xF0000000, 0x4000)
CR_0 (0x01, 0xF0004000, 0x1000)
CR_0 (0x01, 0xF0005000, 0x1000)
CR_0 (0x01, 0xF0006000, 0x1000)
CR_0 (0x01, 0xF0008000, 0x4000)
CR_0 (0x01, 0xE0000000, 0x10000000)
CR_5 ()
Return (CRS0)
}
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00)
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
Method (_INI, 0, NotSerialized)
{
Store (SMI (0x98, 0x00), MIS0)
And (MIS0, Or (0x01, Or (0x02, 0x10)), MIS0)
Store (SMI (0x87, 0x00), MIS2)
Store (0x01, MIS4)
SOST ()
}
Method (_CRS, 0, NotSerialized)
{
CRS3 ()
CR_2 (0x00, 0x0100)
CR_3 (0x00, 0x0CF8)
CR_1 (0x0CF8, 0x0CF8, 0x01, 0x08)
CR_3 (0x0D00, 0xF300)
CR_4 (0x000A0000, 0x00020000)
CR_4 (0x000D0000, 0x00010000)
Add (0x00100000, GMEM (), Local0)
Subtract (0xE0000000, Local0, Local1)
CR_4 (Local0, Local1)
Add (0xF0006000, 0x1000, Local0)
Subtract (0xF0008000, Local0, Local1)
CR_4 (Local0, Local1)
Add (0xF0008000, 0x4000, Local0)
Subtract (0xFEC00000, Local0, Local1)
CR_4 (Local0, Local1)
Add (0xFEC00000, 0x00010000, Local0)
Subtract (0xFED20000, Local0, Local1)
If (Local1)
{
CR_4 (Local0, Local1)
}
Add (0xFED20000, 0x00080000, Local0)
Subtract (0xFEDA0000, Local0, Local1)
CR_4 (Local0, Local1)
Add (0xFEE00000, 0x00010000, Local0)
Subtract (0xFFB00000, Local0, Local1)
CR_4 (Local0, Local1)
CR_5 ()
Return (CRS0)
}
Device (MB2)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x02)
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0092, 0x0092, 0x02, 0x01)
IO (Decode16, 0x00B2, 0x00B2, 0x02, 0x01)
IO (Decode16, 0x0020, 0x0020, 0x10, 0x02)
IO (Decode16, 0x00A0, 0x00A0, 0x10, 0x02)
IRQNoFlags () {0}
IO (Decode16, 0x04D0, 0x04D0, 0x10, 0x02)
IO (Decode16, 0x1000, 0x1000, 0x10, 0x06)
IO (Decode16, 0x1008, 0x1008, 0x08, 0x08)
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (MB3)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x03)
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0xF400, 0xF400, 0x01, 0xFF)
IO (Decode16, 0x0086, 0x0086, 0x02, 0x01)
IO (Decode16, 0x00B3, 0x00B3, 0x01, 0x01)
IO (Decode16, 0x1006, 0x1006, 0x02, 0x02)
IO (Decode16, 0x100A, 0x100A, 0x01, 0x50)
IO (Decode16, 0x1060, 0x1060, 0x10, 0x20)
IO (Decode16, 0x1080, 0x1080, 0x10, 0x40)
IO (Decode16, 0x10C0, 0x10C0, 0x10, 0x20)
IO (Decode16, 0x10E0, 0x10E0, 0x10, 0x20)
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (ISAB)
{
Name (_ADR, 0x001F0000)
OperationRegion (PIR1, PCI_Config, 0x60, 0x04)
OperationRegion (PIR2, PCI_Config, 0x68, 0x04)
OperationRegion (FDIS, PCI_Config, 0xF2, 0x02)
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F13"))
Name (CRS, ResourceTemplate ()
{
IRQNoFlags () {12}
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (KBC)
{
Name (_HID, EisaId ("PNP0303"))
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x10, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x04, 0x01)
IO (Decode16, 0x0062, 0x0062, 0x02, 0x01)
IO (Decode16, 0x0066, 0x0066, 0x06, 0x01)
IRQNoFlags () {1}
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0070, 0x0070, 0x10, 0x02)
IRQNoFlags () {8}
IO (Decode16, 0x0072, 0x0072, 0x02, 0x06)
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0040, 0x0040, 0x10, 0x04)
IRQNoFlags () {2}
IO (Decode16, 0x0050, 0x0050, 0x10, 0x04)
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
IO (Decode16, 0x0063, 0x0063, 0x01, 0x01)
IO (Decode16, 0x0065, 0x0065, 0x01, 0x01)
IO (Decode16, 0x0067, 0x0067, 0x01, 0x01)
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (MB4)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x04)
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x002E, 0x002E, 0x02, 0x02)
IO (Decode16, 0x004E, 0x004E, 0x02, 0x02)
IO (Decode16, 0x0900, 0x0900, 0x10, 0x10)
IO (Decode16, 0x0910, 0x0910, 0x10, 0x10)
IO (Decode16, 0x0920, 0x0920, 0x10, 0x10)
IO (Decode16, 0x093C, 0x093C, 0x04, 0x04)
IO (Decode16, 0x0940, 0x0940, 0x10, 0x40)
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0024, 0x0024, 0x04, 0x02)
IO (Decode16, 0x0028, 0x0028, 0x04, 0x02)
IO (Decode16, 0x002C, 0x002C, 0x04, 0x02)
IO (Decode16, 0x0030, 0x0030, 0x04, 0x02)
IO (Decode16, 0x0034, 0x0034, 0x04, 0x02)
IO (Decode16, 0x0038, 0x0038, 0x04, 0x02)
IO (Decode16, 0x003C, 0x003C, 0x04, 0x02)
IO (Decode16, 0x00A4, 0x00A4, 0x04, 0x02)
IO (Decode16, 0x00A8, 0x00A8, 0x04, 0x02)
IO (Decode16, 0x00AC, 0x00AC, 0x04, 0x02)
IO (Decode16, 0x00B0, 0x00B0, 0x04, 0x02)
IO (Decode16, 0x00B4, 0x00B4, 0x04, 0x02)
IO (Decode16, 0x00B8, 0x00B8, 0x04, 0x02)
IO (Decode16, 0x00BC, 0x00BC, 0x04, 0x02)
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (MAD)
{
Name (_HID, EisaId ("PNP0200"))
Name (CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8) {4}
IO (Decode16, 0x0000, 0x0000, 0x10, 0x10)
IO (Decode16, 0x0080, 0x0080, 0x10, 0x06)
IO (Decode16, 0x0087, 0x0087, 0x01, 0x09)
IO (Decode16, 0x00C0, 0x00C0, 0x10, 0x20)
IO (Decode16, 0x0010, 0x0010, 0x10, 0x10)
IO (Decode16, 0x0090, 0x0090, 0x10, 0x02)
IO (Decode16, 0x0093, 0x0093, 0x01, 0x0D)
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x00F0, 0x00F0, 0x10, 0x10)
IRQNoFlags () {13}
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (UAR1)
{
Name (_HID, EisaId ("PNP0501"))
Name (_EJD, "\\_SB_.PCI0.PCIE.GDCK")
Method (_STA, 0, NotSerialized)
{
Store (PNPQ (0x02), Local1)
Return (Local1)
}
Method (_DIS, 0, NotSerialized)
{
PNPD (0x02)
}
Method (_CRS, 0, NotSerialized)
{
Return (PNPG (0x02))
}
Method (_PRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
StartDependentFn (0x01, 0x01)
{
IRQ (Edge, ActiveHigh, Shared) {3,4,6,12}
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
}
StartDependentFn (0x01, 0x01)
{
IRQ (Edge, ActiveHigh, Shared) {3,4,6,12}
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
}
StartDependentFn (0x01, 0x01)
{
IRQ (Edge, ActiveHigh, Shared) {3,4,6,12}
IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
}
StartDependentFn (0x01, 0x01)
{
IRQ (Edge, ActiveHigh, Shared) {3,4,6,12}
IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
}
EndDependentFn ()
})
Return (BUF0)
}
Method (_SRS, 1, NotSerialized)
{
PNPS (0x02, Arg0)
}
}
Device (IRDA)
{
Name (_HID, EisaId ("SMCF010"))
Method (_STA, 0, NotSerialized)
{
Store (PNPQ (0x03), Local0)
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
PNPD (0x03)
}
Method (_CRS, 0, NotSerialized)
{
Return (PNPG (0x03))
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IRQNoFlags () {4}
IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
IO (Decode16, 0x0270, 0x0400, 0x08, 0x08)
DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3}
}
StartDependentFnNoPri ()
{
IRQNoFlags () {4}
IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
IO (Decode16, 0x0270, 0x0400, 0x08, 0x08)
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,6,12}
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
IO (Decode16, 0x0270, 0x0400, 0x08, 0x08)
DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3}
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,6,12}
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
IO (Decode16, 0x0270, 0x0400, 0x08, 0x08)
DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3}
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,6,12}
IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
IO (Decode16, 0x0270, 0x0400, 0x08, 0x08)
DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3}
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,6,12}
IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
IO (Decode16, 0x0270, 0x0400, 0x08, 0x08)
DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3}
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,6,12}
IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
IO (Decode16, 0x0270, 0x0400, 0x08, 0x08)
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,6,12}
IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
IO (Decode16, 0x0270, 0x0400, 0x08, 0x08)
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,6,12}
IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
IO (Decode16, 0x0270, 0x0400, 0x08, 0x08)
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,6,12}
IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
IO (Decode16, 0x0270, 0x0400, 0x08, 0x08)
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IRQNoFlags () {3,4,6,12}
IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
IO (Decode16, 0x0000, 0x0000, 0x08, 0x00)
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
PNPS (0x03, Arg0)
}
}
Device (ECP)
{
Name (_HID, EisaId ("PNP0401"))
Name (_EJD, "\\_SB_.PCI0.PCIE.GDCK")
Method (_STA, 0, NotSerialized)
{
Store (PNPQ (0x01), Local1)
Return (Local1)
}
Method (_DIS, 0, NotSerialized)
{
PNPD (0x01)
}
Method (_CRS, 0, NotSerialized)
{
Return (PNPG (0x01))
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {}
IRQNoFlags () {3,4,5,7}
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x04)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3}
IRQNoFlags () {7}
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x04)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {}
IRQNoFlags () {3,4,5,7}
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x04)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3}
IRQNoFlags () {3,4,5,7}
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x04)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {}
IRQNoFlags () {3,4,5,7}
IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3}
IRQNoFlags () {3,4,5,7}
IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {}
IRQNoFlags () {}
IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x08, 0x04)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {}
IRQNoFlags () {}
IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x08, 0x04)
}
StartDependentFnNoPri ()
{
DMA (Compatibility, NotBusMaster, Transfer8) {}
IRQNoFlags () {}
IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
PNPS (0x01, Arg0)
}
}
Device (TPM)
{
Name (_HID, EisaId ("BCM0101"))
Method (_STA, 0, NotSerialized)
{
SX10 ()
SX30 (0x0E)
SX11 ()
Store (SX42 (), Local0)
SX12 ()
Return (Local0)
}
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0930, 0x0930, 0x10, 0x0C)
})
Method (_CRS, 0, NotSerialized)
{
Return (CRS)
}
}
Device (FTPM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
SX10 ()
SX30 (0x0E)
SX11 ()
Store (SX42 (), Local0)
SX12 ()
If (Local0)
{
Return (0x00)
}
Return (0x0F)
}
Name (FCRS, ResourceTemplate ()
{
IO (Decode16, 0x0930, 0x0930, 0x10, 0x0C)
})
Method (_CRS, 0, NotSerialized)
{
Return (FCRS)
}
}
}
Method (UPRW, 2, NotSerialized)
{
Return (0x00)
}
Method (UPSW, 2, NotSerialized)
{
Return (0x00)
}
Device (USB0)
{
Name (_ADR, 0x001D0000)
Method (_S0D, 0, NotSerialized)
{
Store (SMI (0x85, 0x00), Local0)
And (Local0, 0x01, Local0)
If (LEqual (Local0, 0x00))
{
Return (0x03)
}
Else
{
Return (0x00)
}
}
Method (_PRW, 0, NotSerialized)
{
Store (UPRW (0x00, 0x00), Local0)
If (LEqual (Local0, 0x03))
{
Return (Package (0x02)
{
0x03,
0x03
})
}
If (LEqual (Local0, 0x01))
{
Return (Package (0x02)
{
0x03,
0x01
})
}
Return (Package (0x02)
{
0x03,
0x00
})
}
Method (_PSW, 1, NotSerialized)
{
UPSW (Arg0, 0x00)
}
Device (HUB0)
{
Name (_ADR, 0x00)
Device (CH0)
{
Name (_ADR, 0x01)
}
Device (CH1)
{
Name (_ADR, 0x02)
Name (_EJD, "\\_SB_.PCI0.PCIE.GDCK")
}
}
}
Device (USB1)
{
Name (_ADR, 0x001D0001)
Method (_S0D, 0, NotSerialized)
{
Store (SMI (0x85, 0x00), Local0)
And (Local0, 0x01, Local0)
If (LEqual (Local0, 0x00))
{
Return (0x03)
}
Else
{
Return (0x00)
}
}
Method (_PRW, 0, NotSerialized)
{
Store (UPRW (0x00, 0x01), Local0)
If (LEqual (Local0, 0x03))
{
Return (Package (0x02)
{
0x04,
0x03
})
}
If (LEqual (Local0, 0x01))
{
Return (Package (0x02)
{
0x04,
0x01
})
}
Return (Package (0x02)
{
0x04,
0x00
})
}
Method (_PSW, 1, NotSerialized)
{
UPSW (Arg0, 0x01)
}
Device (HUB1)
{
Name (_ADR, 0x00)
Device (CH10)
{
Name (_ADR, 0x01)
}
Device (CH11)
{
Name (_ADR, 0x02)
}
}
}
Device (USB2)
{
Name (_ADR, 0x001D0002)
Method (_S0D, 0, NotSerialized)
{
Store (SMI (0x85, 0x00), Local0)
And (Local0, 0x01, Local0)
If (LEqual (Local0, 0x00))
{
Return (0x03)
}
Else
{
Return (0x00)
}
}
Method (_PRW, 0, NotSerialized)
{
Store (UPRW (0x00, 0x02), Local0)
If (LEqual (Local0, 0x03))
{
Return (Package (0x02)
{
0x0C,
0x03
})
}
If (LEqual (Local0, 0x01))
{
Return (Package (0x02)
{
0x0C,
0x01
})
}
Return (Package (0x02)
{
0x0C,
0x00
})
}
Method (_PSW, 1, NotSerialized)
{
UPSW (Arg0, 0x02)
}
Device (HUB2)
{
Name (_ADR, 0x00)
Device (CH20)
{
Name (_ADR, 0x01)
}
Device (CH21)
{
Name (_ADR, 0x02)
}
}
}
Device (USB4)
{
Name (_ADR, 0x001D0003)
Method (_S0D, 0, NotSerialized)
{
Store (SMI (0x85, 0x00), Local0)
And (Local0, 0x01, Local0)
If (LEqual (Local0, 0x00))
{
Return (0x03)
}
Else
{
Return (0x00)
}
}
Method (_PRW, 0, NotSerialized)
{
Store (UPRW (0x00, 0x03), Local0)
If (LEqual (Local0, 0x03))
{
Return (Package (0x02)
{
0x0E,
0x03
})
}
If (LEqual (Local0, 0x01))
{
Return (Package (0x02)
{
0x0E,
0x01
})
}
Return (Package (0x02)
{
0x0E,
0x00
})
}
Method (_PSW, 1, NotSerialized)
{
UPSW (Arg0, 0x03)
}
Device (HUB4)
{
Name (_ADR, 0x00)
Device (CH40)
{
Name (_ADR, 0x01)
}
Device (CH41)
{
Name (_ADR, 0x02)
}
}
}
Device (USB3)
{
Name (_ADR, 0x001D0007)
Method (_S0D, 0, NotSerialized)
{
Store (SMI (0x85, 0x00), Local0)
And (Local0, 0x01, Local0)
If (LEqual (Local0, 0x00))
{
Return (0x03)
}
Else
{
Return (0x00)
}
}
Name (_S1D, 0x02)
Name (_S3D, 0x02)
Method (_PRW, 0, NotSerialized)
{
Store (UPRW (0x00, 0x07), Local0)
If (LEqual (Local0, 0x03))
{
Return (Package (0x02)
{
0x0D,
0x03
})
}
If (LEqual (Local0, 0x01))
{
Return (Package (0x02)
{
0x0D,
0x01
})
}
Return (Package (0x02)
{
0x0D,
0x00
})
}
Method (_PSW, 1, NotSerialized)
{
UPSW (Arg0, 0x07)
}
Device (HUB3)
{
Name (_ADR, 0x00)
Device (CH30)
{
Name (_ADR, 0x01)
}
Device (CH31)
{
Name (_ADR, 0x02)
Name (_EJD, "\\_SB_.PCI0.PCIE.GDCK")
}
Device (CH32)
{
Name (_ADR, 0x03)
}
Device (CH33)
{
Name (_ADR, 0x04)
}
Device (CH34)
{
Name (_ADR, 0x05)
}
Device (CH35)
{
Name (_ADR, 0x06)
}
Device (CH36)
{
Name (_ADR, 0x07)
}
Device (CH37)
{
Name (_ADR, 0x08)
}
}
}
Scope (\_SB)
{
}
Name (PIC0, Package (0x11)
{
Package (0x04)
{
0x001FFFFF,
0x00,
\_SB.PCI0.LNKC,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
\_SB.PCI0.LNKB,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x02,
\_SB.PCI0.LNKC,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x03,
\_SB.PCI0.LNKD,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x00,
\_SB.PCI0.LNKA,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x01,
\_SB.PCI0.LNKB,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x02,
\_SB.PCI0.LNKC,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x03,
\_SB.PCI0.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x00,
\_SB.PCI0.LNKA,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x01,
\_SB.PCI0.LNKB,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x02,
\_SB.PCI0.LNKC,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x03,
\_SB.PCI0.LNKD,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x00,
\_SB.PCI0.LNKA,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x01,
\_SB.PCI0.LNKB,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x02,
\_SB.PCI0.LNKC,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x03,
\_SB.PCI0.LNKD,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.PCI0.LNKA,
0x00
}
})
Name (API0, Package (0x11)
{
Package (0x04)
{
0x001FFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001FFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x001FFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001FFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x001EFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001EFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x001EFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001EFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x001DFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001DFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x001DFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
0x00,
0x13
},
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)
{
0x0001FFFF,
0x00,
0x00,
0x10
}
})
Method (_PRT, 0, NotSerialized)
{
Store (API0, Local0)
If (LNot (PICF))
{
Store (PIC0, Local0)
}
Return (Local0)
}
Field (\_SB.PCI0.ISAB.PIR1, ByteAcc, NoLock, Preserve)
{
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
Field (\_SB.PCI0.ISAB.PIR2, ByteAcc, NoLock, Preserve)
{
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {9,10,11}
})
Method (_STA, 0, NotSerialized)
{
Store (PIRA, Local0)
And (Local0, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
Method (_DIS, 0, NotSerialized)
{
Store (PIRA, Local0)
Or (Local0, 0x80, Local0)
Store (Local0, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (BUFA, 0x01, IRA)
Store (PIRA, Local0)
And (Local0, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F)
Store (0x01, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRA)
}
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQA)
FindSetLeftBit (IRQA, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {5,7}
})
Method (_STA, 0, NotSerialized)
{
Store (PIRB, Local0)
And (Local0, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
Method (_DIS, 0, NotSerialized)
{
Store (PIRB, Local0)
Or (Local0, 0x80, Local0)
Store (Local0, PIRB)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (BUFB, 0x01, IRB)
Store (PIRB, Local0)
And (Local0, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F)
Store (0x01, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRB)
}
Return (BUFB)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQB)
FindSetLeftBit (IRQB, Local0)
Decrement (Local0)
Store (Local0, PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {9,10,11}
})
Method (_STA, 0, NotSerialized)
{
Store (PIRC, Local0)
And (Local0, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
Method (_DIS, 0, NotSerialized)
{
Store (PIRC, Local0)
Or (Local0, 0x80, Local0)
Store (Local0, PIRC)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (BUFC, 0x01, IRC)
Store (PIRC, Local0)
And (Local0, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F)
Store (0x01, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRC)
}
Return (BUFC)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQC)
FindSetLeftBit (IRQC, Local0)
Decrement (Local0)
Store (Local0, PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {5,7,9,10,11}
})
Method (_STA, 0, NotSerialized)
{
Store (PIRD, Local0)
And (Local0, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
Method (_DIS, 0, NotSerialized)
{
Store (PIRD, Local0)
Or (Local0, 0x80, Local0)
Store (Local0, PIRD)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (BUFD, 0x01, IRD)
Store (PIRD, Local0)
And (Local0, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F)
Store (0x01, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRD)
}
Return (BUFD)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQD)
FindSetLeftBit (IRQD, Local0)
Decrement (Local0)
Store (Local0, PIRD)
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12,14,15}
})
Method (_STA, 0, NotSerialized)
{
Store (PIRE, Local0)
And (Local0, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
Method (_DIS, 0, NotSerialized)
{
Store (PIRE, Local0)
Or (Local0, 0x80, Local0)
Store (Local0, PIRE)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (BUFE, 0x01, IRE)
Store (PIRE, Local0)
And (Local0, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F)
Store (0x01, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRE)
}
Return (BUFE)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQE)
FindSetLeftBit (IRQE, Local0)
Decrement (Local0)
Store (Local0, PIRE)
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12,14,15}
})
Method (_STA, 0, NotSerialized)
{
Store (PIRF, Local0)
And (Local0, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
Method (_DIS, 0, NotSerialized)
{
Store (PIRF, Local0)
Or (Local0, 0x80, Local0)
Store (Local0, PIRF)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (BUFF, 0x01, IRQF)
Store (PIRF, Local0)
And (Local0, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F)
Store (0x01, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRQF)
}
Return (BUFF)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQF)
FindSetLeftBit (IRQF, Local0)
Decrement (Local0)
Store (Local0, PIRF)
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,9,10,11,12,14,15}
})
Method (_STA, 0, NotSerialized)
{
Store (PIRH, Local0)
And (Local0, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Return (0x0B)
}
Method (_DIS, 0, NotSerialized)
{
Store (PIRH, Local0)
Or (Local0, 0x80, Local0)
Store (Local0, PIRH)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {}
})
CreateWordField (BUFH, 0x01, IRH)
Store (PIRH, Local0)
And (Local0, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F)
Store (0x01, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRH)
}
Return (BUFH)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRQH)
FindSetLeftBit (IRQH, Local0)
Decrement (Local0)
Store (Local0, PIRH)
}
}
Device (IDE0)
{
Name (_ADR, 0x001F0002)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Device (PRI)
{
Name (_ADR, 0x00)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Device (SEC0)
{
Name (_ADR, 0x01)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Device (MAST)
{
Name (_ADR, 0x00)
Name (_RMV, 0x00)
Method (_EJ0, 1, NotSerialized)
{
SMI (0x90, 0x08)
Return (0x00)
}
Method (_STA, 0, NotSerialized)
{
Store (SMI (0x86, 0x00), Local0)
If (Local0)
{
Return (0x0F)
}
Return (0x00)
}
}
}
}
Device (AUD)
{
Name (_ADR, 0x001E0002)
}
Device (MODM)
{
Name (_ADR, 0x001E0003)
Name (_PRW, Package (0x02)
{
0x05,
0x03
})
}
Device (AGP)
{
Name (_ADR, 0x00010000)
Name (PIC1, Package (0x01)
{
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LNKA,
0x00
}
})
Name (API1, Package (0x01)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
}
})
Method (_PRT, 0, NotSerialized)
{
Store (API1, Local0)
If (LNot (PICF))
{
Store (PIC1, Local0)
}
Return (Local0)
}
Device (VID)
{
Name (_ADR, 0x00)
Method (_DOS, 1, NotSerialized)
{
Store (Arg0, MIS4)
SMI (0x9E, MIS4)
}
Method (_DOD, 0, NotSerialized)
{
Store (SMI (0x6D, 0x00), Local0)
If (LEqual (Local0, 0x01))
{
Return (Package (0x04)
{
0x00010100,
0x00010200,
0x00010110,
0x00010210
})
}
Else
{
Return (Package (0x04)
{
0x00010100,
0x00010200,
0x00010110,
0x00010120
})
}
}
Device (TV)
{
Method (_ADR, 0, NotSerialized)
{
Return (0x0200)
}
Method (_DCS, 0, NotSerialized)
{
Store (SMI (0x8E, 0x04), Local0)
Return (Local0)
}
Method (_DGS, 0, NotSerialized)
{
Store (SMI (0x99, 0x04), Local0)
Return (Local0)
}
Method (_DSS, 1, NotSerialized)
{
DSS (0x04, Arg0)
}
}
Device (CRT)
{
Method (_ADR, 0, NotSerialized)
{
Return (0x0100)
}
Method (_DCS, 0, NotSerialized)
{
Store (SMI (0x8E, 0x02), Local0)
Return (Local0)
}
Method (_DGS, 0, NotSerialized)
{
Store (SMI (0x99, 0x02), Local0)
Return (Local0)
}
Method (_DSS, 1, NotSerialized)
{
DSS (0x02, Arg0)
}
}
Device (LCD)
{
Method (_ADR, 0, NotSerialized)
{
Return (0x0110)
}
Method (_DCS, 0, NotSerialized)
{
Store (SMI (0x8E, 0x01), Local0)
Return (Local0)
}
Method (_DGS, 0, NotSerialized)
{
Store (SMI (0x99, 0x01), Local0)
Return (Local0)
}
Method (_DSS, 1, NotSerialized)
{
DSS (0x01, Arg0)
}
}
Device (DVI)
{
Method (_ADR, 0, NotSerialized)
{
Store (SMI (0x6D, 0x00), Local0)
If (LEqual (Local0, 0x01))
{
Return (0x0210)
}
Else
{
Return (0x0120)
}
}
Method (_DCS, 0, NotSerialized)
{
Store (SMI (0x8E, 0x08), Local0)
Return (Local0)
}
Method (_DGS, 0, NotSerialized)
{
Store (SMI (0x99, 0x08), Local0)
Return (Local0)
}
Method (_DSS, 1, NotSerialized)
{
DSS (0x08, Arg0)
}
}
}
}
Device (PCIE)
{
Name (_ADR, 0x001E0000)
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
Name (PICE, Package (0x07)
{
Package (0x04)
{
0x0001FFFF,
0x00,
\_SB.PCI0.LNKD,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x01,
\_SB.PCI0.LNKC,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
\_SB.PCI0.LNKB,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
\_SB.PCI0.LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x00,
\_SB.PCI0.LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
\_SB.PCI0.LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x01,
\_SB.PCI0.LNKA,
0x00
}
})
Name (APIE, Package (0x07)
{
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x13
},
Package (0x04)
{
0x0001FFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0x0003FFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x0003FFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x0008FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0008FFFF,
0x01,
0x00,
0x10
}
})
Method (_PRT, 0, NotSerialized)
{
Store (APIE, Local0)
If (LNot (PICF))
{
Store (PICE, Local0)
}
Return (Local0)
}
Device (CRD0)
{
Name (_ADR, 0x00010000)
Method (_INI, 0, NotSerialized)
{
SMI (0x95, 0x04)
}
Name (_S1D, 0x00)
Name (_S3D, 0x03)
}
Device (CRD1)
{
Name (_ADR, 0x00010005)
Method (_INI, 0, NotSerialized)
{
SMI (0x9D, 0x04)
}
Name (_S1D, 0x00)
Name (_S3D, 0x03)
}
Device (GDCK)
{
Name (_HID, EisaId ("PNP0C15"))
Method (_STA, 0, NotSerialized)
{
If (And (MIS5, 0x01))
{
Store (SMI (0x87, 0x00), Local2)
If (Local2)
{
Notify (\_SB.PCI0.PCIE.GDCK, 0x00)
Return (0x00)
}
}
Store (SMI (0x87, 0x00), Local0)
If (Local0)
{
Return (0x0F)
}
Return (0x00)
}
Method (_UID, 0, NotSerialized)
{
SX10 ()
SX30 (0x05)
SX30 (OSID ())
SX11 ()
Store (SX42 (), Local0)
SX12 ()
Return (Local0)
}
Method (_BDN, 0, NotSerialized)
{
Store (SMI (0x87, 0x00), Local0)
If (LEqual (Local0, 0x01))
{
Return (0x0C80AC10)
}
If (LEqual (Local0, 0x02))
{
Return (0x0D80AC10)
}
If (LEqual (Local0, 0x03))
{
Return (0x0E80AC10)
}
Return (0x00)
}
Method (_EJ0, 1, NotSerialized)
{
Store (SMI (0x87, 0x00), MIS7)
If (MIS7)
{
SMI (0xA6, 0x02)
SMI (0x49, 0x01)
Wait (EJTD, 0xA000)
SMI (0x49, 0x00)
}
Return (0x00)
}
Method (_EJ4, 1, NotSerialized)
{
SMI (0xA6, 0x01)
Return (0x00)
}
Method (_DCK, 1, NotSerialized)
{
If (Arg0)
{
SMI (0x8D, 0x01)
Store (0x00, MIS5)
}
Else
{
SMI (0x8D, 0x00)
Store (0x00, MIS2)
Store (0x01, MIS5)
}
Return (0x01)
}
}
Device (DCKS)
{
Name (_ADR, 0x00080000)
Name (_EJD, "\\_SB_.PCI0.PCIE.GDCK")
}
}
Name (LHDL, 0x00)
Name (SLLP, Package (0x02)
{
0x80000000,
0x80000000
})
Device (PXP0)
{
Name (_ADR, 0x001C0000)
Device (NIC)
{
Name (_ADR, 0x00)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Method (SCMD, 2, NotSerialized)
{
SX10 ()
SX30 (0x10)
SX30 (Arg0)
SX30 (Arg1)
SX11 ()
Store (SX42 (), Local0)
SX12 ()
Return (Local0)
}
Method (LLTB, 0, NotSerialized)
{
Store (SCMD (0x01, 0x00), Local0)
Store (Local0, Index (SLLP, 0x00))
Store (SCMD (0x02, 0x00), Local0)
Store (Local0, Index (SLLP, 0x01))
OperationRegion (LOPR, SystemMemory, DerefOf (Index (SLLP, 0x00)), DerefOf (Index (SLLP, 0x01)))
If (LEqual (LHDL, 0x00))
{
Load (LOPR, LHDL)
}
}
Method (_INI, 0, NotSerialized)
{
If (LEqual (OSID (), 0x10))
{
LLTB ()
}
}
}
}
}
}
Scope (\_PR.CPU0)
{
Method (_PPC, 0, NotSerialized)
{
Store (SMI (0xAD, 0x00), Local0)
Return (Local0)
}
Method (_PCT, 0, NotSerialized)
{
If (And (CFGD, 0x4000))
{
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000000800)
},
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000000802)
}
})
}
If (LAnd (And (CFGD, 0x02), And (PDC0, 0x01)))
{
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
}
})
}
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO, 0x10, 0x00, 0x00000000000000B2)
},
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x00000000000000B3)
}
})
}
Method (_PSS, 0, NotSerialized)
{
If (LAnd (LNot (And (CFGD, 0x4000)), LAnd (And (CFGD, 0x02), And (PDC0, 0x01))))
{
Return (NPSS)
}
Return (SPSS)
}
Name (SPSS, Package (0x05)
{
Package (0x06)
{
0x000007D0,
0x00006978,
0x0000006E,
0x0000000A,
0x000000AC,
0x00000000
},
Package (0x06)
{
0x00000640,
0x000055F0,
0x0000006E,
0x0000000A,
0x000001AC,
0x00000001
},
Package (0x06)
{
0x00000535,
0x00004A38,
0x0000006E,
0x0000000A,
0x000002AC,
0x00000002
},
Package (0x06)
{
0x0000042B,
0x00003E80,
0x0000006E,
0x0000000A,
0x000003AC,
0x00000003
},
Package (0x06)
{
0x00000320,
0x000032C8,
0x0000006E,
0x0000000A,
0x000004AC,
0x00000004
}
})
Name (NPSS, Package (0x05)
{
Package (0x06)
{
0x000007D0,
0x00006978,
0x0000000A,
0x0000000A,
0x00000F29,
0x00000F29
},
Package (0x06)
{
0x00000640,
0x000055F0,
0x0000000A,
0x0000000A,
0x00000C22,
0x00000C22
},
Package (0x06)
{
0x00000535,
0x00004A38,
0x0000000A,
0x0000000A,
0x00000A1D,
0x00000A1D
},
Package (0x06)
{
0x0000042B,
0x00003E80,
0x0000000A,
0x0000000A,
0x00000818,
0x00000818
},
Package (0x06)
{
0x00000320,
0x000032C8,
0x0000000A,
0x0000000A,
0x00000612,
0x00000612
}
})
}
Scope (\_PR.CPU0)
{
Method (_CST, 0, NotSerialized)
{
If (And (CFGD, 0x4000))
{
Return (Package (0x02)
{
0x01,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x01, 0x01, 0x0000000000000809)
},
0x01,
0x01,
0x03E8
}
})
}
If (And (CFGD, 0x80))
{
Return (Package (0x05)
{
0x04,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
0x01,
0x01,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001014)
},
0x02,
0x01,
0x01F4
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001015)
},
0x03,
0x55,
0xFA
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001016)
},
0x03,
0xB9,
0x64
}
})
}
If (And (CFGD, 0x40))
{
Return (Package (0x04)
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
0x01,
0x01,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001014)
},
0x02,
0x01,
0x01F4
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001015)
},
0x03,
0x55,
0xFA
}
})
}
If (And (CFGD, 0x20))
{
Return (Package (0x03)
{
0x02,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
0x01,
0x01,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO, 0x08, 0x00, 0x0000000000001014)
},
0x02,
0x01,
0x01F4
}
})
}
Return (Package (0x02)
{
0x01,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
0x01,
0x01,
0x03E8
}
})
}
}
Scope (\)
{
Name (SSDT, Package (0x0C)
{
"CPU0IST ",
0x3FFD8BE6,
0x00000280,
"CPU1IST ",
0x00000000,
0xF000EEC2,
"CPU0CST ",
0x3FFD8A0E,
0x000001D8,
"CPU1CST ",
0x00000000,
0xF000EEC2
})
Name (CFGD, 0x06D883F2)
Name (\PDC0, 0x80000000)
Name (\PDC1, 0x80000000)
}
Scope (\_PR.CPU0)
{
Name (HI0, 0x00)
Name (HC0, 0x00)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, CAP0)
Store (CAP0, PDC0)
If (LAnd (And (CFGD, 0x4000), LEqual (And (PDC0, 0x0A), 0x0A)))
{
If (And (CFGD, 0x03))
{
OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, 0x01)), DerefOf (Index (SSDT, 0x02)))
Load (IST0, HI0)
}
If (And (CFGD, 0x10))
{
OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08)))
Load (CST0, HC0)
}
}
}
}
Scope (\_PR.CPU1)
{
Name (HI1, 0x00)
Name (HC1, 0x00)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, CAP1)
Store (CAP1, PDC1)
If (LAnd (And (CFGD, 0x4000), LEqual (And (PDC1, 0x0A), 0x0A)))
{
If (And (CFGD, 0x03))
{
OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05)))
Load (IST1, HI1)
}
If (And (CFGD, 0x10))
{
OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
Load (CST1, HC1)
}
}
If (LEqual (And (PDC1, 0x0A), 0x0A)) {}
}
}
}
More information about the freebsd-mobile
mailing list