Liu, Jiang <> wrote:
> Bill.Holler at Sun.COM <mailto:Bill.Holler at Sun.COM> wrote:
>> Hi,
>>
>> I would like to try to get a fix for this into the next OpenSolaris
>> release. Time is running out if it has not already.
>>
>> Are we happy with using AcpiEvaluateObjectTyped(), or do
>> we need to do more work in the ACPICA?
>>
>> This change works on tecra M9 and M10. AcpiEvaluateObjectTyped()
>> returns 9 on both of these systems which indicates an error.
>
> Errno 9 means NULL OBJECT.
> #define AE_NULL_OBJECT (ACPI_STATUS) (0x0009 |
> AE_CODE_ENVIRONMENTAL)
There reason for AcpiEvaluateObjectTyped() to return AE_NULL_OBJECT
should be that _CST doesn't return an object at all.
But according to the dsl code, _CST should return an valid package object.
Highly suspect bugs in ACPICA. Dana, any hints here?
>
> Seems something unexpected happens in acpica or BIOS.
> Acording to dsl, it should return a package for _CST.
>
>>
>>
>> diff -r 11c1672e6d5b -r 90c9f0b548f7
>> usr/src/uts/i86pc/os/cpupm/cpu_acpi.c
>> --- a/usr/src/uts/i86pc/os/cpupm/cpu_acpi.c Tue Mar 17 19:00:36
>> 2009
>> -0400
>> +++ b/usr/src/uts/i86pc/os/cpupm/cpu_acpi.c Wed Mar 18 17:42:48
>> 2009 -0700 @@ -695,11 +695,15 @@
>> abuf.Length = ACPI_ALLOCATE_BUFFER;
>> abuf.Pointer = NULL;
>>
>> - if (ACPI_FAILURE(AcpiEvaluateObject(handle->cs_handle,
>> "_CST",
>> - NULL, &abuf))) {
>> + if (ACPI_FAILURE(AcpiEvaluateObjectTyped(handle->cs_handle,
>> "_CST", + NULL, &abuf, ACPI_TYPE_PACKAGE))) {
>> cmn_err(CE_NOTE, "!cpu_acpi: _CST evaluate
>> failure"); return (-1); }
>> + if (abuf.Length < sizeof (ACPI_OBJECT)) {
>> + cmn_err(CE_NOTE, "!cpu_acpi: _CST evaluate length
>> failure"); + return (-1);
>> + }
>> obj = (ACPI_OBJECT *)abuf.Pointer;
>> if (obj->Package.Count < 2) {
>> cmn_err(CE_NOTE, "!cpu_acpi: _CST package bad count
>> %d.",
>>
>>
>> Is ACPI_STATUS "9" defined?
>>
>> Regards,
>> Bill
>
> Liu Jiang (Gerry)
> OpenSolaris, OTC, SSG, Intel
> _______________________________________________
> tesla-dev mailing list
> tesla-dev at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/tesla-dev
Liu Jiang (Gerry)
OpenSolaris, OTC, SSG, Intel