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

Huang Ying
2011-06-16T00:40:11Z

On 06/15/2011 08:17 PM, Matthew Garrett wrote:
> On Wed, Jun 15, 2011 at 11:53:32AM +0800, Huang Ying wrote:
>> Hi, Matthew,
>> On 06/14/2011 10:52 PM, Matthew Garrett wrote:
>>> And then tear down GHES. This seems wrong. A platform could predicate
>>> APEI functionality on the ACPI spec APEI indication (which we currently
>>> don't pass) without implementing WHEA, but with this patch we'd refuse
>>> to enable GHES support? We should probably try both the standard method
>>> and the WHEA method and only disable GHES if both fail.
>>
>> 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?

>> BTW, it is better for us to enable APEI firmware first mode (that is,
>> what is enabled by evaluating the WHEA UUID) after GHES reporting is
>> ready (that is, after GHES module is successfully loaded). That is
>> later than current ACPI _OSC evaluation with standard UUID. Is it
>> possible to evaluate _OSC with standard UUID twice? So that we can
>> enable APEI firmware first mode later.
>
> 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?

Best Regards,
Huang Ying