anchao opened a new pull request, #15810: URL: https://github.com/apache/nuttx/pull/15810
## Summary qemu/ivshmem: switch proxy/server roles In this PR we switch proxy/server roles to set proxy as remoteproc master, This will help us communicate with the linux kernel without making any changes in the rpproxy_ivshmem configuration. Build NuttX RTOS: ``` $ cmake -B proxy -DBOARD_CONFIG=qemu-armv8a:rpproxy_ivshmem -GNinja $ cmake --build proxy $ qemu-system-aarch64 -cpu cortex-a53 -nographic -machine virt,virtualization=on,gic-version=3 -kernel proxy/nuttx \ -device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,addr=0xb \ -object memory-backend-file,id=shmmem-shmem0,mem-path=/dev/shm/ivshmem0,size=4194304,share=yes ``` Bringup Linux Kernel: ``` $ qemu-system-aarch64 -M virt -cpu cortex-a57 -smp 1 -m 4G -kernel linux/arch/arm64/boot/Image -initrd busybox-1.35.0/initramfs.cpio.gz \ -nographic -append "init=/init console=ttyAMA0" \ -device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,addr=0xb -object \ memory-backend-file,id=shmmem-shmem0,mem-path=/dev/shm/ivshmem0,size=4194304,share=yes [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x411fd070] [ 0.000000] Linux version 6.14.0-rc1-00035-g998ca87a4914 (archer@archer) (aarch64-linux-gnu-gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #7 SMP PREEMPT Tue Feb 11 12:19:40 CST 2025 [ 0.000000] KASLR enabled [ 0.000000] random: crng init done [ 0.000000] Machine model: linux,dummy-virt ... [ 1.001209] remoteproc remoteproc0: ivshmem_rproc is available [ 1.001548] remoteproc remoteproc0: attaching to ivshmem_rproc [ 1.001721] ivshmem_rproc 0000:00:0b.0: dma declare pa=0x80000000d0 dma=0xd0 size=65536 [ 1.002164] ivshmem_rproc 0000:00:0b.0: mem entry pa=0x80000100d0 dma=0x100d0, size=4128560 [ 1.003605] ivshmem_rproc 0000:00:0b.0: attach entry [ 1.005573] virtio_rpmsg_bus virtio1: rpmsg host is online [ 1.005741] rproc-virtio rproc-virtio.1.auto: registered virtio1 (type 7) [ 1.005873] remoteproc remoteproc0: remote processor ivshmem_rproc is now attached [ 1.012959] virtio_rpmsg_bus virtio1: creating channel rpmsg-syslog addr 0x400 [ 1.014240] virtio_rpmsg_bus virtio1: creating channel rpmsg-sensor addr 0x401 [ 1.014454] virtio_rpmsg_bus virtio1: creating channel rpmsg-ping addr 0x402 [ 1.014644] rpmsg_ping virtio1.rpmsg-ping.-1.1026: rpmsg_ping_probe ``` below is rpmsg-syslog from NuttX kernel ``` ... [ 1.116680] [ 0.000000] [ 0] [ INFO] [proxy] pci_register_rptun_ivshmem_driver: Register ivshmem driver, id=0, cpuname=server, master=0 [ 1.116867] [ 0.025900] [ 3] [ INFO] [proxy] pci_scan_bus: pci_scan_bus for bus 0 [ 1.116987] [ 0.026900] [ 3] [ INFO] [proxy] pci_scan_bus: class = 00000600, hdr_type = 00000000 [ 1.117121] [ 0.027100] [ 3] [ INFO] [proxy] pci_scan_bus: 00:00 [1b36:0008] [ 1.117232] [ 0.027500] [ 3] [ INFO] [proxy] pci_setup_device: pbar0 set bad mask [ 1.117349] [ 0.027700] [ 3] [ INFO] [proxy] pci_setup_device: pbar1 set bad mask [ 1.117460] [ 0.027900] [ 3] [ INFO] [proxy] pci_setup_device: pbar2 set bad mask [ 1.117573] [ 0.028100] [ 3] [ INFO] [proxy] pci_setup_device: pbar3 set bad mask [ 1.117692] [ 0.028200] [ 3] [ INFO] [proxy] pci_setup_device: pbar4 set bad mask ``` Signed-off-by: chao an <anchao.arc...@bytedance.com> ## Impact N/A ## Testing ``` $ cmake -B proxy -DBOARD_CONFIG=qemu-armv8a:rpproxy_ivshmem -GNinja $ cmake --build proxy $ qemu-system-aarch64 -cpu cortex-a53 -nographic -machine virt,virtualization=on,gic-version=3 -kernel proxy/nuttx \ -device ivshmem-plain,id=shmem0,memdev=shmmem-shmem0,addr=0xb \ -object memory-backend-file,id=shmmem-shmem0,mem-path=/dev/shm/ivshmem0,size=4194304,share=yes ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org