Hi Francois,
On Thu, Feb 18, 2021 at 11:31:42AM +0100, François Ozog wrote:
On Thu, 18 Feb 2021 at 10:04, Ilias Apalodimas ilias.apalodimas@linaro.org wrote:
[...]
Looking at the EFI spec and specifically § 3.1.3 Load Options, we can use the FilePathList[] of the EFI_LOAD_OPTION, which is described as:
"A packed array of UEFI device paths. The first element of the array is a device path that describes the device and location of the Image for this load option. The FilePathList[0] is specific to the device type. Other device paths may optionally exist in the FilePathList, but their usage is OSV specific. Each element in the array is variable length, and ends at the device path end structure. Because the size of Description is arbitrary, this data structure is not guaranteed to be aligned on a natural boundary. This data structure may have to be copied to an aligned natural boundary before it is used."
So FilePatrhList[1-n] are available for OS usage. There are 3 ways we could implement that. All 3 ways would allow us to specify multiple initrds (and we could extend the same logic to DTBs, but that's a different discussion). They all re-use the same idea, prepend a VenMedia DP, which has a GUID. We can then use that GUID to identify the filetype and behavior of the device paths.
this is from "10.3.2.4 Vendor Device Path" in UEFI spec right ?
Yes that's what I had in mind
[...]
Regards /Ilias