| d1f66029 | 01-Mar-2018 |
Edison Ai <edison.ai@arm.com> |
core/crypto/aes-gcm-ce.c:Remove unused included header file
Remove tomcrypt.h from aes-gcm-ce.c which is unused for it.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wikla
core/crypto/aes-gcm-ce.c:Remove unused included header file
Remove tomcrypt.h from aes-gcm-ce.c which is unused for it.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Edison Ai <edison.ai@arm.com>
show more ...
|
| 82286c22 | 28-Feb-2018 |
Jordan Rhee <jordanrh@microsoft.com> |
plat-imx: implement psci_features()
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signe
plat-imx: implement psci_features()
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jordan Rhee <jordanrh@microsoft.com> Tested-by: Jordan Rhee <jordanrh@microsoft.com>
show more ...
|
| fb9489aa | 17-Oct-2017 |
Jordan Rhee <jordanrh@microsoft.com> |
core: fix psci_cpu_on() to use context_id parameter
The PSCI specification requires the context_id parameter to be passed in r0 when the core jumps to normal world. Some OS's require this parameter.
core: fix psci_cpu_on() to use context_id parameter
The PSCI specification requires the context_id parameter to be passed in r0 when the core jumps to normal world. Some OS's require this parameter.
Tested on IMX6Quad and IMX7Dual.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jordan Rhee <jordanrh@microsoft.com> Tested-by: Jordan Rhee <jordanrh@microsoft.com>
show more ...
|
| 2f82082f | 02-Feb-2018 |
Edison Ai <edison.ai@arm.com> |
core: add ddr overall register
register_ddr() is used to add overall DDR address range. SDP memories, static SHM, secure DDR and so on need to fix the problem that intersect with the overall DDR.
R
core: add ddr overall register
register_ddr() is used to add overall DDR address range. SDP memories, static SHM, secure DDR and so on need to fix the problem that intersect with the overall DDR.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Edison Ai <edison.ai@arm.com>
show more ...
|
| 216816c8 | 02-Feb-2018 |
Edison Ai <edison.ai@arm.com> |
core: rename register_nsec_ddr() to register_dynamic_shm()
register_nsec_ddr() is actually only used to register dynamic physically non-contiguous SHM, rename it to register_dynamic_shm() will be mo
core: rename register_nsec_ddr() to register_dynamic_shm()
register_nsec_ddr() is actually only used to register dynamic physically non-contiguous SHM, rename it to register_dynamic_shm() will be more clear.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Edison Ai <edison.ai@arm.com>
show more ...
|
| 3889635b | 28-Feb-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: select workaround vector in C
Replace the two assembly implementations for selecting the exception vector with a common C version.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Test
core: select workaround vector in C
Replace the two assembly implementations for selecting the exception vector with a common C version.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey, QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| cb615cce | 28-Feb-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm.h: add more MIDR definitions
Adds MIDR_PRIMARY_PART_NUM_MASK and MIDR_IMPLEMENTER_MASK.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Signed-off-by: Jens Wiklander <jens.wikland
core: arm.h: add more MIDR definitions
Adds MIDR_PRIMARY_PART_NUM_MASK and MIDR_IMPLEMENTER_MASK.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 67682894 | 28-Feb-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm64.h: add read_midr_el1()
Adds read_midr_el1() and the alias read_midr()
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 4366b8fe | 28-Feb-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm32.h: add read_midr()
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| f8031323 | 28-Feb-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename exception vectors
Rename exception vectors to thread_excp_vect* for both ARM32 and ARM64 to be more clear. The vectors are also exported with global definitions.
Reviewed-by: Volodymyr
core: rename exception vectors
Rename exception vectors to thread_excp_vect* for both ARM32 and ARM64 to be more clear. The vectors are also exported with global definitions.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b14416d2 | 27-Feb-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: armv7: core_init_mmu_regs() init contextidr
The value of CONTEXTIDR is initially undefined, initialize it with a sane value.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested
core: armv7: core_init_mmu_regs() init contextidr
The value of CONTEXTIDR is initially undefined, initialize it with a sane value.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Tested-by: Jordan Rhee <jordanrh@microsoft.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 18f4fe3d | 27-Feb-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: kern.ld.S: stop using PROVIDE()
Stop using the PROVIDE() keyword in the linker script. The current usage causes problems like: out/arm-plat-vexpress/core/kern.ld:168: undefined symbol `__
core: arm: kern.ld.S: stop using PROVIDE()
Stop using the PROVIDE() keyword in the linker script. The current usage causes problems like: out/arm-plat-vexpress/core/kern.ld:168: undefined symbol `__asan_map_end' referenced in expression make: *** [out/arm-plat-vexpress/core/tee.elf] Error 1
when compiled with certain flags and compilers.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e2998dec | 26-Feb-2018 |
Etienne Carriere <etienne.carriere@linaro.org> |
core 32bit mmu: remove constraint on reuse of xlat tables
Since commit 5e36abf51875 ("mmu: implement generic mmu initialization") the MMU 32bit descriptor mode allows to map memories with different
core 32bit mmu: remove constraint on reuse of xlat tables
Since commit 5e36abf51875 ("mmu: implement generic mmu initialization") the MMU 32bit descriptor mode allows to map memories with different attributes (but the NS state) using different entries of a common level2 MMU table. In the old days the non-LPAE layer failed to share such level2 tables and required a pgdir alignment constraint when assigning the core virtual addresses to be mapped. This change removes the now useless constraint.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| e091b079 | 17-Oct-2017 |
Zeng Tao <prime.zeng@hisilicon.com> |
core: FS: storage: don't allow the object_id to reside in shared memory
According to the GP spec V1.1, the object_id in create/open/rename functions is not allowed to reside in the share memory, thi
core: FS: storage: don't allow the object_id to reside in shared memory
According to the GP spec V1.1, the object_id in create/open/rename functions is not allowed to reside in the share memory, this patch simply removes the TEE_MEMORY_ACCESS_ANY_OWNER flag to limit the object_id to TA private memory space.
Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 9d858c76 | 19-Jan-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
mmu: add dump_xlat_tables() function
As we dropped tables initialization code from core_mmu_v7.c and core_mmu_lpae.c there are no means to visualize pagetables now.
This patch adds function that re
mmu: add dump_xlat_tables() function
As we dropped tables initialization code from core_mmu_v7.c and core_mmu_lpae.c there are no means to visualize pagetables now.
This patch adds function that recursively prints current state of pagetables. Currently it prints pagetables only during initialization, but it can be used to debug pgt at any time.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 5e36abf5 | 19-Jan-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
mmu: implement generic mmu initialization
This patch adds function core_mmu_map_region() that maps given memory region. This function is generic, in sense, that it can map memory for both short and
mmu: implement generic mmu initialization
This patch adds function core_mmu_map_region() that maps given memory region. This function is generic, in sense, that it can map memory for both short and long descriptor formats, as it uses primitives provided by core_mmu_v7 and core_mmu_lpae.
Also, this function tries to use largest allocation blocks possible. For example, if memory region is not aligned to PGDIR_SIZE but spans across multiple pgdirs, core_mmu_map_region() will map most of this region with large blocks, and only start/end will be mapped with small pages.
As core_mmu_map_region() provides all means needed for MMU initialization, we can drop mmu-specific code in core_mmu_v7.c and core_mmu_lpae.c
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 4c4ae210 | 19-Jan-2018 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
mmu: replace _prepare_small_page_mapping with _entry_to_finer_grained
core_mmu_prepare_small_page_mapping() just prepares table for the next level if there was no mappings already. core_mmu_entry_to
mmu: replace _prepare_small_page_mapping with _entry_to_finer_grained
core_mmu_prepare_small_page_mapping() just prepares table for the next level if there was no mappings already. core_mmu_entry_to_finer_grained() will do the same even if there is are something mapped there.
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| dddb285c | 13-Feb-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: bugfix tee_tadb_ta_read()
When tee_tadb_ta_read() has advanced through the entire binary it should call crypto_authenc_dec_final() to check that the computed tag matches expected tag. Before t
core: bugfix tee_tadb_ta_read()
When tee_tadb_ta_read() has advanced through the entire binary it should call crypto_authenc_dec_final() to check that the computed tag matches expected tag. Before this commit that wasn't done.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 112261f7 | 13-Feb-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: fs_htree: fix authenc_init() error path
- Add missing crypto_authenc_free_ctx() - Do not call crypto_authenc_final() if crypto_authenc_init() was not successful
Signed-off-by: Jerome Forissie
core: fs_htree: fix authenc_init() error path
- Add missing crypto_authenc_free_ctx() - Do not call crypto_authenc_final() if crypto_authenc_init() was not successful
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Summer Qin <summer.qin@arm.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4fc001da | 13-Feb-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
crypto: hkdf_expand(): call crypto_mac_free_ctx() instead of free()
A context allocated via crypto_mac_alloc_ctx() has to be freed using crypto_mac_free_ctx(). While the default implementation just
crypto: hkdf_expand(): call crypto_mac_free_ctx() instead of free()
A context allocated via crypto_mac_alloc_ctx() has to be freed using crypto_mac_free_ctx(). While the default implementation just ends up calling free(), other implementations may not.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reported-by: Summer Qin <summer.qin@arm.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 56e7b940 | 12-Feb-2018 |
Jens Wiklander <jens.wiklander@linaro.org> |
Remove the unused file tee_kta_trace.h
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 9b94299a | 09-Feb-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: ltc: prevent incorrect asserts in crypto_*_free_ctx()
Avoid asserting in crypto_*_free_ctx() in the following case:
void *ctx = NULL; TEE_Result res;
res = crypto_*_alloc_ctx(&ctx, <u
core: ltc: prevent incorrect asserts in crypto_*_free_ctx()
Avoid asserting in crypto_*_free_ctx() in the following case:
void *ctx = NULL; TEE_Result res;
res = crypto_*_alloc_ctx(&ctx, <unsupported_algo>) if (!res) goto out; /* ... */ out: crypto_*_free_ctx(ctx);
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ce7a47f5 | 09-Feb-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: crypto.c: crypto_*_free_ctx() stubs should allow NULL context
Update the crypto_*_free_ctx() functions so that they do nothing when passed a NULL ctx. Allows for easier error handling.
Signed
core: crypto.c: crypto_*_free_ctx() stubs should allow NULL context
Update the crypto_*_free_ctx() functions so that they do nothing when passed a NULL ctx. Allows for easier error handling.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@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> |
| 2e3518ae | 08-Feb-2018 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: lower debug verbosity on short buffer errors
TEE_ERROR_SHORT_BUFFER is likely to be an expected error code returned by a trusted application or a core service. Therefore this change prevents d
core: lower debug verbosity on short buffer errors
TEE_ERROR_SHORT_BUFFER is likely to be an expected error code returned by a trusted application or a core service. Therefore this change prevents debug "Error: " in short buffer case at completion the invoke_command request.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|