| ecb06119 | 12-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: invalidate tlb when clearing entry
When clearing an entry in a translation table corresponding TLB entry must always be invalidated. With this patch two missing places are addressed. Th
core: pager: invalidate tlb when clearing entry
When clearing an entry in a translation table corresponding TLB entry must always be invalidated. With this patch two missing places are addressed. This fixes problem in xtest regression suite case 1016.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 95df5803 | 01-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add dsb instructions for tlb invalidation
Adds DSB instructions needed for correct visibility of TLB invalidations.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by:
core: add dsb instructions for tlb invalidation
Adds DSB instructions needed for correct visibility of TLB invalidations.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d2ccd62a | 01-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: make 64-bit tlb invalidation inner shareable
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 43d269aa | 01-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
ltc: fix 64-bit warning
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 58c83eb5 | 01-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: REE_FS: avoid deadlock in ree_fs_create()
ree_fs_close() can't be called in ree_fs_create() cleanup as ree_fs_close() tries to acquire the mutex already acquired in ree_fs_create(). Copy relev
core: REE_FS: avoid deadlock in ree_fs_create()
ree_fs_close() can't be called in ree_fs_create() cleanup as ree_fs_close() tries to acquire the mutex already acquired in ree_fs_create(). Copy relevant content from ree_fs_close() instead.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ad937c04 | 01-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: assert against recursive mutex locking
Adds an assert to check that the thread holding a mutex tries to lock it again.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-b
core: assert against recursive mutex locking
Adds an assert to check that the thread holding a mutex tries to lock it again.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4ec2358e | 13-Jun-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: enable debug mode by default
Assume the default build environment is meant for development, so set CFG_TEE_CORE_DEBUG=y by default.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.or
core: enable debug mode by default
Assume the default build environment is meant for development, so set CFG_TEE_CORE_DEBUG=y by default.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| aaaf00a2 | 08-Jun-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: arm: make alignment check configurable
We occasionally get reports from people stumbling upon data abort exceptions caused by alignment faults in TAs. The recommended fix is to change the code
core: arm: make alignment check configurable
We occasionally get reports from people stumbling upon data abort exceptions caused by alignment faults in TAs. The recommended fix is to change the code so that the unaligned access won't occur. But it is sometimes difficult to achieve.
Therefore we provide a compile-time option to disable alignment checks. For AArch64 it applies to both SEL1 and SEL0.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4c56bf5f | 07-Jun-2017 |
Peng Fan <peng.fan@nxp.com> |
drivers: tzc380: add tzc380 driver
Add tzc380 driver support.
The usage: Use tzc_init(vaddr_t base) to get the tzc380 configuration. Use tzc_configure_region to configure the memory region, such as
drivers: tzc380: add tzc380 driver
Add tzc380 driver support.
The usage: Use tzc_init(vaddr_t base) to get the tzc380 configuration. Use tzc_configure_region to configure the memory region, such as "tzc_configure_region(5, 0x4e000000, TZC_ATTR_REGION_SIZE(TZC_REGION_SIZE_32M) | TZC_ATTR_REGION_EN_MASK | TZC_ATTR_SP_S_RW);"
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 70bb1a17 | 08-Jun-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
documentation: fix secure storage description
The introduction of the hash tree and dirfile structure in the REE FS implementation is not reflected fully in secure_storage.md. Fix the remaining disc
documentation: fix secure storage description
The introduction of the hash tree and dirfile structure in the REE FS implementation is not reflected fully in secure_storage.md. Fix the remaining discrepancies between code and documentation.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| bdc5282e | 07-Jun-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: fix weakness in shm registration
When core needs to validate content before it is used, core must first move the data in secure memory, then validate it (or not), then access validated data fr
core: fix weakness in shm registration
When core needs to validate content before it is used, core must first move the data in secure memory, then validate it (or not), then access validated data from secure memory only, not from original shared memory location.
This change fixes mobj_reg_shm_alloc() so that it checks the validity of the registered reference after the references are copied into the secure memory.
This change fixes mobj_mapped_shm_alloc() to use the shm buffer reference instead of the initial description still located in shared memory.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 57aabac5 | 02-Jun-2017 |
Bogdan Liulko <bogdan.liulko@globallogic.com> |
Remove buffering for AES CTR
CTR mode of AES algorithm turns block cipher into stream cipher. It means that input data can has any size independent from block size. It must be processed and result c
Remove buffering for AES CTR
CTR mode of AES algorithm turns block cipher into stream cipher. It means that input data can has any size independent from block size. It must be processed and result ciphertext must be generated after each TEE_CipherUpdate function call. That is why it is incorrect to apply for AES CTR the input buffering on TEE_CipherUpdate call when size is not multiple of block size.
Signed-off-by: Bogdan Liulko <bogdan.liulko@globallogic.com> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Bogdan Liulko <bogdan.liulko@globallogic.com> (R-Car) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f9a64f12 | 01-Jun-2017 |
Zeng Tao <prime.zeng@hisilicon.com> |
core: fix the keepalive condition in close session
According to the The GP Internal Core API v1.1: The keepalive flag should be ignored when the single instance flag is not set.
Reviewed-by: Jens W
core: fix the keepalive condition in close session
According to the The GP Internal Core API v1.1: The keepalive flag should be ignored when the single instance flag is not set.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com>
show more ...
|
| e38a9abe | 07-Mar-2017 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
mobj: add mobj_reg_shm and mobj_mapped_shm
mobj_reg_shm represents registered shared memory. This is basically a list of pages provided by normal world. It can be used to pass memory parameters to T
mobj: add mobj_reg_shm and mobj_mapped_shm
mobj_reg_shm represents registered shared memory. This is basically a list of pages provided by normal world. It can be used to pass memory parameters to TAs.
mobj_mapped_shm is built on top of mobj_reg_shm. It is almost the same thing, but it is mapped to OP-TEE virtual address space, so OP-TEE kernel can access such buffers.
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 ...
|
| cc0b2c44 | 18-Apr-2017 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
core_mmu: add non-secure DDR ranges support
This patch adds new macro `register_nsec_ddr` which allows platform code to register non-secure memory ranges.
Signed-off-by: Volodymyr Babchuk <vlad.bab
core_mmu: add non-secure DDR ranges support
This patch adds new macro `register_nsec_ddr` which allows platform code to register non-secure memory ranges.
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 ...
|
| bce4951c | 02-Jun-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add linker.h for link script symbols
Moves all core extern declarations of linker script symbols into <kernel/linker.h>.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off
core: add linker.h for link script symbols
Moves all core extern declarations of linker script symbols into <kernel/linker.h>.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| afc0c182 | 31-May-2017 |
Bogdan Liulko <bogdan.liulko@globallogic.com> |
libutee: Remove buffering for AES GCM
GCM mode of AES algorithm is essentially a stream cipher. It means that there is no requirements for input data size related to block size. And every time when
libutee: Remove buffering for AES GCM
GCM mode of AES algorithm is essentially a stream cipher. It means that there is no requirements for input data size related to block size. And every time when AEUpdate is called input data must be processed and output immediately generated. That is why it is incorrect to apply for AES GCM the input buffering on AEUpdate call when size is not multiple of block size.
Signed-off-by: Bogdan Liulko <bogdan.liulko@globallogic.com> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Bogdan Liulko <bogdan.liulko@globallogic.com> (R-Car) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 351b2428 | 31-May-2017 |
Peng Fan <peng.fan@nxp.com> |
core: arm: imx: use core_mmu_get_va
Use core_mmu_get_va to simplify the code.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jen
core: arm: imx: use core_mmu_get_va
Use core_mmu_get_va to simplify the code.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-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 ...
|
| fcac2a36 | 01-Jun-2017 |
Peng Fan <peng.fan@nxp.com> |
core: mmu: add core_mmu_get_va helper function
Add core_mmu_get_va helper function.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-b
core: mmu: add core_mmu_get_va helper function
Add core_mmu_get_va helper function.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| d5b65f30 | 09-Nov-2016 |
Igor Opaniuk <igor.opaniuk@linaro.org> |
OP-TEE Benchmark
OP-TEE Benchmark feature provides timestamp data for the roundtrip time from libteec to OP-TEE OS core.
Benchmark PTA handles registration/unregistration commands of timestamp buff
OP-TEE Benchmark
OP-TEE Benchmark feature provides timestamp data for the roundtrip time from libteec to OP-TEE OS core.
Benchmark PTA handles registration/unregistration commands of timestamp buffer, invoked by optee_benchmark NW application, and performs registration of timestamp buffer in the linux kernel optee driver via RPC call.
To enable this feature set CFG_TEE_BENCHMARK compile flag to "y".
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Igor Opaniuk <igor.opaniuk@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 ...
|
| ba6d8df9 | 24-May-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
libutils: sparse fix: DETECTNULL() macro
Fixes the DETECTNULL() macro used in certain functions imported from newlib.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wik
libutils: sparse fix: DETECTNULL() macro
Fixes the DETECTNULL() macro used in certain functions imported from newlib.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Juno) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a3c08883 | 24-May-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
Sparse fix: _assert_break()
Moves the __noreturn attribute for declaration of _assert_break() to before the function name instead which enables sparse to recognize the attribute properly.
Reviewed-
Sparse fix: _assert_break()
Moves the __noreturn attribute for declaration of _assert_break() to before the function name instead which enables sparse to recognize the attribute properly.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2fa93c74 | 24-May-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
Sparse fix: setjmp.h
Fixes all sparse warnings in setjmp.h
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 0eb4c4dd | 24-May-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: sparse fix: generic_boot.c
Fixes all sparse warnings in generic_boot.c except the ones related to panic().
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wikl
core: sparse fix: generic_boot.c
Fixes all sparse warnings in generic_boot.c except the ones related to panic().
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|