Le mer. 13 oct. 2021 à 14:42, Philippe Mathieu-Daudé <phi...@redhat.com> a écrit :
> Hi Simon, > > On 10/13/21 03:29, Bin Meng wrote: > > On Wed, Oct 13, 2021 at 9:01 AM Simon Glass <s...@chromium.org> wrote: > >> > >> With Ilias' efforts we have dropped OF_PRIOR_STAGE and OF_HOSTFILE so > >> there are only three ways to obtain a devicetree: > >> > >> - OF_SEPARATE - the normal way, where the devicetree is built and > >> appended to U-Boot > >> - OF_EMBED - for development purposes, the devicetree is embedded in > >> the ELF file (also used for EFI) > >> - OF_BOARD - the board figures it out on its own > >> > >> The last one is currently set up so that no devicetree is needed at all > >> in the U-Boot tree. Most boards do provide one, but some don't. Some > >> don't even provide instructions on how to boot on the board. > >> > >> The problems with this approach are documented at [1]. > >> > >> In practice, OF_BOARD is not really distinct from OF_SEPARATE. Any board > >> can obtain its devicetree at runtime, even it is has a devicetree built > >> in U-Boot. This is because U-Boot may be a second-stage bootloader and > its > >> caller may have a better idea about the hardware available in the > machine. > >> This is the case with a few QEMU boards, for example. > >> > >> So it makes no sense to have OF_BOARD as a 'choice'. It should be an > >> option, available with either OF_SEPARATE or OF_EMBED. > >> > >> This series makes this change, adding various missing devicetree files > >> (and placeholders) to make the build work. > > > > Adding device trees that are never used sounds like a hack to me. > > > > For QEMU, device tree is dynamically generated on the fly based on > > command line parameters, and the device tree you put in this series > > has various hardcoded <phandle> values which normally do not show up > > in hand-written dts files. > > Besides, QEMU generates these dtb at runtime on purpose: it gives > emulated machines the freedom to evolve by adding new devices, > mapping/wiring peripherals differently. > > By adding static dtb this gives QEMU users false expectations the > machine hardware is stable, or force QEMU to have this interface > become a stable API. > > From QEMU perspective this seems counter-productive. > +1 > > Digging a bit I see this has already been discussed on qemu-devel@ > mailing list recently: > > > https://lore.kernel.org/qemu-devel/CAFEAcA_QNcAHtdxUPLpmyzMYgb9YzhcE0-zyh=n8rqm4voc...@mail.gmail.com/ > > > I am not sure I understand the whole point of this. > > > >> > >> It also provides a few qemu clean-ups discovered along the way. > >> > >> This series is based on Ilias' two series for OF_HOSTFILE and > >> OF_PRIOR_STAGE removal. > >> > >> It is available at u-boot-dm/ofb-working > >> > >> [1] > https://patchwork.ozlabs.org/project/uboot/patch/20210919215111.3830278-3-...@chromium.org/ > >> > > > > Regards, > > Bin > > > > -- François-Frédéric Ozog | *Director Business Development* T: +33.67221.6485 francois.o...@linaro.org | Skype: ffozog