| 2863328c | 08-Nov-2017 |
Pankaj Gupta <pankaj.gupta@nxp.com> |
plat-ls: Add support for armv8 platform flavour
Added support for armv8 platform flavour. - PLATFORM = ls-ls1012ardb
Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com> Reviewed-by: Sumit Garg <sum
plat-ls: Add support for armv8 platform flavour
Added support for armv8 platform flavour. - PLATFORM = ls-ls1012ardb
Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com> Reviewed-by: Sumit Garg <sumit.garg@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| cc45d720 | 15-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: pager can use memory between SRAM start and core load address
If core is loaded some 4kB pages above the start of the physical internal ram, some 4kB memory block will not be used by the pager
core: pager can use memory between SRAM start and core load address
If core is loaded some 4kB pages above the start of the physical internal ram, some 4kB memory block will not be used by the pager.
This situation can occur if the beginning of the internal ram is used by a bootloader. Bootloader must load op-tee above its own used memory. Such bootloader memory is freely available to op-tee core (pager).
This change adds the physical memory between TEE RAM base address and the op-tee entry point address to the pager page pool. This change also default maps this area so that pager identifies physical pages as valid page addresses.
This changes fixes the plat-vexpress against CFG_TEE_RAM_START being different from CFG_TEE_LOAD_ADDR.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 11a9c2ba | 13-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix asan build error
Fixes the build error: kern.ld:153: undefined symbol `__asan_shadow_start' referenced in expression
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960, G
core: fix asan build error
Fixes the build error: kern.ld:153: undefined symbol `__asan_shadow_start' referenced in expression
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960, GP) Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d0620b01 | 13-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: move crypto_authenc_*() from LTC
* Moves crypto_authenc_*() from LTC to core/crypto/crypto.c * Defines <crypto/aes-gcm.h> and <crypto/aes-ccm.h> and implements the functions in core/lib/li
core: move crypto_authenc_*() from LTC
* Moves crypto_authenc_*() from LTC to core/crypto/crypto.c * Defines <crypto/aes-gcm.h> and <crypto/aes-ccm.h> and implements the functions in core/lib/libtomcrypt/src/tee_ltc_provider.c based on the old implementations of crypto_authenc_*().
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e1770e71 | 13-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename to <crypto/crypto.h>
Renames core/include/tee/tee_cryp_provider.h to core/include/crypto/crypto.h
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere
core: rename to <crypto/crypto.h>
Renames core/include/tee/tee_cryp_provider.h to core/include/crypto/crypto.h
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3bbd3ce9 | 10-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove struct crypto_ops
Removes struct crypto_ops and adds crypto_init()
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
core: remove struct crypto_ops
Removes struct crypto_ops and adds crypto_init()
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 291e5450 | 10-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
Replace struct acipher_ops with function interface
Adds crypto_acipher_*() replacing struct acipher_ops in crypto_ops.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne
Replace struct acipher_ops with function interface
Adds crypto_acipher_*() replacing struct acipher_ops in crypto_ops.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 33790cc1 | 10-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
Replace struct bignum_ops with function interface
Adds crypto_bignum_*() replacing struct bignum_ops in crypto_ops.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Car
Replace struct bignum_ops with function interface
Adds crypto_bignum_*() replacing struct bignum_ops in crypto_ops.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8875ce46 | 10-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
Replace struct authenc_ops with function interface
Adds crypto_authenc_*() replacing struct authenc_ops in crypto_ops.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne
Replace struct authenc_ops with function interface
Adds crypto_authenc_*() replacing struct authenc_ops in crypto_ops.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e9eaba5c | 09-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
Replace struct mac_ops with function interface
Adds mac_cipher_get_ctx_size(), mac_cipher_init(), mac_cipher_update() and mac_cipher_final() replacing struct mac_ops in crypto_ops.
Acked-by: Jerom
Replace struct mac_ops with function interface
Adds mac_cipher_get_ctx_size(), mac_cipher_init(), mac_cipher_update() and mac_cipher_final() replacing struct mac_ops in crypto_ops.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 82d91db1 | 09-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
Replace struct cipher_ops with function interface
Adds crypto_cipher_get_ctx_size(), crypto_cipher_init(), crypto_cipher_update(), crypto_cipher_final() and crypto_cipher_get_block_size() replacing
Replace struct cipher_ops with function interface
Adds crypto_cipher_get_ctx_size(), crypto_cipher_init(), crypto_cipher_update(), crypto_cipher_final() and crypto_cipher_get_block_size() replacing struct cipher_ops in crypto_ops.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b887bd8f | 09-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
Replace struct hash_ops with function interface
Adds crypto_hash_get_ctx_size(), crypto_hash_init(), crypto_hash_update() and crypto_hash_final() replacing struct hash_ops in crypto_ops.
Acked-by:
Replace struct hash_ops with function interface
Adds crypto_hash_get_ctx_size(), crypto_hash_init(), crypto_hash_update() and crypto_hash_final() replacing struct hash_ops in crypto_ops.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f1c1d533 | 13-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: crypto: fix crypto_rng_read() comment
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.w
core: crypto: fix crypto_rng_read() comment
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| daeea036 | 03-Nov-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
Add CFG_CONCURRENT_SINGLE_INSTANCE_TA
Commit 2b07dcb97c5e ("core: avoid deadlocks caused by single-instance TA") introduces a lock that allows only one single instance TA to be executing at any time
Add CFG_CONCURRENT_SINGLE_INSTANCE_TA
Commit 2b07dcb97c5e ("core: avoid deadlocks caused by single-instance TA") introduces a lock that allows only one single instance TA to be executing at any time. While it does address the risk of deadlock that can arise when several single instance TAs call each other, it also puts a serious performance limitation on multi-core platforms, which could otherwise execute several unrelated single instance TAs simultaneously.
This commit makes the single instance lock optional. By setting CFG_CONCURRENT_SINGLE_INSTANCE_TA=y, the lock is disabled and TAs are allowed to run concurrently. In the future, we may implement a deadlock detection algorithm; in the meantime, this simple solution should be enough to cover the current use cases.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960) CC: Zeng Tao <prime.zeng@hisilicon.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| bd3efa26 | 31-Oct-2017 |
Zeng Tao <prime.zeng@hisilicon.com> |
core: crypto: add overflow check
In some use cases, the input value may cause add_overflow, this patch make the xxx_to_binary functions reporting the overflow errors instead of just let it to be voi
core: crypto: add overflow check
In some use cases, the input value may cause add_overflow, this patch make the xxx_to_binary functions reporting the overflow errors instead of just let it to be void, allowing the upper layer to deal with it.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Zeng Tao <prime.zeng@hisilicon.com> [jf: fix typo in commit subject] Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 8e81e2f5 | 10-Nov-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
ltc: fix ccm_process() bug when input buffer is longer than 256 bytes
Upstream commit 08dee2735956 ("fixes #323 ccm_process fails to process input buffer longer than 256").
Link: https://github.com
ltc: fix ccm_process() bug when input buffer is longer than 256 bytes
Upstream commit 08dee2735956 ("fixes #323 ccm_process fails to process input buffer longer than 256").
Link: https://github.com/libtom/libtomcrypt/pull/326 Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ce553c81 | 12-Oct-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: asan: empty __asan_handle_no_return()
It seems __asan_handle_no_return() isn't called when a __noreturn function returns, instead it's called before the function is called. So empty the __asa
core: asan: empty __asan_handle_no_return()
It seems __asan_handle_no_return() isn't called when a __noreturn function returns, instead it's called before the function is called. So empty the __asan_handle_no_return() function to let __noreturn function be called.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 24fe8015 | 05-Oct-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: asan_tag_access() ignore null ranges
asan_tag_access() should ignore null ranges to make tagging of areas easier.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Je
core: asan_tag_access() ignore null ranges
asan_tag_access() should ignore null ranges to make tagging of areas easier.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ef86a1fe | 05-Oct-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix version-o-cflags
Fixes version-o-cflags by adding $(cflagscore) to make sure that the address sanitizer flags are used for this object file too.
Reviewed-by: Etienne Carriere <etienne.car
core: fix version-o-cflags
Fixes version-o-cflags by adding $(cflagscore) to make sure that the address sanitizer flags are used for this object file too.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c10d5a56 | 05-Oct-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
qemu_virt: fix memory configuration
Fixes memory configuration inconsistency introduced with the coherent memory area for QEMU virt with pager enabled.
Fixes: 5402a9fe46f9 ("qemu_virt: enable smp b
qemu_virt: fix memory configuration
Fixes memory configuration inconsistency introduced with the coherent memory area for QEMU virt with pager enabled.
Fixes: 5402a9fe46f9 ("qemu_virt: enable smp boot") Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d48df728 | 03-Oct-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: enable address sanitizer
Enables address sanitizer when pager is enabled.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@lina
core: pager: enable address sanitizer
Enables address sanitizer when pager is enabled.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| da3289a7 | 03-Oct-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: generic boot: tag paging access
When pager is enabled tag needed ranges accordingly.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@
core: generic boot: tag paging access
When pager is enabled tag needed ranges accordingly.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 626d6d18 | 03-Oct-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: generic boot: move init_asan()
Moves the section covered by #ifdef CFG_CORE_SANITIZE_KADDRESS to above the #ifdef CFG_WITH_PAGER section to be able to later initialize address sanitizer with p
core: generic boot: move init_asan()
Moves the section covered by #ifdef CFG_CORE_SANITIZE_KADDRESS to above the #ifdef CFG_WITH_PAGER section to be able to later initialize address sanitizer with pager enabled.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8b6814d7 | 03-Oct-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: thread: asan tag paged stacks
Tags paged stacks as accessible.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 2d227ee5 | 03-Oct-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: carve out asan shadow range
Carves out address sanitizer range used for bookkeeping.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wik
core: pager: carve out asan shadow range
Carves out address sanitizer range used for bookkeeping.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|