diff --git a/Documentation/platforms/arm/qemu/boards/qemu-armv7a/index.rst b/Documentation/platforms/arm/qemu/boards/qemu-armv7a/index.rst index 7937d788c59..073b55a8c73 100644 --- a/Documentation/platforms/arm/qemu/boards/qemu-armv7a/index.rst +++ b/Documentation/platforms/arm/qemu/boards/qemu-armv7a/index.rst @@ -71,33 +71,35 @@ ACRN hypervisor but won't work with Jailhouse hypervisor which uses ``ivshmem-v2 Please refer to the official `Qemu ivshmem documentation `_ for more information. -This is an example implementation for OpenAMP based on the Inter-VM share memory(ivshmem):: +This is an example implementation for OpenAMP that supports multiple transport +mechanisms including Inter-VM shared memory (ivshmem) and RPMSG port UART:: - rpproxy_ivshmem: Remote slave(client) proxy process. - rpserver_ivshmem: Remote master(host) server process. + rpproxy: Remote slave(client) proxy process. + rpserver: Remote master(host) server process. -Steps for Using NuttX as IVSHMEM host and guest +Steps for Using NuttX as OpenAMP host and guest 1. Build images - a. Build rpserver_ivshmem:: + a. Build rpserver:: - $ cmake -B server -DBOARD_CONFIG=qemu-armv7a:rpserver_ivshmem -GNinja + $ cmake -B server -DBOARD_CONFIG=qemu-armv7a:rpserver -GNinja $ cmake --build server - b. Build rpproxy_ivshmem:: + b. Build rpproxy:: - $ cmake -B proxy -DBOARD_CONFIG=qemu-armv7a:rpproxy_ivshmem -GNinja + $ cmake -B proxy -DBOARD_CONFIG=qemu-armv7a:rpproxy -GNinja $ cmake --build proxy 2. Bringup firmware via Qemu: - The Inter-VM Shared Memory device basic syntax is:: + The configuration supports both ivshmem and RPMSG port UART transports. + For ivshmem, use the following device syntax:: -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 - a. Start rpserver_ivshmem:: + a. Start rpserver:: $ qemu-system-arm -cpu cortex-a7 -nographic -machine virt,highmem=off \ -object memory-backend-file,id=shmmem-shmem0,mem-path=/dev/shm/ivshmem0,size=4194304,share=yes \ @@ -107,7 +109,7 @@ Steps for Using NuttX as IVSHMEM host and guest -device virtconsole,chardev=foo \ -kernel server/nuttx -nographic - b. Start rpproxy_ivshmem:: + b. Start rpproxy:: $ qemu-system-arm -cpu cortex-a7 -nographic -machine virt,highmem=off \ -object memory-backend-file,discard-data=on,id=shmmem-shmem0,mem-path=/dev/shm/ivshmem0,size=4194304,share=yes \ diff --git a/Documentation/platforms/arm64/qemu/boards/qemu-armv8a/index.rst b/Documentation/platforms/arm64/qemu/boards/qemu-armv8a/index.rst index e46b0238f09..30179d6b81d 100644 --- a/Documentation/platforms/arm64/qemu/boards/qemu-armv8a/index.rst +++ b/Documentation/platforms/arm64/qemu/boards/qemu-armv8a/index.rst @@ -413,38 +413,41 @@ hypervisor but won't work with Jailhouse hypervisor which uses ``ivshmem-v2``. Please refer to the official `Qemu ivshmem documentation `_ for more information. -This is an example implementation for OpenAMP based on the Inter-VM share -memory(ivshmem):: +This is an example implementation for OpenAMP that supports multiple transport +mechanisms including Inter-VM shared memory (ivshmem) and RPMSG port UART:: - rpproxy_ivshmem: Remote slave(client) proxy process. - rpserver_ivshmem: Remote master(host) server process. + rpproxy: Remote slave(client) proxy process. + rpserver: Remote master(host) server process. -Steps for Using NuttX as IVSHMEM host and guest +Steps for Using NuttX as OpenAMP host and guest 1. Build images - a. Build ``rpserver_ivshmem`` + a. Build ``rpserver`` .. code:: console - $ cmake -B server -DBOARD_CONFIG=qemu-armv8a:rpserver_ivshmem -GNinja + $ cmake -B server -DBOARD_CONFIG=qemu-armv8a:rpserver -GNinja $ cmake --build server - b. Build ``rpproxy_ivshmem`` + b. Build ``rpproxy`` .. code:: console - $ cmake -B proxy -DBOARD_CONFIG=qemu-armv8a:rpproxy_ivshmem -GNinja + $ cmake -B proxy -DBOARD_CONFIG=qemu-armv8a:rpproxy -GNinja $ cmake --build proxy 2. Bringup firmware via Qemu: - The Inter-VM Shared Memory device basic syntax is:: + The configuration supports both ivshmem and RPMSG port UART transports. + For ivshmem, use the following device syntax:: -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 - a. Start ``rpserver_ivshmem`` + For RPMSG port UART, the virtconsole device is used as shown in the examples below. + + a. Start ``rpserver`` .. code:: console @@ -455,7 +458,7 @@ Steps for Using NuttX as IVSHMEM host and guest -chardev socket,path=/tmp/rpmsg_port_uart_socket,server=on,wait=off,id=foo \ -device virtconsole,chardev=foo - b. Start ``rpproxy_ivshmem`` + b. Start ``rpproxy`` .. code:: console diff --git a/boards/arm/qemu/qemu-armv7a/configs/rpproxy_ivshmem/defconfig b/boards/arm/qemu/qemu-armv7a/configs/rpproxy/defconfig similarity index 100% rename from boards/arm/qemu/qemu-armv7a/configs/rpproxy_ivshmem/defconfig rename to boards/arm/qemu/qemu-armv7a/configs/rpproxy/defconfig diff --git a/boards/arm/qemu/qemu-armv7a/configs/rpserver_ivshmem/defconfig b/boards/arm/qemu/qemu-armv7a/configs/rpserver/defconfig similarity index 100% rename from boards/arm/qemu/qemu-armv7a/configs/rpserver_ivshmem/defconfig rename to boards/arm/qemu/qemu-armv7a/configs/rpserver/defconfig diff --git a/boards/arm64/qemu/qemu-armv8a/configs/rpproxy_ivshmem/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/rpproxy/defconfig similarity index 100% rename from boards/arm64/qemu/qemu-armv8a/configs/rpproxy_ivshmem/defconfig rename to boards/arm64/qemu/qemu-armv8a/configs/rpproxy/defconfig diff --git a/boards/arm64/qemu/qemu-armv8a/configs/rpserver_ivshmem/defconfig b/boards/arm64/qemu/qemu-armv8a/configs/rpserver/defconfig similarity index 100% rename from boards/arm64/qemu/qemu-armv8a/configs/rpserver_ivshmem/defconfig rename to boards/arm64/qemu/qemu-armv8a/configs/rpserver/defconfig