emulation: fdt: Allow using U-Boot's device tree with QEMU
At present it is impossible to change the qemu_arm64 defconfig to obtain a devicetree from the U-Boot build. This is necessary for FIT validation, for example, where the signature node must be compiled into U-Boot. A proposed change to QEMU to allow device tree additions has been blocked for several years. The only known workaround is to use QEMU's dumpdtb option, merge in the signature node manually, disable OF_HAS_PRIOR_STAGE and then start QEMU with special arguments. This is complicated enough that it is documented in U-Boot[1]. Unfortunately the only way to disable OF_HAS_PRIOR_STAGE at present is to hack the Kconfig. Add a new QEMU_MANUAL_DTB Kconfig option which makes OF_HAS_PRIOR_STAGE optional, thus avoiding needing to patch U-Boot to get this working. This seems a clearer solution than just making OF_HAS_PRIOR_STAGE visible, since that symbol is intended to be set automatically by each platform. Series-to: u-boot Series-cc: trini Series-cc: Peter Maydell <peter.maydell@linaro.org> Series-cc: Andrew Phelps <andrew.phelps@canonical.com> Series-cc: ilias Series-changes: 2 - Add a new QEMU-specific Kconfig instead - Move patch into the standard-passage series Series-changes: 3 - Fix 'usiing' typo - Add mention of QEMU_MANUAL_DTB in doc/ [1] https://docs.u-boot.org/en/latest/develop/devicetree/dt_qemu.html Link: https://patchwork.kernel.org/project/qemu-devel/patch/20210926183410.256484-1-sjg@chromium.org/#24481799 Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
@@ -205,8 +205,13 @@ config OF_HAS_PRIOR_STAGE
|
||||
development purposes, but it is not recommended, and likely will not
|
||||
even work, for production systems.
|
||||
|
||||
Note: This option must be set in Kconfig and cannot be enabled or
|
||||
disabled in the board's defconfig file.
|
||||
Note: This option can be disabled for QEMU using QEMU_MANUAL_DTB thus
|
||||
allowing QEMU to support FIT validation, where the devicetree must
|
||||
include a public key.
|
||||
|
||||
See also this for context:
|
||||
|
||||
https://patchwork.kernel.org/project/qemu-devel/patch/20210926183410.256484-1-sjg@chromium.org/#24481799
|
||||
|
||||
config OF_OMIT_DTB
|
||||
bool "Omit the device tree output when building"
|
||||
|
||||
Reference in New Issue
Block a user