[meta-xilinx] [RFC v1 4/4] zcu102: Add support for running Xilinx's QEMU
Alistair Francis
alistair.francis at xilinx.com
Mon Jan 16 14:34:06 PST 2017
On Mon, Jan 16, 2017 at 2:00 AM, Nathan Rossi <nathan at nathanrossi.com> wrote:
> 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
I didn't realise that, thanks for pointing it out.
>
>> + -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.
Awesome, I have made all of these changes.
Thanks,
Alistair
>
> Regards,
> Nathan
>
>> + "
>> --
>> 2.7.4
>>
More information about the meta-xilinx
mailing list