On 6/19/25 10:53 AM, Mathieu Poirier wrote:
> Good morning,
>
> On Wed, 18 Jun 2025 at 10:44, Tanmay Shah <tanmay.shah(a)amd.com> wrote:
>>
>> Hello all,
>>
>> I found out that there is discrepancy between remoteproc state
>> definition in kernel and open-amp library:
>>
>> Linux kernel side definition:
>>
>> https://github.com/torvalds/linux/blob/52da431bf03b5506203bca27fe14a97895c8…
>>
>>
>> enum rproc_state {
>> RPROC_OFFLINE = 0,
>> RPROC_SUSPENDED = 1,
>> RPROC_RUNNING = 2,
>> RPROC_CRASHED = 3,
>> RPROC_DELETED = 4,
>> RPROC_ATTACHED = 5,
>> RPROC_DETACHED = 6,
>> RPROC_LAST = 7,
>> };
>>
>> open-amp library side definition:
>>
>> https://github.com/OpenAMP/open-amp/blob/391671ba24840833d882c1a75c5d730770…
>>
>> /**
>> * @brief Remote processor states
>> */
>> enum remoteproc_state {
>> /** Remote is offline */
>> RPROC_OFFLINE = 0,
>> /** Remote is configured */
>> RPROC_CONFIGURED = 1,
>> /** Remote is ready to start */
>> RPROC_READY = 2,
>> /** Remote is up and running */
>> RPROC_RUNNING = 3,
>> /** Remote is suspended */
>> RPROC_SUSPENDED = 4,
>> /** Remote is has error; need to recover */
>> RPROC_ERROR = 5,
>> /** Remote is stopped */
>> RPROC_STOPPED = 6,
>> /** Just keep this one at the end */
>> RPROC_LAST = 7,
>> };
>>
>> IIUC, both side state definition should match, so that if remote needs
>> to report crash error, it can use same name and mapped int value in the
>> code. Please let me know if I am missing something in this understanding.
>>
>> Should we fix this?
>>
>
> The kernel's remoteproc subsystem and openAMP library are two
> independent projects. OpenAMP does its own governance but I
> personally don't see a reason to harmonize the value of their internal
> states.
>
> Thanks,
> Mathieu
>
Thanks Mathieu for your response. Yes we are reaching the same conclusion.
>> If so, I believe it should be library side.
>>
>> I am looking for suggestion to fix this without breaking backward
>> compatibility:
>>
>> Approach 1: deprecate library side remoteproc_state definition.
>>
>> deprecate current enum (with __deprecated attribute or add comment) and
>> introduce new one with same definition as in linux kernel. Then after 2
>> year (as per code of conduct policy) we can remove remoteproc_state.
>>
>> Approach 2: Platform driver uses library side remoteproc state definition.
>>
>> If we don't want to fix this, then another approach is, platform driver
>> in linux kernel should have library-side remoteproc state definition and
>> convert interprete it to kernel side remoteproc definition.
>>
>> With this second approach we don't have to deprecate anything, but
>> platform drivers are responsible to maintain different remoteproc_state
>> definition. (Might create confusion).
>>
>>
>> I am open to any other suggestion regarding this.
>>
>> Thanks,
>> Tanmay
>>
Branch: refs/heads/main
Home: https://github.com/OpenAMP/libmetal
Commit: 96c7cd26dca9b99986441d5e4dced0bb66e0ea4f
https://github.com/OpenAMP/libmetal/commit/96c7cd26dca9b99986441d5e4dced0bb…
Author: Vincenzo Calabretta <vincenzo.calabretta(a)embedded-brains.de>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M test/system/linux/threads.c
Log Message:
-----------
system: linux: include missing headers
Do not rely on indirect includes since they may not be present on some
systems.
Signed-off-by: Vincenzo Calabretta <vincenzo.calabretta(a)embedded-brains.de>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/libmetal/settings/notifications
Branch: refs/heads/main
Home: https://github.com/OpenAMP/openamp-system-reference
Commit: d0546027cd321466dfaf4f8888f9dd5432c7013f
https://github.com/OpenAMP/openamp-system-reference/commit/d0546027cd321466…
Author: Tanmay Shah <tanmay.shah(a)amd.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
M examples/linux/dts/xilinx/Makefile
M examples/linux/dts/xilinx/xilinx-openamp-for-v6.x.dtso
A examples/linux/dts/xilinx/zynqmp-lockstep.dtso
M examples/linux/dts/xilinx/zynqmp-openamp.dtso
R examples/linux/dts/xilinx/zynqmp-split.dtso
Log Message:
-----------
examples: dts: xlnx: update dtso for remoteproc nodes
Use new remoteproc nodes introduced in 6.12 kernel.
From 6.12 kernel, split mode is enabled by default for zcu102 board.
All other boards remoteproc lockstep and split nodes are disabled
by default. So enable split mode by default for all the boards via
zynqmp-openamp.dtso and introduce zynqmp-lockstep.dtso to enable
lockstep mode only when needed.
Signed-off-by: Tanmay Shah <tanmay.shah(a)amd.com>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/openamp-system-reference/settings/notifications
Branch: refs/heads/main
Home: https://github.com/OpenAMP/openamp-system-reference
Commit: 63fbb90069212ac0b70ba293f7cf31405d02acee
https://github.com/OpenAMP/openamp-system-reference/commit/63fbb90069212ac0…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2025-05-28 (Wed, 28 May 2025)
Changed paths:
R examples/legacy_apps/cmake/platforms/zynq7_generic.cmake
R examples/legacy_apps/cmake/platforms/zynq7_linux.cmake
R examples/legacy_apps/machine/zynq7/CMakeLists.txt
R examples/legacy_apps/machine/zynq7/platform_info.c
R examples/legacy_apps/machine/zynq7/platform_info.h
R examples/legacy_apps/machine/zynq7/platform_info_remoteproc_master.c
R examples/legacy_apps/machine/zynq7/rsc_table.c
R examples/legacy_apps/machine/zynq7/rsc_table.h
R examples/legacy_apps/machine/zynq7/zynq_a9_rproc.c
R examples/legacy_apps/system/generic/machine/zynq7/CMakeLists.txt
R examples/legacy_apps/system/generic/machine/zynq7/Xilinx.spec
R examples/legacy_apps/system/generic/machine/zynq7/helper.c
R examples/legacy_apps/system/generic/machine/zynq7/linker_master.ld
R examples/legacy_apps/system/generic/machine/zynq7/linker_remote.ld
Log Message:
-----------
zynq: Remove support for Zynq-7000 SoC
Remove openamp support for Zynq-7000 SoC, following changes are done
1) remove folder apps/machine/zynq7
2) remove folder apps/system/generic/machine/zynq7
3) remove file cmake/platforms/zynq7_generic.cmake
4) remove file cmake/platforms/zynq7_linux.cmake
5) Modify README.md files
Reasons to remove:
1) Support for Zynq-7000 has ended
2) Removing redundant or unmaintained code
3) Reduce technical debt carried by OpenAMP team
4) very few customer using openamp on Zynq-7000 SoC
For using Zynq-7000 SoC support
last working and tested version is (v2023.10)
https://github.com/OpenAMP/open-amp/tree/v2023.10
Signed-off-by: Rajiv Mohan <rajiv.mohan(a)amd.com>
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/openamp-system-reference/settings/notifications
Branch: refs/heads/virtio-exp-v2025.04
Home: https://github.com/OpenAMP/open-amp
Commit: 6ecc2ef43e992d85cdeb7b883552a48bfa9bcd24
https://github.com/OpenAMP/open-amp/commit/6ecc2ef43e992d85cdeb7b883552a48b…
Author: Dan Milea <dan.milea(a)windriver.com>
Date: 2025-05-23 (Fri, 23 May 2025)
Changed paths:
M lib/virtio_mmio/virtio_mmio_drv.c
M lib/virtio_mmio/virtio_net_drv.c
M lib/virtio_mmio/virtio_rng_drv.c
M lib/virtio_mmio/virtio_serial_drv.c
Log Message:
-----------
Updated virtio drivers for network, entropy and serial devices
The drivers now support devices with version numbers 2 (virtio >= 1.0)
in addition to 1 (legacy).
Signed-off-by: Dan Milea <dan.milea(a)windriver.com>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/open-amp/settings/notifications
Branch: refs/heads/main
Home: https://github.com/OpenAMP/libmetal
Commit: f2990d20daca81a12e7e84c33eb5398418f7568e
https://github.com/OpenAMP/libmetal/commit/f2990d20daca81a12e7e84c33eb53984…
Author: Sipke Vriend <sipke(a)direktembedded.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M doc/Doxyfile.in
Log Message:
-----------
doxygen: tell doxygen to generate tag file for external linking
To allow for external links to doxygen generated content, tell doxygen
to build tags, so the tag file can be used for cross referencing
doxygen generated data.
Signed-off-by: Sipke Vriend <sipke(a)direktembedded.com>
Commit: c86f48f19a9c58998123061777da680e14cbafb9
https://github.com/OpenAMP/libmetal/commit/c86f48f19a9c58998123061777da680e…
Author: Sipke Vriend <sipke(a)direktembedded.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M doc/Doxyfile.in
Log Message:
-----------
doxygen: tell doxygen to generate xml
in order to use the sphinx breathe plugin in the OpenAMP/openamp-docs
repository we need to enable xml generation
Signed-off-by: Sipke Vriend <sipke(a)direktembedded.com>
Compare: https://github.com/OpenAMP/libmetal/compare/36f87f9335f5...c86f48f19a9c
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/libmetal/settings/notifications
Branch: refs/heads/main
Home: https://github.com/OpenAMP/open-amp
Commit: 1bd84cfd8926f88188f4091b47b4fdd3148448bc
https://github.com/OpenAMP/open-amp/commit/1bd84cfd8926f88188f4091b47b4fdd3…
Author: Sipke Vriend <sipke(a)direktembedded.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M doc/Doxyfile.in
Log Message:
-----------
doxygen: tell doxygen to generate tag file for external linking
To allow for external links to doxygen generated content, tell doxygen
to build tags, so the tag file can be used for cross referencing
doxygen generated data.
Signed-off-by: Sipke Vriend <sipke(a)direktembedded.com>
Commit: 391671ba24840833d882c1a75c5d7307703b1cf1
https://github.com/OpenAMP/open-amp/commit/391671ba24840833d882c1a75c5d7307…
Author: Sipke Vriend <sipke(a)direktembedded.com>
Date: 2025-05-19 (Mon, 19 May 2025)
Changed paths:
M doc/Doxyfile.in
Log Message:
-----------
doxygen: tell doxygen to generate xml
in order to use the sphinx breathe plugin in the OpenAMP/openamp-docs
repository we need to enable xml generation
Signed-off-by: Sipke Vriend <sipke(a)direktembedded.com>
Compare: https://github.com/OpenAMP/open-amp/compare/3737f8b18ad2...391671ba2484
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/open-amp/settings/notifications
Branch: refs/heads/virtio-exp-v2025.04
Home: https://github.com/OpenAMP/open-amp
Commit: 5ec5c10f741becf7d2840ee64ca2d86912784074
https://github.com/OpenAMP/open-amp/commit/5ec5c10f741becf7d2840ee64ca2d869…
Author: Dan Milea <dan.milea(a)windriver.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
A lib/include/openamp/virtio_rng_drv.h
M lib/virtio_mmio/CMakeLists.txt
A lib/virtio_mmio/virtio_rng_drv.c
Log Message:
-----------
virtio-mmio: entropy device
Added virtio entropy device support.
Signed-off-by: Dan Milea <dan.milea(a)windriver.com>
Commit: 60faf773e8411b35eebff6a1e44c1ad701d49086
https://github.com/OpenAMP/open-amp/commit/60faf773e8411b35eebff6a1e44c1ad7…
Author: Dan Milea <dan.milea(a)windriver.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
A lib/include/openamp/virtio_net_drv.h
M lib/virtio_mmio/CMakeLists.txt
A lib/virtio_mmio/virtio_net_drv.c
Log Message:
-----------
virtio-mmio: network device
Added virtio network device support.
Signed-off-by: Dan Milea <dan.milea(a)windriver.com>
Commit: b0d05292876b2b2bd96a98bd408f46ca503a1f81
https://github.com/OpenAMP/open-amp/commit/b0d05292876b2b2bd96a98bd408f46ca…
Author: Dan Milea <dan.milea(a)windriver.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
A lib/include/openamp/virtio_serial_drv.h
M lib/virtio_mmio/CMakeLists.txt
A lib/virtio_mmio/virtio_serial_drv.c
Log Message:
-----------
virtio-mmio: console device
Added virtio console device support.
Signed-off-by: Dan Milea <dan.milea(a)windriver.com>
Commit: 911424a0ee6299cbb35d893757bc5f9c70501a9e
https://github.com/OpenAMP/open-amp/commit/911424a0ee6299cbb35d893757bc5f9c…
Author: Felipe Neves <felipe.neves(a)linaro.org>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M cmake/options.cmake
M lib/include/openamp/virtio.h
A lib/include/openamp/virtio_mmio_dev.h
M lib/virtio_mmio/CMakeLists.txt
A lib/virtio_mmio/virtio_mmio_dev.c
Log Message:
-----------
virtio-mmio: add initial support for Virtio MMIO device side
Signed-off-by: Felipe Neves <felipe.neves(a)linaro.org>
virtio_mmio_dev: initial support for device side
virtio mmio transport, it is based on work done originally
by Nicolas Granger from ST: <nicolas.granger01(a)st.com>
Signed-off-by: Felipe Neves <felipe.neves(a)linaro.org>
Commit: 1cc0122d227d96de55eb25445f14f97553a984d7
https://github.com/OpenAMP/open-amp/commit/1cc0122d227d96de55eb25445f14f975…
Author: Felipe Neves <felipe.neves(a)linaro.org>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lib/include/openamp/virtio_mmio.h
R lib/include/openamp/virtio_mmio_dev.h
M lib/virtio_mmio/virtio_mmio_dev.c
Log Message:
-----------
virtio_mmio: unify device and driver interfaces into a
single header file.
Signed-off-by: Felipe Neves <felipe.neves(a)linaro.org>
Commit: 1f8a7cb9db21f753c776c9c024113d8cad18a17c
https://github.com/OpenAMP/open-amp/commit/1f8a7cb9db21f753c776c9c024113d8c…
Author: Dan Milea <dan.milea(a)windriver.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M lib/include/openamp/virtio_mmio.h
A lib/include/openamp/virtio_mmio_hvl.h
M lib/virtio/virtqueue.c
M lib/virtio_mmio/CMakeLists.txt
M lib/virtio_mmio/virtio_mmio_drv.c
A lib/virtio_mmio/virtio_mmio_hvl.c
M lib/virtio_mmio/virtio_serial_drv.c
Log Message:
-----------
virtio-mmio: hypervisor-less mode
Added support for hypervisor-less virtio.
- HVP dispatch function table
- Semaphore-based configuration synchronization mechanism when in
yield-capable context
Signed-off-by: Dan Milea <dan.milea(a)windriver.com>
Compare: https://github.com/OpenAMP/open-amp/compare/604cdf9a4561...1f8a7cb9db21
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/open-amp/settings/notifications
Branch: refs/heads/main
Home: https://github.com/OpenAMP/open-amp
Commit: 3737f8b18ad24a3b091a11cc6ea320d8b0576da5
https://github.com/OpenAMP/open-amp/commit/3737f8b18ad24a3b091a11cc6ea320d8…
Author: Peter van der Perk <peter.vanderperk(a)nxp.com>
Date: 2025-05-12 (Mon, 12 May 2025)
Changed paths:
M lib/remoteproc/remoteproc_virtio.c
M lib/rpmsg/rpmsg_virtio.c
Log Message:
-----------
rpmsg_virtio.c: wait_remote_ready use sleep instead to avoid starvation
metal_cpu_yield can either result in an unimplemented function or a yield
function. The yield function however only yields execution to another
thread of the same or higher priority. Thus starving any lower priority
threads.
wait_remote_ready can be blocked for a long time i.e. seconds waiting on
the remote core to start communication.
Instead use metal_sleep_usec, allowing lower priority tasks to be
executed. While waiting on the remote core.
Signed-off-by: Peter van der Perk <peter.vanderperk(a)nxp.com>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/open-amp/settings/notifications
Branch: refs/heads/main
Home: https://github.com/OpenAMP/open-amp
Commit: 604cdf9a4561bda7c2274fee64c0f5c90933b9d4
https://github.com/OpenAMP/open-amp/commit/604cdf9a4561bda7c2274fee64c0f5c9…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M VERSION
Log Message:
-----------
release: open-amp 2025.04.0
Set library version to 1.8.0
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Signed-off-by: Ed Mooring <ed.mooring(a)gmail.com>
Signed-off-by: Tanmay Shah <tanmay.shah(a)amd.com>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/open-amp/settings/notifications
Branch: refs/heads/main
Home: https://github.com/OpenAMP/libmetal
Commit: 36f87f9335f5afc3ce3a56c1069346df591094e1
https://github.com/OpenAMP/libmetal/commit/36f87f9335f5afc3ce3a56c1069346df…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2025-05-05 (Mon, 05 May 2025)
Changed paths:
M VERSION
Log Message:
-----------
release: libmetal 2025.04.0
Set library version to 1.8.0
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Signed-off-by: Ed Mooring <ed.mooring(a)gmail.com>
Signed-off-by: Tanmay Shah <tanmay.shah(a)amd.com>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/libmetal/settings/notifications
Branch: refs/heads/main
Home: https://github.com/OpenAMP/openamp-system-reference
Commit: 24d2219dc9edbaca103fe9052a36434222e16404
https://github.com/OpenAMP/openamp-system-reference/commit/24d2219dc9edbaca…
Author: Tanmay Shah <tanmay.shah(a)amd.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M examples/linux/dts/xilinx/xilinx-openamp-for-v6.x.dtso
M examples/linux/dts/xilinx/zynqmp-openamp.dtso
Log Message:
-----------
linux: dts: xlnx: Fix r5f node name as per 6.12 kernel
Linux 6.12 kernel has updated node name for r5 cores.
Fix example dts accordingly otherwise it will generate wrong dt example
that won't work.
Signed-off-by: Tanmay Shah <tanmay.shah(a)amd.com>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/openamp-system-reference/settings/notifications
Branch: refs/heads/main
Home: https://github.com/OpenAMP/openamp-system-reference
Commit: ab0a3036108cd336f776ab85fb1ff51ce73672d3
https://github.com/OpenAMP/openamp-system-reference/commit/ab0a3036108cd336…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M examples/legacy_apps/machine/microblaze_generic/platform_info.c
M examples/legacy_apps/machine/zynq7/platform_info.c
M examples/legacy_apps/machine/zynqmp/platform_info.c
M examples/legacy_apps/machine/zynqmp_r5/platform_info.c
M examples/legacy_apps/system/linux/machine/generic/platform_info.c
Log Message:
-----------
legacy_apps: fix assertion in remoteproc_remove_virtio
rpvdev->vdev value is set to NULL in rpmsg_deinit_vdev. This leads to
an assert when we use rpvdev->vdev as argument of
remoteproc_remove_virtio:
msg-test-rpmsg-ping-static:
./open-amp/lib/remoteproc/remoteproc.c:1039:
remoteproc_remove_virtio: Assertion `vdev' failed.
rpmsg-echo-static:
./open-amp/lib/remoteproc/remoteproc.c:1039:
remoteproc_remove_virtio: Assertion `vdev' failed.
Fix it by introducing a local vdev variable.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Commit: 66c1b4c7e44a762139739673e4d0be4728b01276
https://github.com/OpenAMP/openamp-system-reference/commit/66c1b4c7e44a7621…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M examples/legacy_apps/machine/microblaze_generic/platform_info.c
M examples/legacy_apps/machine/zynq7/platform_info.c
M examples/legacy_apps/machine/zynqmp/platform_info.c
M examples/legacy_apps/machine/zynqmp_r5/platform_info.c
M examples/legacy_apps/system/linux/machine/generic/platform_info.c
Log Message:
-----------
legacy_apps: free rpmsg_device in platform_release_rpmsg_vdev
Free the rpvdev allocated in platform_create_rpmsg_vdev()
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Compare: https://github.com/OpenAMP/openamp-system-reference/compare/4cec7f818eb2...…
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/openamp-system-reference/settings/notifications