[meta-xilinx] [RFC v1 4/4] zcu102: Add support for running Xilinx's QEMU
Nathan Rossi
nathan at nathanrossi.com
Mon Jan 16 02:00:35 PST 2017
On 14 January 2017 at 10:32, Alistair Francis
<alistair.francis at xilinx.com> wrote:
> Signed-off-by: Alistair Francis <alistair.francis at xilinx.com>
> Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
> ---
> conf/machine/zcu102-zynqmp.conf | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/conf/machine/zcu102-zynqmp.conf b/conf/machine/zcu102-zynqmp.conf
> index a38ac4a..c7780b3 100644
> --- a/conf/machine/zcu102-zynqmp.conf
> +++ b/conf/machine/zcu102-zynqmp.conf
> @@ -8,7 +8,7 @@ require conf/machine/include/machine-xilinx-default.inc
> require conf/machine/include/machine-xilinx-board.inc
> require conf/machine/include/machine-xilinx-qemu.inc
>
> -MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost mali"
> +MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost mali qemu-system-xilinx"
>
> UBOOT_MACHINE = "xilinx_zynqmp_zcu102_revB_defconfig"
>
> @@ -30,3 +30,16 @@ QB_OPT_APPEND = "-nographic -serial mon:stdio -serial null"
> QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@"
> QB_SLIRP_OPT = "-netdev user,id=net0 -net nic -net nic -net nic -net nic,netdev=net0"
>
> +# Xilinx QEMU options
> +QB_OPT_APPEND_append_qemuboot-xilinx = " -hw-dtb ${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/zcu102-arm.dtb "
> +# Reset and unhalt CPU0
> +QB_OPT_APPEND_append_qemuboot-xilinx += " -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 "
> +# Load the boot media
> +QB_OPT_APPEND_append_qemuboot-xilinx += " -device loader,file=${DEPLOY_DIR_IMAGE}/arm-trusted-firmware-${MACHINE}.elf,cpu=0 \
No need for the += here since it is already _append, and you already
have the spaces in the appended string.
Thread here if you are not familiar with why the _append += is undesirable.
https://www.mail-archive.com/openembedded-core@lists.openembedded.org/msg84649.html
> + -device loader,file=${DEPLOY_DIR_IMAGE}/u-boot.elf \
> + "
> +# Load the kernel image so the user can run 'booti 0x80000 0x74000000 0x73000000' to boot the kernel
> +QB_OPT_APPEND_append_qemuboot-xilinx += " -device loader,addr=0x73000000,file=${DEPLOY_DIR_IMAGE}/Image-zynqmp-zcu102-revB.dtb \
> + -device loader,addr=0x74000000,file=${DEPLOY_DIR_IMAGE}/core-image-minimal-zcu102-zynqmp.cpio.gz.u-boot \
I think it would be better here to take advantage of the QB_ROOTFS_OPT:
QB_DEFAULT_FSTYPE_qemuboot-xilinx = "cpio.gz.u-boot"
QB_ROOTFS_OPT_qemuboot-xilinx = "-device loader,addr=...,file=@ROOTFS@"
So that you don't have to hardcode the 'core-image-minimal' target
image, or the FSTYPE. This means the the "none" fstype set in patch
3/4 is not required.
This way 'none' can be used with FIT or kernels with in-built initramfs.
> + -device loader,addr=0x80000,file=${DEPLOY_DIR_IMAGE}/Image \
Use "..../${KERNEL_IMAGETYPE}" to avoid hard coding the name, and same
above for the device tree path.
Regards,
Nathan
> + "
> --
> 2.7.4
>
More information about the meta-xilinx
mailing list