WIP: RFC: Add a gitlab test
This needs fixing up once the new hooks land as well as adding an
azure rule.
Series-to: u-boot
Series-cc: ilias, heinrich, trini
Series-cc: François Ozog <francois.ozog@linaro.org>
Series-cc: Bill Mills <bill.mills@linaro.org>
Cover-letter:
passage: Define a standard for firmware data flow
This series adds a standard way of passing information between different
firmware phases. This already exists in U-Boot at a very basic level, in
the form of a bloblist containing an spl_handoff structure, but the intent
here is to define something useful across projects.
The need for this is growing as firmware fragments into multiple binaries
each with its own purpose. Without any run-time connection, we must rely
on build-time settings which are brittle and painful to keep in sync.
This feature is named 'standard passage' since the name is more unique
than many others that could be chosen, it is a passage in the sense that
information is flowing from one place to another and it is standard,
because that is what we want to create.
The implementation is simply a pointer to a bloblist in a register, with
an extra register to point to a devicetree, for more complex data, if one
is present in the bloblist. This should cover all cases (small memory
footprint as well as complex data flow) and be easy enough to implement on
all architectures.
The core bloblist code is relicensed to BSD-3-Clause in case it is useful
in non-GPL projects but there is no requirement to use the same code.
This series includes tweaks to the bloblist implementation in U-Boot to
make it more suitable for the task, including:
- Allocate tags explicitly in the enum
- Put the magic number first
- Define a process for adding tags
The emphasis is on enabling open communcation between binaries, not
enabling passage of secret, undocumented data, although this is possible
in a private environment.
END
Signed-off-by:
Simon Glass <sjg@chromium.org>
Please register or sign in to comment