Moore, Robert wrote:
> I've verified that slack mode will indeed return the returned value from YCST:
>
Well, we're seeing AE_NULL_OBJECT come back from AcpiEvaluateObjectTyped().
I'm suspecting that the fact that _CST is in a dynamically loaded table
(and YCST is
in the DSDT) may be a corner case here.
This is with ACPICA 20080829 - has it changed since?
>
> DefinitionBlock ("", "DSDT", 2, "Intel", "Many", 0x00000001)
> {
>
> Method (YCST, 0, NotSerialized)
> {
> Return (Package (0x02) {0x1234, 0x5678})
> }
>
> Method (_CRT, 0, Serialized)
> {
> YCST ()
> }
>
>
> Method (XXXX)
> {
> Return (0x12345678)
> }
> Method (_STA)
> {
> XXXX()
> }
>
>
> Method (MAIN, 2, NotSerialized)
> {
> Store (_CRT (), Local0)
> Store ("Return from _CRT:", Debug)
> Store (Local0, Debug)
>
> Store (_STA (), Local1)
> Store ("Return from _STA:", Debug)
> Store (Local1, Debug)
> }
> }
>
>
> In normal mode:
>
> - ex main
> Executing \MAIN
> ACPI Error (dswstate-0185): Result stack is empty! State=00462048 [20090220]
> ACPI Exception (dsutils-0767): AE_AML_NO_RETURN_VALUE, Missing or null
> operand [20090220]
> ACPI Exception (dsutils-0893): AE_AML_NO_RETURN_VALUE, While creating Arg 0
> [20090220]
>
>
> In slack mode:
>
>
> - ex main
> Executing \MAIN
> [ACPI Debug] String [0x11] "Return from _CRT:"
> [ACPI Debug] Package [Contains 0x02 Elements]
> [ACPI Debug] (00) Integer 0x0000000000001234
> [ACPI Debug] (01) Integer 0x0000000000005678
> [ACPI Debug] String [0x11] "Return from _STA:"
> [ACPI Debug] Integer 0x0000000012345678
> Outstanding: 0x1 allocations after execution
> Execution of \MAIN returned object 00337E40 Buflen 10
> [Integer] = 0000000012345678
>
>
>
>
>> -----Original Message-----
>> From: Dana.Myers at Sun.COM [mailto:Dana.Myers at Sun.COM]
>> Sent: Thursday, March 19, 2009 1:29 PM
>> To: Moore, Robert
>> Cc: Li, Aubrey; Bill.Holler at Sun.COM; Liu, Jiang; tesla-dev at
>> opensolaris.org
>> Subject: Re: [tesla-dev] [Fwd: Lu from b105 - b110, panic on reboot]
>>
>> Moore, Robert wrote:
>>
>>> Yes. But on second thought I'm not sure if it actually handles the case
>>>
>> such as a method call as the last statement. We've only made it handle the
>> cases that Windows "allows".
>>
>>>
>> This is on a Toshiba M9 and M10 notebook, current-version BIOS.
>> Presumably (and I have not confirmed this), Windows does deep C-state
>> on these machines using _CST.
>>
>>
>>
>>>> -----Original Message-----
>>>> From: Dana.Myers at Sun.COM [mailto:Dana.Myers at Sun.COM]
>>>> Sent: Thursday, March 19, 2009 1:24 PM
>>>> To: Moore, Robert
>>>> Cc: Li, Aubrey; Bill.Holler at Sun.COM; Liu, Jiang; tesla-
>>>>
>> dev at opensolaris.org
>>
>>>> Subject: Re: [tesla-dev] [Fwd: Lu from b105 - b110, panic on reboot]
>>>>
>>>> Moore, Robert wrote:
>>>>
>>>>
>>>>>> YCST ()
>>>>>>
>>>>>>
>>>>>>
>>>>> Regardless of what YCST returns, _CST is returning nothing in the case
>>>>>
>>>>>
>>>> above.
>>>>
>>>>
>>>>> You need:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> Return (YCST ())
>>>>>>
>>>>>>
>>>>>>
>>>>> Or -- enable the implicit return mechanism.
>>>>>
>>>>>
>>>>>
>>>>>
>>>> Actually, Solaris by default sets AcpiGbl_EnableInterpreterSlack to 1.
>>>> So implicit return should be enabled already, right?
>>>>
>>>> Dana
>>>>
>>>>
>>>
>
>