Mailinglist Archive: opensuse-mobile (28 mails)
| < Previous | Next > |
Re: [opensuse-mobile] Suspend2Ram-Unterstützung für Acer TM 661 unter O pensuse 10.2
- From: Michael Eschweiler <michael.eschweiler@xxxxxxxxxxx>
- Date: Sat, 6 Jan 2007 11:01:37 +0100
- Message-id: <200701061101.37696.michael.eschweiler@xxxxxxxxxxx>
Hallo Thomas,
sorry wegen der Verspätung, aber ich hatte ein paar computerfreie Tage...
Anbei die originale und die überarbeitete DSDT (dsdt.dsl_org und dsdt.dsl).
Ich hoffe, dass du diese Dateien gemeint hast sonst müsstest du mir kurz
schreiben, was du statt dessen brauchst.
Eigentlich wollte ich die beiden Dateien auch unter
http://acpi.sourceforge.net/dsdt zur Verfügung stellen, allerdings ist dort
vom Format '.asl' die Rede. Bei dem unter
http://forums.gentoo.org/viewtopicphp?t=122145 beschriebenen Vorgehen wurde
aber keine .asl-Datei erzeugt. Ich war dann erst einmal überfragt, was ich
hochladen könnte und habe es daher gelassen.
Entsprechend deiner Bitte habe ich auch bei bugzilla einen neuen bug
aufgemacht (# 232043)- ein Zuweisen an trenn@xxxxxxx war jedoch nicht möglich
(not found).
Gruß
Michael
Am Freitag, 22. Dezember 2006 19:00 schrieb Thomas Renninger:
> On Tue, 2006-12-19 at 15:36 +0100, Michael.Eschweiler@xxxxxxxxxxx wrote:
> > -----Original Message-----
> >
> > > Date: Mon, 18 Dec 2006 21:33:53 +0100
> > > Subject: [opensuse-mobile] Suspend2Ram-Unterstützung für Acer TM 661
> > > unter O pensuse 10.2
> > > From: "Kay Patzwald" <mailing-lists@xxxxxx>
> > > To: opensuse-mobile@xxxxxxxxxxxx
> >
> > Hallo Kay,
>
> ...
>
> > Suspend2ram ging zunächst gar nicht. Nach einigem Googlen und Lesen
> > habe ich dann die DSDT ausgelesen, überarbeitet (drei Warnungen) und
> > in die initrd eingebunden. Danach geht suspend2ram jetzt sauber von
> > der Konsole aus (runlevel 3) auch mit framebuffer.
>
> ...
> Hi Michael,
> kannst Du mir die DSDT mal schicken, bitte.
> Am besten auch die Aenderungen, evtl. kann man das im kernel richten,
> DSDT ueberschreiben ist schlecht...
> Hmmm, wenn Du schon einen Account hast koenntest Du mir dazu einen bug
> auf https://bugzilla.novell.com aufmachen und an trenn@xxxxxxx "assignen".
>
> Danke,
>
> Thomas
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20060912
*
* Disassembly of dsdt.dat, Fri Dec 15 18:37:52 2006
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x000064C3 (25795)
* Revision 0x01
* OEM ID "ACER "
* OEM Table ID "Wagtail "
* OEM Revision 0x20020114 (537002260)
* Creator ID "MSFT"
* Creator Revision 0x0100000E (16777230)
*/
DefinitionBlock ("dsdt.aml", "DSDT", 1, "ACER ", "Wagtail ", 0x20020114)
{
OperationRegion (PORT, SystemIO, 0x80, 0x02)
Field (PORT, ByteAcc, NoLock, Preserve)
{
P80H, 8,
P81H, 8
}
OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
Field (IO_T, ByteAcc, NoLock, Preserve)
{
TRP0, 8
}
OperationRegion (MNVS, SystemMemory, 0x2DEECE59, 0x60)
Field (MNVS, AnyAcc, Lock, Preserve)
{
OSYS, 16,
SMIF, 8,
SCIF, 8,
PAR1, 8,
PAR2, 8,
ACPS, 8,
DBGS, 8,
DCKS, 4,
CDCK, 4,
IGDS, 8,
LIDS, 8,
BRTC, 8,
BRTS, 8,
WRKF, 8,
SW2L, 1,
PNCS, 1,
Offset (0x0F),
PRID, 8,
CMAP, 8,
CMBP, 8,
LPTP, 8,
FDCP, 8,
Offset (0x15),
PS2F, 8,
Offset (0x18),
ACTT, 8,
PSVT, 8,
TC1V, 8,
TC2V, 8,
TSPV, 8,
CRTT, 8,
Offset (0x20),
BVAL, 32,
TMP0, 8,
TMP1, 8,
TMP2, 8,
SVCR, 8,
TMP4, 32,
TMP5, 32,
CSTE, 16,
NSTE, 16,
SSTE, 16,
CADL, 16,
PADL, 16,
BCAP, 8
}
Scope (_PR)
{
Processor (CPU0, 0x00, 0x00001010, 0x06)
{
Name (_PCT, Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000000000B2, // Address
,)
},
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000000000B3, // Address
,)
}
})
Name (_PSS, Package (0x05)
{
Package (0x06)
{
0x0578,
0x5DC0,
0x0A,
0x0A,
0x89,
0x00
},
Package (0x06)
{
0x04B0,
0x4E20,
0x0A,
0x0A,
0x8A,
0x01
},
Package (0x06)
{
0x03E8,
0x4650,
0x0A,
0x0A,
0x8B,
0x02
},
Package (0x06)
{
0x0320,
0x3E80,
0x0A,
0x0A,
0x8C,
0x03
},
Package (0x06)
{
0x0258,
0x2EE0,
0x0A,
0x0A,
0x8D,
0x04
}
})
Method (_PPC, 0, NotSerialized)
{
Return (0x00)
}
}
}
Name (\DSEN, 0x01)
Scope (_SI)
{
Method (_MSG, 1, NotSerialized)
{
If (Arg0)
{
Store (One, \_SB.PCI0.LPC0.BL27)
}
Else
{
Store (Zero, \_SB.PCI0.LPC0.BL27)
}
}
}
Name (\_S0, Package (0x02)
{
0x00,
0x00
})
Name (\_S3, Package (0x02)
{
0x05,
0x05
})
Name (\_S4, Package (0x02)
{
0x06,
0x06
})
Name (\_S5, Package (0x02)
{
0x07,
0x07
})
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, \_SB.STAT)
Store (">>>> _PTS ------------", Debug)
Store (Arg0, Debug)
Store (Arg0, \_SB.SLEE)
Store (0x84, \_SB.PCI0.LPC0.BCMD)
Store (0x00, \_SB.PCI0.LPC0.SMIC)
If (Or (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
Store (0x01, \_SB.PCI0.LPC0.EC0.APWR)
}
If (LEqual (Arg0, 0x03))
{
Store (0x80, \_SB.PCI0.LPC0.BCMD)
Store (0x00, \_SB.PCI0.LPC0.SMIC)
}
If (LEqual (Arg0, 0x04))
{
Store (0x01, \_SB.S4WP)
Store (0x82, \_SB.PCI0.LPC0.BCMD)
Store (0x00, \_SB.PCI0.LPC0.SMIC)
Store (One, \_SB.PCI0.LPC0.EC0.PFLG)
Store (One, \_SB.PCI0.LPC0.EC0.S4LD)
}
If (LEqual (SizeOf (\_OS), 0x27))
{
Notify (\_SB.BAT1, 0x80)
Notify (\_SB.BAT2, 0x80)
Notify (\_SB.ACAD, 0x00)
}
If (LEqual (Arg0, 0x05))
{
Store (One, \_SB.PCI0.LPC0.EC0.S5LW)
Store (0x00, \_SB.ECOK)
}
}
Method (_WAK, 1, NotSerialized)
{
Store (">>>> _WAK ------------", Debug)
Store (Arg0, Debug)
Store (Arg0, \_SB.STAT)
If (LEqual (Arg0, 0x03))
{
Store (0x81, \_SB.PCI0.LPC0.BCMD)
Store (0x00, \_SB.PCI0.LPC0.SMIC)
}
If (LEqual (Arg0, 0x04))
{
Store (0x01, \_SB.OKEC)
Notify (\_SB.SLPB, 0x02)
}
If (LEqual (SizeOf (\_OS), 0x14))
{
Store (\_SB.PCI0.LPC0.RBID, Local0)
Store (\_SB.PCI0.IDE0.BAYR, Local1)
Store (Local0, \_SB.PCI0.IDE0.BAYR)
If (LNotEqual (Local0, Local1))
{
If (Or (LEqual (Local1, 0x01), LEqual (Local1, 0x02)))
{
If (And (LEqual (\_SB.PCI0.MYOS, 0x03), LEqual (Local0, 0x03)))
{
Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x03)
}
Else
{
Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x01)
}
}
}
If (Or (LEqual (Local0, 0x01), LEqual (Local0, 0x02)))
{
Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x00)
}
}
If (LEqual (SizeOf (\_OS), 0x27))
{
Notify (\_SB.BAT1, 0x80)
Notify (\_SB.BAT2, 0x80)
Notify (\_SB.ACAD, 0x00)
}
Store (\_SB.PCI0.LPC0.EC0.ACDF, \_SB.ACST)
If (LEqual (SizeOf (\_OS), 0x11))
{
Notify (\_SB.SLPB, 0x02)
}
Store (0x00, \_SB.SLEE)
Return(Package(0x02){0x00, 0x00})
}
Scope (_GPE)
{
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.MDM0, 0x02)
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.PCIB, 0x00)
If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
{
Notify (\_SB.SLPB, 0x02)
}
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB1, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB3, 0x02)
}
Method (_E18, 0, NotSerialized)
{
Sleep (0x01)
}
}
Scope (_SB)
{
Name (STAT, 0x00)
Name (D1ST, 0x00)
Name (D1SJ, 0x01)
Name (OKEC, 0x00)
Device (PCI0)
{
Name (MYOS, 0x02)
Method (_INI, 0, NotSerialized)
{
Store (0x01, \_SB.D1SJ)
Store (0x02, MYOS)
If (LEqual (SizeOf (\_OS), 0x14))
{
Store (0x01, MYOS)
Store (0x07D0, OSYS)
Store (0x01, \_SB.W2KF)
If (CondRefOf (_OSI, Local0))
{
If (\_OSI ("Windows 2001"))
{
Store (0x03, MYOS)
Store (0x07D1, OSYS)
Store (0x03, \_SB.W2KF)
}
}
}
Else
{
If (LEqual (SizeOf (\_OS), 0x11))
{
Store (0x00, MYOS)
Store (0x07CE, OSYS)
Store (0x00, \_SB.W2KF)
}
Else
{
If (LEqual (SizeOf (\_OS), 0x27))
{
Store (0x02, MYOS)
Store (0x07CF, OSYS)
Store (0x02, \_SB.W2KF)
}
}
}
}
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00)
Name (_BBN, 0x00)
OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
Offset (0x18),
, 7,
HENA, 1,
, 4,
PM0H, 2,
Offset (0x1A),
PM1L, 2,
, 2,
PM1H, 2,
Offset (0x1B),
PM2L, 2,
, 2,
PM2H, 2,
Offset (0x1C),
PM3L, 2,
, 2,
PM3H, 2,
Offset (0x1D),
PM4L, 2,
, 2,
PM4H, 2,
Offset (0x1E),
PM5L, 2,
, 2,
PM5H, 2,
Offset (0x1F),
PM6L, 2,
, 2,
PM6H, 2,
Offset (0x20)
}
Name (BUF0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
0x00,, )
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000CF7, // Range Maximum
0x00000000, // Translation Offset
0x00000CF8, // Length
0x00,, , TypeStatic)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000D00, // Range Minimum
0x0000FFFF, // Range Maximum
0x00000000, // Translation Offset
0x0000F300, // Length
0x00,, , TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C0000, // Range Minimum
0x000C3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y00, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C4000, // Range Minimum
0x000C7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y01, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C8000, // Range Minimum
0x000CBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y02, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000CC000, // Range Minimum
0x000CFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y03, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D0000, // Range Minimum
0x000D3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y04, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D4000, // Range Minimum
0x000D7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y05, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D8000, // Range Minimum
0x000DBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y06, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000DC000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y07, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E0000, // Range Minimum
0x000E3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y08, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E4000, // Range Minimum
0x000E7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y09, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E8000, // Range Minimum
0x000EBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y0A, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000EC000, // Range Minimum
0x000EFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y0B, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000F0000, // Range Minimum
0x000FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00010000, // Length
0x00,, _Y0C, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xFEBFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
0x00,, _Y0D, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000000, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
0x00,, _Y0E, AddressRangeMemory, TypeStatic)
})
Method (_CRS, 0, Serialized)
{
If (PM1L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)
Store (Zero, C0LN)
}
If (LEqual (PM1L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)
Store (Zero, C0RW)
}
If (PM1H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)
Store (Zero, C4LN)
}
If (LEqual (PM1H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)
Store (Zero, C4RW)
}
If (PM2L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)
Store (Zero, C8LN)
}
If (LEqual (PM2L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)
Store (Zero, C8RW)
}
If (PM2H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)
Store (Zero, CCLN)
}
If (LEqual (PM2H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)
Store (Zero, CCRW)
}
If (PM3L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)
Store (Zero, D0LN)
}
If (LEqual (PM3L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)
Store (Zero, D0RW)
}
If (PM3H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)
Store (Zero, D4LN)
}
If (LEqual (PM3H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)
Store (Zero, D4RW)
}
If (PM4L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)
Store (Zero, D8LN)
}
If (LEqual (PM4L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)
Store (Zero, D8RW)
}
If (PM4H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)
Store (Zero, DCLN)
}
If (LEqual (PM4H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)
Store (Zero, DCRW)
}
If (PM5L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)
Store (Zero, E0LN)
}
If (LEqual (PM5L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)
Store (Zero, E0RW)
}
If (PM5H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)
Store (Zero, E4LN)
}
If (LEqual (PM5H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)
Store (Zero, E4RW)
}
If (PM6L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)
Store (Zero, E8LN)
}
If (LEqual (PM6L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)
Store (Zero, E8RW)
}
If (PM6H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)
Store (Zero, ECLN)
}
If (LEqual (PM6H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)
Store (Zero, ECRW)
}
If (PM0H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)
Store (Zero, F0LN)
}
If (LEqual (PM0H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)
Store (Zero, F0RW)
}
CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)
CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)
Multiply (0x02000000, \_SB.PCI0.MBUS.DRB3, M1MN)
Add (Subtract (M1MX, M1MN), 0x01, M1LN)
ShiftRight (And (\_SB.PCI0.LPC0.MTSE, 0x0380), 0x07, Local0)
If (And (Local0, 0x04))
{
CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M2MN)
CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M2MX)
CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M2LN)
Store (0xFED00000, M2MN)
Store (0xFED003FF, M2MX)
Store (0x0400, M2LN)
If (LEqual (Local0, 0x05))
{
Store (0xFED01000, M2MN)
Store (0xFED013FF, M2MX)
}
If (LEqual (Local0, 0x06))
{
Store (0xFED02000, M2MN)
Store (0xFED023FF, M2MX)
}
If (LEqual (Local0, 0x07))
{
Store (0xFED03000, M2MN)
Store (0xFED033FF, M2MX)
}
}
Return (BUF0)
}
Method (_PRT, 0, NotSerialized)
{
Return (Package (0x07)
{
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x01,
\_SB.PCI0.LPC0.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x02,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x03,
\_SB.PCI0.LPC0.LNKH,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x00,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
\_SB.PCI0.LPC0.LNKB,
0x00
}
})
}
Device (MBUS)
{
Name (_ADR, 0x01)
OperationRegion (MBUS, PCI_Config, 0x40, 0xC0)
Field (MBUS, DWordAcc, NoLock, Preserve)
{
DRB0, 8,
DRB1, 8,
DRB2, 8,
DRB3, 8
}
}
Device (AGP)
{
Name (_ADR, 0x00020000)
OperationRegion (VNVS, SystemMemory, 0x2DEECEB9, 0x00010004)
Field (VNVS, AnyAcc, Lock, Preserve)
{
RSIZ, 32,
RBUF, 524288
}
Name (SWIT, 0x01)
Name (CRTA, 0x01)
Name (LCDA, 0x01)
Name (TV0A, 0x01)
Name (TOGF, 0x02)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Method (_DOS, 1, NotSerialized)
{
Store (And (Arg0, 0x03), SWIT)
}
Method (_DOD, 0, NotSerialized)
{
Return (Package (0x06)
{
0x00010100,
0x00010200,
0x00010300,
0x00010400,
0x00010500,
0x00010600
})
}
Method (_ROM, 2, NotSerialized)
{
Store (Arg0, Local0)
Store (Arg1, Local1)
If (LGreater (Local1, 0x1000))
{
Store (0x1000, Local1)
}
If (LGreater (Add (Local0, Local1), RSIZ))
{
Store (0x00, Local0)
}
Multiply (Local0, 0x08, Local2)
Multiply (Local1, 0x08, Local3)
Name (ROM1, Buffer (RSIZ) {})
Name (ROM2, Buffer (Local1) {})
Store (RBUF, ROM1)
CreateField (ROM1, Local2, Local3, TMPB)
Store (TMPB, ROM2)
Return (ROM2)
}
Device (CRT)
{
Name (_ADR, 0x0100)
Method (_DCS, 0, NotSerialized)
{
If (CRTA)
{
Store (Or (CSTE, 0x0101), CSTE)
Return (0x1F)
}
Else
{
Store (And (CSTE, 0xFEFE), CSTE)
Return (0x1D)
}
}
Method (_DGS, 0, NotSerialized)
{
If (CRTA)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_DSS, 1, NotSerialized)
{
Store ("CRT --_DSS", Debug)
}
}
Device (TV0)
{
Name (_ADR, 0x0200)
Method (_DCS, 0, NotSerialized)
{
If (TV0A)
{
Store (Or (CSTE, 0x0202), CSTE)
Return (0x1F)
}
Else
{
Store (And (CSTE, 0xFDFD), CSTE)
Return (0x1D)
}
}
Method (_DGS, 0, NotSerialized)
{
If (TV0A)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_DSS, 1, NotSerialized)
{
Store ("TV --_DSS", Debug)
}
}
Device (LCD)
{
Name (_ADR, 0x0400)
Method (_DCS, 0, NotSerialized)
{
If (LCDA)
{
Store (Or (CSTE, 0x0808), CSTE)
Return (0x1F)
}
Else
{
Store (And (CSTE, 0xF7F7), CSTE)
Return (0x1D)
}
}
Method (_DGS, 0, NotSerialized)
{
Store (LCDA, Local0)
If (LCDA)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_DSS, 1, NotSerialized)
{
Store ("LCD --_DSS", Debug)
}
}
Method (SWIH, 0, NotSerialized)
{
Store (0x03, Local0)
If (LEqual (Local0, 0x03))
{
Increment (TOGF)
Store (TOGF, Local1)
If (LEqual (Local1, 0x01))
{
Store (One, LCDA)
Store (Zero, CRTA)
Store (Zero, TV0A)
}
Else
{
If (LEqual (Local1, 0x02))
{
Store (Zero, LCDA)
Store (One, CRTA)
Store (Zero, TV0A)
}
Else
{
If (LEqual (Local1, 0x03))
{
Store (One, LCDA)
Store (One, CRTA)
Store (Zero, TV0A)
}
Else
{
Store (One, TOGF)
Store (One, LCDA)
Store (Zero, CRTA)
Store (Zero, TV0A)
}
}
}
}
Notify (\_SB.PCI0.AGP, 0x80)
}
Method (GETD, 0, NotSerialized)
{
Store (\_SB.DISD, Local0)
If (LEqual (Local0, 0x01))
{
Store (0x03, TOGF)
}
Else
{
If (LEqual (Local0, 0x02))
{
Store (0x01, TOGF)
}
Else
{
If (LEqual (Local0, 0x03))
{
Store (0x02, TOGF)
}
Else
{
Store (0x00, TOGF)
}
}
}
}
}
Device (PCIB)
{
Name (_ADR, 0x001E0000)
Device (GLAN)
{
Name (_ADR, 0x00020000)
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
}
Device (MPCI)
{
Name (_ADR, 0x00040000)
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
}
Device (T394)
{
Name (_ADR, 0x00070000)
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
}
Method (_PRT, 0, NotSerialized)
{
Return (Package (0x05)
{
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPC0.LNKD,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
\_SB.PCI0.LPC0.LNKE,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
\_SB.PCI0.LPC0.LNKF,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x00,
\_SB.PCI0.LPC0.LNKB,
0x00
}
})
}
}
Device (LPC0)
{
Name (_ADR, 0x001F0000)
Method (DECD, 4, NotSerialized)
{
Store (Arg0, Debug)
}
OperationRegion (REGS, PCI_Config, 0x40, 0xC0)
Field (REGS, DWordAcc, NoLock, Preserve)
{
PMBA, 16,
Offset (0x18),
GPBA, 16,
Offset (0x90),
POSD, 1,
Offset (0x91),
MTSE, 16,
Offset (0x94),
Offset (0xA0),
CMAD, 3,
, 1,
CMBD, 3,
Offset (0xA1),
LPTD, 2,
, 2,
FDDD, 1,
Offset (0xA6),
ECO1, 1,
ECO2, 1,
ELPT, 1,
EFDD, 1
}
OperationRegion (PIRX, PCI_Config, 0x60, 0x0C)
Field (PIRX, DWordAcc, NoLock, Preserve)
{
AccessAs (ByteAcc, 0x00),
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8,
Offset (0x08),
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8
}
Device (TIMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x10, // Alignment
0x04, // Length
)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x10, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
Method (_CRS, 0, Serialized)
{
If (And (MTSE, 0x0200))
{
Return (BUF0)
}
Return (BUF1)
}
}
Device (IPIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0024, // Range Minimum
0x0024, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0028, // Range Minimum
0x0028, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002C, // Range Minimum
0x002C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0030, // Range Minimum
0x0030, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0034, // Range Minimum
0x0034, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0038, // Range Minimum
0x0038, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x003C, // Range Minimum
0x003C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A4, // Range Minimum
0x00A4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A8, // Range Minimum
0x00A8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00AC, // Range Minimum
0x00AC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B4, // Range Minimum
0x00B4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B8, // Range Minimum
0x00B8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00BC, // Range Minimum
0x00BC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{8}
})
Method (_CRS, 0, Serialized)
{
If (And (MTSE, 0x0200))
{
Return (BUF0)
}
Return (BUF1)
}
}
Device (MATH)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{13}
})
}
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x01, // Alignment
0x0F, // Length
)
IO (Decode16,
0x0090, // Range Minimum
0x0090, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0093, // Range Minimum
0x0093, // Range Maximum
0x01, // Alignment
0x0D, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{4}
})
}
Device (MBRD)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x1F)
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0010, // Range Minimum
0x0010, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0024, // Range Minimum
0x0024, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0028, // Range Minimum
0x0028, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002C, // Range Minimum
0x002C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002E, // Range Minimum
0x002E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0030, // Range Minimum
0x0030, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0034, // Range Minimum
0x0034, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0038, // Range Minimum
0x0038, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x003C, // Range Minimum
0x003C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0063, // Range Minimum
0x0063, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0067, // Range Minimum
0x0067, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0072, // Range Minimum
0x0072, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0090, // Range Minimum
0x0090, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0092, // Range Minimum
0x0092, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x00A4, // Range Minimum
0x00A4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A8, // Range Minimum
0x00A8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00AC, // Range Minimum
0x00AC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x00B2, // Range Minimum
0x00B2, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B8, // Range Minimum
0x00B8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00BC, // Range Minimum
0x00BC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0600, // Range Minimum
0x0600, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0700, // Range Minimum
0x0700, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x1000, // Range Minimum
0x1000, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1180, // Range Minimum
0x1180, // Range Maximum
0x01, // Alignment
0x40, // Length
)
IO (Decode16,
0x01C0, // Range Minimum
0x01C0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x004E, // Range Minimum
0x004E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0068, // Range Minimum
0x0068, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x006C, // Range Minimum
0x006C, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0xFE00, // Range Minimum
0xFE00, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0610, // Range Minimum
0x0610, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0068, // Range Minimum
0x0068, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x006C, // Range Minimum
0x006C, // Range Maximum
0x01, // Alignment
0x01, // Length
)
Memory32Fixed (ReadWrite,
0xFEC10000, // Address Base
0x00010000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFF800000, // Address Base
0x00400000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFFF00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x000A0000, // Address Length
)
Memory32Fixed (ReadOnly,
0x000E0000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00100000, // Address Base
0x00000000, // Address Length
)
})
}
Device (FWHD)
{
Name (_HID, EisaId ("INT0800"))
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFF800000, // Address Base
0x00800000, // Address Length
)
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (BUF0, ResourceTemplate ()
{
IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
_Y0F)
})
Method (_STA, 0, NotSerialized)
{
ShiftRight (And (MTSE, 0x0380), 0x07, Local0)
If (LEqual (OSYS, 0x07D1))
{
If (And (Local0, 0x04))
{
Return (0x0F)
}
}
Else
{
If (And (Local0, 0x04))
{
Return (0x0B)
}
}
Return (0x00)
}
Method (_CRS, 0, Serialized)
{
ShiftRight (And (MTSE, 0x0380), 0x07, Local0)
If (And (Local0, 0x04))
{
CreateDWordField (BUF0, \_SB.PCI0.LPC0.HPET._Y0F._BAS, HPT0)
If (LEqual (Local0, 0x05))
{
Store (0xFED01000, HPT0)
}
If (LEqual (Local0, 0x06))
{
Store (0xFED02000, HPT0)
}
If (LEqual (Local0, 0x07))
{
Store (0xFED03000, HPT0)
}
}
Return (BUF0)
}
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRA)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
})
Method (_CRS, 0, Serialized)
{
Name (RTLA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y10)
{}
})
CreateWordField (RTLA, \_SB.PCI0.LPC0.LNKA._CRS._Y10._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRA, 0x0F), IRQ0)
Return (RTLA)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
Method (_STA, 0, Serialized)
{
If (And (PIRA, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRB)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y11)
{}
})
CreateWordField (RTLB, \_SB.PCI0.LPC0.LNKB._CRS._Y11._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRB, 0x0F), IRQ0)
Return (RTLB)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRB)
}
Method (_STA, 0, Serialized)
{
If (And (PIRB, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y12)
{}
})
CreateWordField (RTLC, \_SB.PCI0.LPC0.LNKC._CRS._Y12._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRC, 0x0F), IRQ0)
Return (RTLC)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRC)
}
Method (_STA, 0, Serialized)
{
If (And (PIRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRD)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y13)
{}
})
CreateWordField (RTLD, \_SB.PCI0.LPC0.LNKD._CRS._Y13._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRD, 0x0F), IRQ0)
Return (RTLD)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRD)
}
Method (_STA, 0, Serialized)
{
If (And (PIRD, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRE)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y14)
{}
})
CreateWordField (RTLE, \_SB.PCI0.LPC0.LNKE._CRS._Y14._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRE, 0x0F), IRQ0)
Return (RTLE)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRE)
}
Method (_STA, 0, Serialized)
{
If (And (PIRE, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRF)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y15)
{}
})
CreateWordField (RTLF, \_SB.PCI0.LPC0.LNKF._CRS._Y15._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRF, 0x0F), IRQ0)
Return (RTLF)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRF)
}
Method (_STA, 0, Serialized)
{
If (And (PIRF, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRG)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
})
Method (_CRS, 0, Serialized)
{
Name (RTLG, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y16)
{}
})
CreateWordField (RTLG, \_SB.PCI0.LPC0.LNKG._CRS._Y16._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRG, 0x0F), IRQ0)
Return (RTLG)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRG)
}
Method (_STA, 0, Serialized)
{
If (And (PIRG, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRH)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y17)
{}
})
CreateWordField (RTLH, \_SB.PCI0.LPC0.LNKH._CRS._Y17._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRH, 0x0F), IRQ0)
Return (RTLH)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRH)
}
Method (_STA, 0, Serialized)
{
If (And (PIRH, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
OperationRegion (GPOX, SystemIO, 0x1180, 0x40)
Field (GPOX, DWordAcc, Lock, Preserve)
{
Offset (0x07),
, 1,
IO25, 1,
, 1,
IO27, 1,
Offset (0x0E),
LV16, 1,
LV17, 1,
Offset (0x0F),
, 1,
LV25, 1,
, 1,
LV27, 1,
Offset (0x1B),
, 1,
BL25, 1,
, 1,
BL27, 1,
Offset (0x38),
RBID, 2,
LV34, 1,
LV35, 1,
LV36, 1,
LV37, 1,
LV38, 1,
LV39, 1
}
OperationRegion (PMIO, SystemIO, 0x1000, 0x51)
Field (PMIO, WordAcc, Lock, Preserve)
{
AccessAs (DWordAcc, 0x00),
Offset (0x29),
, 3,
PMES, 1,
Offset (0x2B),
, 3,
PMEE, 1,
Offset (0x2C),
GPI0, 1,
GPI1, 1,
GPI2, 1,
GPI3, 1,
GPI4, 1,
GPI5, 1,
GPI6, 1,
GPI7, 1,
GPI8, 1,
GPI9, 1,
GPIA, 1,
GPIB, 1,
GPIC, 1,
GPID, 1,
GPIE, 1,
GPIF, 1,
, 6,
GPEE, 1
}
Device (KBC)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{1}
})
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Device (MOUE)
{
Name (_HID, EisaId ("IBM3780"))
Name (_CID, 0x130FD041)
Name (_CRS, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Method (_STA, 0, NotSerialized)
{
If (LEqual (SizeOf (\_OS), 0x14))
{
Return (0x00)
}
Else
{
If (PS2F)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
}
}
Device (MOU2)
{
Name (_HID, EisaId ("PNP0F13"))
Name (_CRS, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Method (_STA, 0, NotSerialized)
{
If (LEqual (SizeOf (\_OS), 0x14))
{
If (PS2F)
{
Store (PS2F, Local0)
Store (Local0, P80H)
Return (0x0F)
}
Else
{
Store (PS2F, Local0)
Store (Local0, P80H)
Return (0x00)
}
}
Else
{
Store (PS2F, Local0)
Store (Local0, P80H)
Return (0x00)
}
}
}
Device (SIO)
{
Name (_HID, EisaId ("PNP0A05"))
OperationRegion (SIIO, SystemIO, 0x4E, 0x02)
Field (SIIO, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
Mutex (N393, 0x00)
Method (SETD, 1, Serialized)
{
Store (0x07, INDX)
Store (Arg0, DATA)
}
Method (READ, 1, Serialized)
{
Store (Arg0, INDX)
Store (DATA, Local0)
Return (Local0)
}
Method (WRIT, 2, Serialized)
{
Store (Arg0, INDX)
Store (Arg1, DATA)
}
Method (LDRS, 3, NotSerialized)
{
Acquire (N393, 0xFFFF)
Store (0x07, INDX)
Store (Arg0, DATA)
Store (Arg1, INDX)
Store (Arg2, DATA)
Release (N393)
}
Method (LDRG, 2, NotSerialized)
{
Acquire (N393, 0xFFFF)
Store (0x07, INDX)
Store (Arg0, DATA)
Store (Arg1, INDX)
Store (DATA, Local0)
Release (N393)
Return (Local0)
}
Method (RCF6, 1, NotSerialized)
{
Acquire (N393, 0xFFFF)
Store (0x26, INDX)
Store (DATA, Local0)
And (Local0, Arg0, Local0)
Release (N393)
Return (XOr (Local0, Arg0))
}
Method (PDRS, 2, NotSerialized)
{
If (\_SB.PCI0.LPC0.POSD)
{
If (LEqual (Arg0, 0x00))
{
If (LEqual (Arg1, 0x03F0))
{
Store (0x00, Local0)
}
Else
{
If (LEqual (Arg1, 0x0370))
{
Store (0x01, Local0)
}
}
Store (Local0, \_SB.PCI0.LPC0.FDDD)
}
Else
{
If (LEqual (Arg0, 0x01))
{
If (LEqual (Arg1, 0x0378))
{
Store (0x00, Local0)
}
Else
{
If (LEqual (Arg1, 0x0278))
{
Store (0x01, Local0)
}
Else
{
If (LEqual (Arg1, 0x03BC))
{
Store (0x02, Local0)
}
}
}
Store (Local0, \_SB.PCI0.LPC0.LPTD)
}
Else
{
If (LEqual (Arg1, 0x03F8))
{
Store (0x00, Local0)
}
Else
{
If (LEqual (Arg1, 0x02F8))
{
Store (0x01, Local0)
}
Else
{
If (LEqual (Arg1, 0x0220))
{
Store (0x02, Local0)
}
Else
{
If (LEqual (Arg1, 0x0228))
{
Store (0x03, Local0)
}
Else
{
If (LEqual (Arg1, 0x0238))
{
Store (0x04, Local0)
}
Else
{
If (LEqual (Arg1, 0x02E8))
{
Store (0x05, Local0)
}
Else
{
If (LEqual (Arg1, 0x0338))
{
Store (0x06, Local0)
}
Else
{
If (LEqual (Arg1, 0x03E8))
{
Store (0x07, Local0)
}
}
}
}
}
}
}
}
If (LEqual (Arg0, 0x02))
{
Store (Local0, \_SB.PCI0.LPC0.CMBD)
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store (Local0, \_SB.PCI0.LPC0.CMAD)
}
}
}
}
Return (0x01)
}
Else
{
Return (0x00)
}
}
Device (ECP)
{
Name (_HID, EisaId ("PNP0401"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
Store (LDRG (0x01, 0xF0), Local0)
ShiftRight (Local0, 0x05, Local0)
If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x04), LEqual (Local0,
0x07))))
{
ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
Add (0x0D, Local1, Local1)
Return (Local1)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized)
{
LDRS (0x01, 0x30, 0x01)
}
Method (_PS3, 0, NotSerialized)
{
LDRS (0x01, 0x30, 0x00)
}
Method (_PRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1}
}
EndDependentFn ()
})
}
Method (_DIS, 0, NotSerialized)
{
LDRS (0x01, 0x30, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
Name (DCRS, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
})
Store (LDRG (0x01, 0x60), Local1)
Store (LDRG (0x01, 0x61), Local0)
Store (Local0, Index (DCRS, 0x02))
Store (Local0, Index (DCRS, 0x0A))
Store (Local0, Index (DCRS, 0x04))
Store (Local0, Index (DCRS, 0x0C))
Store (Local1, Index (DCRS, 0x03))
Store (Local1, Index (DCRS, 0x05))
Add (Local1, 0x04, Local1)
Store (Local1, Index (DCRS, 0x0B))
Store (Local1, Index (DCRS, 0x0D))
ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
Store (Local0, Index (DCRS, 0x11))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x12))
ShiftLeft (0x01, LDRG (0x01, 0x74), Local0)
Store (Local0, Index (DCRS, 0x14))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x15))
Return (DCRS)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, ADRL)
CreateByteField (Arg0, 0x03, ADRM)
CreateWordField (Arg0, 0x11, IRQM)
CreateWordField (Arg0, 0x14, DMAM)
FindSetRightBit (IRQM, Local0)
Decrement (Local0)
FindSetRightBit (DMAM, Local1)
Decrement (Local1)
LDRS (0x01, 0x70, Local0)
LDRS (0x01, 0x74, Local1)
LDRS (0x01, 0x60, ADRM)
LDRS (0x01, 0x61, ADRL)
LDRS (0x01, 0x30, 0x01)
}
}
Device (EPP)
{
Name (_HID, EisaId ("PNP0400"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
Store (LDRG (0x01, 0xF0), Local0)
ShiftRight (Local0, 0x05, Local0)
If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x02), LEqual (Local0,
0x03))))
{
ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
Add (0x0D, Local1, Local1)
Return (Local1)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized)
{
LDRS (0x01, 0x30, 0x01)
}
Method (_PS3, 0, NotSerialized)
{
LDRS (0x01, 0x30, 0x00)
}
Method (_PRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFnNoPri ()
sorry wegen der Verspätung, aber ich hatte ein paar computerfreie Tage...
Anbei die originale und die überarbeitete DSDT (dsdt.dsl_org und dsdt.dsl).
Ich hoffe, dass du diese Dateien gemeint hast sonst müsstest du mir kurz
schreiben, was du statt dessen brauchst.
Eigentlich wollte ich die beiden Dateien auch unter
http://acpi.sourceforge.net/dsdt zur Verfügung stellen, allerdings ist dort
vom Format '.asl' die Rede. Bei dem unter
http://forums.gentoo.org/viewtopicphp?t=122145 beschriebenen Vorgehen wurde
aber keine .asl-Datei erzeugt. Ich war dann erst einmal überfragt, was ich
hochladen könnte und habe es daher gelassen.
Entsprechend deiner Bitte habe ich auch bei bugzilla einen neuen bug
aufgemacht (# 232043)- ein Zuweisen an trenn@xxxxxxx war jedoch nicht möglich
(not found).
Gruß
Michael
Am Freitag, 22. Dezember 2006 19:00 schrieb Thomas Renninger:
> On Tue, 2006-12-19 at 15:36 +0100, Michael.Eschweiler@xxxxxxxxxxx wrote:
> > -----Original Message-----
> >
> > > Date: Mon, 18 Dec 2006 21:33:53 +0100
> > > Subject: [opensuse-mobile] Suspend2Ram-Unterstützung für Acer TM 661
> > > unter O pensuse 10.2
> > > From: "Kay Patzwald" <mailing-lists@xxxxxx>
> > > To: opensuse-mobile@xxxxxxxxxxxx
> >
> > Hallo Kay,
>
> ...
>
> > Suspend2ram ging zunächst gar nicht. Nach einigem Googlen und Lesen
> > habe ich dann die DSDT ausgelesen, überarbeitet (drei Warnungen) und
> > in die initrd eingebunden. Danach geht suspend2ram jetzt sauber von
> > der Konsole aus (runlevel 3) auch mit framebuffer.
>
> ...
> Hi Michael,
> kannst Du mir die DSDT mal schicken, bitte.
> Am besten auch die Aenderungen, evtl. kann man das im kernel richten,
> DSDT ueberschreiben ist schlecht...
> Hmmm, wenn Du schon einen Account hast koenntest Du mir dazu einen bug
> auf https://bugzilla.novell.com aufmachen und an trenn@xxxxxxx "assignen".
>
> Danke,
>
> Thomas
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20060912
*
* Disassembly of dsdt.dat, Fri Dec 15 18:37:52 2006
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x000064C3 (25795)
* Revision 0x01
* OEM ID "ACER "
* OEM Table ID "Wagtail "
* OEM Revision 0x20020114 (537002260)
* Creator ID "MSFT"
* Creator Revision 0x0100000E (16777230)
*/
DefinitionBlock ("dsdt.aml", "DSDT", 1, "ACER ", "Wagtail ", 0x20020114)
{
OperationRegion (PORT, SystemIO, 0x80, 0x02)
Field (PORT, ByteAcc, NoLock, Preserve)
{
P80H, 8,
P81H, 8
}
OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
Field (IO_T, ByteAcc, NoLock, Preserve)
{
TRP0, 8
}
OperationRegion (MNVS, SystemMemory, 0x2DEECE59, 0x60)
Field (MNVS, AnyAcc, Lock, Preserve)
{
OSYS, 16,
SMIF, 8,
SCIF, 8,
PAR1, 8,
PAR2, 8,
ACPS, 8,
DBGS, 8,
DCKS, 4,
CDCK, 4,
IGDS, 8,
LIDS, 8,
BRTC, 8,
BRTS, 8,
WRKF, 8,
SW2L, 1,
PNCS, 1,
Offset (0x0F),
PRID, 8,
CMAP, 8,
CMBP, 8,
LPTP, 8,
FDCP, 8,
Offset (0x15),
PS2F, 8,
Offset (0x18),
ACTT, 8,
PSVT, 8,
TC1V, 8,
TC2V, 8,
TSPV, 8,
CRTT, 8,
Offset (0x20),
BVAL, 32,
TMP0, 8,
TMP1, 8,
TMP2, 8,
SVCR, 8,
TMP4, 32,
TMP5, 32,
CSTE, 16,
NSTE, 16,
SSTE, 16,
CADL, 16,
PADL, 16,
BCAP, 8
}
Scope (_PR)
{
Processor (CPU0, 0x00, 0x00001010, 0x06)
{
Name (_PCT, Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000000000B2, // Address
,)
},
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x00000000000000B3, // Address
,)
}
})
Name (_PSS, Package (0x05)
{
Package (0x06)
{
0x0578,
0x5DC0,
0x0A,
0x0A,
0x89,
0x00
},
Package (0x06)
{
0x04B0,
0x4E20,
0x0A,
0x0A,
0x8A,
0x01
},
Package (0x06)
{
0x03E8,
0x4650,
0x0A,
0x0A,
0x8B,
0x02
},
Package (0x06)
{
0x0320,
0x3E80,
0x0A,
0x0A,
0x8C,
0x03
},
Package (0x06)
{
0x0258,
0x2EE0,
0x0A,
0x0A,
0x8D,
0x04
}
})
Method (_PPC, 0, NotSerialized)
{
Return (0x00)
}
}
}
Name (\DSEN, 0x01)
Scope (_SI)
{
Method (_MSG, 1, NotSerialized)
{
If (Arg0)
{
Store (One, \_SB.PCI0.LPC0.BL27)
}
Else
{
Store (Zero, \_SB.PCI0.LPC0.BL27)
}
}
}
Name (\_S0, Package (0x02)
{
0x00,
0x00
})
Name (\_S3, Package (0x02)
{
0x05,
0x05
})
Name (\_S4, Package (0x02)
{
0x06,
0x06
})
Name (\_S5, Package (0x02)
{
0x07,
0x07
})
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, \_SB.STAT)
Store (">>>> _PTS ------------", Debug)
Store (Arg0, Debug)
Store (Arg0, \_SB.SLEE)
Store (0x84, \_SB.PCI0.LPC0.BCMD)
Store (0x00, \_SB.PCI0.LPC0.SMIC)
If (Or (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
Store (0x01, \_SB.PCI0.LPC0.EC0.APWR)
}
If (LEqual (Arg0, 0x03))
{
Store (0x80, \_SB.PCI0.LPC0.BCMD)
Store (0x00, \_SB.PCI0.LPC0.SMIC)
}
If (LEqual (Arg0, 0x04))
{
Store (0x01, \_SB.S4WP)
Store (0x82, \_SB.PCI0.LPC0.BCMD)
Store (0x00, \_SB.PCI0.LPC0.SMIC)
Store (One, \_SB.PCI0.LPC0.EC0.PFLG)
Store (One, \_SB.PCI0.LPC0.EC0.S4LD)
}
If (LEqual (SizeOf (\_OS), 0x27))
{
Notify (\_SB.BAT1, 0x80)
Notify (\_SB.BAT2, 0x80)
Notify (\_SB.ACAD, 0x00)
}
If (LEqual (Arg0, 0x05))
{
Store (One, \_SB.PCI0.LPC0.EC0.S5LW)
Store (0x00, \_SB.ECOK)
}
}
Method (_WAK, 1, NotSerialized)
{
Store (">>>> _WAK ------------", Debug)
Store (Arg0, Debug)
Store (Arg0, \_SB.STAT)
If (LEqual (Arg0, 0x03))
{
Store (0x81, \_SB.PCI0.LPC0.BCMD)
Store (0x00, \_SB.PCI0.LPC0.SMIC)
}
If (LEqual (Arg0, 0x04))
{
Store (0x01, \_SB.OKEC)
Notify (\_SB.SLPB, 0x02)
}
If (LEqual (SizeOf (\_OS), 0x14))
{
Store (\_SB.PCI0.LPC0.RBID, Local0)
Store (\_SB.PCI0.IDE0.BAYR, Local1)
Store (Local0, \_SB.PCI0.IDE0.BAYR)
If (LNotEqual (Local0, Local1))
{
If (Or (LEqual (Local1, 0x01), LEqual (Local1, 0x02)))
{
If (And (LEqual (\_SB.PCI0.MYOS, 0x03), LEqual (Local0, 0x03)))
{
Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x03)
}
Else
{
Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x01)
}
}
}
If (Or (LEqual (Local0, 0x01), LEqual (Local0, 0x02)))
{
Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x00)
}
}
If (LEqual (SizeOf (\_OS), 0x27))
{
Notify (\_SB.BAT1, 0x80)
Notify (\_SB.BAT2, 0x80)
Notify (\_SB.ACAD, 0x00)
}
Store (\_SB.PCI0.LPC0.EC0.ACDF, \_SB.ACST)
If (LEqual (SizeOf (\_OS), 0x11))
{
Notify (\_SB.SLPB, 0x02)
}
Store (0x00, \_SB.SLEE)
Return(Package(0x02){0x00, 0x00})
}
Scope (_GPE)
{
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.MDM0, 0x02)
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.PCIB, 0x00)
If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
{
Notify (\_SB.SLPB, 0x02)
}
}
Method (_L03, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB1, 0x02)
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB3, 0x02)
}
Method (_E18, 0, NotSerialized)
{
Sleep (0x01)
}
}
Scope (_SB)
{
Name (STAT, 0x00)
Name (D1ST, 0x00)
Name (D1SJ, 0x01)
Name (OKEC, 0x00)
Device (PCI0)
{
Name (MYOS, 0x02)
Method (_INI, 0, NotSerialized)
{
Store (0x01, \_SB.D1SJ)
Store (0x02, MYOS)
If (LEqual (SizeOf (\_OS), 0x14))
{
Store (0x01, MYOS)
Store (0x07D0, OSYS)
Store (0x01, \_SB.W2KF)
If (CondRefOf (_OSI, Local0))
{
If (\_OSI ("Windows 2001"))
{
Store (0x03, MYOS)
Store (0x07D1, OSYS)
Store (0x03, \_SB.W2KF)
}
}
}
Else
{
If (LEqual (SizeOf (\_OS), 0x11))
{
Store (0x00, MYOS)
Store (0x07CE, OSYS)
Store (0x00, \_SB.W2KF)
}
Else
{
If (LEqual (SizeOf (\_OS), 0x27))
{
Store (0x02, MYOS)
Store (0x07CF, OSYS)
Store (0x02, \_SB.W2KF)
}
}
}
}
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00)
Name (_BBN, 0x00)
OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
Field (HBUS, DWordAcc, NoLock, Preserve)
{
Offset (0x18),
, 7,
HENA, 1,
, 4,
PM0H, 2,
Offset (0x1A),
PM1L, 2,
, 2,
PM1H, 2,
Offset (0x1B),
PM2L, 2,
, 2,
PM2H, 2,
Offset (0x1C),
PM3L, 2,
, 2,
PM3H, 2,
Offset (0x1D),
PM4L, 2,
, 2,
PM4H, 2,
Offset (0x1E),
PM5L, 2,
, 2,
PM5H, 2,
Offset (0x1F),
PM6L, 2,
, 2,
PM6H, 2,
Offset (0x20)
}
Name (BUF0, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
0x00,, )
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000CF7, // Range Maximum
0x00000000, // Translation Offset
0x00000CF8, // Length
0x00,, , TypeStatic)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x00000000, // Granularity
0x00000D00, // Range Minimum
0x0000FFFF, // Range Maximum
0x00000000, // Translation Offset
0x0000F300, // Length
0x00,, , TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
0x00,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C0000, // Range Minimum
0x000C3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y00, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C4000, // Range Minimum
0x000C7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y01, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000C8000, // Range Minimum
0x000CBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y02, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000CC000, // Range Minimum
0x000CFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y03, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D0000, // Range Minimum
0x000D3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y04, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D4000, // Range Minimum
0x000D7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y05, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000D8000, // Range Minimum
0x000DBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y06, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000DC000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y07, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E0000, // Range Minimum
0x000E3FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y08, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E4000, // Range Minimum
0x000E7FFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y09, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000E8000, // Range Minimum
0x000EBFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y0A, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000EC000, // Range Minimum
0x000EFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00004000, // Length
0x00,, _Y0B, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000F0000, // Range Minimum
0x000FFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00010000, // Length
0x00,, _Y0C, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xFEBFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
0x00,, _Y0D, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000000, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
0x00,, _Y0E, AddressRangeMemory, TypeStatic)
})
Method (_CRS, 0, Serialized)
{
If (PM1L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)
Store (Zero, C0LN)
}
If (LEqual (PM1L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)
Store (Zero, C0RW)
}
If (PM1H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)
Store (Zero, C4LN)
}
If (LEqual (PM1H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)
Store (Zero, C4RW)
}
If (PM2L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)
Store (Zero, C8LN)
}
If (LEqual (PM2L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)
Store (Zero, C8RW)
}
If (PM2H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)
Store (Zero, CCLN)
}
If (LEqual (PM2H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)
Store (Zero, CCRW)
}
If (PM3L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)
Store (Zero, D0LN)
}
If (LEqual (PM3L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)
Store (Zero, D0RW)
}
If (PM3H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)
Store (Zero, D4LN)
}
If (LEqual (PM3H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)
Store (Zero, D4RW)
}
If (PM4L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)
Store (Zero, D8LN)
}
If (LEqual (PM4L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)
Store (Zero, D8RW)
}
If (PM4H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)
Store (Zero, DCLN)
}
If (LEqual (PM4H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)
Store (Zero, DCRW)
}
If (PM5L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)
Store (Zero, E0LN)
}
If (LEqual (PM5L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)
Store (Zero, E0RW)
}
If (PM5H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)
Store (Zero, E4LN)
}
If (LEqual (PM5H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)
Store (Zero, E4RW)
}
If (PM6L)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)
Store (Zero, E8LN)
}
If (LEqual (PM6L, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)
Store (Zero, E8RW)
}
If (PM6H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)
Store (Zero, ECLN)
}
If (LEqual (PM6H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)
Store (Zero, ECRW)
}
If (PM0H)
{
CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)
Store (Zero, F0LN)
}
If (LEqual (PM0H, 0x01))
{
CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)
Store (Zero, F0RW)
}
CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)
CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)
CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)
Multiply (0x02000000, \_SB.PCI0.MBUS.DRB3, M1MN)
Add (Subtract (M1MX, M1MN), 0x01, M1LN)
ShiftRight (And (\_SB.PCI0.LPC0.MTSE, 0x0380), 0x07, Local0)
If (And (Local0, 0x04))
{
CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M2MN)
CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M2MX)
CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M2LN)
Store (0xFED00000, M2MN)
Store (0xFED003FF, M2MX)
Store (0x0400, M2LN)
If (LEqual (Local0, 0x05))
{
Store (0xFED01000, M2MN)
Store (0xFED013FF, M2MX)
}
If (LEqual (Local0, 0x06))
{
Store (0xFED02000, M2MN)
Store (0xFED023FF, M2MX)
}
If (LEqual (Local0, 0x07))
{
Store (0xFED03000, M2MN)
Store (0xFED033FF, M2MX)
}
}
Return (BUF0)
}
Method (_PRT, 0, NotSerialized)
{
Return (Package (0x07)
{
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x00,
\_SB.PCI0.LPC0.LNKA,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x01,
\_SB.PCI0.LPC0.LNKD,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x02,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x03,
\_SB.PCI0.LPC0.LNKH,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x00,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
\_SB.PCI0.LPC0.LNKB,
0x00
}
})
}
Device (MBUS)
{
Name (_ADR, 0x01)
OperationRegion (MBUS, PCI_Config, 0x40, 0xC0)
Field (MBUS, DWordAcc, NoLock, Preserve)
{
DRB0, 8,
DRB1, 8,
DRB2, 8,
DRB3, 8
}
}
Device (AGP)
{
Name (_ADR, 0x00020000)
OperationRegion (VNVS, SystemMemory, 0x2DEECEB9, 0x00010004)
Field (VNVS, AnyAcc, Lock, Preserve)
{
RSIZ, 32,
RBUF, 524288
}
Name (SWIT, 0x01)
Name (CRTA, 0x01)
Name (LCDA, 0x01)
Name (TV0A, 0x01)
Name (TOGF, 0x02)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Name (_PSC, 0x00)
Method (_PS0, 0, NotSerialized)
{
Store (0x00, _PSC)
}
Method (_PS3, 0, NotSerialized)
{
Store (0x03, _PSC)
}
Method (_DOS, 1, NotSerialized)
{
Store (And (Arg0, 0x03), SWIT)
}
Method (_DOD, 0, NotSerialized)
{
Return (Package (0x06)
{
0x00010100,
0x00010200,
0x00010300,
0x00010400,
0x00010500,
0x00010600
})
}
Method (_ROM, 2, NotSerialized)
{
Store (Arg0, Local0)
Store (Arg1, Local1)
If (LGreater (Local1, 0x1000))
{
Store (0x1000, Local1)
}
If (LGreater (Add (Local0, Local1), RSIZ))
{
Store (0x00, Local0)
}
Multiply (Local0, 0x08, Local2)
Multiply (Local1, 0x08, Local3)
Name (ROM1, Buffer (RSIZ) {})
Name (ROM2, Buffer (Local1) {})
Store (RBUF, ROM1)
CreateField (ROM1, Local2, Local3, TMPB)
Store (TMPB, ROM2)
Return (ROM2)
}
Device (CRT)
{
Name (_ADR, 0x0100)
Method (_DCS, 0, NotSerialized)
{
If (CRTA)
{
Store (Or (CSTE, 0x0101), CSTE)
Return (0x1F)
}
Else
{
Store (And (CSTE, 0xFEFE), CSTE)
Return (0x1D)
}
}
Method (_DGS, 0, NotSerialized)
{
If (CRTA)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_DSS, 1, NotSerialized)
{
Store ("CRT --_DSS", Debug)
}
}
Device (TV0)
{
Name (_ADR, 0x0200)
Method (_DCS, 0, NotSerialized)
{
If (TV0A)
{
Store (Or (CSTE, 0x0202), CSTE)
Return (0x1F)
}
Else
{
Store (And (CSTE, 0xFDFD), CSTE)
Return (0x1D)
}
}
Method (_DGS, 0, NotSerialized)
{
If (TV0A)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_DSS, 1, NotSerialized)
{
Store ("TV --_DSS", Debug)
}
}
Device (LCD)
{
Name (_ADR, 0x0400)
Method (_DCS, 0, NotSerialized)
{
If (LCDA)
{
Store (Or (CSTE, 0x0808), CSTE)
Return (0x1F)
}
Else
{
Store (And (CSTE, 0xF7F7), CSTE)
Return (0x1D)
}
}
Method (_DGS, 0, NotSerialized)
{
Store (LCDA, Local0)
If (LCDA)
{
Return (0x01)
}
Else
{
Return (0x00)
}
}
Method (_DSS, 1, NotSerialized)
{
Store ("LCD --_DSS", Debug)
}
}
Method (SWIH, 0, NotSerialized)
{
Store (0x03, Local0)
If (LEqual (Local0, 0x03))
{
Increment (TOGF)
Store (TOGF, Local1)
If (LEqual (Local1, 0x01))
{
Store (One, LCDA)
Store (Zero, CRTA)
Store (Zero, TV0A)
}
Else
{
If (LEqual (Local1, 0x02))
{
Store (Zero, LCDA)
Store (One, CRTA)
Store (Zero, TV0A)
}
Else
{
If (LEqual (Local1, 0x03))
{
Store (One, LCDA)
Store (One, CRTA)
Store (Zero, TV0A)
}
Else
{
Store (One, TOGF)
Store (One, LCDA)
Store (Zero, CRTA)
Store (Zero, TV0A)
}
}
}
}
Notify (\_SB.PCI0.AGP, 0x80)
}
Method (GETD, 0, NotSerialized)
{
Store (\_SB.DISD, Local0)
If (LEqual (Local0, 0x01))
{
Store (0x03, TOGF)
}
Else
{
If (LEqual (Local0, 0x02))
{
Store (0x01, TOGF)
}
Else
{
If (LEqual (Local0, 0x03))
{
Store (0x02, TOGF)
}
Else
{
Store (0x00, TOGF)
}
}
}
}
}
Device (PCIB)
{
Name (_ADR, 0x001E0000)
Device (GLAN)
{
Name (_ADR, 0x00020000)
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
}
Device (MPCI)
{
Name (_ADR, 0x00040000)
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
}
Device (T394)
{
Name (_ADR, 0x00070000)
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
}
Method (_PRT, 0, NotSerialized)
{
Return (Package (0x05)
{
Package (0x04)
{
0x0002FFFF,
0x00,
\_SB.PCI0.LPC0.LNKD,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
\_SB.PCI0.LPC0.LNKE,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
\_SB.PCI0.LPC0.LNKF,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
\_SB.PCI0.LPC0.LNKC,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x00,
\_SB.PCI0.LPC0.LNKB,
0x00
}
})
}
}
Device (LPC0)
{
Name (_ADR, 0x001F0000)
Method (DECD, 4, NotSerialized)
{
Store (Arg0, Debug)
}
OperationRegion (REGS, PCI_Config, 0x40, 0xC0)
Field (REGS, DWordAcc, NoLock, Preserve)
{
PMBA, 16,
Offset (0x18),
GPBA, 16,
Offset (0x90),
POSD, 1,
Offset (0x91),
MTSE, 16,
Offset (0x94),
Offset (0xA0),
CMAD, 3,
, 1,
CMBD, 3,
Offset (0xA1),
LPTD, 2,
, 2,
FDDD, 1,
Offset (0xA6),
ECO1, 1,
ECO2, 1,
ELPT, 1,
EFDD, 1
}
OperationRegion (PIRX, PCI_Config, 0x60, 0x0C)
Field (PIRX, DWordAcc, NoLock, Preserve)
{
AccessAs (ByteAcc, 0x00),
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8,
Offset (0x08),
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8
}
Device (TIMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x10, // Alignment
0x04, // Length
)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x10, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
Method (_CRS, 0, Serialized)
{
If (And (MTSE, 0x0200))
{
Return (BUF0)
}
Return (BUF1)
}
}
Device (IPIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0024, // Range Minimum
0x0024, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0028, // Range Minimum
0x0028, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002C, // Range Minimum
0x002C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0030, // Range Minimum
0x0030, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0034, // Range Minimum
0x0034, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0038, // Range Minimum
0x0038, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x003C, // Range Minimum
0x003C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A4, // Range Minimum
0x00A4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A8, // Range Minimum
0x00A8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00AC, // Range Minimum
0x00AC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B4, // Range Minimum
0x00B4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B8, // Range Minimum
0x00B8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00BC, // Range Minimum
0x00BC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
})
Name (BUF1, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{8}
})
Method (_CRS, 0, Serialized)
{
If (And (MTSE, 0x0200))
{
Return (BUF0)
}
Return (BUF1)
}
}
Device (MATH)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{13}
})
}
Device (DMAC)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x01, // Alignment
0x0F, // Length
)
IO (Decode16,
0x0090, // Range Minimum
0x0090, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0093, // Range Minimum
0x0093, // Range Maximum
0x01, // Alignment
0x0D, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
DMA (Compatibility, NotBusMaster, Transfer8_16, )
{4}
})
}
Device (MBRD)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x1F)
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0010, // Range Minimum
0x0010, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0024, // Range Minimum
0x0024, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0028, // Range Minimum
0x0028, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002C, // Range Minimum
0x002C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x002E, // Range Minimum
0x002E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0030, // Range Minimum
0x0030, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0034, // Range Minimum
0x0034, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0038, // Range Minimum
0x0038, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x003C, // Range Minimum
0x003C, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0050, // Range Minimum
0x0050, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0063, // Range Minimum
0x0063, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0067, // Range Minimum
0x0067, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0072, // Range Minimum
0x0072, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0090, // Range Minimum
0x0090, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0092, // Range Minimum
0x0092, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x00A4, // Range Minimum
0x00A4, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A8, // Range Minimum
0x00A8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00AC, // Range Minimum
0x00AC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B0, // Range Minimum
0x00B0, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x00B2, // Range Minimum
0x00B2, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00B8, // Range Minimum
0x00B8, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00BC, // Range Minimum
0x00BC, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0600, // Range Minimum
0x0600, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0700, // Range Minimum
0x0700, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x1000, // Range Minimum
0x1000, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x1180, // Range Minimum
0x1180, // Range Maximum
0x01, // Alignment
0x40, // Length
)
IO (Decode16,
0x01C0, // Range Minimum
0x01C0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x004E, // Range Minimum
0x004E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0068, // Range Minimum
0x0068, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x006C, // Range Minimum
0x006C, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0xFE00, // Range Minimum
0xFE00, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0610, // Range Minimum
0x0610, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0068, // Range Minimum
0x0068, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x006C, // Range Minimum
0x006C, // Range Maximum
0x01, // Alignment
0x01, // Length
)
Memory32Fixed (ReadWrite,
0xFEC10000, // Address Base
0x00010000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFF800000, // Address Base
0x00400000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFFF00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x000A0000, // Address Length
)
Memory32Fixed (ReadOnly,
0x000E0000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00100000, // Address Base
0x00000000, // Address Length
)
})
}
Device (FWHD)
{
Name (_HID, EisaId ("INT0800"))
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFF800000, // Address Base
0x00800000, // Address Length
)
})
}
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (BUF0, ResourceTemplate ()
{
IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
_Y0F)
})
Method (_STA, 0, NotSerialized)
{
ShiftRight (And (MTSE, 0x0380), 0x07, Local0)
If (LEqual (OSYS, 0x07D1))
{
If (And (Local0, 0x04))
{
Return (0x0F)
}
}
Else
{
If (And (Local0, 0x04))
{
Return (0x0B)
}
}
Return (0x00)
}
Method (_CRS, 0, Serialized)
{
ShiftRight (And (MTSE, 0x0380), 0x07, Local0)
If (And (Local0, 0x04))
{
CreateDWordField (BUF0, \_SB.PCI0.LPC0.HPET._Y0F._BAS, HPT0)
If (LEqual (Local0, 0x05))
{
Store (0xFED01000, HPT0)
}
If (LEqual (Local0, 0x06))
{
Store (0xFED02000, HPT0)
}
If (LEqual (Local0, 0x07))
{
Store (0xFED03000, HPT0)
}
}
Return (BUF0)
}
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRA)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
})
Method (_CRS, 0, Serialized)
{
Name (RTLA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y10)
{}
})
CreateWordField (RTLA, \_SB.PCI0.LPC0.LNKA._CRS._Y10._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRA, 0x0F), IRQ0)
Return (RTLA)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
Method (_STA, 0, Serialized)
{
If (And (PIRA, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRB)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y11)
{}
})
CreateWordField (RTLB, \_SB.PCI0.LPC0.LNKB._CRS._Y11._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRB, 0x0F), IRQ0)
Return (RTLB)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRB)
}
Method (_STA, 0, Serialized)
{
If (And (PIRB, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRC)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y12)
{}
})
CreateWordField (RTLC, \_SB.PCI0.LPC0.LNKC._CRS._Y12._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRC, 0x0F), IRQ0)
Return (RTLC)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRC)
}
Method (_STA, 0, Serialized)
{
If (And (PIRC, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRD)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y13)
{}
})
CreateWordField (RTLD, \_SB.PCI0.LPC0.LNKD._CRS._Y13._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRD, 0x0F), IRQ0)
Return (RTLD)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRD)
}
Method (_STA, 0, Serialized)
{
If (And (PIRD, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRE)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y14)
{}
})
CreateWordField (RTLE, \_SB.PCI0.LPC0.LNKE._CRS._Y14._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRE, 0x0F), IRQ0)
Return (RTLE)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRE)
}
Method (_STA, 0, Serialized)
{
If (And (PIRE, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRF)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y15)
{}
})
CreateWordField (RTLF, \_SB.PCI0.LPC0.LNKF._CRS._Y15._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRF, 0x0F), IRQ0)
Return (RTLF)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRF)
}
Method (_STA, 0, Serialized)
{
If (And (PIRF, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRG)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{11}
})
Method (_CRS, 0, Serialized)
{
Name (RTLG, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y16)
{}
})
CreateWordField (RTLG, \_SB.PCI0.LPC0.LNKG._CRS._Y16._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRG, 0x0F), IRQ0)
Return (RTLG)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRG)
}
Method (_STA, 0, Serialized)
{
If (And (PIRG, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_DIS, 0, Serialized)
{
Store (0x80, PIRH)
}
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{10}
})
Method (_CRS, 0, Serialized)
{
Name (RTLH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _Y17)
{}
})
CreateWordField (RTLH, \_SB.PCI0.LPC0.LNKH._CRS._Y17._INT, IRQ0)
Store (Zero, IRQ0)
ShiftLeft (0x01, And (PIRH, 0x0F), IRQ0)
Return (RTLH)
}
Method (_SRS, 1, Serialized)
{
CreateWordField (Arg0, 0x01, IRQ0)
FindSetRightBit (IRQ0, Local0)
Decrement (Local0)
Store (Local0, PIRH)
}
Method (_STA, 0, Serialized)
{
If (And (PIRH, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
}
OperationRegion (GPOX, SystemIO, 0x1180, 0x40)
Field (GPOX, DWordAcc, Lock, Preserve)
{
Offset (0x07),
, 1,
IO25, 1,
, 1,
IO27, 1,
Offset (0x0E),
LV16, 1,
LV17, 1,
Offset (0x0F),
, 1,
LV25, 1,
, 1,
LV27, 1,
Offset (0x1B),
, 1,
BL25, 1,
, 1,
BL27, 1,
Offset (0x38),
RBID, 2,
LV34, 1,
LV35, 1,
LV36, 1,
LV37, 1,
LV38, 1,
LV39, 1
}
OperationRegion (PMIO, SystemIO, 0x1000, 0x51)
Field (PMIO, WordAcc, Lock, Preserve)
{
AccessAs (DWordAcc, 0x00),
Offset (0x29),
, 3,
PMES, 1,
Offset (0x2B),
, 3,
PMEE, 1,
Offset (0x2C),
GPI0, 1,
GPI1, 1,
GPI2, 1,
GPI3, 1,
GPI4, 1,
GPI5, 1,
GPI6, 1,
GPI7, 1,
GPI8, 1,
GPI9, 1,
GPIA, 1,
GPIB, 1,
GPIC, 1,
GPID, 1,
GPIE, 1,
GPIF, 1,
, 6,
GPEE, 1
}
Device (KBC)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{1}
})
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
Device (MOUE)
{
Name (_HID, EisaId ("IBM3780"))
Name (_CID, 0x130FD041)
Name (_CRS, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Method (_STA, 0, NotSerialized)
{
If (LEqual (SizeOf (\_OS), 0x14))
{
Return (0x00)
}
Else
{
If (PS2F)
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
}
}
Device (MOU2)
{
Name (_HID, EisaId ("PNP0F13"))
Name (_CRS, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Method (_STA, 0, NotSerialized)
{
If (LEqual (SizeOf (\_OS), 0x14))
{
If (PS2F)
{
Store (PS2F, Local0)
Store (Local0, P80H)
Return (0x0F)
}
Else
{
Store (PS2F, Local0)
Store (Local0, P80H)
Return (0x00)
}
}
Else
{
Store (PS2F, Local0)
Store (Local0, P80H)
Return (0x00)
}
}
}
Device (SIO)
{
Name (_HID, EisaId ("PNP0A05"))
OperationRegion (SIIO, SystemIO, 0x4E, 0x02)
Field (SIIO, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
Mutex (N393, 0x00)
Method (SETD, 1, Serialized)
{
Store (0x07, INDX)
Store (Arg0, DATA)
}
Method (READ, 1, Serialized)
{
Store (Arg0, INDX)
Store (DATA, Local0)
Return (Local0)
}
Method (WRIT, 2, Serialized)
{
Store (Arg0, INDX)
Store (Arg1, DATA)
}
Method (LDRS, 3, NotSerialized)
{
Acquire (N393, 0xFFFF)
Store (0x07, INDX)
Store (Arg0, DATA)
Store (Arg1, INDX)
Store (Arg2, DATA)
Release (N393)
}
Method (LDRG, 2, NotSerialized)
{
Acquire (N393, 0xFFFF)
Store (0x07, INDX)
Store (Arg0, DATA)
Store (Arg1, INDX)
Store (DATA, Local0)
Release (N393)
Return (Local0)
}
Method (RCF6, 1, NotSerialized)
{
Acquire (N393, 0xFFFF)
Store (0x26, INDX)
Store (DATA, Local0)
And (Local0, Arg0, Local0)
Release (N393)
Return (XOr (Local0, Arg0))
}
Method (PDRS, 2, NotSerialized)
{
If (\_SB.PCI0.LPC0.POSD)
{
If (LEqual (Arg0, 0x00))
{
If (LEqual (Arg1, 0x03F0))
{
Store (0x00, Local0)
}
Else
{
If (LEqual (Arg1, 0x0370))
{
Store (0x01, Local0)
}
}
Store (Local0, \_SB.PCI0.LPC0.FDDD)
}
Else
{
If (LEqual (Arg0, 0x01))
{
If (LEqual (Arg1, 0x0378))
{
Store (0x00, Local0)
}
Else
{
If (LEqual (Arg1, 0x0278))
{
Store (0x01, Local0)
}
Else
{
If (LEqual (Arg1, 0x03BC))
{
Store (0x02, Local0)
}
}
}
Store (Local0, \_SB.PCI0.LPC0.LPTD)
}
Else
{
If (LEqual (Arg1, 0x03F8))
{
Store (0x00, Local0)
}
Else
{
If (LEqual (Arg1, 0x02F8))
{
Store (0x01, Local0)
}
Else
{
If (LEqual (Arg1, 0x0220))
{
Store (0x02, Local0)
}
Else
{
If (LEqual (Arg1, 0x0228))
{
Store (0x03, Local0)
}
Else
{
If (LEqual (Arg1, 0x0238))
{
Store (0x04, Local0)
}
Else
{
If (LEqual (Arg1, 0x02E8))
{
Store (0x05, Local0)
}
Else
{
If (LEqual (Arg1, 0x0338))
{
Store (0x06, Local0)
}
Else
{
If (LEqual (Arg1, 0x03E8))
{
Store (0x07, Local0)
}
}
}
}
}
}
}
}
If (LEqual (Arg0, 0x02))
{
Store (Local0, \_SB.PCI0.LPC0.CMBD)
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store (Local0, \_SB.PCI0.LPC0.CMAD)
}
}
}
}
Return (0x01)
}
Else
{
Return (0x00)
}
}
Device (ECP)
{
Name (_HID, EisaId ("PNP0401"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
Store (LDRG (0x01, 0xF0), Local0)
ShiftRight (Local0, 0x05, Local0)
If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x04), LEqual (Local0,
0x07))))
{
ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
Add (0x0D, Local1, Local1)
Return (Local1)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized)
{
LDRS (0x01, 0x30, 0x01)
}
Method (_PS3, 0, NotSerialized)
{
LDRS (0x01, 0x30, 0x00)
}
Method (_PRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1}
}
EndDependentFn ()
})
}
Method (_DIS, 0, NotSerialized)
{
LDRS (0x01, 0x30, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
Name (DCRS, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
})
Store (LDRG (0x01, 0x60), Local1)
Store (LDRG (0x01, 0x61), Local0)
Store (Local0, Index (DCRS, 0x02))
Store (Local0, Index (DCRS, 0x0A))
Store (Local0, Index (DCRS, 0x04))
Store (Local0, Index (DCRS, 0x0C))
Store (Local1, Index (DCRS, 0x03))
Store (Local1, Index (DCRS, 0x05))
Add (Local1, 0x04, Local1)
Store (Local1, Index (DCRS, 0x0B))
Store (Local1, Index (DCRS, 0x0D))
ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
Store (Local0, Index (DCRS, 0x11))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x12))
ShiftLeft (0x01, LDRG (0x01, 0x74), Local0)
Store (Local0, Index (DCRS, 0x14))
ShiftRight (Local0, 0x08, Local1)
Store (Local1, Index (DCRS, 0x15))
Return (DCRS)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, ADRL)
CreateByteField (Arg0, 0x03, ADRM)
CreateWordField (Arg0, 0x11, IRQM)
CreateWordField (Arg0, 0x14, DMAM)
FindSetRightBit (IRQM, Local0)
Decrement (Local0)
FindSetRightBit (DMAM, Local1)
Decrement (Local1)
LDRS (0x01, 0x70, Local0)
LDRS (0x01, 0x74, Local1)
LDRS (0x01, 0x60, ADRM)
LDRS (0x01, 0x61, ADRL)
LDRS (0x01, 0x30, 0x01)
}
}
Device (EPP)
{
Name (_HID, EisaId ("PNP0400"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
Store (LDRG (0x01, 0xF0), Local0)
ShiftRight (Local0, 0x05, Local0)
If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x02), LEqual (Local0,
0x03))))
{
ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
Add (0x0D, Local1, Local1)
Return (Local1)
}
Else
{
Return (0x00)
}
}
Method (_PS0, 0, NotSerialized)
{
LDRS (0x01, 0x30, 0x01)
}
Method (_PS3, 0, NotSerialized)
{
LDRS (0x01, 0x30, 0x00)
}
Method (_PRS, 0, NotSerialized)
{
Return (ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFnNoPri ()