Date: Tue, 22 Feb 2005 14:09:18 +0900 From: Huynh Van Chung <hvcjapan@yahoo.co.jp> To: freebsd-acpi@freebsd.org Subject: ACPI on Evo N1020v Message-ID: <20050222140918.3b75fb48.hvcjapan@yahoo.co.jp>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hi all!
I have a Compaq Evo N1020v. I try to get acpi work with it.
At FreeBSD 5.3 Release, it work right at S5.
#acpiconf -s 5
and it also shutdown when i push power button.
(with fireware disabled kernel)
But it don't work with S3.
And now i upgrade it to RELEASE_5. The S5 with fine although fireware enabled kernel. But the S3 still not work.
Can I get it work with RELEASE_5?
The dsdt file is attached.
Thanks.
Huynh Van Chung
[-- Attachment #2 --]
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20041119
*
* Disassembly of /tmp/acpidump.aMGVA8, Tue Feb 22 13:57:47 2005
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "COMPAQ", "0818", 100925440)
{
OperationRegion (PORT, SystemIO, 0x80, 0x01)
Field (PORT, ByteAcc, NoLock, Preserve)
{
P80H, 8
}
Scope (\_PR)
{
Processor (CPU0, 0x00, 0x00008010, 0x06) {}
}
Name (_S0, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
Name (_S3, Package (0x04)
{
0x03,
0x03,
0x00,
0x00
})
Name (_S4, Package (0x04)
{
0x04,
0x04,
0x00,
0x00
})
Name (_S5, Package (0x04)
{
0x05,
0x05,
0x00,
0x00
})
Mutex (SLP, 0x00)
Method (_PTS, 1, NotSerialized)
{
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (Arg0, \_SB.PCI0.ISA.EC.SLPT)
Release (\_SB.PCI0.ISA.EC.MTX0)
Store (0x00, \_GPE.GPEF)
If (LEqual (Arg0, 0x03))
{
Store (0x81, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
If (LEqual (Arg0, 0x04))
{
Store (0x98, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
If (LEqual (\_SB.TOOS, 0x03))
{
Store (0x9D, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
}
If (LEqual (Arg0, 0x05))
{
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (0x00, \_SB.PCI0.ISA.EC.ACPI)
Release (\_SB.PCI0.ISA.EC.MTX0)
Store (0x99, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Sleep (0x07D0)
}
}
Mutex (WAKE, 0x00)
Method (_WAK, 1, NotSerialized)
{
If (LEqual (Arg0, 0x04))
{
Notify (\_TZ.TZ0, 0x81)
Notify (\_SB.PWRB, 0x02)
Notify (\_SB.PCI0.USB0, 0x00)
Notify (\_SB.PCI0.USB1, 0x00)
Notify (\_SB.PCI0.USB2, 0x00)
If (LEqual (\_SB.TOOS, 0x03))
{
Store (0x83, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
}
If (LEqual (Arg0, 0x03))
{
If (LEqual (\_GPE.GPEF, 0x01))
{
Notify (\_SB.PWRB, 0x02)
}
Store (0x9A, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
Store (0x00, \_GPE.GPEF)
}
Scope (\_SI)
{
Method (_SST, 1, NotSerialized)
{
If (LEqual (Arg0, 0x01))
{
Store ("===== SST Working =====", Debug)
}
If (LEqual (Arg0, 0x02))
{
Store ("===== SST Waking =====", Debug)
}
If (LEqual (Arg0, 0x03))
{
Store ("===== SST Sleeping =====", Debug)
}
If (LEqual (Arg0, 0x04))
{
Store ("===== SST Sleeping S4 =====", Debug)
}
}
}
Scope (\_SB)
{
Method (MIN, 2, NotSerialized)
{
If (LLess (Arg0, Arg1))
{
Return (Arg0)
}
Else
{
Return (Arg1)
}
}
Method (SLEN, 1, NotSerialized)
{
Store (Arg0, Local0)
Return (SizeOf (Local0))
}
Method (S2BF, 1, NotSerialized)
{
Store (Arg0, Local0)
Add (SLEN (Local0), One, Local0)
Name (BUFF, Buffer (Local0) {})
Store (Arg0, BUFF)
Return (BUFF)
}
Method (SCMP, 2, NotSerialized)
{
Store (Arg0, Local0)
Store (S2BF (Local0), Local0)
Store (S2BF (Arg1), Local1)
Store (Zero, Local4)
Store (SLEN (Arg0), Local5)
Store (SLEN (Arg1), Local6)
Store (MIN (Local5, Local6), Local7)
While (LLess (Local4, Local7))
{
Store (DerefOf (Index (Local0, Local4)), Local2)
Store (DerefOf (Index (Local1, Local4)), Local3)
If (LGreater (Local2, Local3))
{
Return (One)
}
Else
{
If (LLess (Local2, Local3))
{
Return (Ones)
}
}
Increment (Local4)
}
If (LLess (Local4, Local5))
{
Return (One)
}
Else
{
If (LLess (Local4, Local6))
{
Return (Ones)
}
Else
{
Return (Zero)
}
}
}
Name (TOOS, 0x00)
Method (_INI, 0, NotSerialized)
{
Store (\_OS, Local0)
If (LEqual (SizeOf (\_OS), 0x0E))
{
Store (0x04, TOOS)
}
Else
{
Store (SCMP (Local0, "Microsoft Windows NT"), Local1)
If (Not (Local1))
{
Store (0x03, TOOS)
}
Else
{
Store (SCMP (Local0, "Microsoft Windows"), Local2)
If (Not (Local2))
{
Store (0x01, TOOS)
}
Else
{
Store (SCMP (Local0, "Microsoft WindowsME:Millennium Edition"), Local3)
If (Not (Local3))
{
Store (0x02, TOOS)
}
}
}
}
}
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
Name (_PRW, Package (0x02)
{
0x01,
0x03
})
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_PRW, Package (0x02)
{
0x01,
0x04
})
}
Device (LID)
{
Name (_HID, EisaId ("PNP0C0D"))
Name (_PRW, Package (0x02)
{
0x01,
0x03
})
Method (_LID, 0, NotSerialized)
{
If (\_SB.PCI0.ISA.EC.ECOK)
{
If (\_SB.PCI0.ISA.EC.LIDS)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Else
{
Return (0x01)
}
}
}
Scope (\_GPE)
{
Name (GPEF, 0x00)
Method (_L01, 0, NotSerialized)
{
Store (0x01, GPEF)
If (Not (\_SB.PCI0.ISA.EC.Z000))
{
Notify (\_SB.PCI0.ISA.KBC0, 0x80)
}
If (Not (\_SB.PCI0.ISA.EC.TME0))
{
Notify (\_SB.PCI0.ISA.MSE0, 0x80)
}
}
Method (_L09, 0, NotSerialized)
{
Store (0x01, GPEF)
Notify (\_SB.PCI0, 0x02)
}
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00)
Name (_BBN, 0x00)
OperationRegion (MREG, PCI_Config, 0xB8, 0x14)
Field (MREG, ByteAcc, NoLock, Preserve)
{
CS0, 8,
CS1, 8,
CS2, 8,
CS3, 8,
Offset (0x10),
FBSL, 8,
FBSM, 8
}
Method (TOM, 0, NotSerialized)
{
Multiply (FBSL, 0x00010000, Local0)
Multiply (FBSM, 0x01000000, Local1)
Add (Local0, Local1, Local0)
Return (Local0)
}
OperationRegion (VGAM, SystemMemory, 0x000C0002, 0x01)
Field (VGAM, ByteAcc, Lock, Preserve)
{
VSIZ, 8
}
Name (RSRC, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode,
0x0000,
0x0000,
0x00FF,
0x0000,
0x0100, 0x00)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000,
0x000A0000,
0x000BFFFF,
0x00000000,
0x00020000, 0x00)
DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000,
0x00100000,
0xFFFDFFFF,
0x00000000,
0xFFEE0000, 0x00)
IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0000,
0x0CF7,
0x0000,
0x0CF8, 0x00)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0D00,
0xFFFF,
0x0000,
0xF300, 0x00)
})
Method (_CRS, 0, Serialized)
{
CreateDWordField (RSRC, 0x1F, VMAX)
CreateDWordField (RSRC, 0x27, VLEN)
ShiftLeft (VSIZ, 0x09, Local0)
Add (Local0, 0x000BFFFF, VMAX)
Add (Local0, 0x00020000, VLEN)
CreateDWordField (RSRC, 0x36, BTMN)
CreateDWordField (RSRC, 0x3A, BTMX)
CreateDWordField (RSRC, 0x42, BTLN)
Store (\_SB.PCI0.TOM (), BTMN)
Subtract (0xFFF80000, BTMN, BTLN)
Subtract (Add (BTMN, BTLN), 0x01, BTMX)
Return (RSRC)
}
OperationRegion (ECSM, SystemMemory, 0x1DF7FD4D, 0x00000200)
Field (ECSM, AnyAcc, NoLock, Preserve)
{
ADP, 1,
, 1,
BATP, 1,
, 1,
BATL, 1,
BATC, 1,
Offset (0x01),
BDC, 32,
BFC, 32,
BTC, 32,
BDV, 32,
BST, 32,
BPR, 32,
BRC, 32,
BPV, 32,
BCW, 32,
BCL, 32,
BCG, 32,
BG2, 32,
BMO, 32,
BSN0, 32,
BSN1, 32,
BTY0, 8,
BTY1, 8,
BTY2, 8,
BTY3, 8,
NABT, 8,
TMP, 16,
ECOK, 8
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_PRT, Package (0x0D)
{
Package (0x04)
{
0x000EFFFF,
0x00,
\_SB.PCI0.ISA.LNK2,
0x00
},
Package (0x04)
{
0x000EFFFF,
0x01,
\_SB.PCI0.ISA.LNK3,
0x00
},
Package (0x04)
{
0x000EFFFF,
0x02,
\_SB.PCI0.ISA.LNK0,
0x00
},
Package (0x04)
{
0x000EFFFF,
0x03,
\_SB.PCI0.ISA.LNK1,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.ISA.LNK8,
0x00
},
Package (0x04)
{
0x000CFFFF,
0x00,
\_SB.PCI0.ISA.LNK1,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
\_SB.PCI0.ISA.LNK7,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x00,
\_SB.PCI0.ISA.LNK2,
0x00
},
Package (0x04)
{
0x000AFFFF,
0x01,
\_SB.PCI0.ISA.LNK1,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x00,
\_SB.PCI0.ISA.LNK1,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x00,
\_SB.PCI0.ISA.LNK3,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x01,
\_SB.PCI0.ISA.LNK3,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x02,
\_SB.PCI0.ISA.LNK3,
0x00
}
})
Device (ISA)
{
Name (_ADR, 0x00070000)
Mutex (PSMX, 0x00)
OperationRegion (PUSB, PCI_Config, 0x74, 0x01)
Field (PUSB, ByteAcc, NoLock, Preserve)
{
PIR8, 4,
Offset (0x01)
}
OperationRegion (PIRX, PCI_Config, 0x48, 0x04)
Field (PIRX, ByteAcc, NoLock, Preserve)
{
PIR0, 4,
PIR1, 4,
PIR2, 4,
PIR3, 4,
PIR4, 4,
PIR5, 4,
PIR6, 4,
PIR7, 4
}
Name (IPRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {3,4,5,6,7,10,11,12}
})
Name (IXLT, Package (0x10)
{
0x00,
0x0200,
0x08,
0x0400,
0x10,
0x20,
0x80,
0x40,
0x02,
0x0800,
0x00,
0x1000,
0x00,
0x4000,
0x00,
0x8000
})
Device (LNK0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
If (PIR0)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {5,6}
})
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR0)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR0, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR0)
}
}
Device (LNK1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
If (PIR1)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {8,10}
})
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR1)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR1, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR1)
}
}
Device (LNK2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
If (PIR2)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {10,12}
})
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR2)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR2, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR2)
}
}
Device (LNK3)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
If (PIR3)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {6,7,11,13}
})
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR3)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR3, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR3)
}
}
Device (LNK4)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
If (PIR4)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR4)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR4, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR4)
}
}
Device (LNK5)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_STA, 0, NotSerialized)
{
If (PIR5)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR5)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR5, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR5)
}
}
Device (LNK6)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
If (PIR6)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (IPRS)
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR6)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR6, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR6)
}
}
Device (LNK7)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
If (PIR7)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {5}
})
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR7)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR7, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR7)
}
}
Device (LNK8)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x09)
Method (_STA, 0, NotSerialized)
{
If (PIR8)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {5}
})
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIR8)
}
Method (_CRS, 0, NotSerialized)
{
Store (IPRS, Local0)
CreateWordField (Local0, 0x01, IRA0)
Store (PIR8, Local1)
Store (DerefOf (Index (IXLT, Local1)), IRA0)
Return (Local0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IRA0)
Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIR8)
}
}
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x10)
IO (Decode16, 0x0081, 0x0081, 0x01, 0x0F)
IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20)
DMA (Compatibility, NotBusMaster, Transfer8_16) {4}
})
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
IRQ (Edge, ActiveHigh, Exclusive) {2}
})
}
Device (TIME)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
IRQ (Edge, ActiveHigh, Exclusive) {0}
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0070, 0x0070, 0x01, 0x02)
IRQ (Edge, ActiveHigh, Exclusive) {8}
})
}
Device (MATH)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x0F)
IRQ (Edge, ActiveHigh, Exclusive) {13}
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
})
}
Device (KBC0)
{
Name (_HID, EisaId ("PNP0303"))
Name (_PRW, Package (0x02)
{
0x01,
0x03
})
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
IRQ (Edge, ActiveHigh, Exclusive) {1}
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
If (\_SB.PCI0.ISA.EC.ECOK)
{
Store (0x01, \_SB.PCI0.ISA.EC.Z000)
}
}
Else
{
If (\_SB.PCI0.ISA.EC.ECOK)
{
Store (0x00, \_SB.PCI0.ISA.EC.Z000)
}
}
}
}
Device (MSE0)
{
Name (_HID, "*SYN0100")
Name (_CID, Package (0x02)
{
0x02002E4F,
0x130FD041
})
Name (_PRW, Package (0x02)
{
0x01,
0x03
})
Name (_CRS, ResourceTemplate ()
{
IRQ (Edge, ActiveHigh, Exclusive) {12}
})
Method (_PSW, 1, NotSerialized)
{
If (Arg0)
{
If (\_SB.PCI0.ISA.EC.ECOK)
{
Store (0x01, \_SB.PCI0.ISA.EC.TME0)
}
}
Else
{
If (\_SB.PCI0.ISA.EC.ECOK)
{
Store (0x00, \_SB.PCI0.ISA.EC.TME0)
}
}
}
}
Device (SYSR)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0080, 0x0080, 0x01, 0x01)
IO (Decode16, 0x00B1, 0x00B1, 0x01, 0x03)
IO (Decode16, 0x0092, 0x0092, 0x01, 0x01)
IO (Decode16, 0x040B, 0x040B, 0x01, 0x01)
IO (Decode16, 0x0480, 0x0480, 0x01, 0x10)
IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
IO (Decode16, 0x04D6, 0x04D6, 0x01, 0x01)
IO (Decode16, 0x8000, 0x8000, 0x01, 0x80)
IO (Decode16, 0xF500, 0xF500, 0x01, 0x04)
IO (Decode16, 0xF510, 0xF510, 0x01, 0x04)
})
}
Device (MEM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (MSRC, ResourceTemplate ()
{
Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
Memory32Fixed (ReadOnly, 0x000DC000, 0x00004000)
Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000)
Memory32Fixed (ReadWrite, 0x00100000, 0x07F00000)
Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (MSRC, 0x2C, EMLN)
Subtract (\_SB.PCI0.TOM (), 0x00100000, EMLN)
Return (MSRC)
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
OperationRegion (SMI0, SystemIO, 0x0000F500, 0x00000002)
Field (SMI0, AnyAcc, NoLock, Preserve)
{
SMIC, 8
}
OperationRegion (SMI1, SystemMemory, 0x1DF7FD4D, 0x00000200)
Field (SMI1, AnyAcc, NoLock, Preserve)
{
BCMD, 8,
DID, 32,
INFO, 1024
}
Field (SMI1, AnyAcc, NoLock, Preserve)
{
AccessAs (ByteAcc, 0x00),
Offset (0x05),
INF, 8
}
Device (SIO)
{
Name (_HID, EisaId ("PNP0A05"))
Device (LPT)
{
Name (MCD, 0x14)
Name (_HID, EisaId ("PNP0400"))
Name (_UID, 0x01)
Method (_CRS, 0, NotSerialized)
{
If (And (_STA (), 0x02))
{
Acquire (PSMX, 0xFFFF)
Store (0x00, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Return (RSRC)
}
Method (B_SR, 1, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x01, BCMD)
Store (MCD, DID)
Store (Arg0, INFO)
Store (Zero, SMIC)
Release (PSMX)
}
Method (B_PR, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x02, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Method (B_DI, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x03, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_STA, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x04, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INF, Local0)
Release (PSMX)
Return (Local0)
}
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0100, 0x0100, 0x01, 0x08)
IRQNoFlags () {}
})
}
Device (LPTB)
{
Name (MCD, 0x15)
Name (_HID, EisaId ("PNP0400"))
Name (_UID, 0x02)
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0100, 0x0100, 0x01, 0x08)
IRQNoFlags () {}
})
Method (_CRS, 0, NotSerialized)
{
If (And (_STA (), 0x02))
{
Acquire (PSMX, 0xFFFF)
Store (0x00, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Return (RSRC)
}
Method (B_SR, 1, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x01, BCMD)
Store (MCD, DID)
Store (Arg0, INFO)
Store (Zero, SMIC)
Release (PSMX)
}
Method (B_PR, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x02, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Method (B_DI, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x03, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_STA, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x04, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INF, Local0)
Release (PSMX)
Return (Local0)
}
}
Device (ECP)
{
Name (MCD, 0x16)
Name (_HID, EisaId ("PNP0401"))
Name (_UID, 0x01)
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0100, 0x0100, 0x01, 0x08)
IRQNoFlags () {}
DMA (Compatibility, NotBusMaster, Transfer8) {}
})
Method (_CRS, 0, NotSerialized)
{
If (And (_STA (), 0x02))
{
Acquire (PSMX, 0xFFFF)
Store (0x00, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x01, BCMD)
Store (MCD, DID)
Store (Arg0, INFO)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_PRS, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x02, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x03, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_STA, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x04, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INF, Local0)
Release (PSMX)
Return (Local0)
}
}
Device (EPP)
{
Name (MCD, 0x17)
Name (_HID, EisaId ("PNP0400"))
Name (_UID, 0x03)
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0100, 0x0100, 0x01, 0x08)
IRQNoFlags () {}
})
Method (_CRS, 0, NotSerialized)
{
If (And (_STA (), 0x02))
{
Acquire (PSMX, 0xFFFF)
Store (0x00, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Return (RSRC)
}
Method (B_SR, 1, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x01, BCMD)
Store (MCD, DID)
Store (Arg0, INFO)
Store (Zero, SMIC)
Release (PSMX)
}
Method (B_PR, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x02, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Method (B_DI, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x03, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_STA, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x04, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INF, Local0)
Release (PSMX)
Return (Local0)
}
}
Device (COMA)
{
Name (MCD, 0x0F)
Name (_HID, EisaId ("PNP0500"))
Name (_UID, 0x01)
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0100, 0x0100, 0x01, 0x08)
IRQNoFlags () {}
})
Method (_CRS, 0, NotSerialized)
{
If (And (_STA (), 0x02))
{
Acquire (PSMX, 0xFFFF)
Store (0x00, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x01, BCMD)
Store (MCD, DID)
Store (Arg0, INFO)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_PRS, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x02, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x03, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_STA, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x04, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INF, Local0)
Release (PSMX)
Return (Local0)
}
}
Device (IRDA)
{
Name (MCD, 0x11)
Name (_HID, EisaId ("PNP0510"))
Name (_UID, 0x01)
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0100, 0x0100, 0x01, 0x08)
IRQNoFlags () {}
})
Method (_CRS, 0, NotSerialized)
{
If (And (_STA (), 0x02))
{
Acquire (PSMX, 0xFFFF)
Store (0x00, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Return (RSRC)
}
Method (B_SR, 1, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x01, BCMD)
Store (MCD, DID)
Store (Arg0, INFO)
Store (Zero, SMIC)
Release (PSMX)
}
Method (B_PR, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x02, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Method (B_DI, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x03, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_STA, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x04, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INF, Local0)
Release (PSMX)
Return (Local0)
}
}
Device (BASK)
{
Name (MCD, 0x12)
Name (_HID, EisaId ("PNP0510"))
Name (_UID, 0x02)
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0100, 0x0100, 0x01, 0x08)
IRQNoFlags () {}
})
Method (_CRS, 0, NotSerialized)
{
If (And (_STA (), 0x02))
{
Acquire (PSMX, 0xFFFF)
Store (0x00, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Return (RSRC)
}
Method (B_SR, 1, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x01, BCMD)
Store (MCD, DID)
Store (Arg0, INFO)
Store (Zero, SMIC)
Release (PSMX)
}
Method (B_PR, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x02, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Method (B_DI, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x03, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_STA, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x04, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INF, Local0)
Release (PSMX)
Return (Local0)
}
}
Device (FIR)
{
Name (MCD, 0x13)
Name (_HID, EisaId ("ALI5123"))
Name (_CID, 0x1005D041)
Name (_UID, 0x03)
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0100, 0x0100, 0x01, 0x08)
IRQNoFlags () {}
DMA (Compatibility, NotBusMaster, Transfer8) {}
})
Method (_CRS, 0, NotSerialized)
{
If (And (_STA (), 0x02))
{
Acquire (PSMX, 0xFFFF)
Store (0x00, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x01, BCMD)
Store (MCD, DID)
Store (Arg0, INFO)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_PRS, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x02, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x03, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_STA, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x04, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INF, Local0)
Release (PSMX)
Return (Local0)
}
}
Device (FDC)
{
Name (MCD, 0x0E)
Name (_HID, EisaId ("PNP0700"))
Name (RSRC, ResourceTemplate ()
{
IO (Decode16, 0x0100, 0x0100, 0x01, 0x06)
IO (Decode16, 0x0107, 0x0107, 0x01, 0x01)
IRQNoFlags () {}
DMA (Compatibility, NotBusMaster, Transfer8) {}
})
Method (_CRS, 0, NotSerialized)
{
If (And (_STA (), 0x02))
{
Acquire (PSMX, 0xFFFF)
Store (0x00, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Return (RSRC)
}
Method (_SRS, 1, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x01, BCMD)
Store (MCD, DID)
Store (Arg0, INFO)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_PRS, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x02, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INFO, Local0)
Release (PSMX)
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x03, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Release (PSMX)
}
Method (_STA, 0, NotSerialized)
{
Acquire (PSMX, 0xFFFF)
Store (0x04, BCMD)
Store (MCD, DID)
Store (Zero, SMIC)
Store (INF, Local0)
Release (PSMX)
Return (Local0)
}
}
}
Device (EC)
{
Name (_HID, EisaId ("PNP0C09"))
Name (_GPE, 0x18)
Name (ECOK, 0x00)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, ECOK)
Store (Arg1, \_SB.PCI0.ECOK)
}
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0062, 0x0062, 0x01, 0x01)
IO (Decode16, 0x0066, 0x0066, 0x01, 0x01)
})
OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF)
Field (ERAM, ByteAcc, NoLock, Preserve)
{
Offset (0x04),
CMCM, 8,
CMD1, 8,
CMD2, 8,
CMD3, 8
}
Field (ERAM, AnyAcc, NoLock, Preserve)
{
Offset (0x80),
NMSG, 8,
SLED, 4,
SLPT, 4,
MODE, 1,
Z000, 1,
ACPI, 1,
PWBN, 1,
TME0, 1,
TME1, 1,
FANC, 1,
DETF, 1,
LIDS, 1,
LWKE, 1,
IWKE, 1,
INTM, 1,
MWKE, 1,
COMM, 1,
PME, 1,
Offset (0x84),
ADP, 1,
AFLT, 1,
BATP, 1,
, 1,
BATL, 1,
BATC, 1,
Offset (0x85),
BPU, 32,
BDC, 32,
BFC, 32,
BTC, 32,
BDV, 32,
BST, 32,
BPR, 32,
BRC, 32,
BPV, 32,
BTP, 32,
BCW, 32,
BCL, 32,
BCG, 32,
BG2, 32,
BMO, 32,
BIF, 64,
BSN0, 32,
BSN1, 32,
BTY0, 8,
BTY1, 8,
BTY2, 8,
BTY3, 8,
AC0, 16,
PSV, 16,
CRT, 16,
TMP1, 8,
TMP2, 8,
NABT, 8,
CCBQ, 16,
CCBT, 16,
Offset (0xF1),
CPID, 8,
CPSP, 8
}
Mutex (MTX0, 0x00)
Mutex (MTX1, 0x00)
Method (_Q0B, 0, NotSerialized)
{
Notify (\_SB.SLPB, 0x80)
}
Method (_Q06, 0, NotSerialized)
{
Store (0x8C, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Store ("AC Adapter In/Out", Debug)
Store (\_SB.PCI0.ADP, Local0)
If (ADP)
{
Notify (\_SB.AC, 0x00)
Store (0x88, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
Else
{
Notify (\_SB.AC, 0x01)
Store (0x89, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
Notify (\_TZ.TZ0, 0x81)
}
Method (_Q08, 0, NotSerialized)
{
Store (0x8C, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Store ("Battery In/Out", Debug)
\_SB.BAT0.Z001 ()
}
Method (_Q09, 0, NotSerialized)
{
Store ("Battery charge/discharge", Debug)
\_SB.BAT0.UBST ()
Notify (\_SB.BAT0, 0x80)
}
Method (_Q03, 0, NotSerialized)
{
Store ("Low Batt 1", Debug)
Notify (\_SB.BAT0, 0x80)
}
Method (_Q04, 0, NotSerialized)
{
Store ("Low Batt 2", Debug)
Notify (\_SB.BAT0, 0x80)
}
Method (_Q0A, 0, NotSerialized)
{
If (\_SB.PCI0.ISA.EC.ECOK)
{
If (\_SB.PCI0.ISA.EC.LIDS)
{
Store (0x92, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
Else
{
Store (0x93, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
}
Store ("Lid runtime event", Debug)
Notify (\_SB.LID, 0x80)
}
Method (_Q07, 0, NotSerialized)
{
Store ("Thermal status change event", Debug)
Notify (\_TZ.TZ0, 0x80)
}
Method (_Q10, 0, NotSerialized)
{
Store ("_Q10 Enevt", Debug)
Store (Zero, Local1)
Store (0x94, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Store (0x54, \_SB.PCI0.AGP.VGA.CMID)
Store (\_SB.PCI0.AGP.VGA.CMDA, Local1)
If (Local1)
{
If (\_SB.PCI0.AGP.VGA.OSF)
{
Store (\_SB.PCI0.AGP.VGA.TOGF, Local0)
Store (0x8A, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Store (0x52, \_SB.PCI0.AGP.VGA.CMID)
Store (\_SB.PCI0.AGP.VGA.CMDA, Local3)
Store (0x53, \_SB.PCI0.AGP.VGA.CMID)
Store (\_SB.PCI0.AGP.VGA.CMDA, Local4)
Store (One, Local5)
Store (Zero, Local6)
If (Local3)
{
Add (Local5, 0x02, Local5)
}
If (Local4)
{
Add (Local5, 0x04, Local5)
}
If (LGreater (Local0, 0x06))
{
Store (Zero, \_SB.PCI0.AGP.VGA.TOGF)
Store (Zero, Local0)
}
Increment (Local0)
And (Local5, Local0, Local6)
If (LEqual (Local6, Local0))
{
Store (Zero, Local3)
}
Else
{
Store (One, Local3)
}
While (Local3)
{
Increment (Local0)
And (Local5, Local0, Local6)
If (LEqual (Local6, Local0))
{
Store (Zero, Local3)
}
Else
{
Store (One, Local3)
}
If (LGreater (Local0, 0x06))
{
Store (Zero, Local0)
}
}
Store (Local0, \_SB.PCI0.AGP.VGA.TOGF)
If (LEqual (Local6, 0x01))
{
Store (One, \_SB.PCI0.AGP.VGA.LCDA)
Store (Zero, \_SB.PCI0.AGP.VGA.CRTA)
Store (Zero, \_SB.PCI0.AGP.VGA.TVOA)
}
If (LEqual (Local6, 0x02))
{
Store (Zero, \_SB.PCI0.AGP.VGA.LCDA)
Store (One, \_SB.PCI0.AGP.VGA.CRTA)
Store (Zero, \_SB.PCI0.AGP.VGA.TVOA)
}
If (LEqual (Local6, 0x03))
{
Store (One, \_SB.PCI0.AGP.VGA.LCDA)
Store (One, \_SB.PCI0.AGP.VGA.CRTA)
Store (Zero, \_SB.PCI0.AGP.VGA.TVOA)
}
If (LEqual (Local6, 0x04))
{
Store (Zero, \_SB.PCI0.AGP.VGA.LCDA)
Store (Zero, \_SB.PCI0.AGP.VGA.CRTA)
Store (One, \_SB.PCI0.AGP.VGA.TVOA)
}
If (LEqual (Local6, 0x05))
{
Store (One, \_SB.PCI0.AGP.VGA.LCDA)
Store (Zero, \_SB.PCI0.AGP.VGA.CRTA)
Store (One, \_SB.PCI0.AGP.VGA.TVOA)
}
If (LEqual (Local6, 0x06))
{
Store (Zero, \_SB.PCI0.AGP.VGA.LCDA)
Store (One, \_SB.PCI0.AGP.VGA.CRTA)
Store (One, \_SB.PCI0.AGP.VGA.TVOA)
}
If (LEqual (Local6, 0x07))
{
Store (One, \_SB.PCI0.AGP.VGA.LCDA)
Store (One, \_SB.PCI0.AGP.VGA.CRTA)
Store (One, \_SB.PCI0.AGP.VGA.TVOA)
}
If (\_SB.PCI0.AGP.VGA.OSF)
{
Notify (\_SB.PCI0.AGP.VGA, 0x80)
}
Else
{
Store (0x8E, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
}
Else
{
Store (0x8E, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Notify (\_SB.PCI0.AGP.VGA, 0x80)
}
}
}
Method (_Q12, 0, NotSerialized)
{
Store (0x95, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
Method (_Q13, 0, NotSerialized)
{
Store (0x96, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
Method (_Q17, 0, NotSerialized)
{
Store ("Thermal status change event", Debug)
Notify (\_TZ.TZ1, 0x80)
}
Method (_Q18, 0, NotSerialized)
{
Store (0x8A, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Store (0x52, \_SB.PCI0.AGP.VGA.CMID)
Store (\_SB.PCI0.AGP.VGA.CMDA, Local3)
If (Local3)
{
Store (Zero, \_SB.PCI0.AGP.VGA.LCDA)
Store (One, \_SB.PCI0.AGP.VGA.CRTA)
Store (Zero, \_SB.PCI0.AGP.VGA.TVOA)
}
Else
{
Store (One, \_SB.PCI0.AGP.VGA.LCDA)
Store (Zero, \_SB.PCI0.AGP.VGA.CRTA)
Store (Zero, \_SB.PCI0.AGP.VGA.TVOA)
}
Notify (\_SB.PCI0.AGP.VGA, 0x80)
}
Method (_Q19, 0, NotSerialized)
{
Store (One, \_SB.PCI0.AGP.VGA.LCDA)
Store (Zero, \_SB.PCI0.AGP.VGA.CRTA)
Store (Zero, \_SB.PCI0.AGP.VGA.TVOA)
Notify (\_SB.PCI0.AGP.VGA, 0x80)
}
Method (_Q1A, 0, NotSerialized)
{
Store (0x9B, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
Method (_Q1B, 0, NotSerialized)
{
Store (0x9C, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
}
}
}
Device (IDE)
{
Name (_ADR, 0x00100000)
Name (UDMT, Package (0x08)
{
0x1E,
0x2D,
0x3C,
0x5A,
0x78,
0x78,
0x78,
0x14
})
Name (PIOT, Package (0x05)
{
0x78,
0xB4,
0xF0,
0x017F,
0x0258
})
Name (PIOC, Package (0x05)
{
0x04,
0x06,
0x08,
0x0D,
0x10
})
Name (CBCT, Package (0x05)
{
0x31,
0x33,
0x01,
0x03,
0x0A
})
Name (DACT, Package (0x05)
{
0x03,
0x03,
0x04,
0x05,
0x08
})
Name (DRCT, Package (0x05)
{
0x01,
0x03,
0x04,
0x08,
0x08
})
Name (PXLM, Package (0x05)
{
0x02,
0x01,
0x00,
0x00,
0x00
})
OperationRegion (PCI, PCI_Config, 0x00, 0x60)
Field (PCI, ByteAcc, NoLock, Preserve)
{
Offset (0x09),
, 4,
SCHE, 1,
PCHE, 1,
Offset (0x0A),
Offset (0x0D),
IDLT, 8,
Offset (0x4B),
U66E, 1,
Offset (0x4C),
Offset (0x53),
CDFI, 1,
CDUD, 1,
Offset (0x54),
PFTH, 8,
SFTH, 8,
PUDC, 8,
SUDC, 8,
PAST, 8,
PCBT, 8,
PTM0, 8,
PTM1, 8,
SAST, 8,
SCBT, 8,
STM0, 8,
STM1, 8
}
Method (GTM, 3, NotSerialized)
{
Store (Buffer (0x14) {}, Local0)
CreateDWordField (Local0, 0x00, PIO0)
CreateDWordField (Local0, 0x04, DMA0)
CreateDWordField (Local0, 0x08, PIO1)
CreateDWordField (Local0, 0x0C, DMA1)
CreateDWordField (Local0, 0x10, FLAG)
Store (Zero, PIO0)
Store (Zero, DMA0)
Store (Zero, PIO1)
Store (Zero, DMA1)
Store (Zero, FLAG)
If (Arg0)
{
ShiftRight (And (Arg0, 0x70), 0x04, Local1)
If (LEqual (Local1, Zero))
{
Store (0x08, Local1)
}
Add (And (Arg0, 0x0F, Local2), Local1, Local1)
Store (Match (^PIOC, MLE, Local1, MTR, 0x00, 0x00), Local2)
Store (DerefOf (Index (^PIOT, Local2)), PIO0)
If (LNot (LGreater (PIO0, 0xF0)))
{
Or (FLAG, 0x02, FLAG)
}
}
If (And (Arg2, 0x08))
{
Store (DerefOf (Index (^UDMT, And (Arg2, 0x07))), DMA0)
Or (FLAG, 0x01, FLAG)
}
Else
{
Store (PIO0, DMA0)
}
If (Arg1)
{
ShiftRight (And (Arg1, 0x70), 0x04, Local1)
If (LEqual (Local1, Zero))
{
Store (0x08, Local1)
}
Add (And (Arg1, 0x0F, Local2), Local1, Local1)
Store (Match (^PIOC, MLE, Local1, MTR, 0x00, 0x00), Local2)
Store (DerefOf (Index (^PIOT, Local2)), PIO1)
If (LNot (LGreater (PIO1, 0xF0)))
{
Or (FLAG, 0x08, FLAG)
}
}
If (And (Arg2, 0x80))
{
Store (DerefOf (Index (^UDMT, ShiftRight (And (Arg2, 0x70), 0x04))), DMA1)
Or (FLAG, 0x04, FLAG)
}
Else
{
Store (PIO1, DMA1)
}
Or (FLAG, 0x10, FLAG)
Return (Local0)
}
Method (STM, 3, NotSerialized)
{
Store (Buffer (0x06)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}, Local7)
CreateByteField (Local7, 0x00, TM0)
CreateByteField (Local7, 0x01, TM1)
CreateByteField (Local7, 0x02, UDC)
CreateByteField (Local7, 0x03, AST)
CreateByteField (Local7, 0x04, CBT)
CreateByteField (Local7, 0x05, U66)
CreateDWordField (Arg0, 0x00, PIO0)
CreateDWordField (Arg0, 0x04, DMA0)
CreateDWordField (Arg0, 0x08, PIO1)
CreateDWordField (Arg0, 0x0C, DMA1)
CreateDWordField (Arg0, 0x10, FLAG)
Store (FLAG, Local6)
Store (Ones, Local4)
If (LOr (DMA0, PIO0))
{
If (LAnd (DMA0, LNot (PIO0)))
{
If (And (Local6, 0x01))
{
If (LAnd (LLess (DMA0, 0x1E), LNot (LLess (DMA0, 0x0F))))
{
Store (0x07, Local0)
}
Else
{
Store (Match (^UDMT, MGE, DMA0, MTR, 0x00, 0x00), Local0)
}
Or (Local0, 0x08, UDC)
If (LLess (DMA0, 0x3C))
{
Store (One, U66)
}
}
Store (Match (^PIOT, MGE, DMA0, MTR, 0x00, 0x00), Local0)
Store (DerefOf (Index (^DACT, Local0)), Local2)
Store (DerefOf (Index (^DRCT, Local0)), Local3)
Add (Local3, ShiftLeft (Local2, 0x04), TM0)
Store (Local0, Local4)
}
If (LAnd (LNot (DMA0), PIO0))
{
Store (Match (^PIOT, MGE, PIO0, MTR, 0x00, 0x00), Local0)
Store (DerefOf (Index (^DACT, Local0)), Local2)
Store (DerefOf (Index (^DRCT, Local0)), Local3)
Add (Local3, ShiftLeft (Local2, 0x04), TM0)
Store (Local0, Local4)
}
If (LAnd (DMA0, PIO0))
{
If (And (Local6, 0x01))
{
If (LAnd (LLess (DMA0, 0x1E), LNot (LLess (DMA0, 0x0F))))
{
Store (0x07, Local0)
}
Else
{
Store (Match (^UDMT, MGE, DMA0, MTR, 0x00, 0x00), Local0)
}
Or (Local0, 0x08, UDC)
If (LLess (DMA0, 0x3C))
{
Store (One, U66)
}
}
If (LNot (LLess (PIO0, DMA0)))
{
Store (Match (^PIOT, MGE, PIO0, MTR, 0x00, 0x00), Local0)
Store (Local0, Local4)
}
Else
{
Store (Match (^PIOT, MGE, DMA0, MTR, 0x00, 0x00), Local0)
Store (Local0, Local4)
}
Store (DerefOf (Index (^DACT, Local0)), Local2)
Store (DerefOf (Index (^DRCT, Local0)), Local3)
Add (Local3, ShiftLeft (Local2, 0x04), TM0)
}
}
Store (Ones, Local5)
If (LOr (DMA1, PIO1))
{
If (LAnd (DMA1, LNot (PIO1)))
{
If (And (Local6, 0x04))
{
If (LAnd (LLess (DMA1, 0x1E), LNot (LLess (DMA1, 0x0F))))
{
Store (0x07, Local0)
}
Else
{
Store (Match (^UDMT, MGE, DMA1, MTR, 0x00, 0x00), Local0)
}
Or (ShiftLeft (Or (Local0, 0x08), 0x04), UDC, UDC)
If (LLess (DMA1, 0x3C))
{
Store (One, U66)
}
}
Store (Match (^PIOT, MGE, DMA1, MTR, 0x00, 0x00), Local0)
Store (DerefOf (Index (^DACT, Local0)), Local2)
Store (DerefOf (Index (^DRCT, Local0)), Local3)
Add (Local3, ShiftLeft (Local2, 0x04), TM1)
Store (Local0, Local5)
}
If (LAnd (LNot (DMA1), PIO1))
{
Store (Match (^PIOT, MGE, PIO1, MTR, 0x00, 0x00), Local0)
Store (DerefOf (Index (^DACT, Local0)), Local2)
Store (DerefOf (Index (^DRCT, Local0)), Local3)
Add (Local3, ShiftLeft (Local2, 0x04), TM1)
Store (Local0, Local5)
}
If (LAnd (DMA1, PIO1))
{
If (And (Local6, 0x04))
{
If (LAnd (LLess (DMA1, 0x1E), LNot (LLess (DMA1, 0x0F))))
{
Store (0x07, Local0)
}
Else
{
Store (Match (^UDMT, MGE, DMA1, MTR, 0x00, 0x00), Local0)
}
Or (ShiftLeft (Or (Local0, 0x08), 0x04), UDC, UDC)
If (LLess (DMA1, 0x3C))
{
Store (One, U66)
}
}
If (LNot (LLess (PIO1, DMA1)))
{
Store (Match (^PIOT, MGE, PIO1, MTR, 0x00, 0x00), Local0)
Store (Local0, Local5)
}
Else
{
Store (Match (^PIOT, MGE, DMA1, MTR, 0x00, 0x00), Local0)
Store (Local0, Local5)
}
Store (DerefOf (Index (^DACT, Local0)), Local2)
Store (DerefOf (Index (^DRCT, Local0)), Local3)
Add (Local3, ShiftLeft (Local2, 0x04), TM1)
}
}
If (LEqual (Local4, Ones))
{
If (LEqual (Local5, Ones))
{
Store (Zero, CBT)
}
Else
{
Store (DerefOf (Index (^CBCT, Local5)), CBT)
}
}
Else
{
If (LEqual (Local5, Ones))
{
Store (DerefOf (Index (^CBCT, Local4)), CBT)
}
Else
{
If (LNot (LLess (Local4, Local5)))
{
Store (DerefOf (Index (^CBCT, Local4)), CBT)
}
Else
{
Store (DerefOf (Index (^CBCT, Local5)), CBT)
}
}
}
Store (0x02, AST)
Return (Local7)
}
Method (GTF0, 3, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local7)
CreateByteField (Local7, 0x01, MODE)
If (And (Arg1, 0x08))
{
And (Arg1, 0x07, Local0)
If (LEqual (Local0, 0x07))
{
Store (0x05, MODE)
}
Else
{
Subtract (0x04, Local0, MODE)
}
Or (MODE, 0x40, MODE)
}
Else
{
And (Arg2, 0x0F, Local0)
Store (Match (^DRCT, MEQ, Local0, MTR, 0x00, 0x00), Local1)
Store (DerefOf (Index (^PXLM, Local1)), MODE)
Or (MODE, 0x20, MODE)
}
Concatenate (Local7, Local7, Local6)
And (Arg2, 0x0F, Local0)
Store (Match (^DRCT, MEQ, Local0, MTR, 0x00, 0x00), Local1)
Subtract (0x04, Local1, MODE)
Or (MODE, 0x08, MODE)
Concatenate (Local6, Local7, Local5)
Return (Local5)
}
Method (GTF1, 3, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
}, Local7)
CreateByteField (Local7, 0x01, MODE)
If (And (Arg1, 0x80))
{
ShiftRight (And (Arg1, 0x70), 0x04, Local0)
If (LEqual (Local0, 0x07))
{
Store (0x05, MODE)
}
Else
{
Subtract (0x04, Local0, MODE)
}
Or (MODE, 0x40, MODE)
}
Else
{
And (Arg2, 0x0F, Local0)
Store (Match (^DRCT, MEQ, Local0, MTR, 0x00, 0x00), Local1)
Store (DerefOf (Index (^PXLM, Local1)), MODE)
Or (MODE, 0x20, MODE)
}
Concatenate (Local7, Local7, Local6)
And (Arg2, 0x0F, Local0)
Store (Match (^DRCT, MEQ, Local0, MTR, 0x00, 0x00), Local1)
Subtract (0x04, Local1, MODE)
Or (MODE, 0x08, MODE)
Concatenate (Local6, Local7, Local5)
Return (Local5)
}
Device (PRIM)
{
Name (_ADR, 0x00)
Method (_GTM, 0, NotSerialized)
{
Store ("GTM - Primary Controller", Debug)
Store (^^GTM (^^PTM0, ^^PTM1, ^^PUDC), Local0)
Return (Local0)
}
Method (_STM, 3, NotSerialized)
{
Store ("STM - Primary Controller", Debug)
Store (^^STM (Arg0, Arg1, Arg2), Local0)
CreateByteField (Local0, 0x00, TM0)
CreateByteField (Local0, 0x01, TM1)
CreateByteField (Local0, 0x02, UDC)
CreateByteField (Local0, 0x03, AST)
CreateByteField (Local0, 0x04, CBT)
CreateByteField (Local0, 0x05, U66)
Store (TM0, ^^PTM0)
Store (TM1, ^^PTM1)
Store (UDC, ^^PUDC)
Store (AST, ^^PAST)
Store (CBT, ^^PCBT)
If (U66)
{
Store (U66, ^^U66E)
}
Store (0x55, ^^PFTH)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store ("GTF - Primary Master", Debug)
Store (^^^GTF0 (^^^PCHE, ^^^PUDC, ^^^PTM0), Local0)
Return (Local0)
}
}
Device (SLAV)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Store ("GTF - Primary Slave", Debug)
Store (^^^GTF1 (^^^PCHE, ^^^PUDC, ^^^PTM1), Local0)
Return (Local0)
}
}
}
Device (SECN)
{
Name (_ADR, 0x01)
Method (_GTM, 0, NotSerialized)
{
Store ("GTM - Secondary Controller", Debug)
Store (^^GTM (^^STM0, ^^STM1, ^^SUDC), Local0)
Return (Local0)
}
Method (_STM, 3, NotSerialized)
{
Store ("STM - Secondary Controller", Debug)
Store (^^STM (Arg0, Arg1, Arg2), Local0)
CreateByteField (Local0, 0x00, TM0)
CreateByteField (Local0, 0x01, TM1)
CreateByteField (Local0, 0x02, UDC)
CreateByteField (Local0, 0x03, AST)
CreateByteField (Local0, 0x04, CBT)
CreateByteField (Local0, 0x05, U66)
Store (TM0, ^^STM0)
Store (TM1, ^^STM1)
Store (UDC, ^^SUDC)
Store (AST, ^^SAST)
Store (CBT, ^^SCBT)
If (U66)
{
Store (U66, ^^U66E)
}
Store (0x55, ^^SFTH)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store ("GTF - Secondary Master", Debug)
Store (^^^GTF0 (^^^SCHE, ^^^SUDC, ^^^STM0), Local0)
Return (Local0)
}
}
Device (SLAV)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Store ("GTF - Secondary Slave", Debug)
Store (^^^GTF1 (^^^SCHE, ^^^SUDC, ^^^STM1), Local0)
Return (Local0)
}
}
}
}
Device (AGP)
{
Name (_ADR, 0x00010000)
Name (_PRT, Package (0x01)
{
Package (0x04)
{
0x0005FFFF,
0x00,
\_SB.PCI0.ISA.LNK0,
0x00
}
})
Device (VGA)
{
Name (_ADR, 0x00050000)
Name (SWIT, 0x01)
Name (CRTA, 0x01)
Name (LCDA, 0x01)
Name (TVOA, 0x01)
Name (TOGF, 0x01)
Name (OSF, 0x00)
OperationRegion (CMS1, SystemIO, 0x70, 0x02)
Field (CMS1, ByteAcc, NoLock, Preserve)
{
CMID, 8,
CMDA, 8
}
Method (_INI, 0, NotSerialized)
{
If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero))
{
Store (One, OSF)
}
If (LEqual (SizeOf (\_OS), 0x14))
{
Store (One, OSF)
}
}
Method (_DOS, 1, NotSerialized)
{
Store ("VGA --_DOS", Debug)
Store (Arg0, SWIT)
}
Method (_DOD, 0, NotSerialized)
{
Store ("VGA --_DOD", Debug)
Return (Package (0x03)
{
0x00010100,
0x00010110,
0x00010200
})
}
Device (CRT)
{
Name (_ADR, 0x0100)
Method (_DCS, 0, NotSerialized)
{
Store ("CRT --_DCS", Debug)
If (CRTA)
{
Return (0x1F)
}
Else
{
Return (0x1D)
}
}
Method (_DGS, 0, NotSerialized)
{
Store ("CRT --_DGS", Debug)
Store (CRTA, Local0)
If (CRTA)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_DSS, 1, NotSerialized)
{
Store ("CRT --_DSS", Debug)
}
}
Device (LCD)
{
Name (_ADR, 0x0110)
Method (_DCS, 0, NotSerialized)
{
Store ("LCD --_DCS", Debug)
If (LCDA)
{
Return (0x1F)
}
Else
{
Return (0x1D)
}
}
Method (_DGS, 0, NotSerialized)
{
Store ("LCD --_DGS", Debug)
Store (LCDA, Local0)
If (LCDA)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_DSS, 1, NotSerialized)
{
Store ("LCD --_DSS", Debug)
}
}
Device (TVO)
{
Name (_ADR, 0x0200)
Method (_DCS, 0, NotSerialized)
{
Store ("TVO --_DCS", Debug)
If (TVOA)
{
Return (0x1F)
}
Else
{
Return (0x1D)
}
}
Method (_DGS, 0, NotSerialized)
{
Store ("TVO --_DGS", Debug)
Store (TVOA, Local0)
If (TVOA)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_DSS, 1, NotSerialized)
{
Store ("TVO --_DSS", Debug)
}
}
}
}
Method (MIN, 2, NotSerialized)
{
If (LLess (Arg0, Arg1))
{
Return (Arg0)
}
Else
{
Return (Arg1)
}
}
Method (SLEN, 1, NotSerialized)
{
Return (SizeOf (Arg0))
}
Method (S2BF, 1, Serialized)
{
Add (SLEN (Arg0), One, Local0)
Name (BUFF, Buffer (Local0) {})
Store (Arg0, BUFF)
Return (BUFF)
}
Method (SCMP, 2, NotSerialized)
{
Store (S2BF (Arg0), Local0)
Store (S2BF (Arg1), Local1)
Store (Zero, Local4)
Store (SLEN (Arg0), Local5)
Store (SLEN (Arg1), Local6)
Store (MIN (Local5, Local6), Local7)
While (LLess (Local4, Local7))
{
Store (DerefOf (Index (Local0, Local4)), Local2)
Store (DerefOf (Index (Local1, Local4)), Local3)
If (LGreater (Local2, Local3))
{
Return (One)
}
Else
{
If (LLess (Local2, Local3))
{
Return (Ones)
}
}
Increment (Local4)
}
If (LLess (Local4, Local5))
{
Return (One)
}
Else
{
If (LLess (Local4, Local6))
{
Return (Ones)
}
Else
{
Return (Zero)
}
}
}
Device (CRD0)
{
Name (_ADR, 0x000A0000)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
}
Device (NICD)
{
Name (_ADR, 0x000B0000)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
}
Device (USB0)
{
Name (_ADR, 0x00130000)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Name (_S3D, 0x03)
}
Device (USB1)
{
Name (_ADR, 0x00130001)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Name (_S3D, 0x03)
}
Device (USB2)
{
Name (_ADR, 0x00130002)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Name (_S3D, 0x03)
}
Device (MODM)
{
Name (_ADR, 0x000C0000)
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
}
}
Device (AC)
{
Name (_HID, "ACPI0003")
Name (_PCL, Package (0x01)
{
\_SB
})
Name (ACP, 0x00)
Method (_STA, 0, NotSerialized)
{
Store ("---------------------------- AC _STA", Debug)
Return (0x0F)
}
Method (_PSR, 0, NotSerialized)
{
Store ("---------------------------- AC _PSR", Debug)
Store (ACP, Local0)
Store (0x8C, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Store (\_SB.PCI0.ADP, Local0)
If (LNot (LEqual (Local0, ACP)))
{
FLPA ()
}
If (Local0)
{
Store ("---------------------------- AC on line", Debug)
}
Else
{
Store ("---------------------------- AC off line", Debug)
}
Return (Local0)
}
Method (CHAC, 0, NotSerialized)
{
Store ("---------------------------- AC _CHAC", Debug)
If (\_SB.PCI0.ISA.EC.ECOK)
{
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (\_SB.PCI0.ISA.EC.ADP, Local0)
Release (\_SB.PCI0.ISA.EC.MTX0)
If (LNot (LEqual (Local0, ACP)))
{
FLPA ()
}
}
}
Method (FLPA, 0, NotSerialized)
{
Store ("---------------------------- AC _FLPA", Debug)
If (ACP)
{
Store (0x00, ACP)
}
Else
{
Store (0x01, ACP)
}
Notify (\_SB.AC, 0x00)
}
}
Device (BAT0)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_UID, 0x01)
Name (_PCL, Package (0x01)
{
\_SB
})
Name (BIFB, Package (0x0D)
{
0x01,
0x0514,
0x0514,
0x01,
0x2A30,
0x0138,
0x9C,
0x0D,
0x0D,
"CA54200",
"1",
" ",
" COMPAQ "
})
Name (BSTB, Package (0x04)
{
0x00,
0xFFFFFFFF,
0xFFFFFFFF,
0x2710
})
Name (MDLS, Package (0x07)
{
"Unknown",
" 3500",
" 3800",
" 4500",
" 2600",
" 3000",
" 3200"
})
Name (CHAR, Package (0x10)
{
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"A",
"B",
"C",
"D",
"E",
"F"
})
Method (PBFE, 3, NotSerialized)
{
CreateByteField (Arg0, Arg1, TIDX)
Store (Arg2, TIDX)
}
Method (ITOS, 1, NotSerialized)
{
Store ("", Local0)
Store (0x08, Local1)
While (Local1)
{
Decrement (Local1)
And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4)
Store (DerefOf (Index (CHAR, Local4)), Local2)
Concatenate (Local0, Local2, Local5)
Store (Local5, Local0)
}
Return (Local0)
}
Method (Z002, 1, NotSerialized)
{
Store ("", Local0)
Store (0x04, Local1)
While (Local1)
{
Decrement (Local1)
And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4)
Store (DerefOf (Index (CHAR, Local4)), Local2)
Concatenate (Local0, Local2, Local5)
Store (Local5, Local0)
}
Return (Local0)
}
Method (_STA, 0, NotSerialized)
{
Store (0x8B, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Store (\_SB.PCI0.BATP, Local0)
If (Or (Local0, Local0))
{
Return (0x1F)
}
Else
{
Return (0x0F)
}
}
Method (_BIF, 0, NotSerialized)
{
Store (0x8B, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (0x00, Index (BIFB, 0x00))
Store (\_SB.PCI0.BDV, Local1)
Store (\_SB.PCI0.BDC, Local0)
Multiply (Local0, Local1, Local0)
Divide (Local0, 0x03E8, Local2, Local0)
Store (Local0, Index (BIFB, 0x01))
Store (\_SB.PCI0.BFC, Local0)
Multiply (Local0, Local1, Local0)
Divide (Local0, 0x03E8, Local2, Local0)
Store (Local0, Index (BIFB, 0x02))
Store (\_SB.PCI0.BTC, Index (BIFB, 0x03))
Store (\_SB.PCI0.BDV, Index (BIFB, 0x04))
Store (\_SB.PCI0.BCW, Local0)
Multiply (Local0, Local1, Local0)
Divide (Local0, 0x03E8, Local2, Local0)
Store (Local0, Index (BIFB, 0x05))
Store (\_SB.PCI0.BCL, Local0)
Multiply (Local0, Local1, Local0)
Divide (Local0, 0x03E8, Local2, Local0)
Store (Local0, Index (BIFB, 0x06))
Store (\_SB.PCI0.BCG, Local0)
Multiply (Local0, Local1, Local0)
Divide (Local0, 0x03E8, Local2, Local0)
Store (Local0, Index (BIFB, 0x07))
Store (\_SB.PCI0.BG2, Local0)
Multiply (Local0, Local1, Local0)
Divide (Local0, 0x03E8, Local2, Local0)
Store (Local0, Index (BIFB, 0x08))
Store (\_SB.PCI0.BMO, Local5)
Store (\_SB.PCI0.NABT, Local5)
And (Local5, 0x0F, Local5)
If (LGreater (Local5, 0x06))
{
Store (DerefOf (Index (MDLS, 0x00)), Index (BIFB, 0x09))
}
Else
{
Store ("---------------- NABT < 6 ", Debug)
Store (\_SB.PCI0.NABT, Local5)
And (Local5, 0x0F, Local5)
Store (0x00, Local1)
If (LEqual (Local5, 0x01))
{
Store (0x01, Local1)
}
If (LEqual (Local5, 0x04))
{
Store (0x01, Local1)
}
Store (\_SB.PCI0.BDC, Local0)
If (LEqual (Local1, 0x01))
{
Store ("---------------------NiMH battery, NABT =1,4 ", Debug)
If (LNot (LLess (Local0, 0x0ED8)))
{
Store (Z002 (ToBCD (Local0)), Local1)
Store (Local1, Index (BIFB, 0x09))
Store ("-------------------- DC > 3800 ", Debug)
}
Else
{
Store ("3800", Index (BIFB, 0x09))
Store ("-------------------- DC <= 3800 ", Debug)
}
Store (\_SB.PCI0.BDC, Local0)
If (LEqual (Local0, 0x11C6))
{
Store ("3800", Index (BIFB, 0x09))
Store ("-------------------- DC =4550 ", Debug)
}
}
Else
{
Store ("---------------- Li Battery ", Debug)
If (LNot (LLess (Local0, 0x0BB8)))
{
Store (Z002 (ToBCD (Local0)), Local1)
Store (Local1, Index (BIFB, 0x09))
Store ("--------------------- DC >= 3000 ", Debug)
}
Else
{
Store ("2600", Index (BIFB, 0x09))
Store ("--------------------- DC < 3000 ", Debug)
}
}
}
Store (\_SB.PCI0.BSN0, Local0)
Store (\_SB.PCI0.BSN1, Local1)
Store (\_SB.PCI0.BTY0, Local0)
Store (\_SB.PCI0.BTY1, Local1)
Store (\_SB.PCI0.BTY2, Local2)
Store (\_SB.PCI0.BTY3, Local3)
Store (Buffer (0x05) {}, Local4)
PBFE (Local4, 0x00, Local0)
PBFE (Local4, 0x01, Local1)
PBFE (Local4, 0x02, Local2)
PBFE (Local4, 0x03, Local3)
PBFE (Local4, 0x04, 0x00)
Name (Z003, "xxxxxxxx")
Store (Local4, Z003)
Store (Z003, Index (BIFB, 0x0B))
If (\_SB.PCI0.BATP)
{
Store (" COMPAQ ", Index (BIFB, 0x0C))
}
Else
{
Store (" ", Index (BIFB, 0x0C))
}
Release (\_SB.PCI0.ISA.EC.MTX0)
Return (BIFB)
}
Method (_BST, 0, NotSerialized)
{
UBST ()
Return (BSTB)
}
Name (CRIT, 0x00)
Method (UBST, 0, NotSerialized)
{
Store (0x8C, \_SB.PCI0.ISA.BCMD)
Store (Zero, \_SB.PCI0.ISA.SMIC)
Store (\_SB.PCI0.BST, Index (BSTB, 0x00))
Store (\_SB.PCI0.BPR, Local0)
Store (\_SB.PCI0.BDV, Local1)
If (LNot (LLess (Local0, 0x8000)))
{
Subtract (0x00010000, Local0, Local0)
Multiply (Local0, Local1, Local0)
Divide (Local0, 0x03E8, Local2, Local0)
Store (Local0, Index (BSTB, 0x01))
}
Else
{
Multiply (Local0, Local1, Local0)
Divide (Local0, 0x03E8, Local2, Local0)
Store (Local0, Index (BSTB, 0x01))
}
Store (\_SB.PCI0.BRC, Local0)
Multiply (Local0, Local1, Local0)
Divide (Local0, 0x03E8, Local2, Local0)
Store (Local0, Index (BSTB, 0x02))
Store (\_SB.PCI0.BPV, Index (BSTB, 0x03))
Store (DerefOf (Index (BSTB, 0x00)), Local0)
If (\_SB.PCI0.ISA.EC.ECOK)
{
Store (\_SB.PCI0.ISA.EC.BATC, Local1)
}
And (Local0, 0xFFFB, Local0)
ShiftLeft (Local1, 0x02, Local1)
Add (Local0, Local1, Local0)
Store (Local0, Index (BSTB, 0x00))
}
Method (Z001, 0, NotSerialized)
{
Acquire (\_SB.PCI0.ISA.EC.MTX1, 0xFFFF)
If (LEqual (_STA (), 0x1F))
{
UBST ()
_BIF ()
Notify (\_SB.AC, 0x00)
Notify (\_SB.BAT0, 0x00)
Notify (\_SB.BAT0, 0x80)
Notify (\_SB.BAT0, 0x81)
}
Else
{
UBST ()
Notify (\_SB.AC, 0x00)
Notify (\_SB.BAT0, 0x00)
Notify (\_SB.BAT0, 0x80)
Notify (\_SB.BAT0, 0x81)
}
\_SB.AC.FLPA ()
Release (\_SB.PCI0.ISA.EC.MTX1)
}
}
}
Scope (_TZ)
{
Name (TPL, 0x0CFA)
Name (BTPL, 0x0CBE)
Mutex (THUM, 0x00)
ThermalZone (TZ0)
{
Name (SCPI, 0x00)
Name (SCPC, 0x00)
Name (_PSL, Package (0x01)
{
\_PR.CPU0
})
Method (_CRT, 0, NotSerialized)
{
If (\_SB.PCI0.ISA.EC.ECOK)
{
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (\_SB.PCI0.ISA.EC.CPID, Local0)
Release (\_SB.PCI0.ISA.EC.MTX0)
If (Local0)
{
Return (0x0DFE)
}
Else
{
Return (0x0EC6)
}
}
Else
{
Return (0x0EC6)
}
}
Name (_TC1, 0x01)
Name (_TC2, 0x02)
Name (_TSP, 0x64)
Method (_SCP, 1, NotSerialized)
{
Store (Arg0, SCPI)
Store (0x01, SCPC)
}
Method (_TMP, 0, NotSerialized)
{
If (SCPC)
{
Acquire (\_TZ.THUM, 0xFFFF)
Notify (\_TZ.TZ0, 0x81)
Release (\_TZ.THUM)
Store (0x00, SCPC)
}
If (\_SB.PCI0.ISA.EC.ECOK)
{
Store (\_SB.PCI0.ISA.EC.TMP1, Local0)
Multiply (Local0, 0x0A, Local1)
Add (Local1, 0x0AAC, Local0)
If (LGreater (Local0, 0x0AAC))
{
Return (Local0)
}
Else
{
Return (TPL)
}
}
Else
{
Return (TPL)
}
}
Method (_PSV, 0, NotSerialized)
{
If (\_SB.PCI0.ISA.EC.ECOK)
{
Store (\_SB.PCI0.ISA.EC.CPID, Local0)
If (Local0)
{
Store (\_SB.PCI0.ISA.EC.CPSP, Local1)
If (LGreater (Local1, 0x14))
{
If (LEqual (Local1, 0x16))
{
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (0x46, \_SB.PCI0.ISA.EC.PSV)
Release (\_SB.PCI0.ISA.EC.MTX0)
Return (0x0D68)
}
Else
{
If (LEqual (Local1, 0x18))
{
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (0x47, \_SB.PCI0.ISA.EC.PSV)
Release (\_SB.PCI0.ISA.EC.MTX0)
Return (0x0D72)
}
Else
{
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (0x48, \_SB.PCI0.ISA.EC.PSV)
Release (\_SB.PCI0.ISA.EC.MTX0)
Return (0x0D7C)
}
}
}
Else
{
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (0x45, \_SB.PCI0.ISA.EC.PSV)
Release (\_SB.PCI0.ISA.EC.MTX0)
Return (0x0D5E)
}
}
Else
{
If (SCPI)
{
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (0x3C, \_SB.PCI0.ISA.EC.PSV)
Release (\_SB.PCI0.ISA.EC.MTX0)
Return (0x0D04)
}
Else
{
Acquire (\_SB.PCI0.ISA.EC.MTX0, 0xFFFF)
Store (0x5A, \_SB.PCI0.ISA.EC.PSV)
Release (\_SB.PCI0.ISA.EC.MTX0)
Return (0x0E30)
}
}
}
Else
{
Return (BTPL)
}
}
}
ThermalZone (TZ1)
{
Name (_CRT, 0x0D68)
Name (_TC1, 0x01)
Name (_TC2, 0x02)
Name (_TSP, 0x96)
Method (_TMP, 0, NotSerialized)
{
If (\_SB.PCI0.ISA.EC.ECOK)
{
Store (\_SB.PCI0.ISA.EC.CCBT, Local0)
If (LEqual (Local0, 0xFFFF))
{
Return (0x0BD8)
}
Else
{
Return (Local0)
}
}
Else
{
Return (TPL)
}
}
Method (_PSV, 0, NotSerialized)
{
Return (BTPL)
}
}
}
}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050222140918.3b75fb48.hvcjapan>
