On 5/6/20 3:18 PM, Grant Likely wrote:
>
>
> On 05/05/2020 17:41, Heinrich Schuchardt wrote:
>> On 05.05.20 17:44, Grant Likely wrote:
>>> Hi all,
>>>
>>> I'm considering doing a quick point-release for EBBR to address the
>>> change to RuntimeServicesSupported in UEFI 2.8 Errata A. From 2.8final
>>> to 2.8_A, RuntimeServicesSupported changed from being a variable to data
>>> in a system table entry. U-Boot and Linux have been updated to the UEFI
>>> method. EBBR needs to be changed to match.
>>>
>>> There are patches on this list under discussion now. Once that is
>>> complete and the patches merged, how does everyone feel about an EBBR
>>> v1.0.1 release before the end of May?
>>>
>>> At this moment, the v1.0.1 changes would include:
>>>
>>> e47952b (HEAD -> master, glikely/master) Specify details of how a DTB is
>>> passed to the OS
>>
>> Thanks for updating the patch.
>>
>>> c155e96 Update spec to address UEFI 2.8 Errata A
>>
>> The patch looks correct. This is what I stumbled upon looking at the
>> rest of the runtime chapter:
>>
>> The 'Runtime Variable Access' sub-chapter mentions only SetVariable() as
>> optional while the table above it specifies all variable services as
>> optional. Could we start the sub-chapter with a sentence
>>
>>    "All variable services at runtime are optional."
>>
>> to avoid misunderstandings.
>>
>> The `RuntimeServicesSupported` value flag in the
>> `EFI_RT_PROPERTIES_TABLE` should be set correctly for all runtime
>> services. Mentioning this requirement specifically for SetVariable()
>> might be misleading.
>
> This is a bit tricky. In past conversations I was pushing toward making
> GetVariable()/GetNextVariableName() required and only SetVariable()
> optional, but there wasn't concensus at that time. The text as it stands
> it kind of a mix on whether or not GetVariable() is required or merely
> recommended.
>
> For the point release that we do soon, I could tidy up the text a bit,
> but I'd like some thoughts on where EBBR should go for the next major
> revision. GetVariable() should be straight forward to implement
> GetVariable at runtime by using a RAM-cached value. I don't believe any
> work has been done to support that in U-Boot.

See this patch series that is not yet merged:
https://patchwork.ozlabs.org/project/uboot/list/?series=167069

In the series non-volatile variables are persisted in a file on the EFI
system partition.

With the patch series SetVariable() is enabled at runtime. We would need
a systemd service for updating the variables in the file store before a
reboot but that would not be really conforming to the UEFI spec which
mandates immediate update of the store.

For the other variable services the patch series provides a compliant
solution.

Ilias Apalodimas has a draft patch series for using OP-TEE and MM for
managing variables. But storage in the RPMB partition of an eMMC device
would only work at boottime. Just what you described at last years
Embedded Linux conference (https://www.youtube.com/watch?v=VnsF3uRZzNk).

Takahiro Akashi last year presented alternative patches that would
enable reading variables at runtime. He recently suggested to use
capsule updates to update variables and has submitted patches for
capsule updates
(https://patchwork.ozlabs.org/project/uboot/list/?series=172907).

If we do not have SetVariable() at runtime, I do not see much value in
QueryVariableInfo(). So we shouldn't make that service compulsory.

Best regards

Heinrich

>
> Thoughts?
>
>>
>> There is a capitalization typo in the chapter:
>>
>> %s/e.g., If/E.g., if/
>
> Fixed and committed as a trivial fix.
>
> g.
>
>>
>> Best regards
>>
>> Heinrich
>>
>>> 7fad894 (origin/master, origin/HEAD) Fix all UEFI references to be the
>>> same version
>>> 498cad2 trivial: Fix typo in chater 3 title
>>> 2c40029 Merge pull request #43 from orangecms/link-to-linux-doc
>>> 1e51a1e Update link to Linux docs which changed to rst
>>> be7ddfa Update CONTRIBUTING.rst
>>> 763aed0 Update CONTRIBUTING.rst
>>>
>>> All of the above can be found queued up at
>>> http://github.com/glikely/ebbr
_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/boot-architecture

Reply via email to