On Tue, Mar 12, 2019 at 06:36:05PM +0100, Markus Armbruster wrote:

Hi,

Here are some steps. If you have a hard time finding any particular file
let me know and I can send them to you.


>     = hw/arm/xilinx_zynq.c =
>     "Edgar E. Iglesias" <[email protected]> (maintainer:Xilinx Zynq)
>     Alistair Francis <[email protected]> (maintainer:Xilinx Zynq)
>     Peter Maydell <[email protected]> (maintainer:Xilinx Zynq)
>     [email protected] (open list:Xilinx Zynq)

You'll need suitable ARMv7 Linux or u-boot images. You can build on your own
or download from Xilinx, we provide pre-built images (will need to register):
https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html
Download the ZC702 or the ZED BSP, untar it, cd into pre-builts and run:
tar -xzvf avnet-digilent-zedboard-v2018.3-final.bsp
cd avnet-digilent-zedboard-2018.3/pre-built/linux/images/

qemu-system-aarch64 -M xilinx-zynq-a9 -serial null -serial stdio -kernel zImage 
-dtb system.dtb  -m 1024

If using PetaLinux BSP images from Xilinx, login as root/root.


>
>     = hw/arm/xlnx-versal-virt.c =
>     Alistair Francis <[email protected]> (maintainer:Xilinx ZynqMP)
>     "Edgar E. Iglesias" <[email protected]> (maintainer:Xilinx ZynqMP)
>     Peter Maydell <[email protected]> (maintainer:Xilinx ZynqMP)
>     [email protected] (open list:Xilinx ZynqMP)

You'll need an Aarch64 Linux kernel. Ubuntus installer for example:
http://ports.ubuntu.com/ubuntu-ports/dists/cosmic-updates/main/installer-arm64/current/images/netboot/ubuntu-installer/arm64/
Download linux and initrd.gz

qemu-system-aarch64 -M xlnx-versal-virt -m 2G -serial mon:stdio -display none 
-device virtio-rng-device,bus=virtio-mmio-bus.0 -kernel linux -initrd initrd.gz


>
>     = hw/arm/xlnx-zcu102.c =
>     Alistair Francis <[email protected]> (maintainer:Xilinx ZynqMP)
>     "Edgar E. Iglesias" <[email protected]> (maintainer:Xilinx ZynqMP)
>     Peter Maydell <[email protected]> (maintainer:Xilinx ZynqMP)
>     [email protected] (open list:Xilinx ZynqMP)

https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html
Download the ZCU102 BSP

tar -xzvf xilinx-zcu102-v2018.3-final.bsp
cd xilinx-zcu102-2018.3/pre-built/linux/images/
qemu-system-aarch64 -M xlnx-zcu102  -serial stdio -m 2G -kernel xen-Image -dtb 
zcu102.dtb -initrd rootfs.cpio.gz -append "rdinit=/bin/sh console=ttyPS0 
maxcpus=4 earlycon=cdns,mmio,0xFF000000,115200n8"

Alternatively you can use TBM, see further down the email.

>
>     = hw/cris/axis_dev88.c =
>     "Edgar E. Iglesias" <[email protected]> (maintainer:Axis Dev88)
>

http://wiki.qemu.org/download/cris-axisdev88-img-linux2_6_33.tgz
The archive contains a run-script.
At the prompt run /selftest.sh


>     = hw/microblaze/petalogix_ml605_mmu.c =
>     "Edgar E. Iglesias" <[email protected]> 
> (maintainer:petalogix_ml605)
>
>     = hw/microblaze/petalogix_s3adsp1800_mmu.c =
>     "Edgar E. Iglesias" <[email protected]> 
> (maintainer:petalogix_s3adsp1800)

We used to publish images for these on the QEMU wiki but they seem to be gone 
now.
You can download pre-built MicroBlaze toolchains from Xilinx and build a
kernel + rootfs on your own.

qemu-system-microblaze -M petalogix-ml605 -nographic -kernel Image
qemu-system-microblaze -M petalogix-s3adsp1800 -nographic -kernel Image

Alternatively, you can try them using TBM:
git clone https://github.com/edgarigl/tbm.git
cd tbm

Create a .config file pointing to toolchains (something like the following):
cat .config
AARCH64_CROSS=/opt/Xilinx/SDK/2018.3/gnu/aarch64/lin/aarch64-none/bin/aarch64-none-elf-
ARM_CROSS=/opt/Xilinx/SDK/2018.3/gnu/armr5/lin/gcc-arm-none-eabi/bin/armr5-none-eabi-
MB_CROSS=/opt/Xilinx/SDK/2018.3/gnu/microblaze/lin/bin/microblaze-xilinx-elf-

Build:
make CFG=configs/petalogix-ml605.cfg
make CFG=configs/petalogix-s3adsp1800.cfg
make CFG=configs/zynqmp-apu.cfg

Run:
qemu-system-microblazeel -M petalogix-ml605 -serial stdio -kernel 
build/petalogix-ml605/main/ctest-bare

qemu-system-microblazeel -M petalogix-s3adsp1800 -serial stdio -kernel 
build/petalogix-s3adsp1800/main/ctest-bare

qemu-system-aarch64 -M xlnx-zcu102,secure=on -serial stdio -kernel 
build/zynqmp/apu/ctest-bare


>     = hw/microblaze/xlnx-zynqmp-pmu.c =
>     Alistair Francis <[email protected]> (maintainer:Xilinx ZynqMP)
>     "Edgar E. Iglesias" <[email protected]> (maintainer:Xilinx ZynqMP)
>     Peter Maydell <[email protected]> (maintainer:Xilinx ZynqMP)
>     [email protected] (open list:Xilinx ZynqMP)

This board is WiP and can't really run SW that outputs stuff yet.
Just creating the machine asserts is probably enough testing for now.

Cheers,
Edgar

Reply via email to