Branch: refs/heads/master
Home: https://github.com/OpenAMP/open-amp
Commit: 885a2634510d80178db34bae0e3aaf6b1ae8337a
https://github.com/OpenAMP/open-amp/commit/885a2634510d80178db34bae0e3aaf6b…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-10-12 (Mon, 12 Oct 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: set rpmsg_init_ept API as deprecated
The rpmsg_init_ept does not seem to be usable by application
but is used internally. This patch mark this API deprecated
and in at least two full release, to remove this API as the
standard API to use is rpmsg_create_ept.
In addition, move the rpmsg_init_ept to rpmsg_internal and rename it.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Branch: refs/heads/master
Home: https://github.com/OpenAMP/libmetal
Commit: c4c1d0e5341dd920ab45842b170b8526d9a5c029
https://github.com/OpenAMP/libmetal/commit/c4c1d0e5341dd920ab45842b170b8526…
Author: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Date: 2020-10-12 (Mon, 12 Oct 2020)
Changed paths:
M lib/compiler/gcc/compiler.h
M lib/compiler/iar/compiler.h
Log Message:
-----------
compiler: introduce __deprecated attribute
Define the __deprecated attribute to allow to generate a warning message
on compilation when an API is declared as deprecated.
This warning can be cleaned by adding -Wno-deprecated-declarations in
CMAKE_C_FLAGS flags
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen(a)st.com>
Branch: refs/heads/errno-h-fix
Home: https://github.com/OpenAMP/open-amp
Commit: ee470195b669d7db2f0e30e4f13bce8a05ee72cb
https://github.com/OpenAMP/open-amp/commit/ee470195b669d7db2f0e30e4f13bce8a…
Author: Ed Mooring <ed.mooring(a)xilinx.com>
Date: 2020-10-09 (Fri, 09 Oct 2020)
Changed paths:
M apps/examples/load_fw/load_fw.c
M apps/examples/load_fw/mem_image_store.c
M apps/examples/rpc_demo/rpc_demod.c
M apps/machine/zynq7/platform_info.c
M apps/machine/zynqmp/platform_info.c
M apps/machine/zynqmp_r5/platform_info.c
M apps/system/linux/machine/generic/platform_info.c
Log Message:
-----------
Add <errno.h> explicitly to all files that use errno values.
When building OpenAMP apps for FreeRTOS on Xilinx hardware, there
were compile errors due to EINVAL not being defined. On other
platforms, <errno.h> was implicitly included by OpenAMP header
files. This change explicitly includes it where it is needed
in the code.
Branch: refs/heads/master
Home: https://github.com/OpenAMP/open-amp
Commit: 3434576bfe22b37fee1dbe5507b14fdcf847ae48
https://github.com/OpenAMP/open-amp/commit/3434576bfe22b37fee1dbe5507b14fdc…
Author: Ben Levinsky <ben.levinsky(a)xilinx.com>
Date: 2020-10-06 (Tue, 06 Oct 2020)
Changed paths:
M apps/machine/zynqmp_r5/platform_info.c
M apps/machine/zynqmp_r5/platform_info.h
M apps/machine/zynqmp_r5/zynqmp_r5_a53_rproc.c
Log Message:
-----------
apps: zynqmp_r5: add switch to run r5 demo without IPI
The current implementation presumes the presence of IPI in hardware
design. Add switch to enable instead polling of shared memory if
there is no IPI, IRQ, etc. available.
Signed-off-by: Ben Levinsky <ben.levinsky(a)xilinx.com>
Commit: b5506793833f291c6686dae849ca45a976241a07
https://github.com/OpenAMP/open-amp/commit/b5506793833f291c6686dae849ca45a9…
Author: Ben Levinsky <ben.levinsky(a)xilinx.com>
Date: 2020-10-06 (Tue, 06 Oct 2020)
Changed paths:
M apps/machine/zynqmp/platform_info.c
M apps/machine/zynqmp/platform_info.h
M apps/machine/zynqmp/zynqmp_linux_r5_proc.c
Log Message:
-----------
apps: zynqmp: add switch to run linux demo without IPI
The current implementation presumes the presence of IPI in hardware
design. Add switch on Linux side to enable instead polling of shared
memory if there is no IPI, IRQ, etc. available.
Signed-off-by: Ben Levinsky <ben.levinsky(a)xilinx.com>
Compare: https://github.com/OpenAMP/open-amp/compare/6a835240096a...b5506793833f
Hi Gaute,
When you say that you are running Linux on core 0 and FreeRTOS on core
1, do you mean that you are running both Linux and FreeRTOS on the
Cortex-A cluster in separate virtual machines, using a hypervisor?
Or are they running on separate clusters, such as FreeRTOS on Cortex-M/R
and Linux on a Cortex-A?
Cheers,
Stefano
On Mon, 7 Sep 2020, Gaute Nilsson via Openamp-rp wrote:
> We are running Linux on core 0 and FreeRTOS on core 1.
>
> We have a high priority FreeRTOS task that needs to run with a 100 µs
> interval. When the system is up and running, no cross core
> communication takes place.
>
> If I login with a ssh session into the Linux core, this will cause a
> performance hit on the FreeRTOS core and cause the high priority task
> to miss its deadline.
>
> I can see that even an ISR on FreeRTOS core that normally takes 4.5 µs
> to execute, temporarily will take 7.6 µs to execute just when I open a
> ssh session into Linux core. So everything will temporarily run slower
> on FreeRTOS core before it goes back to normal.
>
>
> What can cause this, and how can we prevent activity on Linux core
> affecting performance on FreeRTOS core?
>
> -Gaute Nilsson
>
We are running Linux on core 0 and FreeRTOS on core 1.
We have a high priority FreeRTOS task that needs to run with a 100 µs
interval. When the system is up and running, no cross core communication
takes place.
If I login with a ssh session into the Linux core, this will cause a
performance hit on the FreeRTOS core and cause the high priority task to
miss its deadline.
I can see that even an ISR on FreeRTOS core that normally takes 4.5 µs to
execute, temporarily will take 7.6 µs to execute just when I open a ssh
session into Linux core. So everything will temporarily run slower on
FreeRTOS core before it goes back to normal.
What can cause this, and how can we prevent activity on Linux core
affecting performance on FreeRTOS core?
-Gaute Nilsson
We are running Linux on core 0 and FreeRTOS on core 1.
We have a high priority FreeRTOS task that needs to run with a 100 µs
interval. When the system is up and running, no cross core
communication takes place.
If I login with a ssh session into the Linux core, this will cause a
performance hit on the FreeRTOS core and cause the high priority task
to miss its deadline.
I can see that even an ISR on FreeRTOS core that normally takes 4.5 µs
to execute, temporarily will take 7.6 µs to execute just when I open a
ssh session into Linux core. So everything will temporarily run slower
on FreeRTOS core before it goes back to normal.
What can cause this, and how can we prevent activity on Linux core
affecting performance on FreeRTOS core?
-Gaute Nilsson
Branch: refs/heads/master
Home: https://github.com/OpenAMP/libmetal
Commit: 8dfbbadc2d92fb06ba0ee0bf1837b281e7a021c8
https://github.com/OpenAMP/libmetal/commit/8dfbbadc2d92fb06ba0ee0bf1837b281…
Author: Simon Leiner <simon(a)leiner.me>
Date: 2020-09-07 (Mon, 07 Sep 2020)
Changed paths:
M lib/atomic.h
Log Message:
-----------
Use <atomic> when compiled as C++
This is necessary for the use of libmetal together with C++ clients that
require <atomic> as the replacement headers create a conflict with
<atomic>.
Signed-off-by: Simon Leiner <simon(a)leiner.me>
Commit: db77c464376e603bc46122b38a7956c87597895b
https://github.com/OpenAMP/libmetal/commit/db77c464376e603bc46122b38a7956c8…
Author: Simon Leiner <simon(a)leiner.me>
Date: 2020-09-07 (Mon, 07 Sep 2020)
Changed paths:
M lib/io.h
Log Message:
-----------
Perform strict typecasts for atomic_store_explicit
This is required by the implementation of atomic_store_explicit in the
C++ standard library.
Signed-off-by: Simon Leiner <simon(a)leiner.me>
Compare: https://github.com/OpenAMP/libmetal/compare/9a3162ecc0a3...db77c464376e
Branch: refs/heads/master
Home: https://github.com/OpenAMP/libmetal
Commit: 9a3162ecc0a353e4b14fe9e81a0d3d69f9c67eca
https://github.com/OpenAMP/libmetal/commit/9a3162ecc0a353e4b14fe9e81a0d3d69…
Author: Simon Leiner <simon(a)leiner.me>
Date: 2020-09-07 (Mon, 07 Sep 2020)
Changed paths:
M lib/system/freertos/mutex.h
M lib/system/generic/mutex.h
Log Message:
-----------
Stop using atomic_flag_*() for atomic_int in mutex
The atomic_flag_* functions are only defined for operands of the type
atomic_flag so the previous implementation relied on undefined behavior.
Because of the need for a read without side effects (in
__metal_mutex_is_acquired), it is not possible to use the atomic_flags
type for the mutex implementation. Because of this, all atomic_flag_*
functions are replaced with the appropriate functions for atomic value
types.
Signed-off-by: Simon Leiner <simon(a)leiner.me>