| 15a991ab | 14-Nov-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
gen_hashed_bin.py: fix issues reported by pycodestyle and re-indent
Fixes issues reported by: pycodestyle gen_hashed_bin.py and re-indent (4 spaces). Patch obtained by running: autopep8 -i -a -a gen
gen_hashed_bin.py: fix issues reported by pycodestyle and re-indent
Fixes issues reported by: pycodestyle gen_hashed_bin.py and re-indent (4 spaces). Patch obtained by running: autopep8 -i -a -a gen_hashed_bin.py. In addition, remove a few print lines that were commented out.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c6e2ead3 | 09-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: mbedtls: configure bignum word size
Configures mbedtls bignum word size (mbedtls_mpi_uint and mbedtls_mpi_sint) as 32-bit or 64-bit depending on arm architecture.
Reviewed-by: Jerome Forissie
core: mbedtls: configure bignum word size
Configures mbedtls bignum word size (mbedtls_mpi_uint and mbedtls_mpi_sint) as 32-bit or 64-bit depending on arm architecture.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b848bb23 | 09-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
LTC: drop LTC_NO_ASM and configure
Drops LTC_NO_ASM and configures endian and word size accordingly, that is, little endian and 32-bit or 64-bit depending on arm architecture.
Defines ulong32 and u
LTC: drop LTC_NO_ASM and configure
Drops LTC_NO_ASM and configures endian and word size accordingly, that is, little endian and 32-bit or 64-bit depending on arm architecture.
Defines ulong32 and ulong64 based on uint32_t and uint64_t to make sure that the types are always defined correctly.
Reviewed-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 ...
|
| 98bd5fe3 | 08-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
libmbedtls: add mbedtls_mpi_init_mempool()
782fddd10ccb ("libmbedtls: add mbedtls_mpi_init_mempool()") from branch import/mbedtls-2.6.1
Adds mbedtls_mpi_init_mempool() which initializes a mbedtls_m
libmbedtls: add mbedtls_mpi_init_mempool()
782fddd10ccb ("libmbedtls: add mbedtls_mpi_init_mempool()") from branch import/mbedtls-2.6.1
Adds mbedtls_mpi_init_mempool() which initializes a mbedtls_mpi struct to use the mempool mbedtls_mpi_mempool if configured for memory allocation. All local memory allocation is changed to use mbedtls_mpi_init_mempool() instead of mbedtls_mpi_init(). This will give a stack like alloc/free pattern for which the mempool is optimized.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 62f21181 | 07-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
libmbedtls: make mbedtls_mpi_mont*() available
338738340a8c ("libmbedtls: make mbedtls_mpi_mont*() available") from branch import/mbedtls-2.6.1
Makes mbedtls_mpi_montg_init(), mbedtls_mpi_montmul()
libmbedtls: make mbedtls_mpi_mont*() available
338738340a8c ("libmbedtls: make mbedtls_mpi_mont*() available") from branch import/mbedtls-2.6.1
Makes mbedtls_mpi_montg_init(), mbedtls_mpi_montmul() and mbedtls_mpi_montred() available for external use.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4de84424 | 24-May-2018 |
Edison Ai <edison.ai@arm.com> |
libmbedtls: configure mbedTLS for different modes
Split mbedTLS into 3 partitions: CRYPTO, X509 and TLS. CRYPTO is for kernel and user mode. X509 and TLS are mainly for user mode.
Reviewed-by: Jero
libmbedtls: configure mbedTLS for different modes
Split mbedTLS into 3 partitions: CRYPTO, X509 and TLS. CRYPTO is for kernel and user mode. X509 and TLS are mainly for user mode.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Edison Ai <edison.ai@arm.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b69b86b6 | 08-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
mempool: report max memory usage
Adds CFG_MEMPOOL_REPORT_LAST_OFFSET which if set to y causes mempool to report each time the maximum amount of memory has increased. This helps to determine required
mempool: report max memory usage
Adds CFG_MEMPOOL_REPORT_LAST_OFFSET which if set to y causes mempool to report each time the maximum amount of memory has increased. This helps to determine required size of a mempool.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d4f909c0 | 08-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
mempool: optimize reference counting
Optimizes reference counting in mempool by using refcount_inc() and refcount_dec() in order to be able to avoid using the mutex in the quick case.
Reviewed-by:
mempool: optimize reference counting
Optimizes reference counting in mempool by using refcount_inc() and refcount_dec() in order to be able to avoid using the mutex in the quick case.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b54b9a98 | 09-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
mempool: add out of memory message
Adds a helpful message when a memory allocation with mempool_alloc() fails. If this occurs it's because the memory pool size isn't tuned properly with regards to t
mempool: add out of memory message
Adds a helpful message when a memory allocation with mempool_alloc() fails. If this occurs it's because the memory pool size isn't tuned properly with regards to the user of the pool.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3f58e4ec | 05-Nov-2018 |
Ovidiu Mihalachi <ovidiu_mihalachi@mentor.com> |
trace levels: Redefine TRACE_MIN level to 0
The global `trace_level` session-wise indicator which is set by `trace_set_level()` [1], could get a wrong value in case of an input `level` set to 0, mea
trace levels: Redefine TRACE_MIN level to 0
The global `trace_level` session-wise indicator which is set by `trace_set_level()` [1], could get a wrong value in case of an input `level` set to 0, meaning that all logs need to be disabled by user define `CFG_TEE_TA_LOG_LEVEL=0` when building TA applications.
This inconsistency is caused by a rather wrong value of `TRACE_MIN` low boundary value set to 1. According to [1] `trace level` will be set to `TRACE_MAX` (4) in case input level is smaller than `TRACE_MIN` and larger than `TRACE_MAX`. In the scenario when the needed log level is 0, `trace level` would be set to `TRACE_MAX` and will cause a lot of flow log level information dumped by trace functions/macros that are using `trace_printf()` primitive.
This patch sets the `TRACE_MIN` to 0 in order to assure a proper trace level setting and completely disable all logs in case `CFG_TEE_TA_LOG_LEVEL=0`.
[1] void trace_set_level(int level) { if (((int)level >= TRACE_MIN) && (level <= TRACE_MAX)) trace_level = level; else trace_level = TRACE_MAX; }
Acked-by: Christoph Gellner <cgellner@de.adit-jv.com> Signed-off-by: Ovidiu Mihalachi <ovidiu_mihalachi@mentor.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 7445d9ac | 13-Nov-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
Move __early_ta from <compiler.h> to <kernel/early_ta.h>
The __early_ta macro is used only in C files generated by scripts/ta_bin_to_c.py. There is no reason to have it defined in a widely used head
Move __early_ta from <compiler.h> to <kernel/early_ta.h>
The __early_ta macro is used only in C files generated by scripts/ta_bin_to_c.py. There is no reason to have it defined in a widely used header like <compiler.h>.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| fd118772 | 12-Nov-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: force read-only flag on .rodata.* sections
This commit fixes a warning with GCC 8.2 that did not occur with GCC 6.2:
$ make out/arm-plat-vexpress/core/arch/arm/kernel/user_ta.o CHK ou
core: force read-only flag on .rodata.* sections
This commit fixes a warning with GCC 8.2 that did not occur with GCC 6.2:
$ make out/arm-plat-vexpress/core/arch/arm/kernel/user_ta.o CHK out/arm-plat-vexpress/conf.mk CHK out/arm-plat-vexpress/include/generated/conf.h CHK out/arm-plat-vexpress/core/include/generated/asm-defines.h CC out/arm-plat-vexpress/core/arch/arm/kernel/user_ta.o {standard input}: Assembler messages: {standard input}:4087: Warning: setting incorrect section attributes for .rodata.__unpaged
The message is printed as the assembler processes this code fragment, generated by the C compiler:
.section .rodata.__unpaged,"aw"
The older compiler (GCC 6.2) would generate instead:
.section .rodata.__unpaged,"a",%progbits
The problem with .rodata.__unpaged,"aw" is that the "w" (writeable) flag is not consistent with the section name (.rodata.*), which by convention is supposed to be read-only.
- The section name (".rodata.__unpaged") is given by our macro: __rodata_unpaged. - The "w" flag is added by GCC, not sure why exactly. One reason [1] is when a relocatable binary is being generated and the structure contains relocatable data. But, we are not explicitly asking for a relocatable binary, so this might as well be a bug or counter-intuitive feature of the compiler.
Anyway, to avoid the warning, we need to fix the section flags. The section type (%progbits) is optional, it is deduced from the section name by default. %progbits indicates that the section contains data (i.e., is not empty).
Link: [1] https://gcc.gnu.org/ml/gcc/2004-05/msg01016.html Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960) Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 01d6a9da | 08-Nov-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
libfdt: Move to version v1.4.6-9
This import adds FDT overlay plus brings in the latest bugfixes upstream.
As noted in the below url, there is a performance problem with 1.4.7 so we target version
libfdt: Move to version v1.4.6-9
This import adds FDT overlay plus brings in the latest bugfixes upstream.
As noted in the below url, there is a performance problem with 1.4.7 so we target version 1.4.6-9 instead.
https://github.com/ARM-software/arm-trusted-firmware/pull/1657
Upstream commit aadd0b65c987 ("checks: centralize printing of property names in failure messages")
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Suggested-by: Jens Wiklander <jens.wiklander@linaro.org> Suggested-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| b38854bd | 09-Nov-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
libutils: Import strtoul from newlib
This patch imports strtoul from newlib which the latest version of libfdt depends on.
Some modification of the original source is required to do this, specifica
libutils: Import strtoul from newlib
This patch imports strtoul from newlib which the latest version of libfdt depends on.
Some modification of the original source is required to do this, specifically:
This is an import of the newlib 1.19.0 version of strtoul dropping
- Headers and prototypes for re-entrancy
- Any reliance on errno
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 9fdd6c3c | 10-Nov-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
libutils: isoc: implement isalpha(), isspace() and isupper()
This patch implements isalpha(), isspace() and isupper() which are dependencies for a subsequent patch which brings in strtoul from newli
libutils: isoc: implement isalpha(), isspace() and isupper()
This patch implements isalpha(), isspace() and isupper() which are dependencies for a subsequent patch which brings in strtoul from newlib.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| da1d55f3 | 09-Nov-2018 |
Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
libutils: Import strrchr from newlib
libfdt 1.4.7 depends on strrchr, this patch imports the same from newlib.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Etienne Carr
libutils: Import strrchr from newlib
libfdt 1.4.7 depends on strrchr, this patch imports the same from newlib.
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 1de462e1 | 04-Oct-2018 |
Sumit Garg <sumit.garg@linaro.org> |
drivers: GICv3: Handle group 1 secure interrupts
As per GICv3 architecture specification (Section 4.6 Interrupt grouping), secure EL1 (Trusted OS) handles secure group 1 physical interrupts and EL3
drivers: GICv3: Handle group 1 secure interrupts
As per GICv3 architecture specification (Section 4.6 Interrupt grouping), secure EL1 (Trusted OS) handles secure group 1 physical interrupts and EL3 handles group 0 physical interrupts which are considered as FIQs (foreign interrupt) for Trusted OS.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (FVP) Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
show more ...
|
| 74a41cfa | 27-Sep-2018 |
Sumit Garg <sumit.garg@linaro.org> |
synquacer: Set default number of threads to 8
Synquacer is 24 core system but 24 threads seems to be overkill in terms of memory usage. So kept it to 8 threads for now.
Acked-by: Jerome Forissier <
synquacer: Set default number of threads to 8
Synquacer is 24 core system but 24 threads seems to be overkill in terms of memory usage. So kept it to 8 threads for now.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
show more ...
|
| eb32eb0b | 05-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
tee_time_arm_cntpct.c: remove mpa.h dependency
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 97d78f5b | 26-Oct-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: move initialization of common mobjs
Moves initialization of mobj_sec_ddr and mobj_tee_ram to mobj.c.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <je
core: move initialization of common mobjs
Moves initialization of mobj_sec_ddr and mobj_tee_ram to mobj.c.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a2faa2f2 | 05-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
ltc: move all bignum functions to mpa_desc.c
Moves all crypto_bignum*() functions from tee_ltc_provider.c to mpa_desc.c in order to contain libmpa dependencies.
Reviewed-by: Jerome Forissier <jerom
ltc: move all bignum functions to mpa_desc.c
Moves all crypto_bignum*() functions from tee_ltc_provider.c to mpa_desc.c in order to contain libmpa dependencies.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6aa99248 | 05-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
ltc: rename tomcrypt_mpa.h to tomcrypt_mp.h
Renames tomcrypt_mpa.h to tomcrypt_mp.h in order to make it implementation neutral.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-of
ltc: rename tomcrypt_mpa.h to tomcrypt_mp.h
Renames tomcrypt_mpa.h to tomcrypt_mp.h in order to make it implementation neutral.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0263e4fc | 05-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
ltc: move external_mem_pool to mpa_desc.c
Moves all initialization of external_mem_pool to mpa_desc.c and also makes external_mem_pool static as there's no external references.
Reviewed-by: Jerome
ltc: move external_mem_pool to mpa_desc.c
Moves all initialization of external_mem_pool to mpa_desc.c and also makes external_mem_pool static as there's no external references.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8aff6c03 | 08-Nov-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove thread_{add,rem}_mutex()
With the recently merged lockdep patches thread_add_mutex() and thread_rem_mutex() are obsolete. Remove them to save memory and overhead.
Acked-by: Jerome Fori
core: remove thread_{add,rem}_mutex()
With the recently merged lockdep patches thread_add_mutex() and thread_rem_mutex() are obsolete. Remove them to save memory and overhead.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|