Re: CPU C-state storange on Panasonic TOUGH BOOK CF-R9

From: Norikatsu Shigemura <nork_at_FreeBSD.org>
Date: Sun, 12 Sep 2010 09:12:48 +0900
On Sun, 12 Sep 2010 08:14:09 +0900
Norikatsu Shigemura <nork_at_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_at_FreeBSD.org>
Received on Sat Sep 11 2010 - 22:12:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:07 UTC