Hi, I am trying to implement a automatic testing framework for musl libc¹ with help of qemu system emulation. It works so far for arm/mips/mipsel/powerpc/x86/x86_64 architectures. Now I am working on the microblaze/microblazeel support, and I have a system with Linux 3.11.10 and Glibc 2.18, which boots up fine².
I am using qemu 1.7.0 and starting the system with qemu-system-microblazeel -M petalogix-s3adsp1800 -kernel \ qemu-microblazeel-initramfs-piggyback-kernel \ -nographic -dtb qemu.dtb -no-reboot The qemu.dtb is generated after modifying the original petalogix-s3adsp1800.dts file via dtc³. I added the hard-reset-gpios value, which is used by the linux kernel in arch/microblaze/kernel/reset.c to trigger a system reset on real FPGA hardware. In Qemu the kernel just hangs without getting back to my shell. My question is, what is the best way to implement the restart functionality in Qemu? Are there any examples where other machine emulations using GPIO for system reset/reboot? Or do I misunderstood the problem and I have a configuration issue in the DTS or kernel? I also tried to run Xilinx modified version of Qemu with -M microblaze-fdt and qemu.dtb, it bootups fine, but did not reboot successfully. And finally I also tried Qemu from Labx (https://github.com/labx-technologies-llc/mb-qemu-labx) without success. Thanks for any help. best regards Waldemar P.s.: qemu-microblazeel-initramfs-piggyback-kernel is linux.bin with included initramfs. you can get it via: http://www.openadk.org/qemu-microblazeel-initramfs-piggyback-kernel ¹ http://www.musl-libc.org/ ² http://www.openadk.org/qemu-mbel.log ³ http://www.openadk.org/qemu.dts.diff http://www.openadk.org/qemu.dts
