nuttx/boards/arm
chao an e5388558a6 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>
2025-02-12 15:41:37 +01:00
..
a1x/pcduino-a10 Remove duplicate includes across multiple files 2025-01-09 23:30:23 +08:00
am335x/beaglebone-black Remove duplicate includes across multiple files 2025-01-09 23:30:23 +08:00
at32/at32f437-mini boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
c5471/c5471evm boards/arm/c5471: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
csk6 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
cxd56xx libc: Rename LIBC_STRING_OPTIMIZE to LIBC_NEWLIB_OPTSPEED 2025-01-20 22:27:19 +08:00
dm320/ntosd-dm320 boards/arm/dm320: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
efm32 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
eoss3/quickfeather nuttx/boards:fix kconfig under apps/testing folder that change config-testing-mm to config-testing-heap 2025-01-23 18:19:02 +08:00
fvp-v8r-aarch32/fvp-armv8r-aarch32 nuttx/boards/XXX/defconfig:DEV_ZERO is not set 2024-12-30 22:22:29 +08:00
gd32f4 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
imx6/sabre-6quad nuttx/boards:fix kconfig under apps/testing folder that change config-testing-mm to config-testing-heap 2025-01-23 18:19:02 +08:00
imx9/imx95-evk Fix Kconfig style 2025-01-23 23:01:54 +08:00
imxrt arch/arm:use UP_DSB, UP_DMB, UP_ISB as barrier standard API 2025-01-20 20:13:07 +08:00
kinetis boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
kl boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
lc823450/lc823450-xgevk libc: Rename LIBC_STRING_OPTIMIZE to LIBC_NEWLIB_OPTSPEED 2025-01-20 22:27:19 +08:00
lpc17xx_40xx boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
lpc31xx boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
lpc43xx boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
lpc54xx/lpcxpresso-lpc54628 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
lpc214x boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
lpc2378/olimex-lpc2378 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
max326xx/max32660-evsys boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
moxart/moxa boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
mps board/msp3-an547: add gdbstub config 2025-02-09 11:45:43 +08:00
mx8mp/verdin-mx8mp boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
nrf52 boards/arm Add support to Seeed Xiao nRF52840 Board 2025-02-10 17:08:37 -03:00
nrf53 arch/arm:use UP_DSB, UP_DMB, UP_ISB as barrier standard API 2025-01-20 20:13:07 +08:00
nrf91 arch/arm:use UP_DSB, UP_DMB, UP_ISB as barrier standard API 2025-01-20 20:13:07 +08:00
nuc1xx/nutiny-nuc120 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
phy62xx/phy6222 arm/phy6222: Fix the garbled Linker Script 2024-11-10 14:19:33 -03:00
qemu qemu/ivshmem: switch proxy/server roles 2025-02-12 15:41:37 +01:00
rp23xx arm/rp2040,rp2350: Allow configuring XOSC startup delay 2025-01-18 21:05:07 +08:00
rp2040 sensors/mcp9600: Converted MCP9600 legacy driver to UORB driver as per suggestions on PR #15525. 2025-01-21 09:09:43 +08:00
s32k1xx boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
s32k3xx boards: Refresh configurations with refresh.sh 2025-01-15 00:08:28 +08:00
sam34 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
sama5 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
samd2l2 Remove duplicate includes across multiple files 2025-01-09 23:30:23 +08:00
samd5e5 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
samv7 samv7: ensure the correct location of message RAM 2025-02-10 15:43:54 -03:00
stm32 feat: drop legacy pinmap for nsh config 2025-01-31 12:53:36 +08:00
stm32f0l0g0 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
stm32f7 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
stm32h5/nucleo-h563zi Initial STM32H5 USB Commit 2025-01-28 16:43:07 +08:00
stm32h7 boards/linum-stm32h753bi: optimize display timings and memory config 2025-02-10 11:01:45 -03:00
stm32l4 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
stm32l5 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
stm32u5 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
stm32wb boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
stm32wl5/nucleo-wl55jc Remove duplicate includes across multiple files 2025-01-09 23:30:23 +08:00
str71x/olimex-strp711 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
tiva boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
tlsr82/tlsr8278adk80d boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
tms570 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00
xmc4 boards: Replace CONFIG_NSH_LINELEN with CONFIG_LINE_MAX 2025-01-15 00:07:58 +08:00