FormerlyKnownAs, on Sep 11 2009, 02:50 AM, said:
...
Current conclusion - If it is possible to fix ACPI for MB that do not support C-states, I'm not smart enough to do it!
Scope (_PR.CPU0)
{
Name (HI0, Zero)
Name (HC0, Zero)
Name (TLD0, Zero)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, CAP0)
Store (CAP0, PDC0)
If (LEqual (TLD0, Zero)) // Is TLD0 Zero? Which is true.
{
If (LEqual (And (PDC0, 0x0A), 0x0A)) // Is bit 2 of PDC0 set? Which must be true, or it won't load the IST table.
{
If (And (CFGD, 0x02)) // Is bit 1 of CFGD set? Which is true for the provided value of 0x04030302.
{
// Point IST0 to the provided memory area
OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, One)), DerefOf (Index (SSDT, 0x02
)))
Load (IST0, HI0) // Load the IST0 table �" HI0 is a handle which can be used to unload the table.
}
Store (One, TLD0) // Preserve state information across S1-S3 sleep.
}
}
}
}
And in particular the following snippet, which is part of all but the first PDC object:
If (And (CFGD, 0x10)) // Is bit 4 of CFGD set? Which is NOT true for the provided value of 0x04030302.
{
OperationRegion (CSTn, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
Load (CSTn, HC1) // Load the CSTn table.
}
This code is responsible for loading the CST tables, on MB's with CST tables that is. Now note the CFGD value in your DSDT, which is 0x4030302. Got it? Yes, that bit is not set. You might want to change it to 0x4030312 and remove the CST object from your DSDT. That should (also) work, or at least make it the same Note that the PDC object is evaluated only once, and prior to evaluation of any other processor power management objects returning configuration information. And PDC objects are normally called with three arguments, being: RevisionID, Count and CapabilitiesDWORD1. However, not in your case it seems. Time for me to change my PDC object to see what I am getting



Sign In
Create Account










