On Thu, Feb 06, 2025 at 05:34:58PM -0500, Raymond Mao wrote:
> Hi Simon,
> 
> On Thu, 6 Feb 2025 at 10:41, Simon Glass <s...@chromium.org> wrote:
> >
> > Hi Raymond,
> >
> > On Wed, 5 Feb 2025 at 08:25, Raymond Mao <raymond....@linaro.org> wrote:
> > >
> > > +CC Ilias,
> > >
> > > Hi Simon,
> > >
> > > On Tue, 4 Feb 2025 at 20:57, Simon Glass <s...@chromium.org> wrote:
> > > >
> > > > The logic of this has become too confusing.
> > > >
> > > > The primary issue with the patch is that U-Boot needs to set up a
> > > > bloblist in the first phase where BLOBLIST is enabled. Subsequent
> > > > phases can then use that bloblist.
> > > >
> > > > But the first phase of U-Boot cannot assume that one exists.
> > > >
> > > > Reverting this commit seems like a better starting point for getting
> > > > things working for all use-cases.
> > > >
> > > > This reverts commit 66131310d8ff1ba228f989b41bd8812f43be41c3.
> > > >
> > > > https://lore.kernel.org/u-boot/CAPnjgZ3hMHtiH=f5zkxnniofv_-vfryq1gn7qz5hku8wjo8...@mail.gmail.com/
> > > > Signed-off-by: Simon Glass <s...@chromium.org>
> > > > ---
> > > >
> > >
> > > If my understanding is correct, you want to add some logic to control
> > > when the U-Boot should or should not get the bloblist from the
> > > existing register argument.
> > > But xferlist_from_boot_arg() should be called when a valid register
> > > argument is there, I didn't see this in your patch.
> > > Maybe you plan to do this with other patch series, but simply
> > > reverting this results in a breaking of handoff policy and the
> > > firmware handoff won't work.
> >
> > Yes, I certainly did not want to revert it, but the current code is
> > too hard to understand and I did not look at it at the time it went
> > in. I've had three tries at working with what you have here, but each
> > turns to spaghetti.
> >
> 
> Still not very clear on what concerns you have and what is the way you
> want to go.
> The logic is straight forward, when U-Boot has a previous loader and
> the registers pass in valid arguments - It indicates handoff should be
> done using the transfer list.
> Other kconfig options decide whether to use the passed in address
> directly or copy to a predefined address.
> But in either way, xferlist_from_boot_arg() is doing the right thing
> to get the transfer list from the register if it exists and is valid.
> I don't see a reason for removing it.

Exactly. We aren't reverting anything in master. As far as I can tell
the only problems we have are:
- No mechanism within U-Boot to pass a bloblist/handoff from one stage
  to another WITHOUT it being at a fixed address.
- The actions of "is there a bloblist" and "make a bloblist" are tied
  together, which is a problem with a fixed address being set in memory
  that is either maybe uninitialized or could be re-initialized.

But if we fix the former we don't really need to have the latter
normally.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to