On Wednesday, September 12, 2007 11:16 PM, Dana.Myers at Sun.COM wrote:

> Li, Aubrey wrote:
>> On Wednesday, September 12, 2007 5:48 PM, Mark.Haywood at Sun.COM wrote:
>> 
>>>> Your change of that table is so good that we don't have to change
>>>> the current code behavior. But that's the table the BIOS give out.
>>>> And the driver have to be based on it. I didn't found the
>>>> specification for it so far. At least, the current method of
>>>> building cpu acpi map doesn't cover all kinds of machine, which
>>>> need to be fixed. 
>>>> I'll continue to investigate and let you know when I get something.
>>> I ran into a system today with the following iasl dump:
>>> 
>>>     Scope (_PR)
>>>     {
>>>         Processor (P001, 0x01, 0x00000810, 0x06) {}         Alias
>>>         (P001, CPU1) Processor (P002, 0x02, 0x00000000, 0x00) {}
>>>         Alias (P002, CPU2) Processor (P003, 0x03, 0x00000000, 0x00)
>>>         {}         Alias (P003, CPU3) Processor (P004, 0x04,
>>>     0x00000000, 0x00) {}         Alias (P004, CPU4) }
>>> 
>>> I've never see an "Alias" defined before. I'm wondering if
>>> that is what
>>> you are running into. If so, then I think the fix might be to ignore
>>> aliases when doing the mapping. Can you check to see if that's what
>>> you're running into? If so, then we'll have to figure out how to
>>> identify an "Alias".
>> Yes, I saw an "Alias" on my system. From the objects "P001" and
>> "CPU1", they have the same type and flags.
>> We have to find another way to identify this "Alias".
>> Can we simply not add these "Alias" object into the namespace when we
>> load the whole table?
> I'm not sure what you mean by 'add these "Alias" object into the
> namespace'.  The result of an Alias() is another Processor() object
> in the namespace; unfortunately, I believe we currently treat them
> as unique Processor() objects because that's what they look like
> by the time we see them.  Perhaps the right thing to to do is to
> ignore a duplicate Processor() based on the ProcessorID, which
> is required to be unique for each actual processor.

Errr, yes, the result of an Alias is another Processor() object in the
namespace.
What I mean is, this object is useless. Can we ignore all kinds of these
objects,
So that we have an unique object for each actual device?
> 
> Arguably, creating alias objects for Processor()s is a bad idea;
> any idea why a BIOS author would do that?
>> 
>>> BTW, On this particular system, there really wasn't a _PSS.
>>> 
>> 
>> _PSS may be in another table which needs to be loaded by evaluating
>> _PDC. Can you give me the ssdt table on your system to check?
> We've seen some real magic with _PSS, particularly Toshiba BIOSes
> which do not declare a _PSS anywhere in the ACPI tables, but instead
> load one dynamically from a SystemMemory region at _PDC time.  Mark's
> seen that before, though. 
> 

Thanks,
-Aubrey

Reply via email to