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