Hello,
There were only four of us on the call today so we called it off after
10 minutes.
There is no meeting on Dec 31 so our next meeting will be Jan 14.
(I did send a cancellation for the Dec 31 but it may still be on your
calendar so please delete it manually.)
I hope everyone enjoys whatever winter holidays you practice. See you
in the new year.
Thanks,
Bill
Branch: refs/heads/master
Home: https://github.com/OpenAMP/libmetal
Commit: 73f746ecf6d384ea328632a31e7f2982e343ebc8
https://github.com/OpenAMP/libmetal/commit/73f746ecf6d384ea328632a31e7f2982…
Author: Leo Sartre <sartre.l(a)ecagroup.com>
Date: 2020-12-15 (Tue, 15 Dec 2020)
Changed paths:
M lib/system/linux/device.c
Log Message:
-----------
lib/system/linux: pass correct offset to metal_map()
According to UIO documentation, the offset device tree property
purpose is to be used "if the device’s memory is not page aligned".
Quoting the same documentation:
"To map the memory of mapping N, you have to use N times the page
size as your offset"
So wee need to pass i * getpagesize() to get the correct mapping,
otherwise, we end up with all io_region pointing to the same area.
Signed-off-by: Leo Sartre <sartre.l(a)ecagroup.com>
Commit: f52728d078578cb985940c9e6a7f247fa1baa8d1
https://github.com/OpenAMP/libmetal/commit/f52728d078578cb985940c9e6a7f247f…
Author: Leo Sartre <sartre.l(a)ecagroup.com>
Date: 2020-12-15 (Tue, 15 Dec 2020)
Changed paths:
M README.md
Log Message:
-----------
README.md: note about non page aligned devices on Linux
According to the Linux kernel UIO documentation, access to device's
memory that is not page aligned requires to add the proper offset to
the pointer returned by mmap() that is stored into the 'virt' field of
the metal_io_region structure.
Document this limitation until this offset is handled properly by the
library.
Signed-off-by: Leo Sartre <sartre.l(a)ecagroup.com>
Compare: https://github.com/OpenAMP/libmetal/compare/9c807f04e779...f52728d07857
Branch: refs/heads/master
Home: https://github.com/OpenAMP/libmetal
Commit: a55c8a2cb7fa46843c15086796d3bfa2e93edd5c
https://github.com/OpenAMP/libmetal/commit/a55c8a2cb7fa46843c15086796d3bfa2…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-15 (Tue, 15 Dec 2020)
Changed paths:
M lib/compiler.h
Log Message:
-----------
Generate a compiler error when ARMCC is not using GNU extentions
The GNU extensions enableable via the "--gnu" compile option, is
mandatory for the ARMCC to benefit from GNU atomic routines and macros.
This commit adds compilation error to notify user about ARMCC
Signed-off-by: Haithem Rahmani <haithem.rahmani(a)st.com>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Commit: 65d77a680b7ba61eab20c28ee25f57751023995c
https://github.com/OpenAMP/libmetal/commit/65d77a680b7ba61eab20c28ee25f5775…
Author: Haithem Rahmani <haithem.rahmani(a)st.com>
Date: 2020-12-15 (Tue, 15 Dec 2020)
Changed paths:
M lib/atomic.h
Log Message:
-----------
Make ARMCC use GCC atomic routines
The MDK-ARM ARMCC doesn't provide the "stdatomic.h", however, with the
option "--gnu", it can support the standard gcc atomic routines.
This patch makes the armcc compiler use the "compiler/gcc/atomic.h"
Signed-off-by: Haithem Rahmani <haithem.rahmani(a)st.com>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Commit: 9c807f04e77921a1fa3000c8f13c7bfc1004075b
https://github.com/OpenAMP/libmetal/commit/9c807f04e77921a1fa3000c8f13c7bfc…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-15 (Tue, 15 Dec 2020)
Changed paths:
M lib/compiler/CMakeLists.txt
A lib/compiler/armcc/CMakeLists.txt
A lib/compiler/armcc/errno.h
M lib/errno.h
Log Message:
-----------
compiler: Add support of metal/errno.h for ARMCC
Add ARMCC errno.h to support non posix error values used in baremetal.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Compare: https://github.com/OpenAMP/libmetal/compare/a352cc678a33...9c807f04e779
Branch: refs/heads/master
Home: https://github.com/OpenAMP/open-amp
Commit: 52376bc4f2814d5bf53f3dfae8ee2947f85cdec6
https://github.com/OpenAMP/open-amp/commit/52376bc4f2814d5bf53f3dfae8ee2947…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-15 (Tue, 15 Dec 2020)
Changed paths:
M apps/examples/CMakeLists.txt
A apps/examples/nocopy_echo/CMakeLists.txt
A apps/examples/nocopy_echo/rpmsg-echo.h
A apps/examples/nocopy_echo/rpmsg-nocopy-ping.c
M apps/tests/msg/CMakeLists.txt
R apps/tests/msg/rpmsg-nocopy-ping.c
Log Message:
-----------
apps: move nocopy ping test to example
Move the test to exemple folder to prepare an exemple that involves the
TX and RX nocopy API.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Commit: cb73ea0c7d69b884819171051e15e79e71ccdec6
https://github.com/OpenAMP/open-amp/commit/cb73ea0c7d69b884819171051e15e79e…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-15 (Tue, 15 Dec 2020)
Changed paths:
M apps/examples/nocopy_echo/CMakeLists.txt
A apps/examples/nocopy_echo/rpmsg-nocopy-echo.c
Log Message:
-----------
apps: add responder part of the no copy example
Add the ping responder that uses the nocpy API to process the message
outside of the receive callback.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Commit: beddf60c8e7534392a60ef655a47a427acab6206
https://github.com/OpenAMP/open-amp/commit/beddf60c8e7534392a60ef655a47a427…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-15 (Tue, 15 Dec 2020)
Changed paths:
M apps/examples/nocopy_echo/rpmsg-nocopy-ping.c
Log Message:
-----------
apps: update nocopy ping to use nocopy API for reception.
Enhance the ping to add the usage of rpmsg_hold_rx_buffer and
rpmsg_release_rx_buffer to treat the message outside of the
callback function.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Commit: ae1eba57b50ecbe155f789a3a537dc6e53faa9c0
https://github.com/OpenAMP/open-amp/commit/ae1eba57b50ecbe155f789a3a537dc6e…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-15 (Tue, 15 Dec 2020)
Changed paths:
M README.md
Log Message:
-----------
Readme: add description for zero copy demo
Add a subchapter to describe how to run the rpmsg echo demo using the
nocopy API.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Compare: https://github.com/OpenAMP/open-amp/compare/d4adf2a5cf64...ae1eba57b50e
Hi Til,
This is the right place to ask.
Your understanding of the process is correct. See
https://github.com/OpenAMP/libmetal/pull/139 for adding support for a
new processor/OS.
To answer your other questions:
1. There is no further documentation for RTOS vendors implementing libmetal.
2. See the above pull request for how to get your changes into the
repository.
Documentation, and if possible, adding building libmetal and its tests
for embOS to the GitHub continuous integration for libmetal would be
very welcome.
Regards,
Ed M
On 12/6/20 5:06 PM, SEGGER - Til Stork via Openamp-rp wrote:
> Hello guys,
> I am not sure if this is the correct address.
> One of our customers asked us for rpmsg support for our RTOS embOS.
> [1]https://www.segger.com/products/rtos/embos/
> If I understand it correctly we would need to write some kind of
> abstraction layer within libmetal like it is done for e.g. FreeRTOS,
> correct?
> If I compare the bare metal implementation at
> [2]https://github.com/OpenAMP/libmetal/tree/master/lib/system/generic
> to FreeRTOS
> [3]https://github.com/OpenAMP/libmetal/tree/master/lib/system/freertos
> it seems that should be no big deal.
> 1. Is there any further documentation for an RTOS vendor like me to
> understand what I need to implement?
> 2. If the embOS layer is finished can I upload it to the libmetal
> repository (so our customers can use it from there)?
> Is there anything else I should be aware of?
> Many thanks!
> Best regards,
> Til
>
> Til Stork
> Product Manager embOS
> [4]til.stork(a)segger.com
> T +49-2173-99312-0
> [5]www.segger.com
> [6]SEGGER - The Embedded Experts
>
> SEGGER Microcontroller GmbH * Ecolab-Allee 5 * 40789 Monheim am
> Rhein * Germany * Tel. +49-2173-99312-0 * Fax. +49-2173-99312-28
> Amtsgericht Düsseldorf, HRB-Nr.: 57453 * Managing Director: Ivo
> Geilenbruegge
>
> References
>
> 1. https://www.segger.com/products/rtos/embos/
> 2. https://github.com/OpenAMP/libmetal/tree/master/lib/system/generic
> 3. https://github.com/OpenAMP/libmetal/tree/master/lib/system/freertos
> 4. mailto:til.stork@segger.com
> 5. https://www.segger.com/
> 6. https://www.segger.com/
>
>
Branch: refs/heads/master
Home: https://github.com/OpenAMP/libmetal
Commit: 4081b0d562380b635f6e1436bd8e57cea6b3a792
https://github.com/OpenAMP/libmetal/commit/4081b0d562380b635f6e1436bd8e57ce…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-10 (Thu, 10 Dec 2020)
Changed paths:
M lib/system/generic/io.c
Log Message:
-----------
io: fix IAR compile error due to 'void *' variable
Fix EWARM compilation error due to void pointer usage.
Signed-off-by: Haithem Rahmani <haithem.rahmani(a)st.com>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Commit: 07c523bdd2cde8914119727ca153030baa073ce7
https://github.com/OpenAMP/libmetal/commit/07c523bdd2cde8914119727ca153030b…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-10 (Thu, 10 Dec 2020)
Changed paths:
M lib/processor/arm/atomic.h
Log Message:
-----------
atomic: fix typo in the header file comments
Replace GCC by Arm.
Signed-off-by: Haithem Rahmani <haithem.rahmani(a)st.com>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Commit: bbf692005c90ec3668325d78cdf1e0f857191d0e
https://github.com/OpenAMP/libmetal/commit/bbf692005c90ec3668325d78cdf1e0f8…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-10 (Thu, 10 Dec 2020)
Changed paths:
M lib/system/generic/condition.h
M lib/system/generic/sys.h
Log Message:
-----------
generic: fix compilation error when compiling using IAR
Includes are not found by the IAR.
As they seems unused, just suppress them.
Signed-off-by: Haithem Rahmani <haithem.rahmani(a)st.com>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Commit: 11bb1ac46d1b1dd0c0cf1748c4b52d93f1ac15e2
https://github.com/OpenAMP/libmetal/commit/11bb1ac46d1b1dd0c0cf1748c4b52d93…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-10 (Thu, 10 Dec 2020)
Changed paths:
M lib/CMakeLists.txt
M lib/compiler/iar/CMakeLists.txt
A lib/compiler/iar/errno.h
A lib/errno.h
Log Message:
-----------
compiler: Add specific errno.h file for EWARM compilation
Error values use in the library are not POSIX. Unlike the GNU gcc,the
EWARM toolchain doesn't support error such as EINVAL. To ensure coherency
in error management we have to ensure that library and application use
the same errno. Currently an "errno.h" is provided at application level
which makes GCC work correctly, but this is not the case for the IAR.
the added list is based on FreeBSD errno.h.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Commit: bf57c47cd5c74e968a452326550ef88b5c322f01
https://github.com/OpenAMP/libmetal/commit/bf57c47cd5c74e968a452326550ef88b…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-10 (Thu, 10 Dec 2020)
Changed paths:
M lib/device.c
M lib/dma.c
M lib/io.c
M lib/irq.c
M lib/shmem.c
M lib/softirq.c
M lib/system/freertos/irq.c
M lib/system/freertos/xlnx_common/irq.c
M lib/system/generic/condition.h
M lib/system/generic/irq.c
M lib/system/generic/sys.h
M lib/system/generic/xlnx_common/irq.c
M lib/system/linux/condition.h
M lib/system/linux/sys.h
M lib/system/nuttx/irq.c
M lib/system/zephyr/condition.h
M lib/system/zephyr/irq.c
Log Message:
-----------
lib: include metal/errno instead of errno.h
include metal/errno to better support non GCC compilers.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Commit: 75e36524f62aba7fbd167ea23dbd18fbf0a9f6ac
https://github.com/OpenAMP/libmetal/commit/75e36524f62aba7fbd167ea23dbd18fb…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-12-10 (Thu, 10 Dec 2020)
Changed paths:
M examples/system/freertos/zynqmp_r5/zynqmp_amp_demo/common.h
M examples/system/freertos/zynqmp_r5/zynqmp_amp_demo/ipi_shmem_demod.c
M examples/system/generic/zynqmp_r5/zynqmp_amp_demo/common.h
M examples/system/generic/zynqmp_r5/zynqmp_amp_demo/ipi_shmem_demod.c
M examples/system/linux/zynqmp/zynqmp_amp_demo/ipi_latency_demo.c
M examples/system/linux/zynqmp/zynqmp_amp_demo/ipi_shmem_demo.c
M examples/system/linux/zynqmp/zynqmp_amp_demo/shmem_atomic_demo.c
M examples/system/linux/zynqmp/zynqmp_amp_demo/shmem_demo.c
M examples/system/linux/zynqmp/zynqmp_amp_demo/shmem_latency_demo.c
M examples/system/linux/zynqmp/zynqmp_amp_demo/shmem_throughput_demo.c
M test/metal-test.c
M test/system/freertos/alloc.c
M test/system/freertos/atomic.c
M test/system/freertos/irq.c
M test/system/freertos/sleep.c
M test/system/freertos/threads.c
M test/system/generic/irq.c
M test/system/linux/irq.c
Log Message:
-----------
Update exemple and tests to include metal/errno.h
Modify all the libmetal exemples and tests file to include <metal/errno.h>
instead of <errno.h>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Compare: https://github.com/OpenAMP/libmetal/compare/6e81fb67c76b...75e36524f62a
Branch: refs/heads/master
Home: https://github.com/OpenAMP/open-amp
Commit: 47549566ea8b2184006f5638021fa41263169381
https://github.com/OpenAMP/open-amp/commit/47549566ea8b2184006f5638021fa412…
Author: Chao An <anchao(a)pinecone.net>
Date: 2020-12-03 (Thu, 03 Dec 2020)
Changed paths:
M lib/include/openamp/rpmsg.h
M lib/rpmsg/rpmsg.c
M lib/rpmsg/rpmsg_internal.h
M lib/rpmsg/rpmsg_virtio.c
Log Message:
-----------
rpmsg: bring back zero copy transfer
Commit-id: b16ca55
Adding RPMsg Extension layer implementing zero-copy send and receive.
Signed-off-by: Chao An <anchao(a)pinecone.net>
Commit: 34bdd161d868e2451b21bad5a539c533b31945c5
https://github.com/OpenAMP/open-amp/commit/34bdd161d868e2451b21bad5a539c533…
Author: Xiang Xiao <xiaoxiang(a)xiaomi.com>
Date: 2020-12-03 (Thu, 03 Dec 2020)
Changed paths:
M apps/tests/msg/CMakeLists.txt
A apps/tests/msg/rpmsg-nocopy-ping.c
Log Message:
-----------
apps: add msg-test-rpmsg-nocopy-ping test
to demo the usage of zero copy API
Signed-off-by: Xiang Xiao <xiaoxiang(a)xiaomi.com>
Compare: https://github.com/OpenAMP/open-amp/compare/baee3ff92d8f...34bdd161d868