Branch: refs/heads/main
Home: https://github.com/OpenAMP/libmetal
Commit: 9994a326f8c162a867986b6d9e39fa8c6b5d271d
https://github.com/OpenAMP/libmetal/commit/9994a326f8c162a867986b6d9e39fa8c…
Author: Bill Mills <bill.mills(a)linaro.org>
Date: 2023-10-10 (Tue, 10 Oct 2023)
Changed paths:
A .readthedocs.yaml
Log Message:
-----------
Docs: enable readthedocs rendering (for PRs)
The Readthedocs pull-request integration is nice to have for PR review.
Run the …
[View More]whole OpenAMP-docs build but use the PR's commit
This also requires a ReadTheDocs project to install its integration for
this repo. The project should enable "Build pull request for this project".
It is currently in the Advanced Settings panel.
The project will also run for the main branch but that should be
ignored and only the main project URL should be shown outside of PRs.
To this end the sub-module project names will use "-prs" in the name.
Signed-off-by: Bill Mills <bill.mills(a)linaro.org>
Commit: d7c605c272a6c263c5d941c38744e74868b2f309
https://github.com/OpenAMP/libmetal/commit/d7c605c272a6c263c5d941c38744e748…
Author: Bill Mills <bill.mills(a)linaro.org>
Date: 2023-10-10 (Tue, 10 Oct 2023)
Changed paths:
M doc/CMakeLists.txt
Log Message:
-----------
Docs: style doxygen when built as part of OpenAMP docs
Detect when we are a submodule of OpenAMP-docs.
If so use the top level's Doxyfile overrides on top of our Doxyfile.
If not, no change.
Signed-off-by: Bill Mills <bill.mills(a)linaro.org>
Compare: https://github.com/OpenAMP/libmetal/compare/92ffb1f1a5ff...d7c605c272a6
[View Less]
Branch: refs/heads/main
Home: https://github.com/OpenAMP/openamp-system-reference
Commit: ee579128df62855fef1ada3e521668e31d58c212
https://github.com/OpenAMP/openamp-system-reference/commit/ee579128df62855f…
Author: Gustavo Romero <gustavo.romero(a)linaro.org>
Date: 2023-10-10 (Tue, 10 Oct 2023)
Changed paths:
M examples/zephyr/dual_qemu_ivshmem/rpmsg_ivshmem_backend/rpmsg_ivshmem_backend.c
Log Message:
-----------
examples: dual_qemu_ivshmem: Print shmem …
[View More]address and size
Prints the shared memory (shmem) address and size for ivshmem.
This information is useful in certain test scenarios, particularly when
the remote side needs to be aware of the shmem address on the other
side (host side).
Signed-off-by: Gustavo Romero <gustavo.romero(a)linaro.org>
[View Less]
Branch: refs/heads/main
Home: https://github.com/OpenAMP/open-amp
Commit: 937ba1d700a4d5b3b28459fdf66c55e54cb34c6c
https://github.com/OpenAMP/open-amp/commit/937ba1d700a4d5b3b28459fdf66c55e5…
Author: Tammy Leino <tammy.leino(a)siemens.com>
Date: 2023-10-06 (Fri, 06 Oct 2023)
Changed paths:
M Doxyfile
M lib/include/openamp/remoteproc.h
M lib/include/openamp/remoteproc_loader.h
M lib/include/openamp/remoteproc_virtio.h
M lib/include/openamp/rpmsg.h
…
[View More] M lib/include/openamp/rpmsg_rpc_client_server.h
M lib/include/openamp/rpmsg_virtio.h
M lib/include/openamp/virtio.h
M lib/include/openamp/virtio_mmio.h
M lib/include/openamp/virtio_ring.h
M lib/rpmsg/rpmsg_internal.h
Log Message:
-----------
Doxygen updates for data structures
Improved doxygen formatting and consistency for data structures.
Signed-off-by: Tammy Leino <tammy.leino(a)siemens.com>
[View Less]
Branch: refs/heads/main
Home: https://github.com/OpenAMP/libmetal
Commit: b24d294d2f23c6ce62c653f31f1ebfc27ebb9797
https://github.com/OpenAMP/libmetal/commit/b24d294d2f23c6ce62c653f31f1ebfc2…
Author: Gustavo Romero <gustavo.romero(a)linaro.org>
Date: 2023-10-05 (Thu, 05 Oct 2023)
Changed paths:
M README.md
Log Message:
-----------
Move libmetal Wiki link to Overview section
This commit fixes a duplicated definite article 'the' in the last
section and moves …
[View More]the corrected paragraph to the "Overview" section.
This change is made because the paragraph contains the Wiki link that
provides valuable information about libmetal internals, including a
detailed section titled "OpenAMP Overview".
It also addresses multiple format issues, including missing or duplicate
spaces in the text, and corrects the line length to match the format
used in README.md.
Signed-off-by: Gustavo Romero <gustavo.romero(a)linaro.org>
Commit: 92ffb1f1a5ff27ef9314971f8c952c526c788c10
https://github.com/OpenAMP/libmetal/commit/92ffb1f1a5ff27ef9314971f8c952c52…
Author: Gustavo Romero <gustavo.romero(a)linaro.org>
Date: 2023-10-05 (Thu, 05 Oct 2023)
Changed paths:
M MAINTAINERS.md
Log Message:
-----------
Fix typo in MAINTAINERS.md text
Remove duplicated indefinite article in the text.
Signed-off-by: Gustavo Romero <gustavo.romero(a)linaro.org>
Compare: https://github.com/OpenAMP/libmetal/compare/0bb6d9ed1b93...92ffb1f1a5ff
[View Less]
Hi Erwan, Arnaud, et all
I am using the Open-AMP ping pong example available in STM32CubeMX/IDE on a STM32H7 SoC. The example (not sure if it it is the same version) is at https://github.com/STMicroelectronics/STM32CubeH7/tree/master/Projects/STM3…
It is a Bare-metal example. I am trying find out which example in Zephyr can interface with this example. Currently I am using https://github.com/zephyrproject-rtos/zephyr/blob/main/samples/subsys/ipc/o… since it uses resource table as in the …
[View More]PingPong Bare-metal example. But as you know the open-amp package used in Zephyr side is very new (I am using Zephyr 3.4.0). I have made couple of changes listed below to work with the PingPong example
1. resource_table in linker file to use the SRAM4 on STM32H7 SoC that I am using
2. I had to define CONFIG_RAM_CONSOLE=y since without it, the shared memory resource table offsets are different as seen by the Bare-metal side.
3. The PingPong application is using name service. So I have updated Zephyr side to use name service.
4. Remove tty application. Modify the Client application to receive a 4 byte data, increment and send it back to Master
With these changes, I can see the NS message sent out by CM4 running Zephyr. But my CM7 Bare-metal application doesn't see the message.
So the first question is if Open-AMP/Shared memory structs are compatible? Other piece of information is Zephyr runs on CM4 and Bare-metal on CM7.
On my debug, I found that the vring struct in memory has len = 0 instead of 100. Not sure where that goes wrong. Still debugging
[View Less]
Hi Experts,
I have also posted this to zephyr dev mailing list and thought to add it here as well as it is related to OpenAMP.
I tried it in v3.4.x version of Zephyr before the final v3.4.0 release.
I am able to get the OpenAMP Bare-metal sample application work for core-to-core messaging using the STM32CubeIDE. We are using Zephyr in our project that interfaces with Bare-metal. The OpenAMP master runs on Bare-metal and it uses resource table. So I am working to enable the samples/subsys/…
[View More]openamp_rsc_table. I am able to build this sample for another STM32 board as
west -v build -p always -b stm32mp157c_dk2 samples/subsys/ipc/openamp_rsc_table
I have added the overlay and conf required to my project files and trying to build the sample and get the below linker error. As my target is also M4 on STM32H755 SoC, I believe I am missing some change to allow the metal_io_read() to be resolved to a proper library function. Some has suggested using set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic") per https://github.com/alexa/avs-device-sdk/issues/1404
I have tried to add it to the lib/openamp CMakeLists.txt but didn't help. Since this sample builds fine for stm32mp157c_dk2 , some build flag missing for my STM32H755 SoC??? Any help on this will be appreciated.
Log here
[362/372] Linking CXX executable zephyr\zephyr_pre0.elf
FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map C:/xxxx/build/zephyr/zephyr_pre0.map
cmd.exe /C "cd . && C:\xxxx\zephyr-sdk-0.16.1\arm-zephyr-eabi\bin\arm-zephyr-eabi-g++.exe -gdwarf-4 zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj -o zephyr\zephyr_pre0.elf zephyr/CMakeFiles/offsets.dir/./arch/arm/core/offsets/offsets.c.obj -fuse-ld=bfd -Wl,-T zephyr/linker_zephyr_pre0.cmd -Wl,-Map=C:/xxxxx/zephyr/zephyr_pre0.map -Wl,--whole-archive app/libapp.a zephyr/libzephyr.a zephyr/arch/common/libarch__common.a zephyr/arch/arch/arm/core/aarch32/libarch__arm__core__aarch32.a zephyr/arch/arch/arm/core/aarch32/cortex_m/libarch__arm__core__aarch32__cortex_m.a zephyr/lib/libc/minimal/liblib__libc__minimal.a zephyr/lib/libc/common/liblib__libc__common.a zephyr/lib/posix/liblib__posix.a zephyr/subsys/fs/libsubsys__fs.a zephyr/subsys/random/libsubsys__random.a zephyr/subsys/sd/libsubsys__sd.a zephyr/subsys/net/libsubsys__net.a zephyr/subsys/net/ip/libsubsys__net__ip.a zephyr/subsys/net/lib/config/libsubsys__net__lib__config.a zephyr/drivers/disk/libdrivers__disk.a zephyr/drivers/interrupt_controller/libdrivers__interrupt_controller.a zephyr/drivers/clock_control/libdrivers__clock_control.a zephyr/drivers/console/libdrivers__console.a zephyr/drivers/gpio/libdrivers__gpio.a zephyr/drivers/ipm/libdrivers__ipm.a zephyr/drivers/pinctrl/libdrivers__pinctrl.a zephyr/drivers/reset/libdrivers__reset.a zephyr/drivers/serial/libdrivers__serial.a zephyr/drivers/timer/libdrivers__timer.a modules/stm32/stm32cube/lib..__modules__hal__stm32__stm32cube.a modules/libmetal/libmetal/lib/libmetal.a modules/littlefs/libmodules__littlefs.a modules/mbedtls/libmbedTLSBase.a modules/mbedtls/libmbedTLSCrypto.a modules/mbedtls/libmbedTLSX509.a modules/mbedtls/libmodules__mbedtls.a modules/open-amp/open-amp/lib/libopen_amp.a -Wl,--no-whole-archive zephyr/kernel/libkernel.a -L"c:/users/murali.karicheri/zephyr-sdk-0.16.1/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/thumb/v7e-m/nofp" -LC:/xxxxx/build/zephyr -lgcc zephyr/arch/common/libisr_tables.a modules/mbedtls/libmbedTLSBase.a modules/mbedtls/libmbedTLSCrypto.a modules/mbedtls/libmbedTLSX509.a -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -Wl,--gc-sections -Wl,--build-id=none -Wl,--sort-common=descending -Wl,--sort-section=alignment -Wl,-u,_OffsetAbsSyms -Wl,-u,_ConfigAbsSyms -nostdlib -static -Wl,-X -Wl,-N -Wl,--orphan-handling=warn -Wl,-no-pie && cmd.exe /C "cd /D C:\xxxx\build\zephyr && "C:\Program Files\CMake\bin\cmake.exe" -E echo ""
c:/xxxxx/zephyr-sdk-0.16.1/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: modules/open-amp/open-amp/lib/libopen_amp.a(remoteproc_virtio.c.obj): in function `metal_io_read':
C:xxxxx/build/modules/libmetal/libmetal/lib/include/metal/io.h:252: undefined reference to `__atomic_load_8'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'C:\xxxx\build'
[View Less]
Branch: refs/heads/main
Home: https://github.com/OpenAMP/open-amp
Commit: 3882872bd5d89bbcd87ea3c5288a71882fde89de
https://github.com/OpenAMP/open-amp/commit/3882872bd5d89bbcd87ea3c5288a7188…
Author: Iuliana Prodan <iuliana.prodan(a)nxp.com>
Date: 2023-09-18 (Mon, 18 Sep 2023)
Changed paths:
M cmake/options.cmake
Log Message:
-----------
options: fix typo
Fix typo for WITH_DCACHE_BUFFERS option.
Signed-off-by: Iuliana Prodan <iuliana.prodan(a)nxp.com&…
[View More]gt;
Commit: ca0747ebece056b50a50b67130a12b0e900a9f71
https://github.com/OpenAMP/open-amp/commit/ca0747ebece056b50a50b67130a12b0e…
Author: Iuliana Prodan <iuliana.prodan(a)nxp.com>
Date: 2023-09-18 (Mon, 18 Sep 2023)
Changed paths:
M lib/include/openamp/virtqueue.h
M lib/virtio/virtqueue.c
Log Message:
-----------
virtqueue: move VRING_FLUSH and VRING_INVALIDATE to header
Move VRING_FLUSH and VRING_INVALIDATE defines to header file.
Signed-off-by: Iuliana Prodan <iuliana.prodan(a)nxp.com>
Commit: 95a9038ca6598460d85c853d12b027b4e256dff2
https://github.com/OpenAMP/open-amp/commit/95a9038ca6598460d85c853d12b027b4…
Author: Iuliana Prodan <iuliana.prodan(a)nxp.com>
Date: 2023-09-18 (Mon, 18 Sep 2023)
Changed paths:
M lib/include/openamp/rpmsg_virtio.h
M lib/rpmsg/rpmsg_virtio.c
Log Message:
-----------
rpmsg: buffers flush/invalidate
Do buffers flush and invalidate the same as with vrings
and resource table:
- add defines in header file;
- call BUFFER_FLUSH/BUFFER_INVALIDATE where necessary.
Signed-off-by: Iuliana Prodan <iuliana.prodan(a)nxp.com>
Commit: b4f10fbb693fb5e573ad377bc17f95fcb6eebcab
https://github.com/OpenAMP/open-amp/commit/b4f10fbb693fb5e573ad377bc17f95fc…
Author: Iuliana Prodan <iuliana.prodan(a)nxp.com>
Date: 2023-09-18 (Mon, 18 Sep 2023)
Changed paths:
M lib/include/openamp/remoteproc_virtio.h
M lib/include/openamp/rpmsg_virtio.h
M lib/include/openamp/virtqueue.h
M lib/virtio/virtqueue.c
Log Message:
-----------
virtqueue: define a common cache flush/invalidate
Since all cache operations, for vrings, buffer and
resource table are using metal_cache_flush and
metal_cache_invalidate, define a common function for all.
Signed-off-by: Iuliana Prodan <iuliana.prodan(a)nxp.com>
Commit: f2162a69ac6764749a2e326d580921095c2527d9
https://github.com/OpenAMP/open-amp/commit/f2162a69ac6764749a2e326d58092109…
Author: Iuliana Prodan <iuliana.prodan(a)nxp.com>
Date: 2023-09-18 (Mon, 18 Sep 2023)
Changed paths:
M README.md
M cmake/options.cmake
M lib/include/openamp/remoteproc_virtio.h
M lib/include/openamp/rpmsg_virtio.h
M lib/include/openamp/virtqueue.h
Log Message:
-----------
options: add option for all cache operations
Add WITH_DCACHE operation used for all cache operations:
vrings, buffers and resource table.
The other options will be deprecated - add warning
message for this.
Add info for WITH_DCACHE option in README.
Signed-off-by: Iuliana Prodan <iuliana.prodan(a)nxp.com>
Compare: https://github.com/OpenAMP/open-amp/compare/ca723b84185c...f2162a69ac67
[View Less]
Mathieu & Arnaud,
At first glance this seems like what we need to make the DMA API only
use buffers in a range we define.
https://lwn.net/ml/linux-kernel/20210106034124.30560-1-tientzu@chromium.org/
Bill
--
Bill Mills
Principal Technical Consultant, Linaro
+1-240-643-0836
TZ: US Eastern
Work Schedule: Tues/Wed/Thur