[meta-xilinx] [PATCH 4/5] zcu102-zynqmp: Setup the use of multiarch QEMU
Alistair Francis
alistair23 at gmail.com
Thu May 25 10:56:50 PDT 2017
On Wed, May 24, 2017 at 8:47 AM, Nathan Rossi <nathan at nathanrossi.com> wrote:
> Setup the qemuboot variables and qemu-xilinx-helper-native environment
> to use the multiarch script to start a QEMU multiarch instance with the
> MicroBlaze PMU.
>
> Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
Reviewed-by: Alistair Francis <alistair.francis at xilinx.com>
Thanks,
Alistair
> ---
> conf/machine/include/machine-xilinx-qemu.inc | 5 +++++
> conf/machine/zcu102-zynqmp.conf | 10 +++++++---
> recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb | 5 ++++-
> 3 files changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/conf/machine/include/machine-xilinx-qemu.inc b/conf/machine/include/machine-xilinx-qemu.inc
> index 938d76d461..dd275f3b48 100644
> --- a/conf/machine/include/machine-xilinx-qemu.inc
> +++ b/conf/machine/include/machine-xilinx-qemu.inc
> @@ -36,6 +36,11 @@ def qemu_target_binary(d):
> ta = "aarch64"
> return "qemu-system-%s" % ta
>
> +def qemu_zynqmp_unhalt(d, multiarch):
> + if multiarch:
> + return "-global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true"
> + return "-device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4"
> +
> # For qemuboot, default setup across all machines in meta-xilinx
> QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
> QB_DEFAULT_FSTYPE ?= "cpio"
> diff --git a/conf/machine/zcu102-zynqmp.conf b/conf/machine/zcu102-zynqmp.conf
> index 15fed4ff5d..3be585fbc1 100644
> --- a/conf/machine/zcu102-zynqmp.conf
> +++ b/conf/machine/zcu102-zynqmp.conf
> @@ -41,10 +41,13 @@ QB_NETWORK_DEVICE = "-net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MA
> # Use qemu-xilinx instead of mainline
> PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native"
>
> -# Reset and unhalt CPU0, load the boot media.
> +# Use the multiarch script instead of launching QEMU directly
> +QB_SYSTEM_NAME_append = "-multiarch"
> +
> +# Setup hw-dtb, unhalt, atf and u-boot loading
> QB_OPT_APPEND_append_qemuboot-xilinx = " \
> - -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/zcu102-arm.dtb \
> - -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 \
> + -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zcu102-arm.dtb \
> + ${@qemu_zynqmp_unhalt(d, True)} \
> -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware-${MACHINE}.elf,cpu-num=0 \
> -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \
> "
> @@ -56,3 +59,4 @@ QB_OPT_APPEND_append_qemuboot-xilinx = " \
> -device loader,addr=0x4000000,file=${DEPLOY_DIR_IMAGE}/${QB_DTB} \
> -device loader,addr=0x80000,file=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} \
> "
> +
> diff --git a/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb b/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
> index f48a8d40a0..55b35b53e5 100644
> --- a/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
> +++ b/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
> @@ -21,5 +21,8 @@ PROVIDES += "qemu-helper-native"
>
> # replace qemu with qemu-xilinx
> DEPENDS_remove = "qemu-native"
> -DEPENDS_append = " qemu-xilinx-native"
> +DEPENDS_append = " \
> + qemu-xilinx-native \
> + qemu-xilinx-multiarch-helper-native \
> + "
>
> --
> 2.11.0
>
> --
> _______________________________________________
> meta-xilinx mailing list
> meta-xilinx at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-xilinx
More information about the meta-xilinx
mailing list