This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 6b139407974d026b25be1d5fc9ffba46ced81576 Author: Bowen Wang <[email protected]> AuthorDate: Wed Mar 4 20:21:50 2026 +0800 openamp: add patch for VIRTIO_RPMSG_F_BUFADDR buffer address support Add open-amp patch 0019 to extend fw_rsc_config with h2r_buf_addr and r2h_buf_addr fields, allowing the host and remote sides to specify buffer physical addresses through the resource table. This enables splitting the shared memory pool into separate regions. Also update open-amp.defs and open-amp.cmake to apply the new patch during the open-amp build process. Signed-off-by: Bowen Wang <[email protected]> --- ...IRTIO_RPMSG_F_BUFADDR-to-support-specify-.patch | 55 ++++++++++++++++++++++ openamp/open-amp.cmake | 2 + openamp/open-amp.defs | 1 + 3 files changed, 58 insertions(+) diff --git a/openamp/0019-rpmsg-Add-VIRTIO_RPMSG_F_BUFADDR-to-support-specify-.patch b/openamp/0019-rpmsg-Add-VIRTIO_RPMSG_F_BUFADDR-to-support-specify-.patch new file mode 100644 index 00000000000..1b41ec7d3aa --- /dev/null +++ b/openamp/0019-rpmsg-Add-VIRTIO_RPMSG_F_BUFADDR-to-support-specify-.patch @@ -0,0 +1,55 @@ +From a01c2ad26ec50cc480933a2b92017a9287909af8 Mon Sep 17 00:00:00 2001 +From: yintao <[email protected]> +Date: Fri, 11 Apr 2025 15:23:07 +0800 +Subject: [PATCH 19/19] rpmsg: Add VIRTIO_RPMSG_F_BUFADDR to support specify + the address + +add h2r_buf_addr and r2h_buf_addr at fw_rsc_config to support specify the address + +Signed-off-by: yintao <[email protected]> +--- + lib/include/openamp/remoteproc.h | 8 +++++++- + lib/include/openamp/rpmsg_virtio.h | 1 + + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/lib/include/openamp/remoteproc.h open-amp/lib/include/openamp/remoteproc.h +index ea2c39ecfe..62ae76a380 100644 +--- a/lib/include/openamp/remoteproc.h ++++ open-amp/lib/include/openamp/remoteproc.h +@@ -372,6 +372,12 @@ struct fw_rsc_config { + /** The remote to host buffer size (if VIRTIO_RPMSG_F_BUFSZ) */ + uint32_t r2h_buf_size; + ++ /** The host physical address (if VIRTIO_RPMSG_F_BUFADDR) */ ++ uint64_t h2r_buf_addr; ++ ++ /** The remote physical address (if VIRTIO_RPMSG_F_BUFADDR) */ ++ uint64_t r2h_buf_addr; ++ + /* The host side cpu name (if VIRTIO_RPMSG_F_CPUNAME) */ + + uint8_t host_cpuname[VIRTIO_RPMSG_CPUNAME_SIZE]; +@@ -382,7 +388,7 @@ struct fw_rsc_config { + + /* Reserve for the future use */ + +- uint32_t reserved[10]; ++ uint32_t reserved[6]; + + /** Put the customize config here */ + } METAL_PACKED_END; +diff --git a/lib/include/openamp/rpmsg_virtio.h open-amp/lib/include/openamp/rpmsg_virtio.h +index 8d686f72f1..5eef8b7c6a 100644 +--- a/lib/include/openamp/rpmsg_virtio.h ++++ open-amp/lib/include/openamp/rpmsg_virtio.h +@@ -32,6 +32,7 @@ extern "C" { + #define VIRTIO_RPMSG_F_ACK 1 /* RP supports name service acknowledge */ + #define VIRTIO_RPMSG_F_BUFSZ 2 /* RP supports get buffer size from config space */ + #define VIRTIO_RPMSG_F_CPUNAME 3 /* RP supports get local and peer cpu name */ ++#define VIRTIO_RPMSG_F_BUFADDR 4 /* RP supports get buffer address from config space */ + + #if defined(VIRTIO_USE_DCACHE) + #define BUFFER_FLUSH(x, s) metal_cache_flush(x, s) +-- +2.34.1 + diff --git a/openamp/open-amp.cmake b/openamp/open-amp.cmake index 1ca7dfb7990..668d854a81e 100644 --- a/openamp/open-amp.cmake +++ b/openamp/open-amp.cmake @@ -74,6 +74,8 @@ if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/open-amp) ${CMAKE_CURRENT_LIST_DIR}/0017-lib-virtio-virtqueue-change-the-virtqueue-dump-log-l.patch && patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} < ${CMAKE_CURRENT_LIST_DIR}/0018-lib-rpmsg-add-priority-support-for-rpmsg-endpoint.patch + && patch -p0 -d ${CMAKE_CURRENT_LIST_DIR} < + ${CMAKE_CURRENT_LIST_DIR}/0019-rpmsg-Add-VIRTIO_RPMSG_F_BUFADDR-to-support-specify-.patch DOWNLOAD_NO_PROGRESS true TIMEOUT 30) diff --git a/openamp/open-amp.defs b/openamp/open-amp.defs index 20268f10c1e..36c81fed13d 100644 --- a/openamp/open-amp.defs +++ b/openamp/open-amp.defs @@ -84,6 +84,7 @@ open-amp.zip: $(Q) patch -p0 < 0016-lib-rpmsg_virtio-support-release-the-name-service-me.patch $(Q) patch -p0 < 0017-lib-virtio-virtqueue-change-the-virtqueue-dump-log-l.patch $(Q) patch -p0 < 0018-lib-rpmsg-add-priority-support-for-rpmsg-endpoint.patch + $(Q) patch -p0 < 0019-rpmsg-Add-VIRTIO_RPMSG_F_BUFADDR-to-support-specify-.patch .openamp_headers: open-amp.zip else
