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

Simon Glass sjg at chromium.org
Thu Dec 28 20:48:15 CET 2023


Hi Raymond,

On Thu, Dec 28, 2023 at 3:13 PM Raymond Mao <raymond.mao at linaro.org> wrote:
>
> 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.

Yes, sure, but we should fix them too!

>
> [...]
>
> Thanks and regards,
> Raymond

Regards,
Simon


More information about the U-Boot mailing list