On Saturday, September 15, 2007 11:31 PM, Mark.Haywood at Sun.COM wrote:
> Li, Aubrey wrote:
>> On Thursday, September 13, 2007 9:47 AM, Dana.Myers at Sun.COM wrote:
>>> That's my concern, as well - that ACPI CA may not be properly
>>> handling the Alias() statement. We need to bounce this off of Bob
>>> Moore at Intel (who is the lead engineer for ACPI CA), but first I'd
>>> like some information on the purpose of the Alias statements in
>>> this case.
>>>
>> I have another meeting with him a few hours ago. I can forward the
>> issue to him. Let's see what feedback.
>
> I went ahead and created CR 6605212 SpeedStep can't find _PSS for
> Processor declared by Alias.
>
> As I mention in the evaluation, we have a possible fix. But until we
> get a little more information, I'm not convinced it's the right
> one. Aubrey,
> did you get any feedback from Bob?
>
Mark - I think the fix I suggested it's right.
The first object should be mapped as the ACPI handler.
Since the object is alias, it should be declared after the source
object.
That means the Alias object must always be behind of the source object.
So, IMHO, this fix is correct.
diff -r b6d0b03690de usr/src/uts/intel/io/acpica/osl.c
--- a/usr/src/uts/intel/io/acpica/osl.c Mon Aug 20 17:45:19 2007 -0700
+++ b/usr/src/uts/intel/io/acpica/osl.c Fri Sep 07 05:54:09 2007 +0800
@@ -1337,7 +1337,8 @@ acpica_add_processor_to_map(UINT32 acpi_
continue;
if (cpu_map[cpu_id]->mpa->ProcessorId == acpi_id) {
- cpu_map[cpu_id]->obj = obj;
+ if (cpu_map[cpu_id]->obj == NULL)
+ cpu_map[cpu_id]->obj = obj;
break;
}
}
Does this make sense?
Thanks,
-Aubrey
------------------------------------------------------------------------
------------
Alias (SourceObject, AliasObject)
Arguments
SourceObject is any named object. AliasObject is a NameString.
Description
Creates a new object named AliasObject that refers to and acts
exactly the same as SourceObject.
AliasObject is created as an alias of SourceObject in the namespace. The
SourceObject name must already exist in the namespace. If the alias is
to a name within the same definition block, the SourceObject name must
be logically ahead of this definition in the block.
------------------------------------------------------------------------
------------