Commit Graph

35 Commits

Author SHA1 Message Date
Arnaud Pouliquen 243eed541b lib: update libmetal to SHA f55c02a7b582
Origin:
        	https://github.com/OpenAMP/libmetal

    Commit:
        	f55c02a7b582825399d37171625aa47ae5b41eb2
    Status:
        	update to libmetal main branch that integrate:
	f55c02a Zephyr integration: Use K_HEAP_MEM_POOL_SIZE

    Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2023-12-18 22:26:45 +02:00
Arnaud Pouliquen cebd92d15c lib: fix update libmetal to SHA f3f365d3f4f1
The "85fb139 (Refactor equal processor headers into new generic ones)
commit had deleted some deprecated files, which also need to be removed
from the Zephyr libmetal module for alignment.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2023-12-18 13:19:30 +02:00
Arnaud Pouliquen 55aac79513 lib: update libmetal to SHA f3f365d3f4f1
Origin:
    	https://github.com/OpenAMP/libmetal

Commit:
    	f3f365d3f4f1c2bf4170294c8a7629feaad57926

Status:
    	update to libmetal main branch that integrate the version
	2023.10.0 with follwing patches on top of:

e087ea5 libmetal: add metal_list_for_each_safe() support
694620f libmetal: set ept address loop++ in bitmap
9855f84 lib: compiler support of arm compiler v6
8041e1c lib: add guards for errno values for ARMCC compiler
0a67afa Zephyr integration: Add support for hosted test environment
dabb14f Add support for hosted test environments
85fb139 Refactor equal processor headers into new generic ones
f3f365d zephyr: use k_cpu_idle instead of arch_cpu_idle


after removing useless dirs to bring
    	fixes and support for the new cache API in Zephyr.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2023-12-14 19:37:14 +01:00
Arnaud Pouliquen 2d85e38bd6 lib: update libmetal to release v2023.10.0
Origin:
	https://github.com/OpenAMP/libmetal

Commit:
	0cb7d293a7f25394a06847a28d0f0ace9862936e

Status:
	Merge libmetal new version after removing useless dirs.

Release Description:
	https://github.com/OpenAMP/libmetal/releases/tag/v2023.10.0

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2023-12-14 19:37:14 +01:00
Alberto Escolar Piedras 03140d7f4b Zephyr integration: Add support for hosted test environment
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 10:22:13 +02:00
Alberto Escolar Piedras e0a139240a Zephyr integration: Add support for POSIX architecture
When building for CMAKE_SYSTEM_PROCESSOR will be set to
"posix" which is not usefull. Let's rename it instead
to something else we can use.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 10:22:13 +02:00
Alberto Escolar Piedras d6bedace0d Add support for hosted test environments
Add a new hosted test environment "processor".

This is meant as a build target used when the
code is not built for a real target
but as part of a test in a hosted environment
(for ex. as a test environment like Zephyr's
native_sim target).

When building for this target PROJECT_PROCESSOR
should be set as "hosted".

In this, the "__metal_cpu_yield()" call
is expected to be provided by the system folder
headers, to provide whatever is needed for the
metal_cpu_yield() function to perform its duty.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-24 10:22:13 +02:00
Carlo Caione b91611a6f4 lib: update libmetal to release v2023.04.0
Origin:
	https://github.com/OpenAMP/libmetal

Commit:
	28fa2351d6a8121ce6c1c2ac5ee43ce08d38dbae

Status:
	Merge libmetal new version after removing useless dirs.

Release Description:
	https://github.com/OpenAMP/libmetal/releases/tag/v2023.04.0

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-05-22 11:55:17 +02:00
Carlo Caione efa2ace602 lib: update libmetal to SHA cd4fb67a4f50
Origin:
	https://github.com/OpenAMP/libmetal

Commit:
	cd4fb67a4f5080665bc9d31c8272f7c411e037c2

Status:
	Merge libmetal version 2022.10.0 after removing useless dirs to bring
	fixes and support for the new cache API in Zephyr.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-11-28 09:55:52 -05:00
Carlo Caione 2f586b4f12 lib: update libmetal to SHA 23ba77941cf3
Origin:
	https://github.com/OpenAMP/libmetal

commit:
	23ba77941cf38a916d7a9fe5137a8bd2ee1e6122

Status:
	merge libmetal new version after removing useless dirs to bring
	in important fixes and support for ARM64

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-06-30 07:58:52 +02:00
Carlo Caione 850a3c3fd5 lib: update libmetal to release v2022.04.0
Origin:
        https://github.com/OpenAMP/libmetal

commit:
        2371f615bb0f7968e7bd2483301a9ab9d957bec9

Status:
	merge libmetal new version after removing useless dirs.

Release Description:
	https://github.com/OpenAMP/libmetal/releases/tag/v2022.04.0

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-05-02 09:01:09 +02:00
Carlo Caione c6efe091df lib: update libmetal to SHA 695d29ba60a5
lib: update libmetal to release v2021.10.0

Origin:
        https://github.com/OpenAMP/libmetal

commit:
	695d29ba60a5c4946bb16d2378955fa8bad8bead

Status:
        merge libmetal new version after removing useless dirs to bring
	in important fixes and the new Xtensa and RISC-V support.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2022-02-28 10:17:00 +01:00
Carlo Caione f237c9d420 lib: update libmetal to release v2021.10.0
Origin:
	https://github.com/OpenAMP/libmetal

commit:
	4ead69b8f4194ea60d4d78bc1d8b57b45b467699

Status:
	merge libmetal new version after removing useless dirs.

Release Description:
	https://github.com/OpenAMP/libmetal/releases/tag/v2021.10.0

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-11-02 11:38:25 -05:00
Arnaud Pouliquen 39d049d4ae lib: update libmetal to release v2021.04.0 + VERSION path fix
Origin:
        https://github.com/OpenAMP/libmetal

commit:
        04cf5d9e0ef562d676cd3f58530fed4e1901f428

Status:
        merge libmetal new version after removing useless dirs.
	In addition of the official release v2021.04.0 , the following
	commit has been merged:
        04cf5d9e0ef5 ("cmake: fix VERSION file path", 2021-05-03)

Release Description:
        https://github.com/OpenAMP/libmetal/releases/tag/v2021.04.0
        + 04cf5d9e0ef5 ("cmake: fix VERSION file path", 2021-05-03)

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
2021-05-04 13:07:45 -05:00
Kumar Gala 9d4ee2c3cf lib: update libmetal to release v2020.10.0
Origin:
        https://github.com/OpenAMP/libmetal

commit:
        0fd86b230c4a0ea918b2a4b0edb6a4ffafee8b48

Status:
        merge libmetal new version after removing useless dirs.

Release Description:
        https://github.com/OpenAMP/libmetal/releases/tag/v2020.10.0

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-10-23 12:10:35 -05:00
Kumar Gala 0b23894a04 lib: update libmetal to SHA db77c464..
Origin:
        https://github.com/OpenAMP/libmetal

commit:
        db77c464376e603bc46122b38a7956c87597895b

Status:
        merge libmetal new version after removing useless dirs.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-09-09 11:05:51 -05:00
Kumar Gala 87e9e7f2c5 Convert from Zephyr to C99 types
Convert to use C99 types as we intend to deprecate the zephyr
specific integer types.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-06-03 10:24:06 -05:00
Arnaud Pouliquen 3c3c9ec83b lib: update libmetal to release v2020.04.0
Origin:
	https://github.com/OpenAMP/libmetal

commit:
	f1e8154b6392838a7c68871ab03400112b1e59b7

Status:
	merge libmetal new version after removing useless dirs.

Release Description:
	https://github.com/OpenAMP/libmetal/releases/tag/v2020.04.0

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
2020-05-04 08:59:26 -05:00
Arnaud Pouliquen 60f40977ec Sync with openamp project sha1 b00b2d815
Synchronize code with sha1 b00b2d815fdf0cc34f8bb05731aeef877fc777d7
to integrate fix for cmake3.17 support

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
2020-04-03 05:43:34 -05:00
Arnaud Pouliquen 11a4d140f5 lib: update libmetal to release v2020.01.0
Origin:
	https://github.com/OpenAMP/libmetal

commit:
	e3dfc2fe85e5ceb8b193c4cf559b17bbd53e8866

Status:
	merge libmetal new version after removing useless dirs.

Release Description:
	https://github.com/OpenAMP/libmetal/releases/tag/v2020.01.0

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
2020-03-26 08:34:28 -05:00
Anas Nashif 45e630d615 zephyr: move kconfig to the zephyr tree
Kconfig file is now in modules/ in the zephyr tree.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-05-30 17:54:49 -04:00
Anas Nashif 6f2798ba1f module: make this repo a zephyr module
Create module file to be used with west.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2019-04-18 23:34:04 -04:00
Patrik Flykt f363945c75 drivers: Rename reserved function names
Rename reserved function names in drivers/ subdirectory. Update
function macros concatenatenating function names with '##'. As
there is a conflict between the existing gpio_sch_manage_callback()
and _gpio_sch_manage_callback() names, leave the latter unmodified.

Signed-off-by: Patrik Flykt <patrik.flykt@intel.com>
2019-04-03 17:31:00 -04:00
Kumar Gala 8108d16f9f ext: libmetal: Update libmetal to snapshot for bug fixes
Pull in libmetal SHA 59a10acbb0bb684c1a75488f11878cb984170c81 to get
some build fixes related to newlib.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-03-11 14:37:57 -05:00
Kumar Gala d60dfdf481 ext: libmetal: Update libmetal to v2018.10 release
Since there's an official release lets update to it.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2019-01-30 15:55:47 -06:00
Sebastian Bøe 73f7e81d21 cmake: Use variables for target names
There is an effort underway to make most of the Zephyr build script's
reentrant. Meaning, the build scripts can be executed multiple times
during the same CMake invocation.

Reentrancy enables several use-cases, the motivating one is the
ability to build several Zephyr executables, or images, for instance a
bootloader and an application.

For build scripts to be reentrant they cannot be directly referencing
global variables, like target names, but must instead reference
variables, which can vary from entry to entry.

Therefore, in this patch, we replace global targets with variables.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2019-01-19 07:21:55 -05:00
Sebastian Bøe 45857563ff kconfig: libmetal: Have LIBMETAL_SRC_PATH depend on LIBMETAL
Kconfig options are often either of the type 'feature' or
'configuration'. Meaning, either an option controls whether a feature
is enabled, or it adjusts/configures an already enabled feature.

Configuration of features should depend on the feature they are
configuring or else noise is created both in the Kconfig output and in
the Kconfig menu.

In this commit we add a dependency from a configuration option to it's
feature option.

Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
2018-12-30 16:24:50 -05:00
Andy Ross 0715015c75 sys_clock: Fix unsafe tick count usage
The system tick count is a 64 bit quantity that gets updated from
interrupt context, meaning that it's dangerously non-atomic and has to
be locked.  The core kernel clock code did this right.

But the value was also exposed to the rest of the universe as a global
variable, and virtually nothing else was doing this correctly.  Even
in the timer ISRs themselves, the interrupts may be themselves
preempted (most of our architectures support nested interrupts) by
code that wants to set timeouts and inspect system uptime.

Define a z_tick_{get,set}() API, eliminate the old variable, and make
sure everyone uses the right mechanism.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-10-16 15:03:10 -04:00
Mark Ruvald Pedersen ae6daa6207 ext: libmetal: Update import of libmetal from b4b5bea to a4f7630
Pull in a more recent version of libmetal, motivated by the void
pointer fixes in efc33fe.

libmetal's b4b5bea to a4f7630 spans:

a4f7630 linux: device: fix max chars to copy for the dev name
10a0d5b lib: system: freertos: mutex: change to use atomic_int ...
4e670c5 ci: Zephyr env var for toolchain
3bef6f0 cmake: Fix Zephyr library integration
13158c3 compiler: add IAR compiler file
0820a2e microblaze: suppress io 64-bit R/W access if 64 bit atomic ...
e2e5608 io: suppress io 64 bit R/W access if 64 bit atomic not ...
efc33fe io: fix compilation error for void pointers.
32ad1d2 cache: fix compilation issue
c1ade0d travis CI: update Zephyr SDK version to 0.9.3
c49d7cd travis CI: updated arm compiler ubuntu package
d279a6a travis ci: Update FreeRTOS download path
5c70105 irq: update sys_irq_restore_enable and sys_irq_save_disable
05f0cd4 cmake: Only look for doxygen package if docs enabled
b4b5bea zephyr: Introduce WITH_ZEPHYR_LIB option

At current time of writing, libmetal's HEAD is 5bc2106641.
However this failed to build in their Travis CI.
The latest passing commit is a4f7630.

Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
2018-09-28 07:57:28 +05:30
Ulf Magnusson d3554a9e6a Kconfig: Use a short, consistent style for prompts
Consistently use

    config FOO
            bool/int/hex/string "Prompt text"

instead of

    config FOO
            bool/int/hex/string
            prompt "Prompt text"

(...and a bunch of other variations that e.g. swapped the order of the
type and the 'prompt', or put other properties between them).

The shorthand is fully equivalent to using 'prompt'. It saves lines and
avoids tricking people into thinking there is some semantic difference.

Most of the grunt work was done by a modified version of
https://unix.stackexchange.com/questions/26284/
how-can-i-use-sed-to-replace-a-multi-line-string/26290#26290, but some
of the rarer variations had to be converted manually.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-08-15 04:10:10 -07:00
Ulf Magnusson 96cedc98c1 ext: Kconfig: Remove redundant 'default n' properties
Bool symbols implicitly default to 'n'.

A 'default n' could make sense e.g. in a Kconfig.defconfig file, if you
wanted to override a 'default y' on the base definition of the symbol,
but it doesn't seem to be used like that on any of these symbols.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2018-06-18 15:26:38 -04:00
Kumar Gala 7aa3da608e ext: hal: libmetal: Allow for libmetal source to be external
Introduce a Kconfig option (CONFIG_LIBMETAL_SRC_PATH) that allows us to
point to an external copy of libmetal.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-05-24 11:22:05 -05:00
Kumar Gala c8296594df ext: libmetal: Change build integration so its not recursive
With recent changes to libmetal we can now include and build it directly
as a zephyr library rather than doing a recursive make.  We remove
ext/hal/libmetal.cmake as part of this change and introduce a Kconfig
option for libmetal.

This is a partial fix for issue #7673.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-05-24 09:18:47 -05:00
Kumar Gala 7b09ac8446 ext: libmetal: Update import of libmetal
Pull in a slightly more recent version of libmetal with changes
to the build system to improve integration with Zephyr.  This change
will break anything that builds with Zephyr and libmetal (which at this
point is only the open-amp example).  Will fix that shortly.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-05-24 09:18:47 -05:00
Kumar Gala d8fa951a6e ext: move libmetal to hal
libmetal itself isn't an ipc library, its a generic HAL abstraction
library so move it into ext/hal where it belongs.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2018-05-24 09:18:47 -05:00