[PATCH v3 1/9] bloblist: add API to check the register conventions

Raymond Mao raymond.mao at linaro.org
Thu Dec 28 16:13:35 CET 2023


Hi Simon,

On Thu, 28 Dec 2023 at 08:38, Simon Glass <sjg at chromium.org> wrote:

> Hi Raymond,
>
> On Wed, Dec 27, 2023 at 4:06 PM Raymond Mao <raymond.mao at linaro.org>
> wrote:
> >
> > Hi Simon,
> >
> > On Tue, 26 Dec 2023 at 04:48, Simon Glass <sjg at chromium.org> wrote:
> >>
> >> Hi Raymond,
> >>
> >> On Fri, Dec 22, 2023 at 9:31 PM Raymond Mao <raymond.mao at linaro.org>
> wrote:
> >> >
> >> > Add bloblist_check_reg_conv() to check whether the bloblist is
> compliant
> >> > to the register conventions defined in Firmware Handoff specification.
> >> > This API can be used for all Arm platforms.
> >> >
> >> > Signed-off-by: Raymond Mao <raymond.mao at linaro.org>
> >> > ---
> >> > Changes in v2
> >> > - Refactor of bloblist_check_reg_conv().
> >> > Changes in v3
> >> > - bloblist_check_reg_conv() returns -ENOENT if OF_BOARD is disabled.
> >> >
> >> >  common/bloblist.c  | 13 +++++++++++++
> >> >  include/bloblist.h | 12 ++++++++++++
> >> >  2 files changed, 25 insertions(+)
> >> >
> >> > diff --git a/common/bloblist.c b/common/bloblist.c
> >> > index 625e480f6b..ba17dd851a 100644
> >> > --- a/common/bloblist.c
> >> > +++ b/common/bloblist.c
> >> > @@ -542,3 +542,16 @@ int bloblist_maybe_init(void)
> >> >
> >> >         return 0;
> >> >  }
> >> > +
> >> > +int bloblist_check_reg_conv(ulong rfdt, ulong rzero)
> >> > +{
> >> > +       if (!IS_ENABLED(CONFIG_OF_BOARD))
> >> > +               return -ENOENT;
> >> > +
> >> > +       if (rzero || rfdt !=
> (ulong)bloblist_find(BLOBLISTT_CONTROL_FDT, 0)) {
> >> > +               gd->bloblist = NULL;  /* Reset the gd bloblist
> pointer */
> >> > +               return -EIO;
> >> > +       }
> >>
> >> Where does the magic 4a0fb10b value get checked?
> >>
> > The magic and version of register conventions cannot be checked now
> since there is
> > a bug in the spec. PSB:
> > ```
> > X1[23:0]: set to the TL signature (4a0f_b10b)
>
> That should say 0f_b10b
>
> However, currently we have switched to `4a0f_b10b` in both TF-A and OP-TEE.
I don't want to break the dataflow that is currently working.
I prefer to make patches to TF-A, OP-TEE and U-Boot at the same time when
spec v1.0 is ready.

[...]

Thanks and regards,
Raymond


More information about the U-Boot mailing list