Master Chief, on Oct 19 2009, 05:39 PM, said:
Chief, for ICH9, system fails to sleep without the device_id bits.
Master Chief, on Oct 19 2009, 05:39 PM, said:
William Parker, on Oct 20 2009, 10:30 AM, said:
iSoprano, on Oct 20 2009, 12:34 PM, said:
William Parker, on Oct 20 2009, 09:28 AM, said:
OperationRegion (SMIC, SystemIO, 0xB2, One)
Field (SMIC, ByteAcc, NoLock, Preserve)
{
SCP, 8
}
OperationRegion (APMP, SystemIO, 0xB2, 0x02)
Field (APMP, ByteAcc, NoLock, Preserve)
{
APMC, 8,
APMD, 8
}
Scope (\)
{
OperationRegion (SCPP, SystemIO, 0xB2, One)
Field (SCPP, ByteAcc, NoLock, Preserve)
{
SMIP, 8
}
}
All three basically the same. And all three used to control Advanced Power Management. The second one isn't even used in the DSDT so comment it out. In fact do that for all three and add this:Name(SCP, 0x80000000) Name(SMIP, 0x80000000)The idea is basically to eliminate the OperationRegion/Field combo's. Let's see if you can do without them. Food first now!
Master Chief, on Oct 20 2009, 07:03 PM, said:
OperationRegion (SMIC, SystemIO, 0xB2, One)
Field (SMIC, ByteAcc, NoLock, Preserve)
{
SCP, 8
}
OperationRegion (APMP, SystemIO, 0xB2, 0x02)
Field (APMP, ByteAcc, NoLock, Preserve)
{
APMC, 8,
APMD, 8
}
Scope (\)
{
OperationRegion (SCPP, SystemIO, 0xB2, One)
Field (SCPP, ByteAcc, NoLock, Preserve)
{
SMIP, 8
}
}
All three basically the same. And all three used to control Advanced Power Management. The second one isn't even used in the DSDT so comment it out. In fact do that for all three and add this:Name(SCP, 0x80000000) Name(SMIP, 0x80000000)The idea is basically to eliminate the OperationRegion/Field combo's. Let's see if you can do without them. Food first now!
William Parker, on Oct 20 2009, 06:01 PM, said:
mm67, on Oct 20 2009, 06:32 PM, said:
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL, 0x02))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
can be changed into this:
Method (_S3D, 0, NotSerialized)
{
Return (0x02)
}
William Parker, on Oct 20 2009, 07:01 PM, said:
Master Chief, on Oct 20 2009, 06:46 PM, said:
Master Chief, on Oct 20 2009, 08:46 PM, said:
dsdt_stripped.dsl.zip 10.34K
68 downloads
DSDT_SBUS.EC.dsl.zip 17.99K
35 downloads
mm67, on Oct 20 2009, 08:18 PM, said:
Method (^_INI, 0, NotSerialized)
{
If (STRC (_OS, "Microsoft Windows"))
{
Store (0x56, SMIP)
}
Else
{
If (STRC (_OS, "Microsoft Windows NT"))
{
If (CondRefOf (\_OSI, Local0))
{
If (_OSI ("Windows 2001"))
{
Store (0x59, SMIP)
Store (Zero, OSFL)
Store (0x03, OSFX)
}
}
Else
{
Store (0x58, SMIP)
Store (Zero, OSFL)
}
}
Else
{
Store (0x57, SMIP)
Store (0x02, OSFL)
}
}
}
Which I think you already removed. Anyway. Note the call to Method STRC since that can also be removed now, along with the two new Name([SCP/SMIP], 0x80000000) vars. You should also be able to remove the following lines from Method _WAK:
\_SB.DBEN ()
Store (0xFF, DBG1)
If (LEqual (Arg0, 0x03))
{
Store (0x8F, SCP)
}
But the DBG1 bits must be checked first. Also remove the following bits from Method _PTR:
If (LEqual (Arg0, One)) {}
If (LEqual (Arg0, 0x03)) {}
Store (0x99, SMIP)
The first two are meaningless, and the last line is just a leftover from your previous work.
Master Chief, on Oct 20 2009, 10:07 PM, said:
Method (^_INI, 0, NotSerialized)
{
If (STRC (_OS, "Microsoft Windows"))
{
Store (0x56, SMIP)
}
Else
{
If (STRC (_OS, "Microsoft Windows NT"))
{
If (CondRefOf (\_OSI, Local0))
{
If (_OSI ("Windows 2001"))
{
Store (0x59, SMIP)
Store (Zero, OSFL)
Store (0x03, OSFX)
}
}
Else
{
Store (0x58, SMIP)
Store (Zero, OSFL)
}
}
Else
{
Store (0x57, SMIP)
Store (0x02, OSFL)
}
}
}
Which I think you already removed. Anyway. Note the call to Method STRC since that can also be removed now, along with the two new Name([SCP/SMIP], 0x80000000) vars. You should also be able to remove the following lines from Method _WAK:
\_SB.DBEN ()
Store (0xFF, DBG1)
If (LEqual (Arg0, 0x03))
{
Store (0x8F, SCP)
}
But the DBG1 bits must be checked first. Also remove the following bits from Method _PTR:
If (LEqual (Arg0, One)) {}
If (LEqual (Arg0, 0x03)) {}
Store (0x99, SMIP)
The first two are meaningless, and the last line is just a leftover from your previous work.
stripped2.dsl.zip 10.08K
74 downloads
mm67, on Oct 20 2009, 09:49 PM, said:
Scope (\)
{
Name (PICF, Zero)
Method (_PIC, 1, NotSerialized)
{
Store (Arg0, PICF)
}
}
And this is what the ACPI specification has to say about it:
Method (_PRT, 0, NotSerialized)
{
If (LNot (PICF))
{
Return (PICM)
}
Else
{
Return (APIC)
}
}
Our goal is to have one Return() only! But that's not all of it because here's the longest part of it:
Name (PICM, Package (0x10)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
},
Package (0x04)
{
0x0001FFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKE,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0x0002FFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKE,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0007FFFF,
Zero,
LNK1,
Zero
},
Package (0x04)
{
0x0007FFFF,
One,
LNK1,
Zero
},
Package (0x04)
{
0x0007FFFF,
0x02,
LNK1,
Zero
},
Package (0x04)
{
0x0007FFFF,
0x03,
LNK1,
Zero
}
})
Name (APIC, Package (0x10)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
},
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x14
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0x0002FFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0x0002FFFF,
0x02,
Zero,
0x14
},
Package (0x04)
{
0x0002FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0007FFFF,
Zero,
Zero,
0x17
},
Package (0x04)
{
0x0007FFFF,
One,
Zero,
0x17
},
Package (0x04)
{
0x0007FFFF,
0x02,
Zero,
0x17
},
Package (0x04)
{
0x0007FFFF,
0x03,
Zero,
0x17
}
})
Ok. This is a rather long example, but there are others which are less long, but clutter the DSDT. What do you think? Are you able to remove the extra bits?Load (IST0, HI0)to check the value of PICF. This is basically everything you'll need to know. More even so surprise me
xopher, on Oct 20 2009, 08:22 PM, said:
Master Chief, on Oct 21 2009, 12:19 AM, said:
xopher, on Oct 20 2009, 11:27 PM, said:
Master Chief, on Oct 21 2009, 02:10 AM, said:
xopher, on Oct 21 2009, 01:57 AM, said:
0 members, 1 guests, 0 anonymous users