| #
18dd462b |
| 22-Mar-2019 |
Jens Wiklander <jens.wiklander@linaro.org> |
Add CFG_CRYPTOLIB_NAME_$(CFG_CRYPTOLIB_NAME)
Adds CFG_CRYPTOLIB_NAME_$(CFG_CRYPTOLIB_NAME) := y for easy testing of which cryptolib currently is in use.
Mbedtls is a bit tricky since it can be comp
Add CFG_CRYPTOLIB_NAME_$(CFG_CRYPTOLIB_NAME)
Adds CFG_CRYPTOLIB_NAME_$(CFG_CRYPTOLIB_NAME) := y for easy testing of which cryptolib currently is in use.
Mbedtls is a bit tricky since it can be compiled either as a support lib with the bignum routines or as a complete crypto lib. CFG_CRYPTOLIB_NAME_$(CFG_CRYPTOLIB_NAME) can be used to select optimal configuration.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
e789ada3 |
| 05-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: switch to mbedtls for bignum
Adds a mpi_desc.c wrapper to LTC in order to enable usage of bignum (mpi) routines from mbedtls.
CFG_MBEDTLS_MPI=y (default y) builds the bignum routines for mbed
core: switch to mbedtls for bignum
Adds a mpi_desc.c wrapper to LTC in order to enable usage of bignum (mpi) routines from mbedtls.
CFG_MBEDTLS_MPI=y (default y) builds the bignum routines for mbedtls and also enables their usage in LTC and by that replaces libmpa for privileged mode usage.
User mode TAs still use libmpa.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
d2d2d58b |
| 19-Apr-2018 |
deebee-v2 <darren.broche@gmail.com> |
crypto: Make name and path of crypto library configurable
Allows for platform dependent implementations of exported crypto API
Signed-off-by: Darren Roche <darren.broche@gmail.com> Reviewed-by: Jen
crypto: Make name and path of crypto library configurable
Allows for platform dependent implementations of exported crypto API
Signed-off-by: Darren Roche <darren.broche@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| #
070168e2 |
| 12-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
build: introduce asm-defines-y
The Makefile rules that are used to generate a C header file containing constants for struct offsets etc. are currently in mk/compile.mk. They are used by core.mk whic
build: introduce asm-defines-y
The Makefile rules that are used to generate a C header file containing constants for struct offsets etc. are currently in mk/compile.mk. They are used by core.mk which sets a variable (asm-defines-file) before it includes compile.mk. This works well for this purpose, but does not scale to several files.
There is a use case for platform code to be able to use the asm-defines mechanism, too. Therefore, introduce a variable that can be used in any sub.mk: asm-defines-y.
In addition, to avoid duplication, the DEFINE and DEFINES macros are moved to their own header (core/include/gen-asm-defines.h), with the added benefit that it can be explicitly excluded from the checkpatch list and thus not generate any warning on the 'DEFINE' macro needing parentheses.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
89fe7c3c |
| 12-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
build: include <generated/asm-defines.h> instead of <asm-defines.h>
Make it clear that asm-defines.h is not to be found in the sources since it is generated.
Signed-off-by: Jerome Forissier <jerome
build: include <generated/asm-defines.h> instead of <asm-defines.h>
Make it clear that asm-defines.h is not to be found in the sources since it is generated.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
b924c494 |
| 08-Feb-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
Generate conf.cmake for TA dev kit
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
|
| #
c0b2e931 |
| 03-Feb-2018 |
Victor Chong <victor.chong@linaro.org> |
Force ARCH to arm
It is the only value used for now. No other value works, not even aarch64.
Signed-off-by: Victor Chong <victor.chong@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@li
Force ARCH to arm
It is the only value used for now. No other value works, not even aarch64.
Signed-off-by: Victor Chong <victor.chong@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| #
3d3ad63d |
| 17-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add core/crypto.mk with CFG_CRYPTO* flags
Moves CFG_CRYPTO* and _CFG_CRYPTO flags in core/lib/libtomcrypt/sub.mk to core/crypto.mk.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Si
core: add core/crypto.mk with CFG_CRYPTO* flags
Moves CFG_CRYPTO* and _CFG_CRYPTO flags in core/lib/libtomcrypt/sub.mk to core/crypto.mk.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
71315c30 |
| 10-Oct-2017 |
Andrew F. Davis <afd@ti.com> |
core: core.mk: make platform specific link.mk optional
Most platform do not need any special linker targets and so most just link back to the default. Lets just have core.mk use the default when a p
core: core.mk: make platform specific link.mk optional
Most platform do not need any special linker targets and so most just link back to the default. Lets just have core.mk use the default when a platform does not have this file. Also remove this from the porting guidelines as it is now optional and only needed for advanced use.
Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| #
b3be2f66 |
| 02-Aug-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
Import zlib v1.2.11
Import the decompression code from zlib v1.2.11. From the project's README:
"zlib 1.2.11 is a general purpose data compression library. [...] The data format used by the zlib li
Import zlib v1.2.11
Import the decompression code from zlib v1.2.11. From the project's README:
"zlib 1.2.11 is a general purpose data compression library. [...] The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files rfc1950 (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format)."
This code will be used in a later commit to decompress early TAs. Only the inflate() function is needed, and the library is configured without gzip support. The source files that are not required for inflate() are left aside.
The library is licensed under a permissive license, see `zlib.h`.
Link: http://tools.ietf.org/html/rfc1950 Link: http://tools.ietf.org/html/rfc1951 Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
878b4097 |
| 23-May-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
Remove CFG_SMALL_PAGE_USER_TA=n
Removes CFG_SMALL_PAGE_USER_TA and keep the code that was activated by CFG_SMALL_PAGE_USER_TA=y. This means that CFG_SMALL_PAGE_USER_TA=n which resulted in TA being m
Remove CFG_SMALL_PAGE_USER_TA=n
Removes CFG_SMALL_PAGE_USER_TA and keep the code that was activated by CFG_SMALL_PAGE_USER_TA=y. This means that CFG_SMALL_PAGE_USER_TA=n which resulted in TA being mapped using 1 MiB or 2 MiB granularity is removed.
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| #
a884c935 |
| 12-Sep-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add support for paging of user TAs
Enables support for paging of user TAs if CFG_PAGED_USER_TA is y
Acked-by: David Brown <david.brown@linaro.org> Tested-by: Jerome Forissier <jerome.forissie
core: add support for paging of user TAs
Enables support for paging of user TAs if CFG_PAGED_USER_TA is y
Acked-by: David Brown <david.brown@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU 7) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
1d171f95 |
| 30-Aug-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add support for kernel address sanitizer
Adds support for kernel address sanitizer. Currently only for plat-vexpress-qemu_virt.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tes
core: add support for kernel address sanitizer
Adds support for kernel address sanitizer. Currently only for plat-vexpress-qemu_virt.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU v7) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
9fc53171 |
| 23-Aug-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Fix invalid default value of $(PLATFORM_FLAVOR)
Fixes the following error:
$ make -s PLATFORM=stm core/arch/arm/plat-stm/system_config.mk:20: *** PLATFORM_FLAVOR=qemu_virt is not supporte
Fix invalid default value of $(PLATFORM_FLAVOR)
Fixes the following error:
$ make -s PLATFORM=stm core/arch/arm/plat-stm/system_config.mk:20: *** PLATFORM_FLAVOR=qemu_virt is not supported. Stop.
(one would expect PLATFORM_FLAVOR to default to 'orly2'). This patch does the following:
- Do not set "PLATFORM_FLAVOR ?= qemu_virt" in the main Makefile. The default value for PLATFORM_FLAVOR has to be defined by each platform in plat-*/conf.mk. - Consistent with the above, "PLATFORM_FLAVOR_$(PLATFORM_FLAVOR) := y" is moved to core/core.mk, after $(platform-dir)/conf.mk has been included, i.e., where $(PLATFORM_FLAVOR) can be relied upon. - All definitions of "PLATFORM_FLAVOR_$(PLATFORM_FLAVOR) := y" are removed from platform files, since it is already taken care of in core/core.mk.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
99eee037 |
| 17-Aug-2016 |
Etienne Carriere <etienne.carriere@linaro.org> |
core debug: no CFG_TEE_CORE_DEBUG enables NDEBUG
Suggested-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Etienne Carriere <e
core debug: no CFG_TEE_CORE_DEBUG enables NDEBUG
Suggested-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (qemu_v7/v8) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
5ef74e73 |
| 06-Aug-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Simplify platform testing macros
Update the main Makefile so that PLATFORM_$(PLATFORM) and PLATFORM_FLAVOR_$(PLATFORM_FLAVOR) are set to 'y', and add these variables to the export list for the gener
Simplify platform testing macros
Update the main Makefile so that PLATFORM_$(PLATFORM) and PLATFORM_FLAVOR_$(PLATFORM_FLAVOR) are set to 'y', and add these variables to the export list for the generation of conf.h.
As a result, the definition of numerical flavor identifiers in the multiple platform_config.h files is not needed anymore, and we can also get rid of the PLATFORM_FLAVOR_IS() test macro. Instead, replace all occurrences of '#if PLATFORM_FLAVOR_IS(foo)' with '#if defined(PLATFORM_FLAVOR_foo)'.
This makes it possible to test the platform and not only the flavor in any source file, so drop the manual definition of PLATFORM_hikey.
Finally, remove the definitions of platform_$(PLATFORM) and platform_flavor_$(PLATFORM_FLAVOR) from core/core.mk since they are not used.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: David Brown <david.brown@linaro.org>
show more ...
|
| #
b908c675 |
| 25-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
Import libfdt v1.4.1
Imports libfdt code from https://git.kernel.org/cgit/utils/dtc/dtc.git tag "v1.4.1" commit 302fca9f4c283e1994cf0a5a9ce1cf43ca15e6d2.
API header files are moved to libfdt/includ
Import libfdt v1.4.1
Imports libfdt code from https://git.kernel.org/cgit/utils/dtc/dtc.git tag "v1.4.1" commit 302fca9f4c283e1994cf0a5a9ce1cf43ca15e6d2.
API header files are moved to libfdt/include.
Small changes to make fdt.h and libfdt.h c99 compiant.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Suggested-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
fca1e9e4 |
| 30-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: generate ta_pub_key.c with new build facility
Generates ta_pub_key.c using the new build facility for generated source files.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Je
core: generate ta_pub_key.c with new build facility
Generates ta_pub_key.c using the new build facility for generated source files.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
be715239 |
| 15-May-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add CFG_CORE_SANITIZE_UNDEFINED
Adds CFG_CORE_SANITIZE_UNDEFINED to enabled undefined behavior santizer with -fsanitize=undefined as option to compiler with supporting routines in core/kernel/
core: add CFG_CORE_SANITIZE_UNDEFINED
Adds CFG_CORE_SANITIZE_UNDEFINED to enabled undefined behavior santizer with -fsanitize=undefined as option to compiler with supporting routines in core/kernel/ubsan.c.
This option consumes a lot of memory, expect link problems unless pager and debug is disabled.
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
d5a887c8 |
| 12-Jan-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add auto generated asm-defines.h
The temporary files are all stored alongside asm-defines.h, and are named: .asm-defines.s, .asm-defines.s.d, .asm-defines.s.cmd.
Reviewed-by: Jerome Forissier
core: add auto generated asm-defines.h
The temporary files are all stored alongside asm-defines.h, and are named: .asm-defines.s, .asm-defines.s.d, .asm-defines.s.cmd.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
c042fbef |
| 05-Feb-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Introduce CROSS_COMPILE32 and CROSS_COMPILE64
Currently, to build a 64-bit TEE core (as well as mixed 32- and 64-bit TA libraries, which are automatically enabled in this case), one has to set too m
Introduce CROSS_COMPILE32 and CROSS_COMPILE64
Currently, to build a 64-bit TEE core (as well as mixed 32- and 64-bit TA libraries, which are automatically enabled in this case), one has to set too many compiler variables:
$ make PLATFORM=hikey CFG_ARM64_core=y \ CROSS_COMPILE_core=aarch64-linux-gnu- \ CROSS_COMPILE_ta_arm64=aarch64-linux-gnu-
This commit introduces two variables, CROSS_COMPILE32 and CROSS_COMPILE64. They take appropriate default values, so that the above line may be simplified as:
$ make PLATFORM=hikey CFG_ARM64_core=y
The change remains compatible with previous builds, i.e., CROSS_COMPILE can still be used to define the 32-bit compiler because CROSS_COMPILE32 defaults to $(CROSS_COMPILE). Similarly, CROSS_COMPILE_core and CROSS_COMPILE_ta_arm{32,64} are still used so they may be overridden too.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| #
0de9a5fb |
| 11-Dec-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
arm: add TA hard-float support
Adds support for hard-float in TAs. Hard-float is enabled by default for all platforms which are capable, currently all. Soft-float is still available if needed.
Revi
arm: add TA hard-float support
Adds support for hard-float in TAs. Hard-float is enabled by default for all platforms which are capable, currently all. Soft-float is still available if needed.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
739804b5 |
| 11-Dec-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
get rid of platform_flags.mk
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@l
get rid of platform_flags.mk
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
b5569a68 |
| 08-Jan-2016 |
Pascal Brand <pascal.brand@st.com> |
Compiles user library using conf.h
Compilation of user libraries now includes conf.h This makes the definition of CFG_xxx macro more reliable, without the need of adding specific -D directives in ta
Compiles user library using conf.h
Compilation of user libraries now includes conf.h This makes the definition of CFG_xxx macro more reliable, without the need of adding specific -D directives in ta/ta.mk
Note that conf.h and conf.mk are no more generated in the out/core directory.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| #
156fe685 |
| 03-Dec-2015 |
Pascal Brand <pascal.brand@st.com> |
build: fix definition of MDBG_ENABLE
Note that because of this bug, MDBG_ENABLE was always defined. Now, MDBG_ENABLE is not defined by default.
Reviewed-by: Jerome Forissier <jerome.forissier@linar
build: fix definition of MDBG_ENABLE
Note that because of this bug, MDBG_ENABLE was always defined. Now, MDBG_ENABLE is not defined by default.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|