| 660fcc53 | 01-Mar-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
checkpatch_inc.sh: exclude files with inline assembly
checkpatch.pl produces false errors when given files with inline assembly [1]. It is best to skip those files entirely.
Link: [1] https://travi
checkpatch_inc.sh: exclude files with inline assembly
checkpatch.pl produces false errors when given files with inline assembly [1]. It is best to skip those files entirely.
Link: [1] https://travis-ci.org/OP-TEE/optee_os/builds/347435939#L2115 Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
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 ...
|
| bb4bc9b5 | 23-Feb-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
Add "no license notice" rule to the file header documentation
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Joak
Add "no license notice" rule to the file header documentation
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 8c8e1441 | 21-Feb-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
ta_dev_kit.mk: define ENABLE_MDBG when CFG_TEE_TA_MALLOC_DEBUG is set
In order to use the memory leak detection code, a user-mode TA needs two things: - A version of libutils.a that was built with m
ta_dev_kit.mk: define ENABLE_MDBG when CFG_TEE_TA_MALLOC_DEBUG is set
In order to use the memory leak detection code, a user-mode TA needs two things: - A version of libutils.a that was built with malloc debug code. This is taken care of by ta/ta.mk which sets ENABLE_MDBG=1 when CFG_TEE_TA_MALLOC_DEBUG is 'y'. - The proper declarations for mdbg_malloc(), mdbg_free(), mdbg_check() etc. as well as the macro redefinitions for malloc(), free() etc. in the header files when the TA is built. This patch adds the missing definition of ENABLE_MDBG in ta/mk/ta_dev_kit.mk when CFG_TEE_TA_MALLOC_DEBUG is 'y'.
In addition, the usage of CFG_TEE_TA_MALLOC_DEBUG and CFG_TEE_CORE_MALLOC_DEBUG is better documented in mk/conf.mk.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
show more ...
|
| 0c5bedb5 | 15-Feb-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
scripts/symbolize.py: update help text
Commit 546291f4de9b ("trace: make output more compact") has changed the format of the abort and panic dumps. Update 'symbolize.py --help' accordingly.
The hel
scripts/symbolize.py: update help text
Commit 546291f4de9b ("trace: make output more compact") has changed the format of the abort and panic dumps. Update 'symbolize.py --help' accordingly.
The help text is also reworked slightly to make it clear that the script may be used with all kinds of crash dumps (TEE core or TA, aborts and panics).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 5f7df507 | 15-Feb-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
scripts/symbolize.py: strip cwd from file paths by default
It is quite common to invoke symbolize.py from a top-level directory which contains the source code of OP-TEE as well as of Trusted Applica
scripts/symbolize.py: strip cwd from file paths by default
It is quite common to invoke symbolize.py from a top-level directory which contains the source code of OP-TEE as well as of Trusted Applications. In this case, it is convenient to strip the directory from all the paths reported by the script.
Therefore, make this behavior the default. In other words, '-s $(pwd)' is now implied. One can still obtain full paths by passing '-s' with no argument.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-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>
|
| 1d22cfed | 09-Feb-2018 |
Jerome Forissier <jerome.forissier@linaro.org> |
Remove unused guard string in check-conf-cmake
There is no need to compute a guard string when generating the CMake configuration file. Obviously the line was mistakenly copied from check-conf-h, so
Remove unused guard string in check-conf-cmake
There is no need to compute a guard string when generating the CMake configuration file. Obviously the line was mistakenly copied from check-conf-h, so remove it.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 21c9a576 | 09-Feb-2018 |
Etienne Carriere <etienne.carriere@linaro.org> |
make config: allow '+' character in file paths
Some build environment (i.e yocto) may use build directory path that include a '+' character. This change allows such '+' character(s) to be replaced w
make config: allow '+' character in file paths
Some build environment (i.e yocto) may use build directory path that include a '+' character. This change allows such '+' character(s) to be replaced with a '_' character in the conf.h macro.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 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 ...
|