Branch: refs/heads/main
Home: https://github.com/OpenAMP/open-amp
Commit: 62b28881119277b9d2f244b2314e18bde23c296e
https://github.com/OpenAMP/open-amp/commit/62b28881119277b9d2f244b2314e18bd…
Author: Li Zhiyuan <doitysf(a)hotmail.com>
Date: 2026-02-25 (Wed, 25 Feb 2026)
Changed paths:
M lib/remoteproc/remoteproc.c
Log Message:
-----------
remoteproc: clear bitmap in remoteproc_shutdown()
Clear the allocated bitmap in `remoteproc_shutdown()` to
prevent resource table parsing failures on repeated remoteproc
starts.
Signed-off-by: Li Zhiyuan <doitysf(a)hotmail.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/openamp-system-reference
Commit: 5f1103ee95f9c293a62185b36e0e311b2d4c0933
https://github.com/OpenAMP/openamp-system-reference/commit/5f1103ee95f9c293…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M examples/legacy_apps/machine/CMakeLists.txt
Log Message:
-----------
examples: legacy_apps: machine: fix Linux CMake build issue
When PROJECT_VENDOR is not set it is treated as an empty string
in the path ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_VENDOR}/CMakeLists.txt.
Since examples/legacy_apps/machine/CMakeLists.txt exists, the condition
evaluates to true even though PROJECT_VENDOR is not defined.
Fix this by explicitly testing that PROJECT_VENDOR is defined before
checking for the vendor-specific CMakeLists.txt.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Commit: 3eec8f826a2f7fd5b3028bfdbe8253e00ec87f0c
https://github.com/OpenAMP/openamp-system-reference/commit/3eec8f826a2f7fd5…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2026-02-17 (Tue, 17 Feb 2026)
Changed paths:
M examples/legacy_apps/cmake/options.cmake
Log Message:
-----------
examples: legacy_apps: machine: enable WITH_EXAMPLES by default
The purpose of legacy_apps is to provide examples, so it makes sense
to have this configuration enabled by default.
This also fixes a compatibility issue with legacy scripts used,
for instance, in the open-amp CI.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Compare: https://github.com/OpenAMP/openamp-system-reference/compare/4bdabbb5b6aa...…
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/openamp-system-reference/settings/notifications
On 2/6/2026 2:13 PM, Mark Hatle wrote:
>
>
> On 2/6/26 11:43 AM, Shah, Tanmay via Openamp-system-reference wrote:
>> Hi all,
>>
>> I am working on remoteproc auto-boot feature. While working on this, I
>> realized it should be possible to achieve RPMsg communication without
>> root access given to the user. Existing demos doesn't support it, but I
>> want to open discussion on how that can be achieved.
>>
>> One way discussed was, to use IOCTLS to create RPMSg devices, and I had
>> open issue here:
>> https://github.com/OpenAMP/openamp-system-reference/issues/50
>>
>> I tried to modify echo_test[1] demo and use IOCTLS instead of accessing
>> devices from sysfs directly, but that still need root access.
>>
>> My goal is to design following workflow for the RPMsg communication with
>> the remote processor:
>>
>> 1. Linux device-tree has auto-boot property enabled.
>> 2. During boot, driver parses auto-boot related properties, loads fw and
>> boots rproc automatically (without user's involvement)
>> 3. After boot, rproc firmware does name service announcement of RPMsg
>> channels.
>> 4. Linux creates RPMsg devices and ept based on above announcement.
>> 5. Userspace apps uses RPMsg ioctls to create ept and rpmsg devices.
>> 6. Userspace apps uses created devices for RPMsg communication with the
>> remote processor.
>>
>> As per my testing, as of now step-5 and step-6 needs root access.
>> Ideally userspace apps should be able to create/read/write/close rpmsg
>> devices without root access (for security purposes).
>>
>> Is there any other way this problem is solved? I appreciate your input.
>
> This is a 'capabilities' issue. If a user needs to be able to do
> something (like run an app that communicates to another app), but it's
> too dangerous to give them full system root access, you'd define
> appropriate capabilities and then grant the user JUST the capabilities
> they need.
>
> i.e. you should be able to grand the ability to read/write/close to a
> user. The create could require something else. So your app startup
> becomes:
>
> User/app gets root (this setuid root on the app)
> App runs, which creates the remote connection and makes it available
> User/app drops root, and moved to user permissions with an appropriate
> capability to use those interfaces in a 'safe' way.
>
>
I explored more about this. I think we can write udev rule which will
create devices automatically. Here is the example:
https://github.com/andersson/rpmsgexport/blob/master/README
I don't have much knowledge on writing udev rules, but I will explore
and learn it.
> As long as the app startup through dropping the perms is well audited,
> it is of minimal security concerns. Then the remaining app activities
> are 'safe' in that they are constrained.
>
> I have no idea offhand what capabilities that IOCTL should use, but
> there should be a lot of information about this. This is what I would
> exlore.
>
Sure I will explore more on IOCTL and user capabilities. There should be
some way to allow user to operate on particular devices without root
privileges.
Thank you for all the information.
Tanmay
> --Mark
>
>
>> Thank You,
>> Tanmay
>>
>>
>> References:
>>
>> [1]
>> https://github.com/OpenAMP/openamp-system-reference/blob/main/
>> examples/linux/rpmsg-echo-test/echo_test.c
>>
>>
>
Hi all,
I am working on remoteproc auto-boot feature. While working on this, I
realized it should be possible to achieve RPMsg communication without
root access given to the user. Existing demos doesn't support it, but I
want to open discussion on how that can be achieved.
One way discussed was, to use IOCTLS to create RPMSg devices, and I had
open issue here:
https://github.com/OpenAMP/openamp-system-reference/issues/50
I tried to modify echo_test[1] demo and use IOCTLS instead of accessing
devices from sysfs directly, but that still need root access.
My goal is to design following workflow for the RPMsg communication with
the remote processor:
1. Linux device-tree has auto-boot property enabled.
2. During boot, driver parses auto-boot related properties, loads fw and
boots rproc automatically (without user's involvement)
3. After boot, rproc firmware does name service announcement of RPMsg
channels.
4. Linux creates RPMsg devices and ept based on above announcement.
5. Userspace apps uses RPMsg ioctls to create ept and rpmsg devices.
6. Userspace apps uses created devices for RPMsg communication with the
remote processor.
As per my testing, as of now step-5 and step-6 needs root access.
Ideally userspace apps should be able to create/read/write/close rpmsg
devices without root access (for security purposes).
Is there any other way this problem is solved? I appreciate your input.
Thank You,
Tanmay
References:
[1]
https://github.com/OpenAMP/openamp-system-reference/blob/main/examples/linu…
Branch: refs/heads/main
Home: https://github.com/OpenAMP/libmetal
Commit: 90d19dc759c89220e04b987b4e00556506b8ad25
https://github.com/OpenAMP/libmetal/commit/90d19dc759c89220e04b987b4e005565…
Author: Tanmay Shah <tanmay.shah(a)amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M cmake/options.cmake
M lib/system/freertos/CMakeLists.txt
M lib/system/generic/CMakeLists.txt
M test/system/freertos/CMakeLists.txt
M test/system/generic/CMakeLists.txt
M test/system/linux/CMakeLists.txt
M test/system/zephyr/CMakeLists.txt
Log Message:
-----------
libmetal: cmake: support machine less build
libmetal can be build without any machine support. It is possible that
vendors implement machine specific interfaces outside of libmetal and
link it with demos during build time. Hence, remove requirement to have
MACHINE and PROJECT_MACHINE variables from the build system. If vendor
prefer to choose 'template' machine, they can pass such option during
cmake configuration.
Signed-off-by: Tanmay Shah <tanmay.shah(a)amd.com>
Commit: 9c593d7a95d9381ee7d0934ae4c3a6f6311fb9be
https://github.com/OpenAMP/libmetal/commit/9c593d7a95d9381ee7d0934ae4c3a6f6…
Author: Tanmay Shah <tanmay.shah(a)amd.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
R lib/system/freertos/xlnx/CMakeLists.txt
Log Message:
-----------
lib: freertos: remove xlnx vendor directory
This directory was removed and re-inroduced by mistake, and should
not exists in the libmetal.
Signed-off-by: Tanmay Shah <tanmay.shah(a)amd.com>
Commit: ece95f0e71811c44a4c23d9a1514f338ccf60c75
https://github.com/OpenAMP/libmetal/commit/ece95f0e71811c44a4c23d9a1514f338…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2026-02-04 (Wed, 04 Feb 2026)
Changed paths:
M lib/system/freertos/sys.h
M lib/system/freertos/template/CMakeLists.txt
R lib/system/freertos/template/sys.h
M lib/system/generic/sys.h
M lib/system/generic/template/CMakeLists.txt
R lib/system/generic/template/sys.h
Log Message:
-----------
lib: system: template: remove template/sys.h for generic and freeRTOS
Declare sys_irq_enable() and sys_irq_enable() directly in
lib/system/@PROJECT_SYSTEM@/sys.h.
This allows to declare the machine out of tree of the libmetal but
also to support the in-tree template.
[minor style fix by tanmay]
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Signed-off-by: Tanmay Shah <tanmay.shah(a)amd.com>
Compare: https://github.com/OpenAMP/libmetal/compare/9196a664c425...ece95f0e7181
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: 4bdabbb5b6aaaa902f56d408c091dbefc11e62ca
https://github.com/OpenAMP/openamp-system-reference/commit/4bdabbb5b6aaaa90…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-01-29 (Thu, 29 Jan 2026)
Changed paths:
M examples/legacy_apps/CMakeLists.txt
M examples/legacy_apps/cmake/options.cmake
M examples/legacy_apps/machine/CMakeLists.txt
R examples/legacy_apps/machine/microblaze_generic/CMakeLists.txt
R examples/legacy_apps/machine/microblaze_generic/README.md
R examples/legacy_apps/machine/microblaze_generic/platform_info.c
R examples/legacy_apps/machine/microblaze_generic/platform_info.h
R examples/legacy_apps/machine/microblaze_generic/rsc_table.c
R examples/legacy_apps/machine/microblaze_generic/rsc_table.h
R examples/legacy_apps/machine/microblaze_generic/zynqmp_mb_a53_rproc.c
A examples/legacy_apps/machine/xlnx/CMakeLists.txt
A examples/legacy_apps/machine/xlnx/README.md
A examples/legacy_apps/machine/xlnx/linker_files/lscript_r5.ld.in
A examples/legacy_apps/machine/xlnx/linker_files/lscript_versal_r5.ld.in
A examples/legacy_apps/machine/xlnx/microblaze_generic/CMakeLists.txt
A examples/legacy_apps/machine/xlnx/microblaze_generic/README.md
A examples/legacy_apps/machine/xlnx/microblaze_generic/platform_info.c
A examples/legacy_apps/machine/xlnx/microblaze_generic/platform_info.h
A examples/legacy_apps/machine/xlnx/microblaze_generic/rsc_table.c
A examples/legacy_apps/machine/xlnx/microblaze_generic/rsc_table.h
A examples/legacy_apps/machine/xlnx/microblaze_generic/zynqmp_mb_a53_rproc.c
A examples/legacy_apps/machine/xlnx/zynqmp/CMakeLists.txt
A examples/legacy_apps/machine/xlnx/zynqmp/openamp-linux-userspace.dtsi
A examples/legacy_apps/machine/xlnx/zynqmp/platform_info.c
A examples/legacy_apps/machine/xlnx/zynqmp/platform_info.h
A examples/legacy_apps/machine/xlnx/zynqmp/zynqmp_linux_r5_proc.c
A examples/legacy_apps/machine/xlnx/zynqmp_r5/CMakeLists.txt
A examples/legacy_apps/machine/xlnx/zynqmp_r5/freertos/gic_init.c
A examples/legacy_apps/machine/xlnx/zynqmp_r5/generic/gic_init.c
A examples/legacy_apps/machine/xlnx/zynqmp_r5/helper.c
A examples/legacy_apps/machine/xlnx/zynqmp_r5/linker_large_text.ld
A examples/legacy_apps/machine/xlnx/zynqmp_r5/linker_remote.ld
A examples/legacy_apps/machine/xlnx/zynqmp_r5/platform_info.c
A examples/legacy_apps/machine/xlnx/zynqmp_r5/platform_info.h
A examples/legacy_apps/machine/xlnx/zynqmp_r5/rsc_table.c
A examples/legacy_apps/machine/xlnx/zynqmp_r5/rsc_table.h
A examples/legacy_apps/machine/xlnx/zynqmp_r5/zynqmp_r5_a53_rproc.c
R examples/legacy_apps/machine/zynqmp/CMakeLists.txt
R examples/legacy_apps/machine/zynqmp/openamp-linux-userspace.dtsi
R examples/legacy_apps/machine/zynqmp/platform_info.c
R examples/legacy_apps/machine/zynqmp/platform_info.h
R examples/legacy_apps/machine/zynqmp/zynqmp_linux_r5_proc.c
R examples/legacy_apps/machine/zynqmp_r5/CMakeLists.txt
R examples/legacy_apps/machine/zynqmp_r5/freertos/gic_init.c
R examples/legacy_apps/machine/zynqmp_r5/generic/gic_init.c
R examples/legacy_apps/machine/zynqmp_r5/linker_large_text.ld
R examples/legacy_apps/machine/zynqmp_r5/linker_remote.ld
R examples/legacy_apps/machine/zynqmp_r5/platform_info.c
R examples/legacy_apps/machine/zynqmp_r5/platform_info.h
R examples/legacy_apps/machine/zynqmp_r5/rsc_table.c
R examples/legacy_apps/machine/zynqmp_r5/rsc_table.h
R examples/legacy_apps/machine/zynqmp_r5/zynqmp_r5_a53_rproc.c
Log Message:
-----------
examples: legacy_apps: vendor: Add initial vendor port for AMD-Xilinx platforms
Add CMake logic to build AMD-xilinx classic OpenAMP RPU Firmware demos using
Software Hardware Exchange Loop (SHEL) Flow to generate linker script.
This can be done with Lopper to generate the device tree and native CMake, Yocto AMD-Xilinx
Embedded Development Framework (EDF) or Vitis Unified IDE Workflows.
As part of this add options for vendor specific build.
By default all tests and examples will still build but add options
to make each mutable.
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/main
Home: https://github.com/OpenAMP/open-amp
Commit: 59e843f3efd788c181436066298a3e03273bc4a1
https://github.com/OpenAMP/open-amp/commit/59e843f3efd788c181436066298a3e03…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M .github/workflows/compliance.yml
Log Message:
-----------
CI: Fix compliance check folder bypass
On GitHub, this check is tagged as "Required."
However, if a PR only affects the following folders:.github, docs,
scripts, or cmake, the check is not executed (to avoid false positives),
resulting in the status "execution pending" + "required" on GitHub.
This commit forces the execution of the check but bypasses the
compliance.xml test when the PR only affects the listed folders.
If at least one update affects other folders, the compliance check
runs as usual.
In addition, the cmake folder is removed from the list, as there is
no reason to skip compliance tests on it.
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/openamp-system-reference
Commit: c1849243878fa57686ab67fc8571e0a3dab24c94
https://github.com/OpenAMP/openamp-system-reference/commit/c1849243878fa576…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M examples/libmetal/machine/remote/amd_rpu/system/generic/amp_demo_os.h
Log Message:
-----------
examples: libmetal: amd_rpu: baremetal: Fix wait condition
As the resume condition clears the flag, this should check if clear.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: a1606dff2d51f3f00ced4b463ba64fc274eb1899
https://github.com/OpenAMP/openamp-system-reference/commit/a1606dff2d51f3f0…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M examples/libmetal/machine/remote/amd_rpu/system/generic/gic_init.c
Log Message:
-----------
examples: libmetal: amd_rpu: baremetal: Use AMD recommended ISR via IPIPSU driver
AMD BSP recommended usage recommends using IPI driver to hook in IPIPSU driver.
Reference example here: https://github.com/xilinx/embeddedsw/blob/master/XilinxProcessorIPLib/drive…
As part of this remove unneeded lines.
Also use config.h provided IPI value to get the IPIPSU instance.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: c5211b46efc4b831df04203fb3886fde75d0e5d8
https://github.com/OpenAMP/openamp-system-reference/commit/c5211b46efc4b831…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M examples/libmetal/demos/irq_shmem_demo/README.md
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/CMakeLists.txt
M examples/libmetal/machine/host/amd_linux_userspace/README.md
M examples/libmetal/machine/host/amd_linux_userspace/common.h
A examples/libmetal/machine/host/amd_linux_userspace/config.h.in
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/README.md
M examples/libmetal/machine/remote/amd_rpu/build_deps.cmake
M examples/libmetal/machine/remote/amd_rpu/common.h
A examples/libmetal/machine/remote/amd_rpu/config.h.in
A examples/libmetal/machine/remote/amd_rpu/linker_files/lscript_r5.ld.in
A examples/libmetal/machine/remote/amd_rpu/linker_files/lscript_r52_generic.ld.in
A examples/libmetal/machine/remote/amd_rpu/linker_files/lscript_versal_net_r5.ld.in
A examples/libmetal/machine/remote/amd_rpu/linker_files/lscript_versal_r5.ld.in
M examples/libmetal/machine/remote/amd_rpu/platform_init.c
M examples/libmetal/machine/remote/amd_rpu/system/generic/gic_init.c
Log Message:
-----------
examples: libmetal: align demo carveouts with OpenAMP layout
Move the libmetal host/remote demo off the legacy single 3ed80000.shm window
to the OpenAMP-style carveouts at 0x09860000 with separate descriptor UIOs
(9860000.shm_desc, 9864000.shm_desc) and payload (9868000.shm), update the
platform init code to open/map the new descriptor regions, add
optional config-driven IPI overrides, and match the RPU defaults to the same
layout.
As part of this, mimic OpenAMP vendor-specific demos in that they will also
support support use of unified CMake-driven symbols. This enables external
tooling to generate a .cmake file from the system device tree that configures
the demo for the target platform without manual edits to source files.
Key changes:
- Add config.h.in templates for both Linux host and RPU remote that use
#cmakedefine to optionally override defaults from common.h
- Separate monolithic SHM_BASE_ADDR/SHM_SIZE into distinct carveouts:
* SHM0_DESC_BASE/SIZE - descriptor ring 0
* SHM1_DESC_BASE/SIZE - descriptor ring 1
* SHM_PAYLOAD_BASE/SIZE - data payload area
- Wrap all platform-specific IPI symbols in #ifndef guards:
* IPI_DEV_NAME, IPI_BASE_ADDR, IPI_MASK
- Wrap all platform-specific TTC symbols in #ifndef guards:
* TTC_DEV_NAME, TTC0_BASE_ADDR, TTC_NODEID
- Include demo-specific specific symbols for IPI, Shared memory and TTC
as provided by configure-time generated config.h file.
- Configure linker script via .cmake metadata too.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: 54d438856c372c5704d5f8640f97e48558388efd
https://github.com/OpenAMP/openamp-system-reference/commit/54d438856c372c57…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M examples/libmetal/machine/host/amd_linux_userspace/CMakeLists.txt
R examples/libmetal/machine/host/amd_linux_userspace/ipi-uio.c
Log Message:
-----------
examples: libmetal: amd_linux_userspace: remove UIO unused C file
UIO C file is dead code. remove it.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Commit: a591224d413fb3d7d028e6ce3af1b2bf875d7dee
https://github.com/OpenAMP/openamp-system-reference/commit/a591224d413fb3d7…
Author: Ben Levinsky <ben.levinsky(a)amd.com>
Date: 2026-01-26 (Mon, 26 Jan 2026)
Changed paths:
M examples/libmetal/machine/host/amd_linux_userspace/CMakeLists.txt
Log Message:
-----------
examples: libmetal: amd_linux_userspace: simplify build
Simplify build as it was previously based off legacy Libmetal
Linux AMP Demo.
Streamline it to just pick up and deliver a statically linked
executable.
Signed-off-by: Ben Levinsky <ben.levinsky(a)amd.com>
Compare: https://github.com/OpenAMP/openamp-system-reference/compare/1a21aaefa874...…
To unsubscribe from these emails, change your notification settings at https://github.com/OpenAMP/openamp-system-reference/settings/notifications