Date: Sun, 12 Sep 2010 09:12:48 +0900 From: Norikatsu Shigemura <nork@FreeBSD.org> To: freebsd-current@FreeBSD.org, freebsd-acpi@FreeBSD.org Cc: Norikatsu Shigemura <nork@FreeBSD.org>, Nate Lawson <nate@root.org> Subject: Re: CPU C-state storange on Panasonic TOUGH BOOK CF-R9 Message-ID: <20100912091248.5c95bf2c.nork@FreeBSD.org> In-Reply-To: <20100912081409.9f4d74d0.nork@FreeBSD.org> References: <20100912014855.984a89ed.nork@FreeBSD.org> <4C8BCAC5.5050008@root.org> <20100912081409.9f4d74d0.nork@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 12 Sep 2010 08:14:09 +0900
Norikatsu Shigemura <nork@FreeBSD.org> wrote:
> According to acpidump -dt, I could find CPU0CST table, but
> not found _CST.
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> Scope (\)
> {
> Name (SSDT, Package (0x0C)
> {
> :
> "CPU0CST ",
> 0xDA9AB618,
> 0x000005CD,
> :
> })
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> Hum... ACPI CA 20100806 has a bug?
Humm... I wonder if CF-R9 required another initialization?
I don't know what is HI0 and HC0. But default values of HI0 and
HC0 is 0, and HI0 and HC0 are set CST related values by GCAP,
I think..
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Scope (\_PR.CPU0)
{
Name (HI0, Zero)
Name (HC0, Zero)
:
Method (GCAP, 1, NotSerialized)
{
CreateDWordField (Arg0, Zero, STS0)
CreateDWordField (Arg0, 0x04, CAP0)
If (LOr (LEqual (STS0, 0x06), LEqual (STS0, 0x0A)))
{
Return (Zero)
}
If (And (STS0, One))
{
And (CAP0, 0x0BFF, CAP0)
Return (Zero)
}
Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0)
If (And (CFGD, One))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC0,
0x09), 0x09)), LNot (And (SDTL, One))))
{
Or (SDTL, One, SDTL)
OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, One)), DerefOf (Index (SSDT, 0x02
)))
Load (IST0, HI0)
}
}
If (And (CFGD, 0xF0))
{
If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC0, 0x18
)), LNot (And (SDTL, 0x02))))
{
Or (SDTL, 0x02, SDTL)
OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08
)))
Load (CST0, HC0)
}
}
Return (Zero)
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Thank you.
--
Norikatsu Shigemura <nork@FreeBSD.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100912091248.5c95bf2c.nork>
