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

Rafael J. Wysocki
2011-06-16T09:00:21Z

On Thursday, June 16, 2011, 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.

Not really, as long as the "query enable" bit is set.

Thanks,
Rafael