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
Branch: refs/heads/main
Home: https://github.com/OpenAMP/openamp-system-reference
Commit: 4ca6a085a7e2a2ebd8e7ae77f9e5997401be4661
https://github.com/OpenAMP/openamp-system-reference/commit/4ca6a085a7e2a2eb…
Author: Tanmay Shah <tanmay.shah(a)amd.com>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
M examples/linux/rpmsg-echo-test/Makefile
M examples/linux/rpmsg-echo-test/README.md
M examples/linux/rpmsg-mat-mul/Makefile
M examples/linux/rpmsg-mat-mul/README.md
M examples/linux/rpmsg-proxy-app/Makefile
M examples/linux/rpmsg-proxy-app/README.md
Log Message:
-----------
examples: linux: add 'rpmsg_' prefix to userspace app names
Current linux userspace app names are vague and do not show the
true purpose of the application. Add 'rpmsg_' prefix to the
application binary's name. This prefix clearly shows that the
respective binary will be used to send/receive rpmsg protocol payload.
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: f612c7d43e1f595ddb588cde0304eb3a90f257d1
https://github.com/OpenAMP/openamp-system-reference/commit/f612c7d43e1f595d…
Author: Tanmay Shah <tanmay.shah(a)amd.com>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
M examples/legacy_apps/machine/xlnx/CMakeLists.txt
Log Message:
-----------
legacy_apps: xlnx: move cmake required version only if built with vitis
The project has default cmake required version which is overridden with
xlnx specific cmake list file. Use this new required version only if
vitis tool is used, otherwise use the default required version.
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: a8a8e4137b251745f3e9202c47c30659b02429e6
https://github.com/OpenAMP/openamp-system-reference/commit/a8a8e4137b251745…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
A examples/zephyr/rpmsg_multi_services/boards/versal_rpu.conf
Log Message:
-----------
examples: zephyr: add Versal RPU transport
Configure the RPMsg multi-services example to use the AMD IPI
mailbox on Versal R5. Keep memory and linker placement outside the
application so generated platform inputs remain the source of the RPU
memory layout.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: 6752a76f7f50b040fe79a8fc30c40eaa8d23a249
https://github.com/OpenAMP/openamp-system-reference/commit/6752a76f7f50b040…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
M examples/linux/rpmsg-utils/rpmsg_ping.c
M examples/zephyr/rpmsg_multi_services/src/main_remote.c
Log Message:
-----------
examples: rpmsg: fix text response framing
The raw and TTY responders transmit one byte beyond their formatted
prefix and payload. In the raw path this can expose stale buffer data,
and adding the prefix to a maximum-sized received message can exceed
the local response buffer.
Send exact prefix-plus-payload lengths and validate raw response
construction. Increase the Linux utility's local receive buffer and
bound text output by the length returned from read().
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: 5a4c92095a9ee018216d953a5204d9b5c879a8e8
https://github.com/OpenAMP/openamp-system-reference/commit/5a4c92095a9ee018…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
M examples/zephyr/rpmsg_multi_services/boards/versal2_rpu.conf
M examples/zephyr/rpmsg_multi_services/boards/versal_rpu.conf
M examples/zephyr/rpmsg_multi_services/boards/versalnet_rpu.conf
A examples/zephyr/rpmsg_multi_services/boards/zynqmp_rpu.conf
M examples/zephyr/rpmsg_multi_services/sample.yaml
Log Message:
-----------
examples: zephyr: configure safe RPU output
Linux can own the physical UART while loading an RPU application
through remoteproc. Disable serial support for the AMD RPU targets and
use the RAM console where required so the example does not contend for
that UART.
Keep immediate logging for Versal Net, enable OpenAMP cache
maintenance on Versal2, and retain the executable-memory settings used
by the generated R52 memory policies.
Represent the supported platforms and tags as YAML sequences so
Twister retains every entry and can build all AMD RPU targets.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Compare: https://github.com/OpenAMP/openamp-system-reference/compare/59698990e359...…
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: 17148ddb10e555b833084cfdb602d2de3617bd5f
https://github.com/OpenAMP/libmetal/commit/17148ddb10e555b833084cfdb602d2de…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-08-26 (Wed, 26 Aug 2026)
Changed paths:
M lib/system/linux/device.c
Log Message:
-----------
lib: linux: preserve device-open errors
The Linux bus open path may try more than one backend driver for a
device. When a backend finds the device but fails while opening it,
the common open loop currently discards that errno and returns
-ENODEV after all drivers have been tried.
Keep the first useful backend open error, preferring non-ENODEV
failures over a plain miss. This preserves the existing not-found
result while letting callers see real failures such as UIO map
population errors.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: ec3f4d7c90f38ef0963b18956fd2c4a98b4f0aeb
https://github.com/OpenAMP/libmetal/commit/ec3f4d7c90f38ef0963b18956fd2c4a9…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-08-26 (Wed, 26 Aug 2026)
Changed paths:
M lib/system/linux/device.c
Log Message:
-----------
lib: linux: fix UIO mmap offset handling
UIO map offsets identify the usable resource start inside the
page-aligned mapping exposed by sysfs. The Linux backend previously
exposed and unmapped the adjusted virtual address directly.
Keep the raw mmap base and length for close, expose the usable
virtual address as raw mapping plus offset, and derive the libmetal
physical base and size from the usable portion of the UIO map.
Use the sysfs map size as the mmap length. For an unaligned resource,
UIO already reports a page-aligned address and a full mmap length, so
adding the offset to that length can over-map the resource and fail.
Reject offsets outside the system page size, reject offsets beyond the
map size, and report overflow before attempting to mmap the region.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: 6fa7ee61b57d86bd15a3ca840517cd12cc08819e
https://github.com/OpenAMP/libmetal/commit/6fa7ee61b57d86bd15a3ca840517cd12…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-08-26 (Wed, 26 Aug 2026)
Changed paths:
M lib/system/linux/device.c
M lib/system/linux/irq.c
M lib/system/linux/irq.h
Log Message:
-----------
lib: linux: clear UIO IRQ bookkeeping on close
A UIO-backed device registers its file descriptor with the Linux IRQ
controller so interrupt handling can find the owning metal device.
Closing the device must clear that association before closing the fd.
Add an internal unregister helper that detaches the device pointer
after the IRQ consumer has disabled the IRQ. Keep IRQ handler and
enable-state teardown owned by the standard IRQ disable and unregister
paths.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: f36b09679479ffda6eb4ae173162663e25d1d00b
https://github.com/OpenAMP/libmetal/commit/f36b09679479ffda6eb4ae173162663e…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-08-26 (Wed, 26 Aug 2026)
Changed paths:
M lib/system/linux/device.c
Log Message:
-----------
lib: linux: factor common UIO populate path
Split the UIO open flow into two stages. The parent-bus path still
opens the platform or PCI sysfs device, binds it to the selected UIO
driver, finds the child UIO class device, and records the resolved
class and /dev paths.
Move the common stage into metal_uio_populate(). That helper waits for
the /dev/uioX node, opens it, reads each UIO map, maps the full mmap
extent, exposes the usable region after the sysfs offset, and registers
IRQ bookkeeping when the UIO fd supports interrupts.
Keep close-time cleanup unchanged by storing the raw mmap address and
length alongside the adjusted libmetal I/O region. On populate failure,
unmap any regions mapped so far and close the UIO fd locally before the
generic open path releases parent sysfs and driver override state.
Also make local error paths close the temporary UIO child list before
returning.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: a39557108e22b4c392b554b05325262a6a9d3617
https://github.com/OpenAMP/libmetal/commit/a39557108e22b4c392b554b05325262a…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-08-26 (Wed, 26 Aug 2026)
Changed paths:
M lib/system/linux/device.c
Log Message:
-----------
lib: linux: add UIO class-name lookup
Add the resolver used by the synthetic uio bus. It scans every
/sys/class/uio/uioX/name file, compares the first line against the
requested libmetal device name, and rejects duplicate matches because
they cannot be opened deterministically.
When a unique match is found, fill the same linux_device fields that
the parent-bus UIO path fills: cls_path points at the UIO sysfs class
directory, dev_path points at /dev/uioX, and the UIO name and device
node name are saved for diagnostics and future callers.
The class-name open callback then reuses metal_uio_populate(), so UIO
class opens and parent-bus UIO opens share mmap setup, IRQ registration,
DMA handling, and close-time cleanup.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: 02e46d91d3d864b343ba0d03ebaa031f9558707e
https://github.com/OpenAMP/libmetal/commit/02e46d91d3d864b343ba0d03ebaa031f…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-08-26 (Wed, 26 Aug 2026)
Changed paths:
M lib/system/linux/device.c
Log Message:
-----------
lib: linux: register synthetic UIO bus
Register a synthetic Linux uio bus so callers can use the existing
metal_device_open("uio", name, ...) API shape to open UIO devices by
the value exported in /sys/class/uio/uioX/name.
This bus is not backed by a sysfs bus directory or a probed kernel
driver handle. During Linux bus initialization, register it only when
/sys/class/uio exists, and skip the normal sysfs bus and driver probing
that platform and PCI devices require.
During device open, allow the synthetic uio driver to run its class-name
open callback without an sdrv handle. The callback resolves the UIO class
device and then uses the shared populate path added earlier, so the new
bus preserves the same mmap, IRQ, DMA, and close semantics as existing
UIO-backed platform and PCI opens.
Also make bus close tolerate the missing sysfs bus handle and copy the
requested device name with snprintf() so oversized names fail cleanly.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Compare: https://github.com/OpenAMP/libmetal/compare/43a59cdd505a...02e46d91d3d8
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: d88c3e7a5dbb2deaa24dfef7a7d111ee74b20ba6
https://github.com/OpenAMP/openamp-system-reference/commit/d88c3e7a5dbb2dea…
Author: Shah, Tanmay <tanmay.shah(a)amd.com>
Date: 2026-08-26 (Wed, 26 Aug 2026)
Changed paths:
M examples/legacy_apps/machine/xlnx/zynqmp_r5/platform_info.c
M examples/legacy_apps/machine/xlnx/zynqmp_r5/platform_info.h
Log Message:
-----------
legacy_apps: xlnx: remove duplicate defines
For system-device-tree BSP CACHE related defines are already available
in the bsp config header file. Hence remove the duplicate defines if SDT
is defined in the toolchain file.
Signed-off-by: Tanmay Shah <tanmay.shah(a)amd.com>
Acked-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/main
Home: https://github.com/OpenAMP/open-amp
Commit: 4ae383d32de3f4c42e71d3da1ec4407f1d35a26b
https://github.com/OpenAMP/open-amp/commit/4ae383d32de3f4c42e71d3da1ec4407f…
Author: Bill Mills <bill.mills(a)linaro.org>
Date: 2026-08-26 (Wed, 26 Aug 2026)
Changed paths:
M .github/actions/build_ci/entrypoint.sh
M .github/workflows/continuous-integration.yml
Log Message:
-----------
CI: print disk freespace at the start and end of each job
Print the freespace so we can monitor how close we are to overflow.
Also allow manual trigger for main CI action.
Signed-off-by: Bill Mills <bill.mills(a)linaro.org>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/open-amp/settings/notifications
Branch: refs/heads/master
Home: https://github.com/OpenAMP/meta-openamp
Commit: e9015153d99d898b1a6aaac98f59673354aa57d2
https://github.com/OpenAMP/meta-openamp/commit/e9015153d99d898b1a6aaac98f59…
Author: Mark Hatle <mark.hatle(a)amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M conf/layer.conf
Log Message:
-----------
layer.conf: branch for scarthgap
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: 6df0251e99f5627aab3919716924e0d109cf9127
https://github.com/OpenAMP/meta-openamp/commit/6df0251e99f5627aab3919716924…
Author: Marius Unsel <munsel(a)munsel.de>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-firmware.bb
Log Message:
-----------
add usrmerge insane skip rule to R5 firmware example
Merge Pull Request #51 from github
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: a491cb961f18f8d18a079c09f016b41baace4177
https://github.com/OpenAMP/meta-openamp/commit/a491cb961f18f8d18a079c09f016…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
R vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx.inc
R vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-firmware.bb
R vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx.inc
R vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/overlays/openamp-overlay-versal-net.yaml
R vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/overlays/openamp-overlay-versal.yaml
R vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/overlays/openamp-overlay-zynqmp.yaml
Log Message:
-----------
xilinx: remove vendor specific logic
Move vendor specific logic to vendor specific layers
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: 8724f4a0d16f2fa422c00bf667772570c89d3438
https://github.com/OpenAMP/meta-openamp/commit/8724f4a0d16f2fa422c00bf66777…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M vendor/xilinx/recipes-openamp/libmetal/libmetal-xlnx.inc
Log Message:
-----------
libmetal-xlnx.inc: update versal-2ve-2vm symbols used to latest
Ensure that latest relevant symbols are used to configure the demo. This is used
to ensure correct IPI values are used.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: c58aa080aa74b02c7b453f91fec67340fa4e2d8a
https://github.com/OpenAMP/meta-openamp/commit/c58aa080aa74b02c7b453f91fec6…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M vendor/xilinx/recipes-kernel/linux/linux-%.bbappend
Log Message:
-----------
vendor/xilinx: remove remoteproc-zynqmp
As the old driver zynqmp_r5_remoteproc is not used
remove it.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: f20f22cea1138f7ca7347e4b9470a31e714a0d49
https://github.com/OpenAMP/meta-openamp/commit/f20f22cea1138f7ca7347e4b9470…
Author: Vivek Ghetiya <vivek.ghetiya(a)amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
A recipes-openamp/rpmsg-examples/files/zephyr_rpmsg_test
A recipes-openamp/rpmsg-examples/zephyr-rpmsg-test_1.0.bb
Log Message:
-----------
rpmsg-examples: Add zephyr-rpmsg-test utility
Add automated test script and corresponding recipe to validate
Zephyr-based OpenAMP RPMsg TTY communication from Linux. This provides
simplified test execution similar to the existing FreeRTOS echo_test
utility.
Signed-off-by: Vivek Ghetiya <vivek.ghetiya(a)amd.com>
Reviewed-by: Ben Levinsky <ben.levinsky(a)amd.com>
Message-Id: <20260213115243.3540267-3-vivek.ghetiya(a)amd.com>
Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju(a)amd.com>
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: a0e3ef43891bad7f8664b37792cd43a399eeaa44
https://github.com/OpenAMP/meta-openamp/commit/a0e3ef43891bad7f8664b37792cd…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M vendor/xilinx/recipes-kernel/linux/linux-%.bbappend
Log Message:
-----------
vendor/xilinx: Add versal-net SoC
Versal was recently split between versal and versal-net, add versal-net
as supported.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: 7865d16f1e42c419d67b7ca61281c35f7639b9ee
https://github.com/OpenAMP/meta-openamp/commit/7865d16f1e42c419d67b7ca61281…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M vendor/xilinx/recipes-kernel/linux/linux-%.bbappend
Log Message:
-----------
vendor/xilinx: Add versal-2ve-2vm SoC
Versal was recently split between versal and versal-2ve-2vm, add versal-2ve-2vm
as supported.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: 1a500238b447b6865b8fcbac49d6cd80a3d694a0
https://github.com/OpenAMP/meta-openamp/commit/1a500238b447b6865b8fcbac49d6…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M vendor/xilinx/layer.inc
Log Message:
-----------
vendor/xilinx: meta-xilinx-standalone-experimental renamed to meta-xilinx-standalone-sdt
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: 7470379900dbcbb1aa2783062265c1384c3a6c4a
https://github.com/OpenAMP/meta-openamp/commit/7470379900dbcbb1aa2783062265…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M vendor/xilinx/recipes-openamp/open-amp/open-amp-xlnx.inc
Log Message:
-----------
vendor/xilinx open-amp-xlnx: Builds are now based off of repo and only library
OpenAMP library is built with only library as target. Demos are in separate
recipe. This means the .inc file only needs minimal flags to be used.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: 6e342a4455100116bd1e4129eb341709d7e38e03
https://github.com/OpenAMP/meta-openamp/commit/6e342a4455100116bd1e4129eb34…
Author: Mark Hatle <mark.hatle(a)amd.com>
Date: 2026-06-02 (Tue, 02 Jun 2026)
Changed paths:
M conf/layer.conf
Log Message:
-----------
layer.conf: Update branch for wrynose
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: aae69d1bf473d23e08b89d10bb8cc71cab643046
https://github.com/OpenAMP/meta-openamp/commit/aae69d1bf473d23e08b89d10bb8c…
Author: Mark Hatle <mark.hatle(a)amd.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M recipes-openamp/images/openamp-image-minimal.bb
M recipes-openamp/libmetal/libmetal.inc
M recipes-openamp/open-amp/open-amp.inc
M recipes-openamp/rpmsg-examples/rpmsg-echo-test_1.0.bb
M recipes-openamp/rpmsg-examples/rpmsg-example.inc
M recipes-openamp/rpmsg-examples/rpmsg-mat-mul_1.0.bb
M recipes-openamp/rpmsg-examples/rpmsg-proxy-app_1.0.bb
M recipes-openamp/rpmsg-examples/rpmsg-utils_1.0.bb
M recipes-openamp/rpmsg-examples/zephyr-rpmsg-test_1.0.bb
Log Message:
-----------
various: Update variables to meet Wrynose requirements
The system now requires a space between a variable, operator and value.
WORKDIR is no longer allowed in S. The default value is now correct for
most git repositories.
The default git repository source location is ${UNPACKDIR}/${BP}.
Adjust as necessary components that build in subdirectories.
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: 80e38025dea10b0a6e38b98c7c3f925c96a2c931
https://github.com/OpenAMP/meta-openamp/commit/80e38025dea10b0a6e38b98c7c3f…
Author: Mark Hatle <mark.hatle(a)amd.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M recipes-openamp/libmetal/libmetal.inc
M recipes-openamp/open-amp/open-amp.inc
Log Message:
-----------
libmetal/open-amp: Fix CMake minimum version
Workaround the following issue:
| CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
| Compatibility with CMake < 3.5 has been removed from CMake.
|
| Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
| to tell CMake that the project requires at least <min> but has been updated
| to work with policies introduced by <max> or earlier.
|
| Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: 476a0489ea40d9c708b37bd6008301a1e3268946
https://github.com/OpenAMP/meta-openamp/commit/476a0489ea40d9c708b37bd60083…
Author: Mark Hatle <mark.hatle(a)amd.com>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M recipes-openamp/libmetal/libmetal.inc
Log Message:
-----------
libmetal: Workaround for atomic setting
Workaround for:
libmetal-v2024.05+git/test/system/linux/atomic.c:31:30: error: implicit declaration of function 'ATOMIC_VAR_INIT'; did you mean 'ATOMIC_FLAG_INIT'? [-Wimplicit-function-declaration]
| 31 | atomic_int counter = ATOMIC_VAR_INIT(0);
| | ^~~~~~~~~~~~~~~
| | ATOMIC_FLAG_INIT
ATOMIC_VAR_INIT is obsolete now and no longer is C23 or newer.
This wouldaround should be removed once the source is resolved.
Signed-off-by: Mark Hatle <mark.hatle(a)amd.com>
Commit: c3db487fc8fd5996e52da437a52dc4e2ea76312b
https://github.com/OpenAMP/meta-openamp/commit/c3db487fc8fd5996e52da437a52d…
Author: Bill Mills <bill.mills(a)linaro.org>
Date: 2026-06-06 (Sat, 06 Jun 2026)
Changed paths:
M conf/layer.conf
Log Message:
-----------
layer.conf: Update for 2026.04 release
* Update codenames for current release status
* Explain LTS policy better
* Delete old Xilinx specific langdale support
Signed-off-by: Bill Mills <bill.mills(a)linaro.org>
Commit: 4dda04a45cdf609a4ecbb862a8835d4f79fa2606
https://github.com/OpenAMP/meta-openamp/commit/4dda04a45cdf609a4ecbb862a883…
Author: Bill Mills <bill.mills(a)linaro.org>
Date: 2026-06-09 (Tue, 09 Jun 2026)
Changed paths:
A classes/openamp-unpack-compat.bbclass
M recipes-openamp/libmetal/libmetal.inc
M recipes-openamp/open-amp/open-amp.inc
M recipes-openamp/rpmsg-examples/rpmsg-example.inc
Log Message:
-----------
Re-add support for scarthgap
The baseline is compatible with wrynose (YP-6.0) and later.
Now re-add support for scarthgap (YP-5.0).
In each recipe:
* add destsuffix=${BP} to SRC_URI
* add S = {$UNPACKDIR}/${BP}
* inherit openamp-unpack-compat
The first two are the defaults in wrynose but be explicit for scarthgap.
The new class defines UNPACKDIR for scarthgap but leaves it undefined for
wrynose and later as they require. (It is defined as a weak assignment
that will be active later in the processing.)
This is a separate commit so it can be reverted for release specific
branches and when scrathgap goes EOL.
Signed-off-by: Bill Mills <bill.mills(a)linaro.org>
Compare: https://github.com/OpenAMP/meta-openamp/compare/d03894bbd0d0...4dda04a45cdf
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/meta-openamp/settings/notifications
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