On 12/07/2018 15:50, Mark Brown wrote:
On Thu, Jul 12, 2018 at 02:19:49PM +0000, Udit Kumar wrote:

Do any existing implementations change variables from non-volatile to
volatile?

The UEFI spec is explicit about which variables are volatile and which are not.
Simply relaxing non-volatile to volatile in the general case doesn't seem like a
useful approach to me.

I believe at boot-time, UEFI specs will be followed for volatile and 
non-volatile variables.
Having this in statement EBBR, will help those platform, which cannot expose 
non-volatile variables at runtime.

If nothing currently does it the chances that anything will actually
cope well seem minimal.  Like Daniel said it seems more likely to break
things - if the variables are defined as being non-volatile then the OS
is unlikely to be checking at runtime if that's the case or not unless
it's explicitly written to work with EBBR.  If an error is generated
because a non-volatile variable can't be set then that should at least
fall into whatever error handling code is there to cover normal rutime
failures which has some chance of doing something sensible.

There is a hard break at least between when variables are used in boot services, and when they are used at runtime. For Linux, only the UEFI stub will read the variables at boot time (if at all) before calling exitBootServices(). By the time the kernel starts, runtime services are the only way to access variables. There is no caching of variables from the stub to the kernel as far as I can tell.

As far as the kernel and userspace are concerned, all the variables will have only ever been volatile.

g.





_______________________________________________
Arm.ebbr-discuss mailing list
arm.ebbr-disc...@arm.com


_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/boot-architecture

Reply via email to