-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QEMU hangs after remote_port connection #9
Comments
Hi, Could you try without the -icount 1 option and let us know how it goes? Thanks, |
Hi Edgar, Thanks for the reply.
I am running with petalinux 2020.1, and GCC 7.3.1 on Centos 7.8. Thanks, |
Sorry, misread the suggestion. I'm trying now without the -icount 1. |
Removing the |
Hello Edgar, Looking at the If I invoke the qemu-system-aarch64 call directly changing the The qemu command I am using which boots linux is below. The only change was to replace qemu-system-aarch64 \
-M arm-generic-fdt-7series \
-machine linux=on \
-serial /dev/null \
-serial mon:stdio \
-display none \
-kernel /home/jon/work/xilinx/petalinux/test/images/linux/zImage \
-initrd /home/jon/work/xilinx/petalinux/test/images/linux/rootfs.cpio.gz.u-boot \
-gdb tcp::9002 \
-net nic,netdev=eth0 \
-netdev user,id=eth0,tftp=/tftpboot \
-net nic \
-device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
-device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
-device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
-device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \
-device loader,addr=0xF8000910,data=0xF,data-len=0x4 \
-dtb ./qemu_cosim/qemu_hw_system.dtb \
-machine-path ./qemu_cosim \
-icount 1 \
-sync-quantum 10000 Changing the Is this a bug in the way petalinux-boot is calling qemu, or am I doing something else wrong? Thanks, |
Hi Edgar, The co-simulation appears to be working between QEMU and SystemC in my environment when I make the Note that when calling Is this a bug in Thanks, |
Hi Jon and Edgar, The solution of Jon works also fine for me, the communication between the QEMU and SystemC works fine too. However, I used a standard Linux Image instead of PetaLinux Image, and I also created a device tree source (DTS) with the Xilinx SDK, obviously I also included the I've tried to reproduce the same work with the ZynqMP (so using a standard Linux Image, and the SDK built DTS). For the At Xilinx Page Zynq+UltraScale+MPSoC we can read : Do you think that there is a special way to use a standard Linux Image to be able to emulate a zynqMP or it woudn't be possible at all ? Thanks, |
Hi Roland, Yes, it should be possible to use a "standard" Linux kernel Image from upstream I'm guessing. It's easier if you start by booting the ZynqMP kernel without co-sim first and then we can add the co-sim flow. Have you installed PetaLinux or are you rolling your own tools/Linux/rootfs? Best regards |
Hi Edgar, Thank you for your advice, ok I will try to run the qemu without the co-sim tools, I think I could use Actually, I found a rootfs in a prebuilt Xilinx project My QEMU command-line with the co-sim commands:
Thanks, |
Hi Roland, Note that the ARM cores on the Zynq 7K are quite different from the ones on the ZynqMP. The ZynqMP is a 64bit ARMv8 core and although it can run 32-bit kernels and 32-bit user-space (rootfs), using 32-bit kernels will likely not work out of the box. Best regards, |
Thank you Edgar, I would try to do in this way, and I would let you know how it worked. Best Regards |
Hi edgar, I faced the same problem mentioned in the first comment. Any solution ? |
In my case when I cancel the system c window by pressing ctrl + c it shows |
hi @edgarigl Could you please help with this issue ? |
Hi, The documentation for Zynq 7K including device-tree generation has been updated. Have a look at the following and see if you can get Zynq 7K co-simulation working. https://github.com/Xilinx/systemctlm-cosim-demo/blob/master/docs/zynq-7000-getting-started-guide.md Best regards, |
@edgarigl that is also creating problem while installing . |
@edgarigl Hello edgarigl I tried to implement that tutorial the demo is working now. I tried to read the devmem in position 0x40000000 and I think the hex value was increasing by time. And in the systemc shell(seperate shell) it was showing DECODE ERROR! 43c30000 when I write value in devmem this was log : TRACE: 1 35303791417 ns diff=35303791417 ns |
Hello,
I am trying to go through the systemctlm-cosim-demo using the zynq platform.
I have gone through the following steps:
When I execute
petalinux-boot --qemu --kernel --qemu-args "-hw-dtb ./qemu_cosim/qemu_hw_system.dtb -machine-path ./qemu_cosim -icount 1 -sync-quantum 10000"
qemu appears to be executed and I get the messageqemu-system-aarch64: info: QEMU waiting for connection on: disconnected:unix:./qemu_cosim/qemu-rport-_cosim@0,server
I then start the systemc example with
LD_LIBRARY_PATH=/home/tools/systemc/SystemC-2.3.3/lib-linux64 ./zynq_demo unix:/home/jon/work/xilinx/petalinux/test/qemu_cosim/qemu-rport-_cosim@0 10000
. I modified the systemc to print out a message each second of simulation time. Simulation time progresses on the systemc side. On the qemu side I get a message which is the first message I see when booting qemu without the remoteport.dtsi included.qemu-system-aarch64: warning: hub 0 is not connected to host network
. No messages from qemu after that.When I kill the systemc simulation I get the following from qemu,
qemu-system-aarch64: /cosim@0: Disconnected clk=74225145930 ns
. The time varies depending on how long I have let it run, but no other messages.Any suggestions on what might be causing qemu to hang?
Thanks,
Jon
The text was updated successfully, but these errors were encountered: