summaryrefslogtreecommitdiffstats
path: root/conf
diff options
context:
space:
mode:
authorNathan Rossi <nathan@nathanrossi.com>2017-05-30 21:30:28 +1000
committerNathan Rossi <nathan@nathanrossi.com>2017-06-03 16:55:31 +1000
commitc9b8ff6881cc94cf10b57e3d184cf39125facee6 (patch)
tree2720b3b15c7d99feb702732bd635cb05c9170f1d /conf
parent8aa7f645587d3900f52d3b545543058ce0457e63 (diff)
downloadmeta-xilinx-c9b8ff6881cc94cf10b57e3d184cf39125facee6.tar.gz
zcu102-zynqmp: Setup the use of multiarch QEMU
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@nathanrossi.com> Tested-by: Alistair Francis <alistair.francis@xilinx.com>
Diffstat (limited to 'conf')
-rw-r--r--conf/machine/include/machine-xilinx-qemu.inc5
-rw-r--r--conf/machine/zcu102-zynqmp.conf22
2 files changed, 24 insertions, 3 deletions
diff --git a/conf/machine/include/machine-xilinx-qemu.inc b/conf/machine/include/machine-xilinx-qemu.inc
index 938d76d4..dd275f3b 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):
36 ta = "aarch64" 36 ta = "aarch64"
37 return "qemu-system-%s" % ta 37 return "qemu-system-%s" % ta
38 38
39def qemu_zynqmp_unhalt(d, multiarch):
40 if multiarch:
41 return "-global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true"
42 return "-device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4"
43
39# For qemuboot, default setup across all machines in meta-xilinx 44# For qemuboot, default setup across all machines in meta-xilinx
40QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}" 45QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
41QB_DEFAULT_FSTYPE ?= "cpio" 46QB_DEFAULT_FSTYPE ?= "cpio"
diff --git a/conf/machine/zcu102-zynqmp.conf b/conf/machine/zcu102-zynqmp.conf
index 054a1790..526fbf25 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
41# Use qemu-xilinx instead of mainline 41# Use qemu-xilinx instead of mainline
42PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native" 42PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native"
43 43
44# Reset and unhalt CPU0, load the boot media. 44# Use the multiarch script instead of launching QEMU directly
45QB_SYSTEM_NAME_append = "-multiarch"
46
47# Setup hw-dtb, unhalt, atf and u-boot loading
45QB_OPT_APPEND_append_qemuboot-xilinx = " \ 48QB_OPT_APPEND_append_qemuboot-xilinx = " \
46 -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/zcu102-arm.dtb \ 49 -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zcu102-arm.dtb \
47 -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 \ 50 ${@qemu_zynqmp_unhalt(d, True)} \
48 -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf,cpu-num=0 \ 51 -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware.elf,cpu-num=0 \
49 -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \ 52 -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \
50 " 53 "
@@ -55,4 +58,17 @@ QB_ROOTFS_OPT_qemuboot-xilinx = " -device loader,addr=0x6000000,file=@ROOTFS@,fo
55QB_OPT_APPEND_append_qemuboot-xilinx = " \ 58QB_OPT_APPEND_append_qemuboot-xilinx = " \
56 -device loader,addr=0x4000000,file=${DEPLOY_DIR_IMAGE}/${QB_DTB} \ 59 -device loader,addr=0x4000000,file=${DEPLOY_DIR_IMAGE}/${QB_DTB} \
57 -device loader,addr=0x80000,file=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} \ 60 -device loader,addr=0x80000,file=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} \
61 -pmu-args '${QB_PMU_OPT}' \
62 "
63
64PMU_ROM ?= "${DEPLOY_DIR_IMAGE}/pmu-rom.elf"
65QB_PMU_OPT = " \
66 -M microblaze-fdt \
67 -display none \
68 -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch/zynqmp-pmu.dtb \
69 -kernel ${PMU_ROM} \
70 -device loader,file=${DEPLOY_DIR_IMAGE}/pmu-${MACHINE}.elf \
71 -device loader,addr=0xfd1a0074,data=0x1011003,data-len=4 \
72 -device loader,addr=0xfd1a007C,data=0x1010f03,data-len=4 \
58 " 73 "
74