* Re: [AML] _OSI
[not found] ` <3ED691B2.8020609-L693kI9kcNY@public.gmane.org>
@ 2003-05-29 23:42 ` Ortwin Glück
[not found] ` <3ED69AF7.8020103-L693kI9kcNY@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Ortwin Glück @ 2003-05-29 23:42 UTC (permalink / raw)
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
[-- Attachment #1: Type: text/plain, Size: 387 bytes --]
Okay, I just included some Debug statement into my DSDT.
Findings:
_OSI is not supported.
\_OS_ equals "Linux"
Follows:
Some sections in my DSDT (see attachment) are not executed on Linux.
This is the (decompiled and fixed) DSDT of an Acer TM630.
Isn't it a strange world where the BIOS is specific to an OS? And I
thought the OS should adapt to the hardware and not vice versa...
[-- Attachment #2: dsdt.asl --]
[-- Type: text/plain, Size: 96205 bytes --]
/*
RSD PTR: Checksum=34, OEMID=PTLTD, RsdtAddress=0x1fefa663
*/
/*
RSDT: Length=48, Revision=1, Checksum=0,
OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x6040000,
Creator ID= LTP, Creator Revision=0x0
*/
/*
Entries={ 0x1fefeeaf, 0x1fefef23, 0x1fefef4b }
*/
/*
DSDT=0x1fefa693
INT_MODEL=PIC
SCI_INT=9
SMI_CMD=0xb1, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0xf2
PM1a_EVT_BLK=0x8000-0x8003
PM1a_CNT_BLK=0xfe10-0xfe11
PM2_CNT_BLK=0x8030-0x8030
PM2_TMR_BLK=0x8008-0x800b
PM2_GPE0_BLK=0x8018-0x8027
P_LVL2_LAT=20ms, P_LVL3_LAT=200ms
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=3
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4,TMR_VAL_EXT}
*/
/*
DSDT: Length=18460, Revision=1, Checksum=96,
OEMID=ALI, OEM Table ID=M1533, OEM Revision=0x6040000,
Creator ID=MSFT, Creator Revision=0x100000d
*/
DefinitionBlock (
"acpi_dsdt.aml", //Output filename
"DSDT", //Signature
0x1, //DSDT Revision
"ALI", //OEMID
"M1533", //TABLE ID
0x6040000 //OEM Revision
)
{
Name(BBLO, 0x0)
Name(OSTP, 0x7)
Method(OSCP, 2) {
If(LNot(LEqual(SizeOf(Arg0), SizeOf(Arg1)))) {
Return(0x0)
}
Add(SizeOf(Arg0), One, Local0)
Name(TMB0, Buffer(Local0) { })
Name(TMB1, Buffer(Local0) { })
Store(Arg0, TMB0)
Store(Arg1, TMB1)
While(Local0) {
Decrement(Local0)
If(LNot(LEqual(DerefOf(Index(TMB0, Local0, )), DerefOf(Index(TMB1, Local0, ))))) {
Return(0x0)
}
}
Return(0x1)
}
Scope(_PR_) {
Processor(CPU0, 1, 0x8010, 0x6) {
}
}
OperationRegion(DBG1, SystemIO, 0x80, 0x1)
Field(DBG1, ByteAcc, NoLock, Preserve) {
PX80, 8
}
Name(_S0_, Package(0x2) {
0x0,
0x0,
})
Name(_S3_, Package(0x2) {
0x3,
0x3,
})
Name(_S4_, Package(0x2) {
0x4,
0x4,
})
Name(_S5_, Package(0x2) {
0x5,
0x5,
})
Method(_PTS, 1) {
If(LEqual(Arg0, 0x3)) {
If(LOr(LEqual(OSTP, 0x0), LEqual(OSTP, 0x2))) {
Store(0x8e, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
}
}
If(LEqual(Arg0, 0x4)) {
Store(0x5, BBLO)
}
If(LEqual(Arg0, 0x5)) {
Store(0x5, PX80)
Store(0x8b, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
}
}
Method(_WAK, 1) {
\_GPE._L26()
Store(0x4, \_SB_.PCI0.PM__.R0B1)
If(LEqual(Arg0, 0x4)) {
Notify(\_SB_.PWRB, 0x2)
}
Return(Package(0x02){0x00, 0x00})
}
Scope(_SI_) {
Method(_SST, 1) {
If(LEqual(Arg0, 0x1)) {
Store("===== SST Working =====", Debug)
}
If(LEqual(Arg0, 0x2)) {
Store("===== SST Waking =====", Debug)
}
If(LEqual(Arg0, 0x3)) {
Store("===== SST Sleeping =====", Debug)
}
If(LEqual(Arg0, 0x4)) {
Store("===== SST Sleeping S4 =====", Debug)
}
}
}
Scope(\_GPE) {
Mutex(GLCK, 0)
Method(_L00) {
Notify(\_SB_.SLPB, 0x2)
}
Method(_L01) {
And(\_SB_.PCI0.PM__.R088, 0x2, Local0)
If(LEqual(Local0, 0x2)) {
Store(0x1, \_SB_.LID_.LIDS)
Store(\_SB_.PCI0.PM__.R084, Local1)
And(Local1, 0xf, Local2)
Or(Local2, 0x30, Local2)
Store(Local2, \_SB_.PCI0.PM__.R084)
Notify(\_SB_.LID_, 0x2)
Notify(\_SB_.PWRB, 0x2)
}
Else {
Store(0x0, \_SB_.LID_.LIDS)
Store(\_SB_.PCI0.PM__.R084, Local1)
And(Local1, 0xf, Local2)
Or(Local2, 0x50, Local2)
Store(Local2, \_SB_.PCI0.PM__.R084)
}
Notify(\_SB_.LID_, 0x80)
}
Method(_L26) {
If(LOr(LEqual(OSTP, 0x0), LEqual(OSTP, 0x2))) {
Sleep(0x03e8)
Notify(\_SB_.PCI0.IDE_.SECN.MAST, 0x0)
Notify(\_SB_.PCI0.IDE_.SECN.SLAV, 0x0)
Sleep(0x64)
Notify(\_SB_.PCI0.IDE_.SECN.MAST, 0x1)
Notify(\_SB_.PCI0.IDE_.SECN.SLAV, 0x1)
}
Else {
Acquire(\_SB_.PCI0.ISA_.EC__.MUT0, 0xffff)
Store(0xb, \_SB_.PCI0.ISA_.EC__.DAT1)
Store(0xc5, \_SB_.PCI0.ISA_.EC__.CMCD)
Sleep(0x64)
And(\_SB_.PCI0.ISA_.EC__.DAT1, 0x1, Local0)
Store(0x1e, \_SB_.PCI0.ISA_.EC__.DAT1)
Store(0xc5, \_SB_.PCI0.ISA_.EC__.CMCD)
Sleep(0x64)
And(\_SB_.PCI0.ISA_.EC__.DAT1, 0x1, Local1)
ShiftLeft(Local1, 0x1, Local1)
Or(Local0, Local1, Local0)
Release(\_SB_.PCI0.ISA_.EC__.MUT0)
Sleep(0x32)
If(LEqual(Local0, 0x3)) {
Store(0x0, \_SB_.PCI0.ISA_.SSIG)
And(\_SB_.PCI0.PM__.R09D, 0xf7, \_SB_.PCI0.PM__.R09D)
}
If(LEqual(Local0, 0x2)) {
Store(0x0, \_SB_.PCI0.ISA_.SSIG)
And(\_SB_.PCI0.PM__.R09D, 0xf7, \_SB_.PCI0.PM__.R09D)
}
If(LEqual(Local0, 0x0)) {
Store(0x1, \_SB_.PCI0.ISA_.SSIG)
Or(\_SB_.PCI0.PM__.R09D, 0x8, \_SB_.PCI0.PM__.R09D)
}
If(LEqual(Local0, 0x1)) {
Store(0x1, \_SB_.PCI0.ISA_.SSIG)
Or(\_SB_.PCI0.PM__.R09D, 0x8, \_SB_.PCI0.PM__.R09D)
}
Sleep(0xc8)
Notify(\_SB_.PCI0.ISA_.FDC_, 0x0)
Notify(\_SB_.PCI0.IDE_.SECN.MAST, 0x0)
Sleep(0xc8)
Notify(\_SB_.PCI0.ISA_.FDC_, 0x1)
Notify(\_SB_.PCI0.IDE_.SECN.MAST, 0x1)
}
}
Method(_L30) {
Acquire(\_GPE.GLCK, 0xffff)
Store("----------------- Thermal event -------------------", Debug)
Store(0x81, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Store(\_SB_.PCI0.ISA_.INF_, Local0)
Store(Local0, Debug)
If(Local0) {
Notify(\_TZ_.THRS, 0x80)
Notify(\_TZ_.THRC, 0x80)
}
Release(\_GPE.GLCK)
}
Method(_L09) {
Store("---- PMEJ event -----", Debug)
Notify(\_SB_.PCI0.CRD0, 0x0)
Notify(\_SB_.PCI0.CRD0, 0x2)
Notify(\_SB_.PCI0.MDM_, 0x0)
Notify(\_SB_.PCI0.MDM_, 0x2)
Notify(\_SB_.PCI0.LAN_, 0x0)
}
Method(_L21) {
Store(0x89, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Store(\_SB_.PCI0.PM__.R08F, Local1)
And(Local1, 0x9f, Local1)
And(\_SB_.PCI0.PM__.R098, 0x2, Local0)
If(Local0) {
Or(Local1, 0x30, Local1)
}
Else {
Or(Local1, 0x50, Local1)
}
Store(Local1, \_SB_.PCI0.PM__.R08F)
Store(0x82, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Notify(\_SB_.BAT0, 0x80)
Notify(\_SB_.AC__, 0x80)
}
Method(_L03) {
Notify(\_SB_.BAT0, 0x80)
}
}
Scope(_TZ_) {
Name(TBSE, 0x0aac)
Name(DCRT, 0x0dcc)
ThermalZone(THRS) {
Method(_TMP) {
Store("SYST of _TMP =", Debug)
Store(0x80, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Store(\_SB_.PCI0.ISA_.INF_, Local0)
Store(Local0, Debug)
And(Local0, 0x80, Local1)
If(LEqual(Local1, 0x80)) {
Store(0x1e, Local0)
}
Else {
If(LNot(LGreater(Local0, 0x10))) {
Store(0x11, Local0)
}
}
Return(Add(Multiply(Local0, 0xa, ), TBSE, ))
}
Method(_CRT) {
Store("SYS T5 _CRT =", Debug)
Store(0x83, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Store(\_SB_.PCI0.ISA_.INF_, Local0)
Store(Local0, Debug)
Return(Add(Multiply(Local0, 0xa, ), TBSE, ))
}
Method(_SCP, 1) {
Store("_SCP", Debug)
}
Name(_PSL, Package(0x1) {
\_PR_.CPU0,
})
Method(_PSV) {
Store("SYS T4 _CRT =", Debug)
Store(0x87, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Store(\_SB_.PCI0.ISA_.INF_, Local0)
Store(Local0, Debug)
Return(Add(Multiply(Local0, 0xa, ), TBSE, ))
}
Name(_TC1, 0x2)
Name(_TC2, 0x5)
Name(_TSP, 0x012c)
}
ThermalZone(THRC) {
Method(_TMP) {
Store("CPU _TMP =", Debug)
Store(0x85, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Store(\_SB_.PCI0.ISA_.INF_, Local0)
Store(Local0, Debug)
And(Local0, 0x80, Local1)
If(LEqual(Local1, 0x80)) {
Store(0x1e, Local0)
}
Else {
If(LNot(LGreater(Local0, 0x10))) {
Store(0x11, Local0)
}
}
Return(Add(Multiply(Local0, 0xa, ), TBSE, ))
}
Method(_CRT) {
Store("CPU T5 _CRT =", Debug)
Store(0x86, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Store(\_SB_.PCI0.ISA_.INF_, Local0)
Store(Local0, Debug)
Return(Add(Multiply(Local0, 0xa, ), TBSE, ))
}
Method(_SCP, 1) {
Store("_SCP", Debug)
}
Name(_PSL, Package(0x1) {
\_PR_.CPU0,
})
Method(_PSV) {
Store("CPU T4 _CRT =", Debug)
Store(0x88, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Store(\_SB_.PCI0.ISA_.INF_, Local0)
Store(Local0, Debug)
Return(Add(Multiply(Local0, 0xa, ), TBSE, ))
}
Name(_TC1, 0x2)
Name(_TC2, 0x5)
Name(_TSP, 0x012c)
}
}
Scope(_SB_) {
Method(_INI) {
If(CondRefOf(_OSI, Local0)) {
If(\_OSI("Windows 2001")) {
Store(0x3, OSTP)
Store(0x8c, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Store("Detected Windows XP", Debug)
}
Else {
Store("unsupported OSI capable OS", Debug)
}
}
Else {
If(OSCP(\_OS_, "Microsoft Windows")) {
Store(0x0, OSTP)
}
If(OSCP(\_OS_, "Microsoft Windows NT")) {
Store(0x1, OSTP)
}
If(OSCP(\_OS_, "Microsoft WindowsME: Millennium Edition")) {
Store(0x2, OSTP)
}
Store("Detected:", Debug)
Store(\_OS_, Debug)
}
}
Device(PWRB) {
Name(_HID, 0x0c0cd041)
}
Device(SLPB) {
Name(_HID, 0x0e0cd041)
Name(_PRW, Package(0x2) {
0x0,
0x3,
})
}
Device(LID_) {
Name(_HID, 0x0d0cd041)
Name(LIDS, 0x1)
Method(_LID) {
Store(LIDS, Local1)
If(Local1) {
Return(0x1)
}
Else {
Return(0x0)
}
}
Name(_PRW, Package(0x2) {
0x1,
0x3,
})
}
Device(BAT0) {
Name(_HID, 0x0a0cd041)
Name(_PCL, Package(0x1) {
\_SB_,
})
Name(BP__, 0x1)
Name(IBP_, 0x0)
Name(PSTA, 0x1f)
Name(CHAR, 0x1)
Method(VTOB, 1) {
Store(0x1, Local0)
ShiftLeft(Local0, Arg0, Local0)
Return(Local0)
}
Method(BTOV, 1) {
ShiftRight(Arg0, 0x1, Local0)
Store(0x0, Local1)
While(Local0) {
Increment(Local1)
ShiftRight(Local0, 0x1, Local0)
}
Return(Local1)
}
Method(MKWD, 2) {
If(And(Arg1, 0x80, )) {
Store(0xffff0000, Local0)
}
Else {
Store(Zero, Local0)
}
Or(Local0, Arg0, Local0)
Or(Local0, ShiftLeft(Arg1, 0x8, ), Local0)
Return(Local0)
}
Method(GBFE, 3) {
CreateByteField(Arg0, Arg1, TIDX)
Store(TIDX, Arg2)
}
Method(PBFE, 3) {
CreateByteField(Arg0, Arg1, TIDX)
Store(Arg2, TIDX)
}
Method(ITOS, 1) {
Store(Buffer(0x9) {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0 }, Local0)
Store(Buffer(0x11) {0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x0 }, Local7)
Store(0x8, Local1)
Store(0x0, Local2)
Store(0x0, Local3)
While(Local1) {
Decrement(Local1)
And(ShiftRight(Arg0, ShiftLeft(Local1, 0x2, ), ), 0xf, Local4)
If(Local4) {
Store(Ones, Local3)
}
If(Local3) {
GBFE(Local7, Local4, RefOf(Local5))
PBFE(Local0, Local2, Local5)
Increment(Local2)
}
}
Return(Local0)
}
Name(PBIF, Package(0xd) {
0x1,
0xffffffff,
0xffffffff,
0x1,
0xffffffff,
0x1e,
0x14,
0xa,
0x0d8e,
"BAT0",
" ",
" ",
"ACER",
})
Name(PBST, Package(0x4) {
0x0,
0xffffffff,
0xffffffff,
0x39d0,
})
Name(UBIF, 0x01e9)
Name(SMBF, Zero)
Method(_STA) {
If(\_SB_.PCI0.ISA_.EC__.ECOK) {
If(LEqual(\_SB_.PCI0.ISA_.EC__.P60_, 0x1)) {
Return(0xf)
}
Else {
Return(0x1f)
}
}
Else {
Return(0xf)
}
}
Method(_BIF) {
If(\_SB_.PCI0.ISA_.EC__.ECOK) {
If(LEqual(\_SB_.PCI0.ISA_.EC__.P60_, 0x1)) {
IVBI()
}
Else {
UPBI()
}
}
Else {
IVBI()
}
Store("BAT0_BIF_RETURN:", Debug)
Return(PBIF)
}
Method(_BST) {
If(\_SB_.PCI0.ISA_.EC__.ECOK) {
If(LEqual(\_SB_.PCI0.ISA_.EC__.P60_, 0x1)) {
IVBS()
}
Else {
UPBS()
}
}
Else {
IVBS()
}
Store("BAT0_BST_RETURN:", Debug)
Return(PBST)
}
Method(IVBI) {
Store(0x01e9, UBIF)
Store(0xffffffff, Index(PBIF, 0x1, ))
Store(0xffffffff, Index(PBIF, 0x2, ))
Store(0xffffffff, Index(PBIF, 0x4, ))
Store("Bad", Index(PBIF, 0x9, ))
Store("Bad", Index(PBIF, 0xa, ))
Store("Bad", Index(PBIF, 0xb, ))
Store("Bad", Index(PBIF, 0xc, ))
}
Method(IVBS) {
Store(Zero, Index(PBST, 0x0, ))
Store(0xffffffff, Index(PBST, 0x1, ))
Store(0xffffffff, Index(PBST, 0x2, ))
Store(0xffffffff, Index(PBST, 0x3, ))
}
Method(UPBI) {
Store(0x0f50, Index(PBIF, 0x1, ))
Store(0x0f50, Index(PBIF, 0x2, ))
Store(0x39d0, Index(PBIF, 0x4, ))
Store(0x1e, Index(PBIF, 0x5, ))
Store(0x14, Index(PBIF, 0x6, ))
Store(0xa, Index(PBIF, 0x7, ))
Store(0x0d8e, Index(PBIF, 0x8, ))
Store("Bat0", Index(PBIF, 0x9, ))
Store(" ", Index(PBIF, 0xa, ))
Store("Lion", Index(PBIF, 0xb, ))
Store("Acer", Index(PBIF, 0xc, ))
}
Method(UPBS) {
Store(0x84, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Store(\_SB_.PCI0.ISA_.INF_, Local0)
If(LEqual(Local0, 0x0)) {
If(LGreater(BBLO, 0x0)) {
Store(0x64, Local0)
Decrement(BBLO)
}
}
And(\_SB_.PCI0.PM__.R098, 0x2, Local1)
If(LEqual(Local1, 0x2)) {
If(LNot(LLess(Local0, 0x63))) {
Store(0x1, Index(PBST, 0x0, ))
Store(0x64, Local0)
}
Else {
Store(0x2, Index(PBST, 0x0, ))
}
}
Else {
If(LNot(LGreater(Local0, 0x3))) {
Store(0x5, Index(PBST, 0x0, ))
}
Else {
Store(0x1, Index(PBST, 0x0, ))
}
}
Multiply(Local0, 0x28, Local2)
Store(0xffffffff, Index(PBST, 0x1, ))
Store(Local2, Index(PBST, 0x2, ))
Store(0x39d0, Index(PBST, 0x3, ))
}
Method(CHBP) {
Store(Zero, Local0)
If(LEqual(\_SB_.PCI0.ISA_.EC__.P60_, 0x1)) {
Store("--------------------------------BAT0 is not present", Debug)
If(BP__) {
Store("--------------------------------BAT0 is just disconnected", Debug)
Store(0x0, BP__)
IVBI()
IVBS()
Or(0x4, Local0, Local0)
}
}
Else {
If(BP__) {
Store("--------------------------------BAT0 is still present", Debug)
UPBI()
Or(0x1, Local0, Local0)
UPBS()
Or(0x2, Local0, Local0)
Store("------local0.0 = BAT0 PBIF modified-----", Debug)
Store(Local0, Debug)
Store("------local0.1 = BAT0 PBST modified-----", Debug)
}
Else {
Store("--------------------------------BAT0 just connect", Debug)
UPBI()
UPBS()
Store(0x1, BP__)
Or(0x5, Local0, Local0)
Store(0x01e9, UBIF)
}
}
Return(Local0)
}
Method(CHSM) {
If(LNot(\_SB_.PCI0.ISA_.EC__.SMRD(0x9, 0x16, 0xa, RefOf(Local5)))) {
Store(Zero, SMBF)
}
Else {
Store(One, SMBF)
}
}
}
Device(AC__) {
Name(_HID, "ACPI0003")
Name(_PCL, Package(0x1) {
\_SB_,
})
Method(_STA) {
Store("------------------------- AC_STA", Debug)
If(\_SB_.PCI0.ISA_.EC__.ECOK) {
\_SB_.PCI0.ISA_.EC__.BPOL()
If(LEqual(\_SB_.PCI0.ISA_.EC__.P60_, 0x1)) {
Store(0x88, \_SB_.PCI0.ISA_.EC__.P60S)
}
Else {
Store(0x98, \_SB_.PCI0.ISA_.EC__.P60S)
}
Store(0x80, \_SB_.PCI0.ISA_.EC__.P60T)
}
Return(0xf)
}
Name(ACFG, 0x0)
Name(ACP_, 0x1)
Method(_PSR) {
Store(ACP_, Local1)
Store(And(\_SB_.PCI0.PM__.R098, 0x2, ), Local1)
If(Local1) {
Store("--------------------------------------- AC Present ", Debug)
Return(0x1)
}
Else {
Store("--------------------------------------- AC Non-present", Debug)
Return(0x0)
}
}
Method(CHAC) {
Store(And(\_SB_.PCI0.PM__.R098, 0x2, ), Local0)
If(Local0) {
Store(0x1, Local0)
}
Store(One, Local0)
If(LNot(LEqual(Local0, ACP_))) {
Store("--------------------------------------- Access CHAC", Debug)
Store(Local0, ACP_)
Notify(\_SB_.AC__, 0x0)
Return(Ones)
}
Else {
Return(Zero)
}
}
Method(FLPA) {
Store("--------------------------------------- FLIP AC to Force", Debug)
If(ACP_) {
Store(0x0, ACP_)
}
Else {
Store(0x1, ACP_)
}
Notify(\_SB_.AC__, 0x0)
}
}
Device(PCI0) {
Name(_HID, 0x030ad041)
Name(_ADR, 0x0)
Method(_INI) {
If(CondRefOf(_OSI, Local0)) {
If(\_OSI("Windows 2001")) {
Store(0x3, OSTP)
Store(0x8c, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
}
}
Else {
If(OSCP(\_OS_, "Microsoft Windows")) {
Store(0x0, OSTP)
}
If(OSCP(\_OS_, "Microsoft Windows NT")) {
Store(0x1, OSTP)
}
If(OSCP(\_OS_, "Microsoft WindowsME: Millennium Edition")) {
Store(0x2, OSTP)
}
}
}
Name(_BBN, 0x0)
OperationRegion(REGS, PCI_Config, 0x90, 0x70)
Field(REGS, ByteAcc, NoLock, Preserve) {
SR90, 8,
SR91, 8,
SR92, 8,
SR93, 8,
Offset(0x6e),
SRFE, 8,
SRFF, 8
}
Name(RSRC, Buffer(0x01b7) {0x88, 0xe, 0x0, 0x2, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xe, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xe, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x88, 0xe, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x79, 0x0 })
Method(_CRS, 0, Serialized) {
CreateBitField(RSRC, 0x0188, C0RW)
CreateDWordField(RSRC, 0x42, C0LN)
Store(One, C0RW)
Store(0x4000, C0LN)
If(And(SR90, 0x1, )) {
Store(0x0, C0LN)
}
CreateBitField(RSRC, 0x0260, C4RW)
CreateDWordField(RSRC, 0x5d, C4LN)
Store(One, C4RW)
Store(0x4000, C4LN)
If(And(SR90, 0x4, )) {
Store(0x0, C4LN)
}
CreateBitField(RSRC, 0x0338, C8RW)
CreateDWordField(RSRC, 0x78, C8LN)
Store(One, C8RW)
Store(0x4000, C8LN)
If(And(SR90, 0x10, )) {
Store(0x0, C8LN)
}
CreateBitField(RSRC, 0x0410, CCRW)
CreateDWordField(RSRC, 0x93, CCLN)
Store(One, CCRW)
Store(0x4000, CCLN)
If(And(SR90, 0x40, )) {
Store(0x0, CCLN)
}
CreateBitField(RSRC, 0x04e8, D0RW)
CreateDWordField(RSRC, 0xae, D0LN)
Store(One, D0RW)
Store(0x4000, D0LN)
If(And(SR91, 0x1, )) {
Store(0x0, D0LN)
}
CreateBitField(RSRC, 0x05c0, D4RW)
CreateDWordField(RSRC, 0xc9, D4LN)
Store(One, D4RW)
Store(0x4000, D4LN)
If(And(SR91, 0x4, )) {
Store(0x0, D4LN)
}
CreateBitField(RSRC, 0x0698, D8RW)
CreateDWordField(RSRC, 0xe4, D8LN)
Store(One, D8RW)
Store(0x4000, D8LN)
If(And(SR91, 0x10, )) {
Store(0x0, D8LN)
}
CreateBitField(RSRC, 0x0770, DCRW)
CreateDWordField(RSRC, 0xff, DCLN)
Store(One, DCRW)
Store(0x4000, DCLN)
If(And(SR91, 0x40, )) {
Store(0x0, DCLN)
}
CreateBitField(RSRC, 0x0848, E0RW)
CreateDWordField(RSRC, 0x011a, E0LN)
Store(One, E0RW)
Store(0x4000, E0LN)
If(And(SR92, 0x1, )) {
Store(0x0, E0LN)
}
CreateBitField(RSRC, 0x0920, E4RW)
CreateDWordField(RSRC, 0x0135, E4LN)
Store(One, E4RW)
Store(0x4000, E4LN)
If(And(SR92, 0x4, )) {
Store(0x0, E4LN)
}
CreateBitField(RSRC, 0x09f8, E8RW)
CreateDWordField(RSRC, 0x0150, E8LN)
Store(One, E8RW)
Store(0x4000, E8LN)
If(And(SR92, 0x10, )) {
Store(0x0, E8LN)
}
CreateBitField(RSRC, 0x0ad0, ECRW)
CreateDWordField(RSRC, 0x016b, ECLN)
Store(One, ECRW)
Store(0x4000, ECLN)
If(And(SR92, 0x40, )) {
Store(0x0, ECLN)
}
CreateDWordField(RSRC, 0x017a, BTMN)
CreateDWordField(RSRC, 0x0186, BTLN)
Multiply(SRFE, 0x00100000, Local0)
Multiply(SRFF, 0x10000000, Local1)
Add(Local0, Local1, BTMN)
Add(Not(BTMN, ), 0x1, BTLN)
Return(RSRC)
}
Method(_STA) {
Return(0xf)
}
Name(_PRT, Package(0xe) {
Package(0x4) {
0x0001ffff,
0x0,
\_SB_.PCI0.ISA_.LNKA,
0x0,
},
Package(0x4) {
0x0014ffff,
0x0,
\_SB_.PCI0.ISA_.LNKU,
0x0,
},
Package(0x4) {
0x0008ffff,
0x0,
\_SB_.PCI0.ISA_.LNKG,
0x0,
},
Package(0x4) {
0x0006ffff,
0x0,
\_SB_.PCI0.ISA_.LNKH,
0x0,
},
Package(0x4) {
0x000affff,
0x0,
\_SB_.PCI0.ISA_.LNKA,
0x0,
},
Package(0x4) {
0x0013ffff,
0x0,
\_SB_.PCI0.ISA_.LNKB,
0x0,
},
Package(0x4) {
0x0013ffff,
0x1,
\_SB_.PCI0.ISA_.LNKB,
0x0,
},
Package(0x4) {
0x000bffff,
0x0,
\_SB_.PCI0.ISA_.LNKC,
0x0,
},
Package(0x4) {
0x000cffff,
0x0,
\_SB_.PCI0.ISA_.LNKD,
0x0,
},
Package(0x4) {
0x000cffff,
0x1,
\_SB_.PCI0.ISA_.LNKF,
0x0,
},
Package(0x4) {
0x000dffff,
0x0,
\_SB_.PCI0.ISA_.LNKA,
0x0,
},
Package(0x4) {
0x000dffff,
0x1,
\_SB_.PCI0.ISA_.LNKA,
0x0,
},
Package(0x4) {
0x000dffff,
0x2,
\_SB_.PCI0.ISA_.LNKA,
0x0,
},
Package(0x4) {
0x000fffff,
0x0,
\_SB_.PCI0.ISA_.LNKE,
0x0,
},
})
Device(ISA_) {
Name(_ADR, 0x00070000)
Mutex(PSMX, 0)
OperationRegion(CFG_, PCI_Config, 0x0, 0xff)
Field(CFG_, ByteAcc, NoLock, Preserve) {
Offset(0x58),
, 3,
SSIG, 1
}
OperationRegion(PUSB, PCI_Config, 0x74, 0x1)
Field(PUSB, ByteAcc, NoLock, Preserve) {
PIRU, 4,
Offset(0x1)
}
OperationRegion(PIRX, PCI_Config, 0x48, 0x4)
Field(PIRX, ByteAcc, NoLock, Preserve) {
PIRA, 4,
PIRB, 4,
PIRC, 4,
PIRD, 4,
PIRE, 4,
PIRF, 4,
PIRG, 4,
PIRH, 4
}
Name(IPRS, Buffer(0x6) {0x23, 0x0, 0xc, 0x18, 0x79, 0x0 })
Name(IPR1, Buffer(0x6) {0x23, 0x0, 0x4, 0x18, 0x79, 0x0 })
Name(IPR2, Buffer(0x6) {0x23, 0x0, 0x8, 0x18, 0x79, 0x0 })
Name(IXLT, Package(0x10) {
0x0,
0x0200,
0x8,
0x0400,
0x10,
0x20,
0x80,
0x40,
0x2,
0x0800,
0x0,
0x1000,
0x0,
0x4000,
0x0,
0x8000,
})
Device(LNKA) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x1)
Method(_STA) {
If(PIRA) {
Return(0xb)
}
Else {
Return(0x9)
}
}
Method(_PRS) {
Return(IPR1)
}
Method(_DIS) {
Store(0x0, PIRA)
}
Method(_CRS) {
Store(IPR1, Local0)
CreateWordField(Local0, 0x1, IRA0)
Store(PIRA, Local1)
Store(DerefOf(Index(IXLT, Local1, )), IRA0)
Return(Local0)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA0)
Store(Match(IXLT, MEQ, IRA0, MGT, 0x0, 0x0), PIRA)
}
}
Device(LNKB) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x2)
Method(_STA) {
If(PIRB) {
Return(0xb)
}
Else {
Return(0x9)
}
}
Method(_PRS) {
Return(IPR2)
}
Method(_DIS) {
Store(0x0, PIRB)
}
Method(_CRS) {
Store(IPR2, Local0)
CreateWordField(Local0, 0x1, IRA0)
Store(PIRB, Local1)
Store(DerefOf(Index(IXLT, Local1, )), IRA0)
Return(Local0)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA0)
Store(Match(IXLT, MEQ, IRA0, MGT, 0x0, 0x0), PIRB)
}
}
Device(LNKC) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x3)
Method(_STA) {
If(PIRC) {
Return(0xb)
}
Else {
Return(0x9)
}
}
Method(_PRS) {
Return(IPR1)
}
Method(_DIS) {
Store(0x0, PIRC)
}
Method(_CRS) {
Store(IPR1, Local0)
CreateWordField(Local0, 0x1, IRA0)
Store(PIRC, Local1)
Store(DerefOf(Index(IXLT, Local1, )), IRA0)
Return(Local0)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA0)
Store(Match(IXLT, MEQ, IRA0, MGT, 0x0, 0x0), PIRC)
}
}
Device(LNKD) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x4)
Method(_STA) {
If(PIRD) {
Return(0xb)
}
Else {
Return(0x9)
}
}
Method(_PRS) {
Return(IPR2)
}
Method(_DIS) {
Store(0x0, PIRD)
}
Method(_CRS) {
Store(IPR2, Local0)
CreateWordField(Local0, 0x1, IRA0)
Store(PIRD, Local1)
Store(DerefOf(Index(IXLT, Local1, )), IRA0)
Return(Local0)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA0)
Store(Match(IXLT, MEQ, IRA0, MGT, 0x0, 0x0), PIRD)
}
}
Device(LNKE) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x5)
Method(_STA) {
If(PIRE) {
Return(0xb)
}
Else {
Return(0x9)
}
}
Method(_PRS) {
Return(IPR1)
}
Method(_DIS) {
Store(0x0, PIRE)
}
Method(_CRS) {
Store(IPR1, Local0)
CreateWordField(Local0, 0x1, IRA0)
Store(PIRE, Local1)
Store(DerefOf(Index(IXLT, Local1, )), IRA0)
Return(Local0)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA0)
Store(Match(IXLT, MEQ, IRA0, MGT, 0x0, 0x0), PIRE)
}
}
Device(LNKF) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x6)
Method(_STA) {
If(PIRF) {
Return(0xb)
}
Else {
Return(0x9)
}
}
Method(_PRS) {
Return(IPR2)
}
Method(_DIS) {
Store(0x0, PIRF)
}
Method(_CRS) {
Store(IPR2, Local0)
CreateWordField(Local0, 0x1, IRA0)
Store(PIRF, Local1)
Store(DerefOf(Index(IXLT, Local1, )), IRA0)
Return(Local0)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA0)
Store(Match(IXLT, MEQ, IRA0, MGT, 0x0, 0x0), PIRF)
}
}
Device(LNKG) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x7)
Method(_STA) {
If(PIRG) {
Return(0xb)
}
Else {
Return(0x9)
}
}
Method(_PRS) {
Return(IPR1)
}
Method(_DIS) {
Store(0x0, PIRG)
}
Method(_CRS) {
Store(IPR1, Local0)
CreateWordField(Local0, 0x1, IRA0)
Store(PIRG, Local1)
Store(DerefOf(Index(IXLT, Local1, )), IRA0)
Return(Local0)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA0)
Store(Match(IXLT, MEQ, IRA0, MGT, 0x0, 0x0), PIRG)
}
}
Device(LNKH) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x8)
Method(_STA) {
If(PIRH) {
Return(0xb)
}
Else {
Return(0x9)
}
}
Method(_PRS) {
Return(IPR2)
}
Method(_DIS) {
Store(0x0, PIRH)
}
Method(_CRS) {
Store(IPR2, Local0)
CreateWordField(Local0, 0x1, IRA0)
Store(PIRH, Local1)
Store(DerefOf(Index(IXLT, Local1, )), IRA0)
Return(Local0)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA0)
Store(Match(IXLT, MEQ, IRA0, MGT, 0x0, 0x0), PIRH)
}
}
Device(LNKU) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x9)
Method(_STA) {
If(PIRU) {
Return(0xb)
}
Else {
Return(0x9)
}
}
Method(_PRS) {
Return(IPR1)
}
Method(_DIS) {
Store(0x0, PIRU)
}
Method(_CRS) {
Store(IPR1, Local0)
CreateWordField(Local0, 0x1, IRA0)
Store(PIRU, Local1)
Store(DerefOf(Index(IXLT, Local1, )), IRA0)
Return(Local0)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA0)
Store(Match(IXLT, MEQ, IRA0, MGT, 0x0, 0x0), PIRU)
}
}
Device(DMAC) {
Name(_HID, 0x0002d041)
Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x2, 0x79, 0x0 })
}
Device(PIC_) {
Name(_HID, 0xd041)
Name(_CRS, Buffer(0x16) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x23, 0x4, 0x0, 0x1, 0x79, 0x0 })
}
Device(TIME) {
Name(_HID, 0x0001d041)
Name(_CRS, Buffer(0xe) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x23, 0x1, 0x0, 0x1, 0x79, 0x0 })
}
Device(RTC_) {
Name(_HID, 0x000bd041)
Name(_CRS, Buffer(0xe) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x2, 0x23, 0x0, 0x1, 0x1, 0x79, 0x0 })
}
Device(MATH) {
Name(_HID, 0x040cd041)
Name(_CRS, Buffer(0xe) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0xf, 0x23, 0x0, 0x20, 0x1, 0x79, 0x0 })
}
Device(SPKR) {
Name(_HID, 0x0008d041)
Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 })
}
Device(KBC0) {
Name(_HID, 0x0303d041)
Name(_CRS, Buffer(0x16) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x23, 0x2, 0x0, 0x1, 0x79, 0x0 })
}
Device(MSE0) {
Name(_HID, 0x130fd041)
Name(_CRS, Buffer(0x6) {0x23, 0x0, 0x10, 0x1, 0x79, 0x0 })
}
Device(SYSR) {
Name(_HID, 0x020cd041)
Name(_CRS, Buffer(0x72) {0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x1, 0x47, 0x1, 0x22, 0x0, 0x22, 0x0, 0x1, 0x1, 0x47, 0x1, 0xb1, 0x0, 0xb1, 0x0, 0x1, 0x1, 0x47, 0x1, 0x92, 0x0, 0x92, 0x0, 0x1, 0x1, 0x47, 0x1, 0x10, 0x38, 0x10, 0x38, 0x1, 0x10, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x0, 0x80, 0x0, 0x80, 0x1, 0x60, 0x47, 0x1, 0xd6, 0x4, 0xd6, 0x4, 0x1, 0x1, 0x47, 0x1, 0x80, 0x4, 0x80, 0x4, 0x1, 0x10, 0x47, 0x1, 0xb, 0x4, 0xb, 0x4, 0x1, 0x1, 0x47, 0x1, 0x10, 0xfe, 0x10, 0xfe, 0x1, 0x2, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xff, 0x0, 0x0, 0x4, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x79, 0x0 })
}
OperationRegion(SMI0, SystemIO, 0x0000fe00, 0x00000002)
Field(SMI0, AnyAcc, NoLock, Preserve) {
SMIC, 8
}
OperationRegion(SMI1, SystemMemory, 0x1feffe4d, 0x00000100)
Field(SMI1, AnyAcc, NoLock, Preserve) {
BCMD, 8,
DID_, 32,
INFO, 2008
}
Field(SMI1, AnyAcc, NoLock, Preserve) {
AccessAs(ByteAcc, 0),
Offset(0x5),
INF_, 8
}
Device(LPTB) {
Name(MCD_, 0x13)
Name(_HID, 0x0004d041)
Name(_UID, 0x0)
Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
Method(_CRS) {
If(And(_STA(), 0x2, )) {
Acquire(PSMX, 0xffff)
Store(0x0, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Return(RSRC)
}
Method(_SRS, 1) {
Acquire(PSMX, 0xffff)
Store(0x1, BCMD)
Store(MCD_, DID_)
Store(Arg0, INFO)
Store(Zero, SMIC)
Release(PSMX)
}
Method(_PRS) {
Acquire(PSMX, 0xffff)
Store(0x2, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Method(_DIS) {
Acquire(PSMX, 0xffff)
Store(0x3, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Release(PSMX)
}
Method(_STA) {
Acquire(PSMX, 0xffff)
Store(0x4, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INF_, Local0)
Release(PSMX)
Return(Local0)
}
}
Device(ECP_) {
Name(MCD_, 0x14)
Name(_HID, 0x0104d041)
Name(RSRC, Buffer(0x18) {0x2a, 0x0, 0x0, 0x47, 0x1, 0x0, 0x1, 0x0, 0x1, 0x8, 0x8, 0x47, 0x1, 0x0, 0x5, 0x0, 0x5, 0x8, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
Method(_CRS) {
If(And(_STA(), 0x2, )) {
Acquire(PSMX, 0xffff)
Store(0x0, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Return(RSRC)
}
Method(B_SR, 1) {
Acquire(PSMX, 0xffff)
Store(0x1, BCMD)
Store(MCD_, DID_)
Store(Arg0, INFO)
Store(Zero, SMIC)
Release(PSMX)
}
Method(B_PR) {
Acquire(PSMX, 0xffff)
Store(0x2, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Method(B_DI) {
If(LNot(LEqual(OSTP, 0x2))) {
Acquire(PSMX, 0xffff)
Store(0x3, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Release(PSMX)
}
}
Method(_STA) {
Acquire(PSMX, 0xffff)
Store(0x4, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INF_, Local0)
Release(PSMX)
Return(Local0)
}
}
Device(EPP_) {
Name(MCD_, 0x11)
Name(_HID, 0x0004d041)
Name(_UID, 0x1)
Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
Method(_CRS) {
If(And(_STA(), 0x2, )) {
Acquire(PSMX, 0xffff)
Store(0x0, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Return(RSRC)
}
Method(B_SR, 1) {
Acquire(PSMX, 0xffff)
Store(0x1, BCMD)
Store(MCD_, DID_)
Store(Arg0, INFO)
Store(Zero, SMIC)
Release(PSMX)
}
Method(B_PR) {
Acquire(PSMX, 0xffff)
Store(0x2, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Method(B_DI) {
Acquire(PSMX, 0xffff)
Store(0x3, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Release(PSMX)
}
Method(_STA) {
Acquire(PSMX, 0xffff)
Store(0x4, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INF_, Local0)
Release(PSMX)
Return(Local0)
}
}
Device(COMA) {
Name(MCD_, 0xf)
Name(_HID, 0x0105d041)
Name(_UID, 0x1)
Name(RSRC, Buffer(0xd) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
Method(_CRS) {
If(And(_STA(), 0x2, )) {
Acquire(PSMX, 0xffff)
Store(0x0, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Return(RSRC)
}
Method(_SRS, 1) {
Acquire(PSMX, 0xffff)
Store(0x1, BCMD)
Store(MCD_, DID_)
Store(Arg0, INFO)
Store(Zero, SMIC)
Release(PSMX)
}
Method(_PRS) {
Acquire(PSMX, 0xffff)
Store(0x2, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Method(_DIS) {
Acquire(PSMX, 0xffff)
Store(0x3, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Release(PSMX)
}
Method(_STA) {
Acquire(PSMX, 0xffff)
Store(0x4, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INF_, Local0)
Release(PSMX)
Return(Local0)
}
}
Device(FIR_) {
Name(MCD_, 0x10)
Name(_HID, 0x23518905)
Name(_CID, 0x1105d041)
Name(RSRC, Buffer(0x10) {0x47, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 })
Method(_CRS) {
If(And(_STA(), 0x2, )) {
Acquire(PSMX, 0xffff)
Store(0x0, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Return(RSRC)
}
Method(_SRS, 1) {
Acquire(PSMX, 0xffff)
Store(0x1, BCMD)
Store(MCD_, DID_)
Store(Arg0, INFO)
Store(Zero, SMIC)
Release(PSMX)
}
Method(_PRS) {
Acquire(PSMX, 0xffff)
Store(0x2, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Method(_DIS) {
Acquire(PSMX, 0xffff)
Store(0x3, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Release(PSMX)
}
Method(_STA) {
Acquire(PSMX, 0xffff)
Store(0x4, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INF_, Local0)
Release(PSMX)
Return(Local0)
}
}
Device(FDC_) {
Name(MCD_, 0xe)
Name(_HID, 0x0007d041)
Device(FDD0) {
Name(_ADR, 0x0)
Name(_RMV, 0x1)
Method(_EJ0, 1) {
If(Arg0) {
Or(\_SB_.PCI0.PM__.R09D, 0x8, \_SB_.PCI0.PM__.R09D)
}
}
Method(_STA) {
And(\_SB_.PCI0.PM__.R09D, 0x8, Local0)
If(LNot(LEqual(Local0, 0x0))) {
Return(0x0)
}
Acquire(\_SB_.PCI0.ISA_.EC__.MUT0, 0xffff)
Store(0xb, \_SB_.PCI0.ISA_.EC__.DAT1)
Store(0xc5, \_SB_.PCI0.ISA_.EC__.CMCD)
Sleep(0xc8)
And(\_SB_.PCI0.ISA_.EC__.DAT1, 0x1, Local0)
Store(0x1e, \_SB_.PCI0.ISA_.EC__.DAT1)
Store(0xc5, \_SB_.PCI0.ISA_.EC__.CMCD)
Sleep(0xc8)
And(\_SB_.PCI0.ISA_.EC__.DAT1, 0x1, Local1)
ShiftLeft(Local1, 0x1, Local1)
Or(Local0, Local1, Local0)
Release(\_SB_.PCI0.ISA_.EC__.MUT0)
Store(Local0, PX80)
If(LEqual(Local0, 0x2)) {
Return(0xf)
}
Else {
Return(0x0)
}
}
Name(_FDI, Package(0x10) {
0x0,
0x4,
0x4f,
0x12,
0x1,
0xdf,
0x2,
0x25,
0x2,
0x12,
0x1b,
0xff,
0x65,
0xf6,
0xf,
0x8,
})
}
Method(_FDE) {
Name(FDEX, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0 })
CreateByteField(FDEX, 0x0, FDE0)
CreateByteField(FDEX, 0x4, FDE1)
Store(\_SB_.PCI0.ISA_.FDC_.FDD0._STA(), Local0)
If(LEqual(Local0, 0xf)) {
Store(0x1, FDE0)
}
Return(FDEX)
}
Name(RSRC, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x0, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x0, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 })
Method(_CRS) {
If(And(_STA(), 0x2, )) {
Acquire(PSMX, 0xffff)
Store(0x0, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Return(RSRC)
}
Method(_SRS, 1) {
If(LEqual(OSTP, 0x0)) {
And(\_SB_.PCI0.PM__.R09D, 0x8, Local0)
If(LEqual(Local0, 0x0)) {
Acquire(PSMX, 0xffff)
Store(0x1, BCMD)
Store(MCD_, DID_)
Store(Arg0, INFO)
Store(Zero, SMIC)
Release(PSMX)
}
}
Else {
Acquire(PSMX, 0xffff)
Store(0x1, BCMD)
Store(MCD_, DID_)
Store(Arg0, INFO)
Store(Zero, SMIC)
Release(PSMX)
}
}
Method(_PRS) {
If(LEqual(OSTP, 0x0)) {
And(\_SB_.PCI0.PM__.R09D, 0x8, Local0)
If(LEqual(Local0, 0x0)) {
Acquire(PSMX, 0xffff)
Store(0x2, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
Return(RSRC)
}
Else {
Acquire(PSMX, 0xffff)
Store(0x2, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INFO, Local0)
Release(PSMX)
Return(Local0)
}
}
Method(_DIS) {
If(LEqual(OSTP, 0x0)) {
And(\_SB_.PCI0.PM__.R09D, 0x8, Local0)
If(LEqual(Local0, 0x0)) {
Acquire(PSMX, 0xffff)
Store(0x3, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Release(PSMX)
}
}
Else {
Acquire(PSMX, 0xffff)
Store(0x3, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Release(PSMX)
}
}
Method(_STA) {
If(LEqual(OSTP, 0x0)) {
And(\_SB_.PCI0.PM__.R09D, 0x8, Local0)
If(LEqual(Local0, 0x8)) {
Return(0x0)
}
}
Acquire(PSMX, 0xffff)
Store(0x4, BCMD)
Store(MCD_, DID_)
Store(Zero, SMIC)
Store(INF_, Local0)
Release(PSMX)
Return(Local0)
}
}
Device(EC__) {
Name(_HID, 0x090cd041)
Name(_GPE, 0x22)
Name(ECOK, 0x0)
Method(_REG, 2) {
If(LEqual(Arg0, 0x3)) {
Store(Arg1, ECOK)
}
}
Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 })
OperationRegion(ERAM, EmbeddedControl, 0x0, 0xff)
Field(ERAM, ByteAcc, NoLock, Preserve) {
Offset(0x1),
SCIC, 8,
Offset(0x4),
CMCD, 8,
DAT1, 8,
DAT2, 8,
DAT3, 8,
Offset(0x18),
SMPR, 8,
SMST, 8,
SMAD, 8,
SMCM, 8,
SMD0, 264,
SMAA, 8,
Offset(0x48),
P54S, 8,
P55S, 8,
P54T, 8,
P55T, 8,
P54D, 8,
P55D, 8,
, 4,
P54_, 1,
P55_, 1,
Offset(0x4f),
Offset(0x50),
P60S, 8,
Offset(0x58),
P60T, 8,
Offset(0x5a),
P62T, 8,
P63T, 8,
P64T, 8,
P65T, 8,
Offset(0x78),
P60_, 1
}
Field(ERAM, ByteAcc, NoLock, Preserve) {
Offset(0x1c),
SMW0, 16
}
Field(ERAM, ByteAcc, NoLock, Preserve) {
Offset(0x1c),
SMB0, 8
}
OperationRegion(EC01, SystemIO, 0x62, 0x1)
Field(EC01, ByteAcc, Lock, Preserve) {
PX62, 8
}
OperationRegion(EC02, SystemIO, 0x66, 0x1)
Field(EC02, ByteAcc, Lock, Preserve) {
PX66, 8
}
Mutex(MUT0, 0)
Mutex(MUT1, 0)
Method(_Q03) {
Store("Sleep button be pressed:----", Debug)
Store(0x89, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
Notify(\_SB_.SLPB, 0x80)
}
Method(_Q04) {
If(LOr(LEqual(OSTP, 0x0), LEqual(OSTP, 0x2))) {
Store(0x8d, \_SB_.PCI0.ISA_.BCMD)
Store(Zero, \_SB_.PCI0.ISA_.SMIC)
}
Else {
Store(" ---- Ctrl+Alt+F5 switch ---- ", Debug)
Store(\_SB_.PCI0.AGP_.VGA_.SWIT, Local1)
If(LEqual(Local1, 0x0)) {
Increment(\_SB_.PCI0.AGP_.VGA_.TOGF)
Store(\_SB_.PCI0.AGP_.VGA_.TOGF, Local0)
If(LEqual(Local0, 0x1)) {
Store("LCD", Debug)
Store(One, \_SB_.PCI0.AGP_.VGA_.CRTA)
Store(Zero, \_SB_.PCI0.AGP_.VGA_.LCDA)
}
If(LEqual(Local0, 0x2)) {
Store("CRT", Debug)
Store(Zero, \_SB_.PCI0.AGP_.VGA_.CRTA)
Store(One, \_SB_.PCI0.AGP_.VGA_.LCDA)
}
If(LEqual(Local0, 0x3)) {
Store("Both", Debug)
Store(One, \_SB_.PCI0.AGP_.VGA_.CRTA)
Store(One, \_SB_.PCI0.AGP_.VGA_.LCDA)
Store(Zero, \_SB_.PCI0.AGP_.VGA_.TOGF)
}
Notify(\_SB_.PCI0.AGP_.VGA_, 0x80)
}
If(LEqual(Local1, 0x1)) {
Store(" SMI routine ", Debug)
}
}
}
Method(_Q30) {
If(LEqual(\_SB_.PCI0.ISA_.EC__.P60_, 0x1)) {
Store(0x88, \_SB_.PCI0.ISA_.EC__.P60S)
Notify(\_SB_.BAT0, 0x1)
}
Else {
Store(0x98, \_SB_.PCI0.ISA_.EC__.P60S)
Notify(\_SB_.BAT0, 0x0)
}
Notify(\_SB_.BAT0, 0x81)
Notify(\_SB_.BAT0, 0x80)
}
Method(RAMR, 2) {
If(LGreater(Arg0, 0x7f)) {
Store(Arg1, DAT3)
}
Store(Arg0, DAT2)
Store(0xba, CMCD)
Sleep(0xc8)
Return(DAT1)
}
Method(RAMW, 3) {
If(LGreater(Arg0, 0x7f)) {
Store(Arg2, DAT3)
}
Store(Arg0, DAT2)
Store(Arg1, DAT1)
Store(0xbb, CMCD)
Sleep(0xc8)
}
Method(COMD, 2) {
Store(Arg1, DAT1)
Store(Arg0, CMCD)
Sleep(0xc8)
}
Method(SMRD, 4) {
If(LNot(LEqual(Arg0, 0x7))) {
If(LNot(LEqual(Arg0, 0x9))) {
If(LNot(LEqual(Arg0, 0xb))) {
Return(0x19)
}
}
}
Acquire(MUT0, 0xffff)
Store(0x3, Local0)
While(LGreater(Local0, 0x1)) {
And(SMST, 0x40, SMST)
Store(Arg2, SMCM)
Store(Arg1, SMAD)
Store(Arg0, SMPR)
While(LNot(And(SMST, 0xbf, Local1))) {
Sleep(0x2)
}
If(LEqual(Local1, 0x80)) {
Store(0x0, Local0)
}
Else {
Decrement(Local0)
}
}
If(Local0) {
Store(And(Local1, 0x1f, ), Local0)
}
Else {
If(LEqual(Arg0, 0x7)) {
Store(SMB0, Arg3)
}
If(LEqual(Arg0, 0x9)) {
Store(SMW0, Arg3)
}
If(LEqual(Arg0, 0xb)) {
Store(SMD0, Arg3)
}
}
Release(MUT0)
Return(Local0)
}
Method(SMWR, 4) {
If(LNot(LEqual(Arg0, 0x6))) {
If(LNot(LEqual(Arg0, 0x8))) {
If(LNot(LEqual(Arg0, 0xa))) {
Return(0x19)
}
}
}
Acquire(MUT0, 0xffff)
Store(0x3, Local0)
While(LGreater(Local0, 0x1)) {
If(LEqual(Arg0, 0x6)) {
Store(Arg3, SMB0)
}
If(LEqual(Arg0, 0x8)) {
Store(Arg3, SMW0)
}
If(LEqual(Arg0, 0xa)) {
Store(Arg3, SMD0)
}
And(SMST, 0x40, SMST)
Store(Arg2, SMCM)
Store(Arg1, SMAD)
Store(Arg0, SMPR)
While(LNot(And(SMST, 0xbf, Local1))) {
Sleep(0x2)
}
If(LEqual(Local1, 0x80)) {
Store(0x0, Local0)
}
Else {
Decrement(Local0)
}
}
If(Local0) {
Store(And(Local1, 0x1f, ), Local0)
}
Release(MUT0)
Return(Local0)
}
Name(SMCN, 0x4)
Method(BPOL) {
Store(0x6b, DAT2)
Store(0xf, DAT1)
Store(0xbb, CMCD)
}
Method(_Q09) {
BPOL()
Decrement(SMCN)
If(LNot(SMCN)) {
Store(0x3, SMCN)
}
}
}
}
Device(IDE_) {
Name(_ADR, 0x00100000)
Name(UDMT, Package(0x8) {
0x1e,
0x2d,
0x3c,
0x5a,
0x78,
0x78,
0x78,
0x14,
})
Name(PIOT, Package(0x5) {
0x78,
0xb4,
0xf0,
0x017f,
0x0258,
})
Name(PIOC, Package(0x5) {
0x4,
0x6,
0x8,
0xd,
0x10,
})
Name(CBCT, Package(0x5) {
0x31,
0x33,
0x1,
0x3,
0xa,
})
Name(DACT, Package(0x5) {
0x3,
0x3,
0x4,
0x5,
0x8,
})
Name(DRCT, Package(0x5) {
0x1,
0x3,
0x4,
0x8,
0x8,
})
Name(PXLM, Package(0x5) {
0x2,
0x1,
0x0,
0x0,
0x0,
})
OperationRegion(PCI_, PCI_Config, 0x0, 0x60)
Field(PCI_, ByteAcc, NoLock, Preserve) {
Offset(0x9),
, 4,
SCHE, 1,
PCHE, 1,
Offset(0xa),
Offset(0xd),
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) {
Store(Buffer(0x14) { }, Local0)
CreateDWordField(Local0, 0x0, PIO0)
CreateDWordField(Local0, 0x4, DMA0)
CreateDWordField(Local0, 0x8, PIO1)
CreateDWordField(Local0, 0xc, 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, ), 0x4, Local1)
If(LEqual(Local1, Zero)) {
Store(0x8, Local1)
}
Add(And(Arg0, 0xf, Local2), Local1, Local1)
Store(Match(^PIOC, MLE, Local1, MTR, 0x0, 0x0), Local2)
Store(DerefOf(Index(^PIOT, Local2, )), PIO0)
If(LNot(LGreater(PIO0, 0xf0))) {
Or(FLAG, 0x2, FLAG)
}
}
If(And(Arg2, 0x8, )) {
Store(DerefOf(Index(^UDMT, And(Arg2, 0x7, ), )), DMA0)
Or(FLAG, 0x1, FLAG)
}
Else {
Store(PIO0, DMA0)
}
If(Arg1) {
ShiftRight(And(Arg1, 0x70, ), 0x4, Local1)
If(LEqual(Local1, Zero)) {
Store(0x8, Local1)
}
Add(And(Arg1, 0xf, Local2), Local1, Local1)
Store(Match(^PIOC, MLE, Local1, MTR, 0x0, 0x0), Local2)
Store(DerefOf(Index(^PIOT, Local2, )), PIO1)
If(LNot(LGreater(PIO1, 0xf0))) {
Or(FLAG, 0x8, FLAG)
}
}
If(And(Arg2, 0x80, )) {
Store(DerefOf(Index(^UDMT, ShiftRight(And(Arg2, 0x70, ), 0x4, ), )), DMA1)
Or(FLAG, 0x4, FLAG)
}
Else {
Store(PIO1, DMA1)
}
Or(FLAG, 0x10, FLAG)
Return(Local0)
}
Method(STM_, 3) {
Store(Buffer(0x6) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }, Local7)
CreateByteField(Local7, 0x0, TM0_)
CreateByteField(Local7, 0x1, TM1_)
CreateByteField(Local7, 0x2, UDC_)
CreateByteField(Local7, 0x3, AST_)
CreateByteField(Local7, 0x4, CBT_)
CreateByteField(Local7, 0x5, U66_)
CreateDWordField(Arg0, 0x0, PIO0)
CreateDWordField(Arg0, 0x4, DMA0)
CreateDWordField(Arg0, 0x8, PIO1)
CreateDWordField(Arg0, 0xc, DMA1)
CreateDWordField(Arg0, 0x10, FLAG)
Store(FLAG, Local6)
Store(Ones, Local4)
If(LOr(DMA0, PIO0)) {
If(LAnd(DMA0, LNot(PIO0))) {
If(And(Local6, 0x1, )) {
If(LAnd(LLess(DMA0, 0x1e), LNot(LLess(DMA0, 0xf)))) {
Store(0x7, Local0)
}
Else {
Store(Match(^UDMT, MGE, DMA0, MTR, 0x0, 0x0), Local0)
}
Or(Local0, 0x8, UDC_)
If(LLess(DMA0, 0x3c)) {
Store(One, U66_)
}
}
Store(Match(^PIOT, MGE, DMA0, MTR, 0x0, 0x0), Local0)
Store(DerefOf(Index(^DACT, Local0, )), Local2)
Store(DerefOf(Index(^DRCT, Local0, )), Local3)
Add(Local3, ShiftLeft(Local2, 0x4, ), TM0_)
Store(Local0, Local4)
}
If(LAnd(LNot(DMA0), PIO0)) {
Store(Match(^PIOT, MGE, PIO0, MTR, 0x0, 0x0), Local0)
Store(DerefOf(Index(^DACT, Local0, )), Local2)
Store(DerefOf(Index(^DRCT, Local0, )), Local3)
Add(Local3, ShiftLeft(Local2, 0x4, ), TM0_)
Store(Local0, Local4)
}
If(LAnd(DMA0, PIO0)) {
If(And(Local6, 0x1, )) {
If(LAnd(LLess(DMA0, 0x1e), LNot(LLess(DMA0, 0xf)))) {
Store(0x7, Local0)
}
Else {
Store(Match(^UDMT, MGE, DMA0, MTR, 0x0, 0x0), Local0)
}
Or(Local0, 0x8, UDC_)
If(LLess(DMA0, 0x3c)) {
Store(One, U66_)
}
}
If(LNot(LLess(PIO0, DMA0))) {
Store(Match(^PIOT, MGE, PIO0, MTR, 0x0, 0x0), Local0)
Store(Local0, Local4)
}
Else {
Store(Match(^PIOT, MGE, DMA0, MTR, 0x0, 0x0), Local0)
Store(Local0, Local4)
}
Store(DerefOf(Index(^DACT, Local0, )), Local2)
Store(DerefOf(Index(^DRCT, Local0, )), Local3)
Add(Local3, ShiftLeft(Local2, 0x4, ), TM0_)
}
}
Store(Ones, Local5)
If(LOr(DMA1, PIO1)) {
If(LAnd(DMA1, LNot(PIO1))) {
If(And(Local6, 0x4, )) {
If(LAnd(LLess(DMA1, 0x1e), LNot(LLess(DMA1, 0xf)))) {
Store(0x7, Local0)
}
Else {
Store(Match(^UDMT, MGE, DMA1, MTR, 0x0, 0x0), Local0)
}
Or(ShiftLeft(Or(Local0, 0x8, ), 0x4, ), UDC_, UDC_)
If(LLess(DMA1, 0x3c)) {
Store(One, U66_)
}
}
Store(Match(^PIOT, MGE, DMA1, MTR, 0x0, 0x0), Local0)
Store(DerefOf(Index(^DACT, Local0, )), Local2)
Store(DerefOf(Index(^DRCT, Local0, )), Local3)
Add(Local3, ShiftLeft(Local2, 0x4, ), TM1_)
Store(Local0, Local5)
}
If(LAnd(LNot(DMA1), PIO1)) {
Store(Match(^PIOT, MGE, PIO1, MTR, 0x0, 0x0), Local0)
Store(DerefOf(Index(^DACT, Local0, )), Local2)
Store(DerefOf(Index(^DRCT, Local0, )), Local3)
Add(Local3, ShiftLeft(Local2, 0x4, ), TM1_)
Store(Local0, Local5)
}
If(LAnd(DMA1, PIO1)) {
If(And(Local6, 0x4, )) {
If(LAnd(LLess(DMA1, 0x1e), LNot(LLess(DMA1, 0xf)))) {
Store(0x7, Local0)
}
Else {
Store(Match(^UDMT, MGE, DMA1, MTR, 0x0, 0x0), Local0)
}
Or(ShiftLeft(Or(Local0, 0x8, ), 0x4, ), UDC_, UDC_)
If(LLess(DMA1, 0x3c)) {
Store(One, U66_)
}
}
If(LNot(LLess(PIO1, DMA1))) {
Store(Match(^PIOT, MGE, PIO1, MTR, 0x0, 0x0), Local0)
Store(Local0, Local5)
}
Else {
Store(Match(^PIOT, MGE, DMA1, MTR, 0x0, 0x0), Local0)
Store(Local0, Local5)
}
Store(DerefOf(Index(^DACT, Local0, )), Local2)
Store(DerefOf(Index(^DRCT, Local0, )), Local3)
Add(Local3, ShiftLeft(Local2, 0x4, ), 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(0x2, AST_)
Return(Local7)
}
Method(GTF0, 3) {
Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local7)
CreateByteField(Local7, 0x1, MODE)
If(And(Arg1, 0x8, )) {
And(Arg1, 0x7, Local0)
If(LEqual(Local0, 0x7)) {
Store(0x5, MODE)
}
Else {
Subtract(0x4, Local0, MODE)
}
Or(MODE, 0x40, MODE)
}
Else {
And(Arg2, 0xf, Local0)
Store(Match(^DRCT, MEQ, Local0, MTR, 0x0, 0x0), Local1)
Store(DerefOf(Index(^PXLM, Local1, )), MODE)
Or(MODE, 0x20, MODE)
}
Concatenate(Local7, Local7, Local6)
And(Arg2, 0xf, Local0)
Store(Match(^DRCT, MEQ, Local0, MTR, 0x0, 0x0), Local1)
Subtract(0x4, Local1, MODE)
Or(MODE, 0x8, MODE)
Concatenate(Local6, Local7, Local5)
Return(Local5)
}
Method(GTF1, 3) {
Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef }, Local7)
CreateByteField(Local7, 0x1, MODE)
If(And(Arg1, 0x80, )) {
ShiftRight(And(Arg1, 0x70, ), 0x4, Local0)
If(LEqual(Local0, 0x7)) {
Store(0x5, MODE)
}
Else {
Subtract(0x4, Local0, MODE)
}
Or(MODE, 0x40, MODE)
}
Else {
And(Arg2, 0xf, Local0)
Store(Match(^DRCT, MEQ, Local0, MTR, 0x0, 0x0), Local1)
Store(DerefOf(Index(^PXLM, Local1, )), MODE)
Or(MODE, 0x20, MODE)
}
Concatenate(Local7, Local7, Local6)
And(Arg2, 0xf, Local0)
Store(Match(^DRCT, MEQ, Local0, MTR, 0x0, 0x0), Local1)
Subtract(0x4, Local1, MODE)
Or(MODE, 0x8, MODE)
Concatenate(Local6, Local7, Local5)
Return(Local5)
}
Device(PRIM) {
Name(_ADR, 0x0)
Method(_GTM) {
Store("GTM - Primary Controller", Debug)
Store(^^GTM_(^^PTM0, ^^PTM1, ^^PUDC), Local0)
Return(Local0)
}
Method(_STM, 3) {
Store("STM - Primary Controller", Debug)
Store(^^STM_(Arg0, Arg1, Arg2), Local0)
CreateByteField(Local0, 0x0, TM0_)
CreateByteField(Local0, 0x1, TM1_)
CreateByteField(Local0, 0x2, UDC_)
CreateByteField(Local0, 0x3, AST_)
CreateByteField(Local0, 0x4, CBT_)
CreateByteField(Local0, 0x5, 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, 0x0)
Method(_GTF) {
Store("GTF - Primary Master", Debug)
Store(^^^GTF0(^^^PCHE, ^^^PUDC, ^^^PTM0), Local0)
Return(Local0)
}
}
Device(SLAV) {
Name(_ADR, 0x1)
Method(_GTF) {
Store("GTF - Primary Slave", Debug)
Store(^^^GTF1(^^^PCHE, ^^^PUDC, ^^^PTM1), Local0)
Return(Local0)
}
}
}
Device(SECN) {
Name(_ADR, 0x1)
Method(_GTM) {
Store("GTM - Secondary Controller", Debug)
Store(^^GTM_(^^STM0, ^^STM1, ^^SUDC), Local0)
Return(Local0)
}
Method(_STM, 3) {
Store("STM - Secondary Controller", Debug)
Store(^^STM_(Arg0, Arg1, Arg2), Local0)
CreateByteField(Local0, 0x0, TM0_)
CreateByteField(Local0, 0x1, TM1_)
CreateByteField(Local0, 0x2, UDC_)
CreateByteField(Local0, 0x3, AST_)
CreateByteField(Local0, 0x4, CBT_)
CreateByteField(Local0, 0x5, 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, 0x0)
Method(_EJ0, 1) {
If(Arg0) {
Store(0x0, \_SB_.PCI0.ISA_.SSIG)
Sleep(0x32)
Sleep(0x32)
}
}
Method(_STA) {
If(\_SB_.PCI0.ISA_.EC__.ECOK) {
And(\_SB_.PCI0.PM__.R09D, 0x8, Local0)
If(LEqual(Local0, 0x0)) {
Return(0x8)
}
Acquire(\_SB_.PCI0.ISA_.EC__.MUT0, 0xffff)
Store(0xb, \_SB_.PCI0.ISA_.EC__.DAT1)
Store(0xc5, \_SB_.PCI0.ISA_.EC__.CMCD)
Sleep(0xc8)
And(\_SB_.PCI0.ISA_.EC__.DAT1, 0x1, Local0)
Store(0x1e, \_SB_.PCI0.ISA_.EC__.DAT1)
Store(0xc5, \_SB_.PCI0.ISA_.EC__.CMCD)
Sleep(0xc8)
And(\_SB_.PCI0.ISA_.EC__.DAT1, 0x1, Local1)
ShiftLeft(Local1, 0x1, Local1)
Or(Local0, Local1, Local0)
Release(\_SB_.PCI0.ISA_.EC__.MUT0)
If(LOr(LEqual(Local0, 0x0), LEqual(Local0, 0x1))) {
Return(0xf)
}
Return(0x8)
}
Else {
And(\_SB_.PCI0.PM__.R09D, 0x8, Local0)
If(LEqual(Local0, 0x8)) {
Return(0xf)
}
Else {
Return(0x8)
}
}
}
Method(_GTF) {
Store("GTF - Secondary Master", Debug)
Store(^^^GTF0(^^^SCHE, ^^^SUDC, ^^^STM0), Local0)
Return(Local0)
}
}
Device(SLAV) {
Name(_ADR, 0x1)
Method(_GTF) {
Store("GTF - Secondary Slave", Debug)
Store(^^^GTF1(^^^SCHE, ^^^SUDC, ^^^STM1), Local0)
Return(Local0)
}
}
}
}
Device(AGP_) {
Name(_ADR, 0x00010000)
Device(VGA_) {
Name(_ADR, 0x0)
Name(SWIT, 0x1)
Name(CRTA, 0x1)
Name(LCDA, 0x1)
Name(TVAF, 0x1)
Name(TOGF, 0x0)
Name(OSF_, 0x0)
Method(_INI) {
}
Method(_DOS, 1) {
Store(Arg0, Local0)
And(Local0, 0x1, Local1)
Store(Local1, SWIT)
}
Method(_DOD) {
Return(Package(0x3) {
0x00010100,
0x00010110,
0x00010200,
})
}
Device(CRT_) {
Name(_ADR, 0x0100)
Method(_DCS) {
If(CRTA) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Method(_DGS) {
If(CRTA) {
Return(0x1)
}
Else {
Return(0x0)
}
}
Method(_DSS, 1) {
}
}
Device(LCD_) {
Name(_ADR, 0x0110)
Method(_DCS) {
If(LCDA) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Method(_DGS) {
If(LCDA) {
Return(0x1)
}
Else {
Return(0x0)
}
}
Method(_DSS, 1) {
}
Method(_DDC, 1) {
If(LEqual(Arg0, 0x1)) {
Return(\_SB_.PCI0.AGP_.VGA_.DDC4)
}
If(LEqual(Arg0, 0x2)) {
Concatenate(\_SB_.PCI0.AGP_.VGA_.DDC4, \_SB_.PCI0.AGP_.VGA_.DDC0, Local0)
Return(Local0)
}
Return(0x0)
}
}
Device(TVO_) {
Name(_ADR, 0x0200)
Method(_DCS) {
If(TVAF) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Method(_DSS, 1) {
}
Method(_DDC, 1) {
If(LEqual(Arg0, 0x1)) {
Return(\_SB_.PCI0.AGP_.VGA_.DDC3)
}
If(LEqual(Arg0, 0x2)) {
Concatenate(\_SB_.PCI0.AGP_.VGA_.DDC3, \_SB_.PCI0.AGP_.VGA_.DDC0, Local0)
Return(Local0)
}
Return(0x0)
}
}
Name(DDC0, Buffer(0x80) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 })
Name(DDC3, Buffer(0x80) {0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x41, 0xd0, 0xfe, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x21, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd3 })
Name(DDC4, Buffer(0x80) {0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x36, 0x7f, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1, 0x28, 0x1e, 0x0, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x21, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xec })
}
}
Device(PM__) {
Name(_ADR, 0x00110000)
OperationRegion(PMUR, PCI_Config, 0x0, 0xff)
Field(PMUR, ByteAcc, NoLock, Preserve) {
Offset(0x45),
R045, 8,
R046, 8,
Offset(0x49),
R049, 8,
Offset(0x83),
R083, 8,
R084, 8,
Offset(0x87),
R087, 8,
R088, 8,
Offset(0x8f),
R08F, 8,
Offset(0x97),
R097, 8,
R098, 8,
R099, 8,
Offset(0x9c),
R09C, 8,
R09D, 8,
Offset(0xac),
R0AC, 8,
Offset(0xae),
R0AE, 8,
Offset(0xb0),
Offset(0xb1),
R0B1, 8,
SPKC, 8,
LED0, 8,
PLED, 8,
Offset(0xb7),
R0B7, 8,
Offset(0xba),
BLED, 8,
Offset(0xd3),
BEEP, 8,
Offset(0xe0),
PMIO, 16,
SBIO, 16
}
}
Device(MDM_) {
Name(_ADR, 0x00080000)
Name(_PRW, Package(0x2) {
0xc,
0x3,
})
}
Device(CRD0) {
Name(_ADR, 0x00130000)
Name(_PRW, Package(0x2) {
0x9,
0x3,
})
}
Device(LAN_) {
Name(_ADR, 0x000a0000)
Name(_PRW, Package(0x2) {
0x9,
0x4,
})
}
}
}
}
/*
BOOT: Length=40, Revision=1, Checksum=164,
OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000,
Creator ID= LTP, Creator Revision=0x1
*/
/*
SSDT: Length=181, Revision=1, Checksum=185,
OEMID=PTLTD, OEM Table ID=ACPIPST1, OEM Revision=0x6040000,
Creator ID= LTP, Creator Revision=0x1
*/
^ permalink raw reply [flat|nested] 4+ messages in thread