Re: [PATCH] ACPI, APEI, Add APEI _OSC support

Huang Ying
2011-06-16T01:56:01Z

On 06/16/2011 09:38 AM, Matthew Garrett wrote:
> On Thu, Jun 16, 2011 at 08:40:11AM +0800, Huang Ying wrote:
>> On 06/15/2011 08:17 PM, Matthew Garrett wrote:
>>>> You means the "APEI Support" bit for standard UUID? Do you know which
>>>> machine uses this bit? I can write the code, but I have no machine to
>>>> test it.
>>>
>>> I have access to a Dell system that uses this.
>>
>> Great! Can you help us to test the code?
>
> Yup, no problem.
>
>>> Urgh. One machine I've looked at enables APEI if the WHEA _OSC call is
>>> made, and then clears a flag if any other _OSC call is made. In that
>>> specific case it doesn't seem to matter (the flag never actually gets
>>> checked in any of the other codepaths), but it seems that the intention
>>> is for the generic call to be made and the WHEA one to be made after
>>> that.
>>
>> Yes. The WHEA call should be made after the generic one. Another
>> situation is as follow:
>>
>> - Generic _OSC call without "APEI Support" bit is called (in
>> acpi_bus_osc_support).
>>
>> - After some time, when we think it is good to turn on firmware first
>> mode fully, usually after we checking HEST and initializing
>> corresponding module, we make generic _OSC call with "APEI Support" bit
>> to turn on firmware first mode fully in standard way.
>>
>> Is it a good idea to make generic _OSC call twice, one without "APEI
>> Support" bit, the other with "APEI Support" bit?
>
> I think we probably need to make the HEST decision early, and use that
> to decide how to make the generic call. Our experience has been that
> many firmware vendors only expect _OSC to be called once with any given
> UUID - multiple calls can result in unexpected behaviour.

acpi_bus_osc_support is called via subsys_initcall. It is a little hard
to do all checking before that. Is it possible to call
acpi_bus_osc_support later?

Best Regards,
Huang Ying