Branch: refs/heads/main
Home: https://github.com/OpenAMP/open-amp
Commit: e5988ab1c06eee1fb353428f8212e7a84fb55210
https://github.com/OpenAMP/open-amp/commit/e5988ab1c06eee1fb353428f8212e7a8…
Author: Ed Mooring <ed.mooring(a)gmail.com>
Date: 2022-05-16 (Mon, 16 May 2022)
Changed paths:
M cmake/platforms/cross_generic_gcc.cmake
Log Message:
-----------
CMake: Drop deprecated CMAKE_FORCE_*_COMPILER directives.
Building OpenAMP for standalone ARM R5, the following warning occurs:
CMake Deprecation Warning at
/usr/share/cmake-3.16/Modules/CMakeForceCompiler.cmake:75 (message):
The CMAKE_FORCE_C_COMPILER macro is deprecated. Instead just set
CMAKE_C_COMPILER and allow CMake to identify the compiler.
Call Stack (most recent call first):
cmake/platforms/cross_generic_gcc.cmake:5 (CMAKE_FORCE_C_COMPILER)
/home/mooring/build-oa/toolchain.r5-oa.sa:18 (include)
/usr/share/cmake-3.16/Modules/CMakeDetermineSystem.cmake:93 (include)
CMakeLists.txt:19 (project)
Follow the suggestions in the above error message, and add
CMAKE_TRY_COMPILE_TARGET_TYPE = STATIC LIBRARY, which makes try_compile()
not try to link the cross-compiled binary. This is necessary because the
arm-none-eabi toolchain libgcc doesn't have an implementation of _exit(),
leaving that to the BSP. This results in a CMake error because it can't
build the test executable.
Signed-off-by: Ed Mooring <ed.mooring(a)gmail.com>
Branch: refs/heads/main
Home: https://github.com/OpenAMP/open-amp
Commit: 9fdadd0a4a6553a32be320a623aea57a0a520189
https://github.com/OpenAMP/open-amp/commit/9fdadd0a4a6553a32be320a623aea57a…
Author: Guiding Li <liguiding1(a)xiaomi.com>
Date: 2022-05-16 (Mon, 16 May 2022)
Changed paths:
M docs/rpmsg-design.md
M lib/include/openamp/rpmsg.h
M lib/rpmsg/rpmsg_virtio.c
Log Message:
-----------
openamp: add ns_unbind_cb to rpmsg_device
it's useful to notify the port layer and
also symmetry with ns_bind_cb callback
Signed-off-by: Guiding Li <liguiding1(a)xiaomi.com>
Branch: refs/heads/main
Home: https://github.com/OpenAMP/libmetal
Commit: 239e836c210bac7fa09eff073564fe375aa5f1ba
https://github.com/OpenAMP/libmetal/commit/239e836c210bac7fa09eff073564fe37…
Author: Eugene Cohen <quic_egmc(a)quicinc.com>
Date: 2022-05-06 (Fri, 06 May 2022)
Changed paths:
M cmake/options.cmake
M cmake/syscheck.cmake
M lib/system/zephyr/CMakeLists.txt
R lib/system/zephyr/arm/CMakeLists.txt
R lib/system/zephyr/arm/sys.c
R lib/system/zephyr/arm/sys.h
R lib/system/zephyr/riscv/CMakeLists.txt
R lib/system/zephyr/riscv/sys.c
R lib/system/zephyr/riscv/sys.h
A lib/system/zephyr/sys.c
M lib/system/zephyr/sys.h
R lib/system/zephyr/xtensa/CMakeLists.txt
R lib/system/zephyr/xtensa/sys.c
R lib/system/zephyr/xtensa/sys.h
Log Message:
-----------
zephyr: simplify zephyr system to remove machine
Replace the architecture-specific machine directories with a common
C function for polling which calls to arch_cpu_idle.
Add a special case to map Zephyr arm64 to libmetal aarch64 in defining
PROJECT_PROCESSOR variable.
Set the MACHINE variable based CONFIG_ARCH instead of testing
individual arch config flags.
Signed-off-by: Eugene Cohen <quic_egmc(a)quicinc.com>
Commit: 7926c874189bdf8fe5e94d5634d9bd20b0a29195
https://github.com/OpenAMP/libmetal/commit/7926c874189bdf8fe5e94d5634d9bd20…
Author: Eugene Cohen <quic_egmc(a)quicinc.com>
Date: 2022-05-06 (Fri, 06 May 2022)
Changed paths:
M .github/actions/build_ci/entrypoint.sh
Log Message:
-----------
CI: add Zephyr build test for arm64 architecture
This adds CI build test for arm64 architecture.
Signed-off-by: Eugene Cohen <quic_egmc(a)quicinc.com>
Compare: https://github.com/OpenAMP/libmetal/compare/86fd1ba48e52...7926c874189b
Branch: refs/heads/main
Home: https://github.com/OpenAMP/libmetal
Commit: 86fd1ba48e52403cbd9fcf30f10e1e94e6afd43e
https://github.com/OpenAMP/libmetal/commit/86fd1ba48e52403cbd9fcf30f10e1e94…
Author: Kenta Sato <tosainu.maple(a)gmail.com>
Date: 2022-05-06 (Fri, 06 May 2022)
Changed paths:
M lib/system/linux/irq.c
Log Message:
-----------
Create an eventfd object with `EFD_CLOEXEC` flag
The file descriptor `irq_notify_fd` does not have the close-on-exec
(`FD_CLOEXEC`) flag so it possibly leaks to child processes.
This adds an `EFD_CLOEXEC` flag to the second argument of the `exentfd(2)` call,
which tells it to set an `FD_CLOEXEC` flag on the new file descriptor.
Signed-off-by: Kenta Sato <tosainu.maple(a)gmail.com>
Branch: refs/heads/main
Home: https://github.com/OpenAMP/open-amp
Commit: 8c93bffd9ff7b2bf2cfd490dde01236b59110fac
https://github.com/OpenAMP/open-amp/commit/8c93bffd9ff7b2bf2cfd490dde01236b…
Author: Ed Mooring <ed.mooring(a)gmail.com>
Date: 2022-05-06 (Fri, 06 May 2022)
Changed paths:
M apps/system/generic/machine/zynqmp_r5/CMakeLists.txt
Log Message:
-----------
apps: Remove leading space in CMake linker directive variables.
While building the Xilinx R5 demo apps, the following error message
occurs:
CMake Error at apps/examples/echo/CMakeLists.txt:38 (add_executable):
Target "rpmsg-echo.out" links to item " -Wl,--defsym,_rsc_table=0x3ed20000
-T"/OpenAMP-Project/gh3/open-amp/apps/system/generic/machine/zynqmp_r5/
linker_remote.ld""
which has leading or trailing whitespace. This is now an error according
to policy CMP0004.
Remove the leading space.
Signed-off-by: Ed Mooring <ed.mooring(a)gmail.com>
Hi All,
As stated in a previous OpenAMP meeting, there was the use case of either
the remote or host attempting to re-establish connection if one side goes
down.
A proposal for this is as follows:
Changes to existing structures:
1.Add a new feature to the bitmap for VirtIO RPMsg with a name like
"VIRTIO_RPMSG_F_RECOVERY" and an extra bit here
2. Add a 2 bit field to struct rpmsg_device and struct fw_rsc_vdev to
denote if recovery functionality is supported and/or active that can have
the following 3 values:
- 0 - recovery not supported
- 1 - recovery supported but RPMsg endpoint reconnection is not yet
allowed.
- 2 - recovery supported and RPMsg endpoint reconnection is allowed.
Changes to host's resource table parsing:
When a host parses the resource table of the remote processor, check if
recovery feature is set and update the vdev's features accordingly.
Changes to host's endpoint creation:
1. First setup, set struct fw_rsc_vdev reovery flag to "recovery supported
but reconnection is not yet allowed"
2. After initial endpoint creation is successful, set recovery flag in
resource table's instance of the struct fw_rsc_vdev to "reconnection
allowed" and set resource table's copy of the rpmsg_vdev so that the
recovery field denotes reconnection is allowed
3. If recovery is fully setup then upon subsequent host endpoint creation
a. host will not re-initialize virtqueues
b. if rpmsg address is already set, do not error out
c. unlock rdev virtqueue lock so that messages can send
again
Changes to remote's endpoint creation:
2. If recovery is fully setup then the following changes apply:
a. remote will not wait for virtqueues' initialization by
host
b. if rpmsg address is already set, do not error out
c. unlock rdev virtqueue lock so that messages can send
again
Changes to rpmsg-send:
None. The virtqueue lock is opened upon endpoint re-connection.
Kind Regards,
Ben
Hi All,
As stated in a previous OpenAMP meeting, there was the use case of
either the remote or host attempting to re-establish connection if one
side goes down.
A proposal for this is as follows:
Changes to existing structures:
1.Add a new feature to the bitmap for VirtIO RPMsg with a name like
"VIRTIO_RPMSG_F_RECOVERY" and an extra bit here
2. Add a 2 bit field to struct rpmsg_device and struct fw_rsc_vdev to
denote if recovery functionality is supported and/or active that can
have the following 3 values:
- 0 - recovery not supported
- 1 - recovery supported but RPMsg endpoint reconnection is not yet
allowed.
- 2 - recovery supported and RPMsg endpoint reconnection is allowed.
Changes to host's resource table parsing:
When a host parses the resource table of the remote processor, check if
recovery feature is set and update the vdev's features accordingly.
Changes to host's endpoint creation:
1. First setup, set struct fw_rsc_vdev reovery flag to "recovery
supported but reconnection is not yet allowed"
2. After initial endpoint creation is successful, set recovery flag in
resource table's instance of the struct fw_rsc_vdev to "reconnection
allowed" and set resource table's copy of the rpmsg_vdev so that the
recovery field denotes reconnection is allowed
3. If recovery is fully setup then upon subsequent host endpoint
creation
a. host will not re-initialize virtqueues
b. if rpmsg address is already set, do not error out
c. unlock rdev virtqueue lock so that messages can send
again
Changes to remote's endpoint creation:
2. If recovery is fully setup then the following changes apply:
a. remote will not wait for virtqueues' initialization
by host
b. if rpmsg address is already set, do not error out
c. unlock rdev virtqueue lock so that messages can send
again
Changes to rpmsg-send:
None. The virtqueue lock is opened upon endpoint re-connection.
Kind Regards,
Ben
Branch: refs/heads/virtio-exp
Home: https://github.com/OpenAMP/open-amp
Commit: 71c85d6b66a57e85fe5e693a8aa55134103768cb
https://github.com/OpenAMP/open-amp/commit/71c85d6b66a57e85fe5e693a8aa55134…
Author: Ed Mooring <ed.mooring(a)gmail.com>
Date: 2022-04-29 (Fri, 29 Apr 2022)
Changed paths:
M README.md
M apps/examples/echo/rpmsg-echo.c
M apps/examples/echo/rpmsg-ping.c
M apps/examples/linux_rpc_demo/linux_rpc_demo.c
M apps/examples/linux_rpc_demo/linux_rpc_demod.c
M apps/examples/matrix_multiply/matrix_multiply.c
M apps/examples/matrix_multiply/matrix_multiplyd.c
M apps/examples/nocopy_echo/rpmsg-nocopy-echo.c
M apps/examples/nocopy_echo/rpmsg-nocopy-ping.c
M apps/examples/rpc_demo/rpc_demo.c
M apps/examples/rpc_demo/rpc_demod.c
M apps/examples/rpmsg_sample_echo/rpmsg-sample-echo.c
M apps/examples/rpmsg_sample_echo/rpmsg-sample-ping.c
M apps/machine/zynq7/platform_info.c
M apps/system/linux/machine/generic/platform_info.c
M apps/tests/msg/rpmsg-flood-ping.c
M apps/tests/msg/rpmsg-ping.c
M apps/tests/msg/rpmsg-update.c
M cmake/options.cmake
M lib/include/openamp/rpmsg_virtio.h
M lib/include/openamp/virtio.h
M lib/remoteproc/remoteproc_virtio.c
M lib/rpmsg/rpmsg_virtio.c
M lib/virtio/virtio.c
M lib/virtio/virtqueue.c
Log Message:
-----------
Terminology: Replace potentially offensive terms in the code.
In line with the terminology changes proposed by the OpenAMP
Technical Steering committe. Change VIRTIO_SLAVE_ONLY to
VIRTIO_DEVICE_ONLY. On linux, the two ends of the virtio communication
path are referred to as the "driver" (Linux), and the "device", in this
case running on the remote processor.
Terminology: Replace VIRTIO_MASTER_ONLY with VIRTIO_DRIVER_ONLY.
Terminology: Replace VIRTIO_DEV_SLAVE with VIRTIO_DEV_DEVICE
Terminology: Replace VIRTIO_DEV_MASTER with VIRTIO_DEV_DRIVER.
Apps: Fix variable names
Per guidance from the Technical Steering Committee, replace "master" and
"slave" with more appropriate terms.
lib: Replace RPMSG_MASTER with RPMSG_HOST
cmake: Change option names from "master", "slave" to "driver", "device".
Apps: Cleanup terminology
README: Update variable names to match the code.
Terminology: Add deprecation warnings to configuration variables.
Warn the user if they use the older, possibly offensively
named configuration variables.
Terminology: Clean up deprecation warnings.
CMake: Default deprecated configuration variables to off.
Make the deprecated WITH_VIRTIO_MASTER and WITH_VIRTIO_SLAVE
configuration variables default to OFF. This means that only deliberate
use of those variables will trigger the deprecation warning.
Terminology: Replace compiler-specific warnings with #warning.
In warning about deprecated constant names, change from
compiler-specific compile time warnings to the standard #warning.
fixup! Terminology: Replace potentially offensive terms in the code.
Fix the compilation error in zephyr by declaring a deprecated function
Deprecated message generated:
zephyr/samples/subsys/ipc/openamp_rsc_table/src/main_remote.c: In function 'rpmsg_mng_task':
zephyr/samples/subsys/ipc/openamp_rsc_table/src/main_remote.c:351:2: warning: 'deprecated_virtio_dev_slave' is deprecated [-Wdeprecated-declarations]
351 | rpdev = platform_create_rpmsg_vdev(0, VIRTIO_DEV_SLAVE, NULL,
| ^~~~~
In file included from modules/lib/open-amp/open-amp/lib/include/openamp/rpmsg_virtio.h:18,
from modules/lib/open-amp/open-amp/lib/include/openamp/open_amp.h:12,
from zephyr/samples/subsys/ipc/openamp_rsc_table/src/main_remote.c:15:
modules/lib/open-amp/open-amp/lib/include/openamp/virtio.h:49:32: note: declared here
49 | __deprecated static inline int deprecated_virtio_dev_slave(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
fixup! Terminology: Replace potentially offensive terms in the code.
miscellaneous update
Signed-off-by: Ed Mooring <ed.mooring(a)gmail.com>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Commit: 10dcceca63e5c699312ebc44eac87b63aeb58bf7
https://github.com/OpenAMP/open-amp/commit/10dcceca63e5c699312ebc44eac87b63…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Date: 2022-04-29 (Fri, 29 Apr 2022)
Changed paths:
M VERSION
Log Message:
-----------
release: open-amp 2022.04.0
Set library version to 1.2.0
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)foss.st.com>
Compare: https://github.com/OpenAMP/open-amp/compare/dbb178198cbd...10dcceca63e5