From: Tom Rini <trini@konsulko.com>
To: Simon Glass <sjg@chromium.org>
Cc: "Raymond Mao" <raymond.mao@linaro.org>,
"U-Boot Mailing List" <u-boot@lists.denx.de>,
"Andrew Goodbody" <andrew.goodbody@linaro.org>,
"Caleb Connolly" <caleb.connolly@linaro.org>,
"Evgeny Bachinin" <EABachinin@salutedevices.com>,
"Harrison Mutai" <harrison.mutai@arm.com>,
"Jan Kiszka" <jan.kiszka@siemens.com>,
"Jerry Van Baren" <vanbaren@cideas.com>,
"Lad Prabhakar" <prabhakar.mahadev-lad.rj@bp.renesas.com>,
"Levi Yun" <yeoreum.yun@arm.com>,
"Marek Behún" <kabel@kernel.org>,
"Marek Vasut" <marek.vasut+renesas@mailbox.org>,
"Marek Vasut" <marex@denx.de>,
"Matthias Brugger" <mbrugger@suse.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Patrick Rudolph" <patrick.rudolph@9elements.com>,
"Quentin Schulz" <quentin.schulz@cherry.de>,
"Sumit Garg" <sumit.garg@kernel.org>,
"This contributor prefers not to receive mails"
<noreply@example.com>, mason1920 <mason1920@use.startmail.com>
Subject: Re: [PATCH 0/4] bloblist: fdt: Clean up the code
Date: Thu, 17 Apr 2025 16:14:49 -0600 [thread overview]
Message-ID: <20250417221449.GF5495@bill-the-cat> (raw)
In-Reply-To: <CAFLszTgudBv6sNBU-HX=a+BMZZNVF6ur8FgudAzhXv+bRepLbA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 12931 bytes --]
On Thu, Apr 17, 2025 at 04:02:20PM -0600, Simon Glass wrote:
> Hi Tom,
>
> On Thu, 17 Apr 2025 at 15:58, Tom Rini <trini@konsulko.com> wrote:
> >
> > On Thu, Apr 17, 2025 at 03:24:17PM -0600, Simon Glass wrote:
> > > Hi Tom,
> > >
> > > On Thu, 17 Apr 2025 at 08:14, Tom Rini <trini@konsulko.com> wrote:
> > > >
> > > > On Thu, Apr 17, 2025 at 07:14:35AM -0600, Simon Glass wrote:
> > > > > Hi Tom,
> > > > >
> > > > > On Mon, 14 Apr 2025 at 14:34, Tom Rini <trini@konsulko.com> wrote:
> > > > > >
> > > > > > On Mon, Apr 14, 2025 at 01:34:10PM -0600, Simon Glass wrote:
> > > > > > > Hi Tom,
> > > > > > >
> > > > > > > On Mon, 7 Apr 2025 at 08:31, Tom Rini <trini@konsulko.com> wrote:
> > > > > > > >
> > > > > > > > On Mon, Apr 07, 2025 at 12:35:15PM +1200, Simon Glass wrote:
> > > > > > > > > Hi Tom,
> > > > > > > > >
> > > > > > > > > On Mon, 7 Apr 2025 at 10:38, Tom Rini <trini@konsulko.com> wrote:
> > > > > > > > > >
> > > > > > > > > > On Mon, Apr 07, 2025 at 10:06:07AM +1200, Simon Glass wrote:
> > > > > > > > > > > Hi Tom,
> > > > > > > > > > >
> > > > > > > > > > > On Sat, 5 Apr 2025 at 06:57, Tom Rini <trini@konsulko.com> wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > On Sat, Apr 05, 2025 at 06:39:39AM +1300, Simon Glass wrote:
> > > > > > > > > > > > > Hi Tom,
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Fri, 4 Apr 2025 at 11:51, Tom Rini <trini@konsulko.com> wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > On Fri, Apr 04, 2025 at 11:41:08AM +1300, Simon Glass wrote:
> > > > > > > > > > > > > > > Hi Tom,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > On Fri, 4 Apr 2025 at 10:52, Tom Rini <trini@konsulko.com> wrote:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > On Fri, Apr 04, 2025 at 09:40:29AM +1300, Simon Glass wrote:
> > > > > > > > > > > > > > > > > Hi Raymond,
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > On Fri, 4 Apr 2025 at 08:54, Raymond Mao <raymond.mao@linaro.org> wrote:
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Hi Simon,
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > On Thu, 3 Apr 2025 at 14:18, Simon Glass <sjg@chromium.org> wrote:
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Hi Raymond,
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > On Fri, 4 Apr 2025 at 07:13, Raymond Mao <raymond.mao@linaro.org> wrote:
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > Hi Simon,
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > On Thu, 3 Apr 2025 at 13:57, Simon Glass <sjg@chromium.org> wrote:
> > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > Hi Raymond,
> > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > On Fri, 4 Apr 2025 at 03:09, Raymond Mao <raymond.mao@linaro.org> wrote:
> > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > Hi Simon,
> > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > On Fri, 28 Mar 2025 at 11:44, Simon Glass <sjg@chromium.org> wrote:
> > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > The bloblist code took what I consider to be a wrong turn a year or so
> > > > > > > > > > > > > > > > > > > > > > > ago. As discussed with Tom, this series proposes a way to arrange things
> > > > > > > > > > > > > > > > > > > > > > > so that it is simpler to understand and manage.
> > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > - Unwind some of the nesting in bloblist_init()
> > > > > > > > > > > > > > > > > > > > > > > - Avoid needing to init the bloblist just to get the FDT
> > > > > > > > > > > > > > > > > > > > > > > - Create a deterministic OF_BLOBLIST option rather than using guesswork
> > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > We now have a kconfig BLOBLIST_PASSAGE_MANDATORY which means
> > > > > > > > > > > > > > > > > > > > > > mandatorily use bloblist to hand over everything between boot stages
> > > > > > > > > > > > > > > > > > > > > > including fdt, creating OF_BLOBLIST is not necessary.
> > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > Yes, I noticed that, but BLOBLIST_PASSAGE_MANDATORY indicates that
> > > > > > > > > > > > > > > > > > > > > there must be a bloblist, not that it must contain a devicetree. So I
> > > > > > > > > > > > > > > > > > > > > wasn't sure about removing it.
> > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > See my comments to your [2/4] patch, if BLOBLIST_PASSAGE_MANDATORY is
> > > > > > > > > > > > > > > > > > > > selected, we can override any fdt from board or env with the one from
> > > > > > > > > > > > > > > > > > > > the bloblist.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > Yes, but we should be explicit about what is going on here. With
> > > > > > > > > > > > > > > > > > > OF_BLOBLIST we indicate that the devicetree is coming from the
> > > > > > > > > > > > > > > > > > > bloblist. It becomes one of the sources for devicetree, like
> > > > > > > > > > > > > > > > > > > OF_SEPARATE and OF_EMBED
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > BLOBLIST_PASSAGE_MANDATORY indicates the fdt from bloblist will be
> > > > > > > > > > > > > > > > > > mandatorily used and override other fdt sources like from the board or
> > > > > > > > > > > > > > > > > > env variables.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > So long as you are OK with OF_BLOBLIST as well, I have no objection to
> > > > > > > > > > > > > > > > > keeping BLOBLIST_PASSAGE_MANDATORY, although I don't like the name
> > > > > > > > > > > > > > > > > very much. But I can see why it is called that as my standard passage
> > > > > > > > > > > > > > > > > series was actually never applied. So I suppose I'll need to have
> > > > > > > > > > > > > > > > > another try at that.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > So to be clear, I want a separate option for devicetree, called
> > > > > > > > > > > > > > > > > OF_BLOBLIST, which I can enable/disable as needed, without affecting
> > > > > > > > > > > > > > > > > your option.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Sigh. Can I ask what the use case for this will be? And we are going to
> > > > > > > > > > > > > > > > get rid of BLOBLIST_FIXED at some point, yes?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > I thought we agreed that this was acceptable. We argued the toss for
> > > > > > > > > > > > > > > months on this point and I would rather not revisit it.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Yes, I will look at removing BLOBLIST_FIXED once this is in. I'm
> > > > > > > > > > > > > > > pretty sure it can be done. The only tricky bit is coming up with a
> > > > > > > > > > > > > > > bloblist protocol for x86.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Yes, I'm stuck between being "flexible and saying yes" and how long we
> > > > > > > > > > > > > > have to live with what I also think are bad designs.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > So maybe the pre-requisite here is that with "bloblist" and "standard
> > > > > > > > > > > > > > passage" being divorced, what is the requirement for bloblist again?
> > > > > > > > > > > > > > Because in practice, all of the problems we've had come down to looking
> > > > > > > > > > > > > > in fixed address locations before they're valid. You want to handle this
> > > > > > > > > > > > > > by saying "Ah, we won't look before it's valid with other CONFIG flags"
> > > > > > > > > > > > > > and I say we should handle this by not using a fixed address to start
> > > > > > > > > > > > > > with.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > If we have to add OF_BLOBLIST now and delete it in a few months, sigh,
> > > > > > > > > > > > > > OK. But it shouldn't need to exist long term.
> > > > > > > > > > > > >
> > > > > > > > > > > > > For me, OF_BLOBLIST is needed for x86 devices which don't pass the
> > > > > > > > > > > > > devicetree in the bloblist.
> > > > > > > > > > > >
> > > > > > > > > > > > I don't understand why that would become the case when it's not true
> > > > > > > > > > > > today.
> > > > > > > > > > >
> > > > > > > > > > > If you look at the top obbfdtdec_setup() in your tree you can see the
> > > > > > > > > > > special-case code related to TPL, that I'm wanting to get rid of.
> > > > > > > > > >
> > > > > > > > > > OK, but all of that too is for the case of a fixed bloblist being in
> > > > > > > > > > uninitialized memory. Which is why I don't like BLOBLIST_FIXED and want
> > > > > > > > > > to see passing of the bloblist from xPL -> PPL be implemented and so xPL
> > > > > > > > > > can allocate a bloblist (or grow a passed one if needed).
> > > > > > > > >
> > > > > > > > > We are going around in circles though. Having it is registers doesn't
> > > > > > > > > help with the problem that there isn't an FDT in the bloblist.
> > > > > > > >
> > > > > > > > Sure it does. If we're passed a bloblist in a register we can then see
> > > > > > > > if it has a DT (and use it) or not (and move to the next DT location).
> > > > > > > >
> > > > > > > > > Also, I thought you decided that I could maintain bloblist. Have you
> > > > > > > > > changed your mind?
> > > > > > > >
> > > > > > > > You just mis-understood me. Yes, you can maintain bloblist. But also,
> > > > > > > > Yes, I need to understand what you're doing. The root of the OF_BLOBLIST
> > > > > > > > problems is that no one understood you.
> > > > > > >
> > > > > > > No, that's not actually true. The problem is that no one would listen
> > > > > > > and everyone was sure I was wrong.
> > > > > >
> > > > > > That's another way of saying "no one understood you", IMO.
> > > > > >
> > > > > > > I sent the series on the basis that you were open to my maintaining
> > > > > > > bloblist in your tree. I didn't know there were extra conditions. So
> > > > > > > please let me know which way you want to go on this.
> > > > > >
> > > > > > I thought we had made progress on the community call, but now you're
> > > > > > sending this so I don't know?
> > > > > >
> > > > > > You need to:
> > > > > > - Not break handoff spec. Raymond is telling you how to get a QEMU that
> > > > > > uses that now, and I'm actively waiting on Harrison Mutai to answer
> > > > > > one last question I had before adding vexpress_fvp to our CI. So this
> > > > > > should be a reasonable requirement.
> > > > > > - You were going to add register passing of bloblist location for x86,
> > > > > > and then add register passing of bloblist between U-Boot phases
> > > > > > without relying on BLOBLIST_FiXED.
> > > > > > - Some amount of un-tangling "do we have a bloblist" from "did we get a
> > > > > > bloblist" is needed, so we can just check "Did we get a bloblist? Y/N"
> > > > > > in lib/fdtdec.c::fdtdec_setup(). With that, we can add OF_BLOBLIST as
> > > > > > a choice with OF_SEPARATE / OF_EMBEDED and we can remove a bunch of
> > > > > > the logic at the top of lib/fdtdec.c::fdtdec_setup() too.
> > > > >
> > > > > That seems very much like a list of instructions. So in fact you still
> > > > > want to be the maintainer?
> > > >
> > > > I mean, I'm the project maintainer. No, I'm not going to sit over your
> > > > shoulder and tell you how to do that. But I am telling you what is and
> > > > isn't acceptable. I don't just blindly take patches from anyone. You are
> > > > not being singled out here.
> > >
> > > Heaven forbid. Although I see that you reverted the PXE stuff rather
> > > than taking my fix-up patch. That's different from what you did with
> > > all the lmb breakage.
> >
> > Because you said I should just revert it since I didn't "support" it.
> > And didn't look in to booti. So yes, that series needs a re-baking to
> > also fix booti as it has a similar set of handling things outside the
> > bootm state machine, and really re-checking nothing else got missed.
>
> If you want the series I'm happy to resend it with the fix integrated.
> Yes I carefully checked that nothing else got missed. Still, I did
> that the first time and still missed something.
>
> Just let me know.
The "booti" code still needs to be fixed too, that was the first of the
bug reports.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
next prev parent reply other threads:[~2025-04-17 22:15 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-28 15:43 [PATCH 0/4] bloblist: fdt: Clean up the code Simon Glass
2025-03-28 15:43 ` [PATCH 1/4] bloblist: Simplify bloblist init Simon Glass
2025-03-28 15:43 ` [PATCH 2/4] fdt: Introduce OF_BLOBLIST Simon Glass
2025-04-03 15:34 ` Raymond Mao
2025-04-03 17:57 ` Simon Glass
2025-03-28 15:43 ` [PATCH 3/4] bloblist: Provide access to the FDT address Simon Glass
2025-03-28 15:43 ` [PATCH 4/4] fdt: Obtain the FDT from bloblist without parsing it Simon Glass
2025-03-28 16:18 ` [PATCH 0/4] bloblist: fdt: Clean up the code Tom Rini
2025-03-28 23:38 ` Simon Glass
2025-03-29 0:02 ` Tom Rini
2025-03-29 1:00 ` Raymond Mao
2025-04-04 14:48 ` Raymond Mao
2025-04-04 14:53 ` Raymond Mao
2025-04-04 17:40 ` Simon Glass
2025-04-04 17:55 ` Tom Rini
2025-04-04 18:09 ` Raymond Mao
2025-04-06 22:06 ` Simon Glass
2025-04-06 22:35 ` Tom Rini
2025-04-07 14:07 ` Raymond Mao
2025-04-13 21:13 ` Simon Glass
2025-04-14 13:07 ` Raymond Mao
2025-04-14 19:34 ` Simon Glass
2025-04-14 19:43 ` Raymond Mao
2025-04-14 20:05 ` Simon Glass
2025-04-14 20:16 ` Raymond Mao
2025-04-14 20:41 ` Simon Glass
2025-04-14 20:47 ` Simon Glass
2025-04-15 0:32 ` Raymond Mao
2025-04-17 13:14 ` Simon Glass
2025-04-03 14:09 ` Raymond Mao
2025-04-03 17:57 ` Simon Glass
2025-04-03 18:12 ` Raymond Mao
2025-04-03 18:18 ` Simon Glass
2025-04-03 19:54 ` Raymond Mao
2025-04-03 20:40 ` Simon Glass
2025-04-03 21:52 ` Tom Rini
2025-04-03 22:41 ` Simon Glass
2025-04-03 22:50 ` Tom Rini
2025-04-04 17:39 ` Simon Glass
2025-04-04 17:57 ` Tom Rini
2025-04-06 22:06 ` Simon Glass
2025-04-06 22:38 ` Tom Rini
2025-04-07 0:35 ` Simon Glass
2025-04-07 14:30 ` Tom Rini
2025-04-07 15:24 ` Simon Glass
2025-04-07 18:22 ` Tom Rini
2025-04-07 20:17 ` Simon Glass
2025-04-07 20:34 ` Tom Rini
2025-04-14 19:34 ` Simon Glass
2025-04-14 20:34 ` Tom Rini
2025-04-17 13:14 ` Simon Glass
2025-04-17 14:14 ` Tom Rini
2025-04-17 21:24 ` Simon Glass
2025-04-17 21:58 ` Tom Rini
2025-04-17 22:02 ` Simon Glass
2025-04-17 22:14 ` Tom Rini [this message]
2025-04-17 22:28 ` Simon Glass
2025-04-17 22:37 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250417221449.GF5495@bill-the-cat \
--to=trini@konsulko.com \
--cc=EABachinin@salutedevices.com \
--cc=andrew.goodbody@linaro.org \
--cc=caleb.connolly@linaro.org \
--cc=harrison.mutai@arm.com \
--cc=jan.kiszka@siemens.com \
--cc=kabel@kernel.org \
--cc=marek.vasut+renesas@mailbox.org \
--cc=marex@denx.de \
--cc=mason1920@use.startmail.com \
--cc=mbrugger@suse.com \
--cc=neil.armstrong@linaro.org \
--cc=noreply@example.com \
--cc=patrick.rudolph@9elements.com \
--cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
--cc=quentin.schulz@cherry.de \
--cc=raymond.mao@linaro.org \
--cc=sjg@chromium.org \
--cc=sumit.garg@kernel.org \
--cc=u-boot@lists.denx.de \
--cc=vanbaren@cideas.com \
--cc=yeoreum.yun@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.