On Wed, May 06, 2020 at 09:09:45PM +0200, Heinrich Schuchardt wrote: > 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.
Also via a kind of ram-cache, but I can agree to Heinrich's approach if UEFI variables are re-implemented from the scratch except that we don't have to stick to file system. > 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). Just for clarification, "variable updates" patch was included in RFC but later dropped in v1 as the discussions were immature. Thanks, -Takahiro Akashi > 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 [email protected] https://lists.linaro.org/mailman/listinfo/boot-architecture
