Branch: refs/heads/main
Home: https://github.com/OpenAMP/openamp-system-reference
Commit: e64527beaaa3ab1a779fd597eecaecfb96e097cf
https://github.com/OpenAMP/openamp-system-reference/commit/e64527beaaa3ab1a…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-07-31 (Fri, 31 Jul 2026)
Changed paths:
M examples/libmetal/machine/remote/amd_rpu/platform_init.c
Log Message:
-----------
examples: libmetal: amd_rpu: channel fields are used when possible
Use members of channel struct when able as opposed to locals
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: 905fbd6acc8d3853f6455a98122cd425c0db9a88
https://github.com/OpenAMP/openamp-system-reference/commit/905fbd6acc8d3853…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-07-31 (Fri, 31 Jul 2026)
Changed paths:
M examples/libmetal/demos/irq_shmem_demo/remote/irq_shmem_demo.c
M examples/libmetal/machine/remote/amd_rpu/platform_init.c
Log Message:
-----------
examples: libmetal: amd_rpu: order libraries alphabetically
Cosmetic change for remote side - have libraries ordered
alphabetically
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: 707384070dcf23eee4ddeeac43c7732606c101c6
https://github.com/OpenAMP/openamp-system-reference/commit/707384070dcf23ee…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-07-31 (Fri, 31 Jul 2026)
Changed paths:
M examples/libmetal/demos/irq_shmem_demo/remote/irq_shmem_demo.c
M examples/libmetal/machine/remote/amd_rpu/platform_init.c
M examples/libmetal/machine/remote/amd_rpu/system/freertos/amp_demo_os.h
M examples/libmetal/machine/remote/amd_rpu/system/generic/amp_demo_os.h
Log Message:
-----------
examples: libmetal: remote: accounts for non-contiguous area
As the host application now uses 3 shared mem areas that can be non-contiguous
ensure that remote side accounts for this too.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: 17e14cf4f639c4acef38982956056680a960dbdc
https://github.com/OpenAMP/openamp-system-reference/commit/17e14cf4f639c4ac…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-07-31 (Fri, 31 Jul 2026)
Changed paths:
M examples/libmetal/machine/remote/amd_rpu/common.h
M examples/libmetal/machine/remote/amd_rpu/platform_init.c
Log Message:
-----------
examples: libmetal: amd_rpu: versal-net: set first 2G MPU region
Set first 2G MPU Region as same flags as libmetal demo
to ensure MPU regions dont get incorrectly created
by BSP
This will go away once overlapping region adjustment
is fixed in BSP
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: b7bef2a9d4fa5e50dd9ef3324429018acb63f5cd
https://github.com/OpenAMP/openamp-system-reference/commit/b7bef2a9d4fa5e50…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-07-31 (Fri, 31 Jul 2026)
Changed paths:
M examples/libmetal/machine/remote/amd_rpu/platform_init.c
Log Message:
-----------
examples: libmetal: amd_rpu: fix memset call in cleanup
Fix bug in call to memset(), pass struct channel_s *,
not struct channel_s **
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: 86f3978c54651c57163f1e7f480ec3d6d4a3dd04
https://github.com/OpenAMP/openamp-system-reference/commit/86f3978c54651c57…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-07-31 (Fri, 31 Jul 2026)
Changed paths:
M examples/libmetal/demos/irq_shmem_demo/CMakeLists.txt
A examples/libmetal/demos/irq_shmem_demo/common/irq_shmem_demo.h
M examples/libmetal/demos/irq_shmem_demo/host/irq_shmem_demo.c
M examples/libmetal/demos/irq_shmem_demo/remote/irq_shmem_demo.c
M examples/libmetal/machine/host/amd_linux_userspace/common.h
M examples/libmetal/machine/host/amd_linux_userspace/platform_init.c
M examples/libmetal/machine/remote/amd_rpu/CMakeLists.txt
M examples/libmetal/machine/remote/amd_rpu/system/freertos/amp_demo_os.h
M examples/libmetal/machine/remote/amd_rpu/system/generic/amp_demo_os.h
Log Message:
-----------
examples: libmetal: irq_shmem_demo: move channel state to common header
Move the shared irq_shmem_demo channel definition into a demo-level
header and keep platform-specific state behind a machine_ctx pointer.
This removes the duplicated channel_s definitions from the host and
remote OS headers and makes the separation between common transport
state and platform-private state clearer.
Also export the demo common include directory through CMake so the
shared header can be included directly as irq_shmem_demo.h instead of
using deep relative include paths.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: 7d646280409d0abf92c05b005e164f9c3027c459
https://github.com/OpenAMP/openamp-system-reference/commit/7d646280409d0abf…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-07-31 (Fri, 31 Jul 2026)
Changed paths:
M examples/libmetal/machine/host/amd_linux_userspace/platform_init.c
Log Message:
-----------
examples: libmetal: amd_linux_userspace: fix cleanup memset call
Fix bug in call to memset(), pass struct channel_s *,
not struct channel_s **.
Also remove the duplicate metal_irq_unregister() call
from platform_cleanup().
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Compare: https://github.com/OpenAMP/openamp-system-reference/compare/2aff939b5303...…
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/libmetal
Commit: 43a59cdd505a678801eaaa66dfb11163e3696ecd
https://github.com/OpenAMP/libmetal/commit/43a59cdd505a678801eaaa66dfb11163…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2026-07-29 (Wed, 29 Jul 2026)
Changed paths:
M README.md
Log Message:
-----------
README: clarify Assisted-by tag guidance for AI-assisted contributions
Update the README contribution guidelines to document a consistent
Assisted-by tag format for AI-assisted patches.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.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/open-amp
Commit: f171a36eb206ff43f6860a851db379cc442c6b1f
https://github.com/OpenAMP/open-amp/commit/f171a36eb206ff43f6860a851db379cc…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2026-07-29 (Wed, 29 Jul 2026)
Changed paths:
M README.md
Log Message:
-----------
README: clarify Assisted-by tag guidance for AI-assisted contributions
Update the README contribution guidelines to document a consistent
Assisted-by tag format for AI-assisted patches.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.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: 4098a2c5bdcae6f77f2bd5a37f6ed70f388b37ba
https://github.com/OpenAMP/open-amp/commit/4098a2c5bdcae6f77f2bd5a37f6ed70f…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2026-07-21 (Tue, 21 Jul 2026)
Changed paths:
M .github/actions/build_ci/entrypoint.sh
Log Message:
-----------
CI: Update to Zephyr 4.4 to fix cmake dependency
Zephyr 4.3 does not properly support CMake 4.x.
The command "west sdk install" fails because of some Zephyr CMake files.
The issue has been fixed in Zephyr 4.4. Upgrade to Zephyr 4.4
instead of trying to apply a temporary fix for Zephyr 4.3.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Commit: cda8c64317f4c764c67191f89194759144033be2
https://github.com/OpenAMP/open-amp/commit/cda8c64317f4c764c67191f891947591…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2026-07-21 (Tue, 21 Jul 2026)
Changed paths:
M .github/actions/build_ci/entrypoint.sh
Log Message:
-----------
CI: install pip packages before exporting zephyr cmake package
Since Zephyr 4.0, the command west packages pip --install must be run
before west zephyr-export.
Without this order, an error can occur when running west zephyr-export.
ModuleNotFoundError: No module named 'jsonschema'
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Compare: https://github.com/OpenAMP/open-amp/compare/9ff23a10ce22...cda8c64317f4
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: 1ca622c845a893490cd8543eccbee47066a655d9
https://github.com/OpenAMP/libmetal/commit/1ca622c845a893490cd8543eccbee470…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2026-07-21 (Tue, 21 Jul 2026)
Changed paths:
M .github/actions/build_ci/entrypoint.sh
Log Message:
-----------
CI: Update to Zephyr 4.4 to fix cmake dependency
Zephyr 4.3 does not properly support CMake 4.x.
The command "west sdk install" fails because of some Zephyr CMake files.
The issue has been fixed in Zephyr 4.4. Upgrade to Zephyr 4.4
instead of trying to apply a temporary fix for Zephyr 4.3.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Commit: 6d79bdfcc0217419d6db4af9aeb6e06b68b44ccf
https://github.com/OpenAMP/libmetal/commit/6d79bdfcc0217419d6db4af9aeb6e06b…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2026-07-21 (Tue, 21 Jul 2026)
Changed paths:
M .github/actions/build_ci/entrypoint.sh
Log Message:
-----------
CI: install pip packages before exporting zephyr cmake package
Since Zephyr 4.0, the command west packages pip --install must be run
before west zephyr-export.
Without this order, an error can occur when running west zephyr-export.
ModuleNotFoundError: No module named 'jsonschema'
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Compare: https://github.com/OpenAMP/libmetal/compare/c5389ea380a2...6d79bdfcc021
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: 2aff939b530360c1eb0529e90e69c17681426280
https://github.com/OpenAMP/openamp-system-reference/commit/2aff939b530360c1…
Author: Tanmay Shah <tanmay.shah(a)amd.com>
Date: 2026-07-20 (Mon, 20 Jul 2026)
Changed paths:
M examples/legacy_apps/machine/xlnx/zynqmp_r5/platform_info.c
M examples/legacy_apps/machine/xlnx/zynqmp_r5/rsc_table.c
M examples/legacy_apps/machine/xlnx/zynqmp_r5/rsc_table.h
Log Message:
-----------
Revert "legacy_apps: zynqmp_r5: restore initial resources"
This reverts commit 75c158b008d6d758c39870814dbf8a92cc084867.
The original commit was introduced to support repeat attach-detach.
Since Linux side need to fix remoteproc virtio reset mechanism, this
commit becomes irrelevant. Also, this commit creates problems during
multiple reboot of the remote processor. Hence revert it until
remoteproc virtio reset mechanism is fixed in the linux kernel, and then
this commit will be re-introduced as 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/open-amp
Commit: 9ff23a10ce22cb270948f282a330b51bc7f93df7
https://github.com/OpenAMP/open-amp/commit/9ff23a10ce22cb270948f282a330b51b…
Author: Shichun Ma <masc2008(a)gmail.com>
Date: 2026-07-15 (Wed, 15 Jul 2026)
Changed paths:
M lib/virtio/virtqueue.c
Log Message:
-----------
virtio: fix NULL pointer dereference in virtqueue_notification
Add a NULL check for vq before dereferencing it in
virtqueue_notification() to prevent a crash when vq is NULL.
Signed-off-by: Shichun Ma <masc2008(a)gmail.com>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/open-amp/settings/notifications
TLDR: virtio-remoteproc device reset
To request a device reset (w/ acknowledgement), the driver should
val = Status field // read current status field
val |= 0x82 // set bits 7 and 1 (FAILED and DRIVER)
val &= 0xfe // clear bit 0 (ACKNOWLEDGE)
// leave other bits unchanged
Status field = val // write the new status field value
The driver should then poll the status field waiting for it to be == 0.
Note: writing the status field to 0 when it is already non-zero, should
continue to work as a device reset but the driver will not know when it is
complete.
Background:
From the virtio spec [1] with extra clarity added by me.
Status Field bits: (Spec section 2.1, html [2])
bit 0, 0x01, dec 1 ACKNOWLEDGE
bit 1, 0x02, dec 2 DRIVER
bit 2, 0x04, dec 4 DRIVER_OK
(also used in suspend protocol)
bit 3, 0x08, dec 8 FEATURES_OK
bit 4, 0x10, dec 16 SUSPEND
only used if negotiated
bit 5, 0x20, dec 32 (currently unused)
bit 6, 0x40, dec 64 DEVICE_NEEDS_RESET
bit 7, 0x80, dec 128 FAILED
All bits except DEVICE_NEEDS_RESET are set (and sometimes cleared) by the
device. DEVICE_NEEDS_RESET is set by the device and should only be cleared
by a reset.
Logically the driver sets ACKNOWLEDGE, then DRIVER, then DRIVER_OK, then
FEATURES_OK. Some of these could be set at the same time but never higher
bits before lower bits. Once these bits are set, the driver in not allowed
to clear them except by issuing a device reset. The one exception to this
is that the DRIVER_OK bit is cleared and set as part of the SUSPEND
protocol but only if it has been negotiated.
The driver sets the FAILED bit when it has given up on the device.
It is valid for FAILED with any of the following settings:
0b1xxx_0000 Fail before ack
0b1xxx_0001 Fail before driver found
0b1xxx_0011 Fail before driver OK
0b1xxx_0111 Fail before features OK
0b1xxx_1111 Fail after features OK
And if SUSPEND has been negotiated
0b1xx1_0011 Fail while suspend active before features OK
0b1xx1_1011 Fail while Suspend active after features OK
FAILED(0x80) and DRIVER (0x02) active with ACKNOWLEDGE(0x01) cleared is not
a value that is possible in the base spec. Therefore we use this setting
to request a reset w/ acknowledgement.
0b1xxx_xx10 Reset Request w/ acknowledgement
TBD:
Does/Should the driver send a notification on Status field change?
Does/Should the device send a notification on Status field change?
Sending the notice eliminates the need for a time on the other side to
poll. Do we already support this? If not, probibly not worth it just for
this protocol.
Recent virtio-mmio enhancement:
The patch in [3] is now in the virtio spec master branch but is not part of
any released version yet. The patch adds a new V3 version of virtio-mmio
where the driver can issue a non-blocking reset request and poll the status
field to know when it is done.
So we are not the only ones to notice this issue. However the solution
used for virtio-mmio still requires trap and emulate to work and wont work
if the Status field in located in normal memory of any type.
In the patch the driver still writes 0 to the status field but the device
is allowed to return from the MMR write with the status filed non-zero.
The driver then waits for the status field to become zero to know when this
operation is complete.
This solution will not work for us as we use a real memory to store the
status field and the driver writing that to 0 will take immediate effect
and the driver then polling for zero would succeed immediately.
Bill
[1] https://docs.oasis-open.org/virtio/virtio/v1.4/virtio-v1.4.html
[2] https://docs.oasis-open.org/virtio/virtio/v1.4/virtio-v1.4.html#x1-110001
[3]
https://github.com/Linaro/virtio-msg-spec/commit/a1883517ee44cc03d1b621a331…
--
Bill Mills
Principal Technical Consultant, Linaro
+1-240-643-0836
TZ: US Eastern
Work Schedule: Tues/Wed/Thur