Re: [PATCH v3] sandbox: Remove OF_HOSTFILE

Ilias Apalodimas
2021-10-19T12:06:07Z

On Tue, Oct 19, 2021 at 10:56:26AM +0300, Ilias Apalodimas wrote:
> On Mon, Oct 18, 2021 at 08:29:24PM -0400, Tom Rini wrote:
> > On Mon, Oct 18, 2021 at 04:50:33PM -0400, Tom Rini wrote:
> > > On Fri, Oct 15, 2021 at 11:42:40AM +0300, Ilias Apalodimas wrote:
> > >
> > > > OF_HOSTFILE is used on sandbox configs only. Although it's pretty
> > > > unique and rarely causes confusion, we are better of having simpler
> > > > config options for the DTB.
> > > >
> > > > So let's replace that with the existing OF_BOARD. U-Boot would then
> > > > have only three config options for the DTB origin.
> > > > - OF_SEPARATE, build separately from U-Boot
> > > > - OF_BOARD, board specific way of providing the DTB
> > > > - OF_EMBED embedded in the u-boot binary(should not be used in production)
> > > >
> > > > Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> > > > ---
> > > > Note that this must be applied on top of
> > > > https://lore.kernel.org/u-boot/20211011210016.135929-1-ilias.apalodimas@linaro.org/
> > > > changes since v2:
> > > > - Rebased on top of the updated OF_BOARD patchset
> > > > Changes since v1:
> > > > - Added internal error value on board_fdt_blob_setup(). Arguably
> > > > we can just check against NULL and simplify this even more if we
> > > > don't care about the errno
> > > > - OF_BOARD is now default for sandbox builds
> > >
> > > With the previous series applied, this breaks xilinx_zynq_virt:
> > > https://source.denx.de/u-boot/u-boot/-/jobs/337428
> > >
> > > I had a little trouble in general getting the board to run locally, even
> > > without the patches, so I didn't debug further yet.
> >
> > Here's another thing, that might be related. The dependency series has
> > minor size changes, in basically expected platforms and places. This
> > patch adds tons of size changes on virtually all platforms. That might
> > provide a clue or two as to what's going on.
>
> I'll have a look. What changes here is an extra argument to preserve the
> errno (which we can get rid of).
>
> >
>
> Is it the OF_HOSTFILE patch that breaks it? There's one thing this patch
> changes in functionality. In the new version fdtdec_setup() will return an
> error if the DTB is not found.
> Can I reproduce this locally?

Right, I did find a way to reproduce it locally. It's indeed the change in
fdtdec_setup() that break this platform. Specifically
board_fdt_blob_setup() in board/xilinx/common/board.c will return -ENXIO if
the DTB is not found. Apparently that's ok for this platform so returning
0 there fixes the boot. It's also another reason why we need the errno
instead of just checking the pointer ....
Want me to send a v4 of the OF_HOSTFILE version?

Cheers
/Ilias