Hi Tom,

On Wed, 14 May 2025 at 23:58, Tom Rini <tr...@konsulko.com> wrote:
>
> On Sat, May 10, 2025 at 03:42:07PM +0200, Simon Glass wrote:
>
> > Accept a bloblist and control devicetree from a previous phase in
> > registers 0 to 3, as documented in the Firmware Handoff
> > specification[1].
> >
> > Note that there is currently a weak function called save_boot_params()
> > which happens to save the same registers as are needed for this
> > protocol. But it seems better to implement this feature as a first-class
> > citizen, if for no other reason than that many boards have their own
> > version of save_boot_params() which may not happen to save the required
> > registers. A weak function is not a good basis for an API.
> >
> > [1] https://firmwarehandoff.github.io/firmware_handoff/main/index.html
> >
> > Signed-off-by: Simon Glass <s...@chromium.org>
> > ---
> > While some efforts were made to encourage Intel to adopt this
> > specification, this has not yet been successful. However I do intend to
> > use my proposed x86 handoff in U-Boot, once this series is in.
> >
> > Changes in v4:
> > - Update commit message to indicate this can only be for ARM at present
> > - Update commit message to mention why save_boot_params() is not used
> >
> > Changes in v3:
> > - Add support for aarch64 also
> > - Update registers to match the Firmware Handoff protocol
> >
> > Changes in v2:
> > - Use three registers instead of two for the entry
> >
> >  arch/arm/cpu/armv7/start.S | 10 +++++++++-
> >  arch/arm/cpu/armv8/start.S | 12 ++++++++++++
> >  arch/arm/lib/crt0.S        |  6 ++++++
> >  arch/arm/lib/crt0_64.S     |  6 ++++++
> >  4 files changed, 33 insertions(+), 1 deletion(-)
>
> This is what makes me think you aren't actually working on my feedback
> about taking what we have in-tree, now, rather than just forward porting
> your old series and deleting the current code.

Well, yes, I sent this v3 series because I had thought you were
willing to allow me to maintain bloblist. I certainly appreciate the
work in this area, though.

>
> We have save_boot_params doing exactly what it should today, including
> saving off a standard passage and making what was saved available later,
> in an intentional fashion. If, hypothetically, Pi needs to override
> save_boot_param because a future new-firmware-blob does standard passage
> but at run time we want to support both, that's a good thing.
>
> With commit ea3348ebc215 ('Merge patch series "Handoff bloblist from
> previous boot stage"') we already implement the specification in [1]. It
> is not a "which happens to". It is intentional.
>
> I guess the overall challenge here is that you want to do things which
> are a superset of the firmware handoff spec itself?

Yes,, much of this series relates to putting some structure into
things which are passed via standard passage, including validation.

I actually don't understand why you would be keen on using
save_boot_params(), a weak function, used for board-specific features,
to implement standard passage. We should build standard passage in as
a first-class citizen. I certainly don't want to try to implement
things that way on x86.

Regards,
Simon

Reply via email to