From fdf8c93946a2eed4e964ec58717cc403ab621cca Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Fri, 7 Feb 2025 16:30:21 -0700 Subject: meta-xilinx-core: Move APU qemu hw-dtb to QB_DTB This will allow the caller of runqemu to override the APU's qemu dtb using the standard DEVICE_TREE environment option to runqemu. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc | 7 +++++++ meta-xilinx-core/conf/machine/versal-generic.conf | 3 ++- meta-xilinx-core/conf/machine/versal-net-generic.conf | 3 ++- meta-xilinx-core/conf/machine/zynqmp-generic.conf | 3 ++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc index 84856ef6..ff3faf8d 100644 --- a/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc +++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-qemu.inc @@ -23,3 +23,10 @@ IMAGE_CLASSES += "qemuboot-xilinx" # QEMU_HW_SERIAL ??= "" QB_OPT_APPEND += "${QEMU_HW_SERIAL} -nodefaults" + +# Workaround to trigger runqemu to use -dtb to send the APU DTB +# This is done to ensure that we can easily change APU DTB at runtime via +# standard runqemu options. (only used on multiarch systems) +# The file is not actually used, but it does have to exist. +QB_DEFAULT_KERNEL:aarch64 = "BOOT-${MACHINE}.bin" +QB_KERNEL_CMDLINE:aarch64 = "none" diff --git a/meta-xilinx-core/conf/machine/versal-generic.conf b/meta-xilinx-core/conf/machine/versal-generic.conf index baf0d8c5..d99f3d09 100644 --- a/meta-xilinx-core/conf/machine/versal-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-generic.conf @@ -70,8 +70,9 @@ QEMU_HW_SERIAL ?= "-serial null -serial null -serial mon:stdio -serial null" QEMU_HW_OSPI_FILE ??= "" +QB_DTB = "${QEMU_HW_DTB_PS}" + QB_OPT_APPEND += " \ - -hw-dtb ${QEMU_HW_DTB_PS} \ ${@qemu_add_extra_args(d)} \ ${@'-bootbin ${QEMU_HW_OSPI_FILE}' if d.getVar('QEMU_HW_OSPI_FILE') != '' else ''} \ " diff --git a/meta-xilinx-core/conf/machine/versal-net-generic.conf b/meta-xilinx-core/conf/machine/versal-net-generic.conf index a0fa8014..60d7fe1a 100644 --- a/meta-xilinx-core/conf/machine/versal-net-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-net-generic.conf @@ -69,8 +69,9 @@ QEMU_HW_SERIAL ?= "-serial null -serial null -serial mon:stdio -serial null" QEMU_HW_OSPI_FILE ??= "" +QB_DTB = "${QEMU_HW_DTB_PS}" + QB_OPT_APPEND += " \ - -hw-dtb ${QEMU_HW_DTB_PS} \ ${@qemu_add_extra_args(d)} \ ${@'-bootbin ${QEMU_HW_OSPI_FILE}' if d.getVar('QEMU_HW_OSPI_FILE') != '' else ''} \ " diff --git a/meta-xilinx-core/conf/machine/zynqmp-generic.conf b/meta-xilinx-core/conf/machine/zynqmp-generic.conf index ea7b78ad..71e24d3c 100644 --- a/meta-xilinx-core/conf/machine/zynqmp-generic.conf +++ b/meta-xilinx-core/conf/machine/zynqmp-generic.conf @@ -102,8 +102,9 @@ QEMU_HW_DTB_PMU ?= "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb" # 00000000fffc0000: 0x584e4c58 0x00000001 0x08000000 0x00000000 # 00000000fffc0010: 0x00000010 0x00000000 # +QB_DTB = "${QEMU_HW_DTB_PS}" + QB_OPT_APPEND += " \ - -hw-dtb ${QEMU_HW_DTB_PS} \ ${@qemu_zynqmp_unhalt(d, True)} \ -device loader,addr=0xfffc0000,data=0x584c4e5801000000,data-be=true,data-len=8 \ -device loader,addr=0xfffc0008,data=0x0000000800000000,data-be=true,data-len=8 \ -- cgit v1.2.3-54-g00ecf