Topics where there seem to be consensus
Characteristics to consider about HOBs:
Topics that need more discussion
My views: the hybrid allows constraints firmware components to be using simple IDs and richer components may want leverage UUIDs (same as Platform Initialization).
My views: again hybrid approach seem very efficient. Static structures for memory information, DT fragment for device assignment (for non-secure partitions or for secure world / secure partitions). Typically I would imagine a UUID HOB with a DT fragment seems just good. This is actually implemented like that with Platform Initialization:
HOBs are identified by a simple ID, out of IDs are EFI_HOB_RESOURCE_DESCRIPTOR for DRAM description and EFI_HOB_GUID_TYPE that contains something identified by a GUID. There is a GUID used in the context of EDK2 to actually contain a DT fragment today.
Cheers
FF
> From: Simon Glass <sjg@chromium.org>
> Date: Fri, 9 Apr 2021 06:19:08 +1200
>
> Here are a few thoughts on UUIDs.
> Why a UUID/GUID is probably not the answer
>
> sjg, 30-Mar-21
> Code is for humans
>
> Code should be readable, so far as possible.
>
> This is not readable:
>
> #define FSP_HOB_RESOURCE_OWNER_SMM_PEI_SMRAM_GUID \
>
> EFI_GUID(0x6dadf1d1, 0xd4cc, 0x4910, \
>
> 0xbb, 0x6e, 0x82, 0xb1, 0xfd, 0x80, 0xff, 0x3d)
>
> This is readable:
>
> enum {
>
> BLOBLISTT_SPL_HANDOFF = 123,
>
> };
> UUID is more like a hash than a sequence number
No kidding. Try figuring out what an ACPI ASL methods like _DSM and
_OSC are supposed to do when trying to figure out what the code is
supposed to do.
They're terrible to grep for in source code since there is no uniform
way to format them in the code.
And then there is the issue of byte order of course.
_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/boot-architecture
|