Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.archer@bytedance.com>
- Loading branch information