| 8e954ccb | 12-Dec-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pgt: bugfix pop_from_some_list()
Prior to this patch pgt obtained with pop_least_used_from_cache_list() in pop_from_some_list() wasn't cleared properly. Only entries used for paging was clear.
core: pgt: bugfix pop_from_some_list()
Prior to this patch pgt obtained with pop_least_used_from_cache_list() in pop_from_some_list() wasn't cleared properly. Only entries used for paging was clear. With this patch the entire pgt is cleared to cover eventual entries not used for paging.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d22ddc7b | 20-Oct-2017 |
Victor Chong <victor.chong@linaro.org> |
poplar: Add initial support
Signed-off-by: Victor Chong <victor.chong@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 546291f4 | 15-Dec-2017 |
Joakim Bech <joakim.bech@linaro.org> |
trace: make output more compact
The new format for traces are: <type>/<where>:<thread_id> [<func:line>] <message>
<type>: D = DEBUG E = ERROR I = INFO F = FLOW
<where>: TA = Trusted Ap
trace: make output more compact
The new format for traces are: <type>/<where>:<thread_id> [<func:line>] <message>
<type>: D = DEBUG E = ERROR I = INFO F = FLOW
<where>: TA = Trusted Application TC = TEE Core
I.e, it outputs messages like this: D/TC:00 ta_load:316 ELF load address 0x101000 etc
Thread ID will either take a single or two digits depending on the number of threads in use.
Signed-off-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 7639a405 | 11-Dec-2017 |
Volodymyr Babchuk <vlad.babchuk@gmail.com> |
tee_mm.c: fix includes section
- Remove double #include <mm/tee_mm.h> - Put includes into alphabetical order
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Etienne Carrier
tee_mm.c: fix includes section
- Remove double #include <mm/tee_mm.h> - Put includes into alphabetical order
Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 30668b28 | 28-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add management pseudo TA for secstor TAs
Adds a pseudo TA for management of Trusted Applications and Security Domains. The pseudo TA only provides a minimal interface, a more advanced interfac
core: add management pseudo TA for secstor TAs
Adds a pseudo TA for management of Trusted Applications and Security Domains. The pseudo TA only provides a minimal interface, a more advanced interface is supposed to be provided by a user TA using this pseudo TA. Such a TA could for instance implement Global Platforms TEE Management Framework or OTrP.
The management TA currently only supports installing bootstrap packaged TAs in secure storage.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c9720143 | 28-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add ta storage based on tadb
Adds ta storage based on tadb. The TAs has to be installed in tadb before they can be loaded.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by:
core: add ta storage based on tadb
Adds ta storage based on tadb. The TAs has to be installed in tadb before they can be loaded.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0df8b2c6 | 28-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ree fs ta store: support bootstrap TA format
Adds support for the new bootstrap TA format to the REE FS TA storage.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome
core: ree fs ta store: support bootstrap TA format
Adds support for the new bootstrap TA format to the REE FS TA storage.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f1880058 | 28-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ree fs ta store: use new shdr_*() helpers
Uses the new shdr_*() helper functions to verify a signed header.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome Forissi
core: ree fs ta store: use new shdr_*() helpers
Uses the new shdr_*() helper functions to verify a signed header.
Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2a1bec15 | 25-Nov-2017 |
Peng Fan <peng.fan@nxp.com> |
core: imx: add i.MX6SX Sabreauto support
Add i.MX6SX Sabreauto support.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander
core: imx: add i.MX6SX Sabreauto support
Add i.MX6SX Sabreauto support.
Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c0dd4b67 | 24-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add negative tests for htree
Adds negative test for htree.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-
core: add negative tests for htree
Adds negative test for htree.
Reviewed-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 ...
|
| 947cfeec | 21-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: use new aes-gcm implementation
Pager switches to use the new internal accelerated AES-GCM implementation instead of the old software only implementation.
Reviewed-by: Jerome Forissier
core: pager: use new aes-gcm implementation
Pager switches to use the new internal accelerated AES-GCM implementation instead of the old software only implementation.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, Hikey) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 54af8d67 | 21-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: crypto: AES-GCM: separate encryption key
Separates the AES (CTR) encryption key from the rest of the context to allow more efficient key handling.
Acked-by: Jerome Forissier <jerome.forissier
core: crypto: AES-GCM: separate encryption key
Separates the AES (CTR) encryption key from the rest of the context to allow more efficient key handling.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 424cb386 | 21-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm64: crypto: AES-GCM: add internal key expansion
Adds internal encryption key expansion when internal AES-GCM uses AES crypto extensions. This avoids a dependency on the crypto library to us
core: arm64: crypto: AES-GCM: add internal key expansion
Adds internal encryption key expansion when internal AES-GCM uses AES crypto extensions. This avoids a dependency on the crypto library to use the same endian on the expanded encryption key.
Copies code from core/lib/libtomcrypt/src/ciphers/ aes_armv8a_ce.c and aes_modes_armv8a_ce_a64.S and makes some small changes to make it fit in the new place.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 61b4cd9c | 21-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: crypto: AES-GCM: remove tomcrypt.h dependency
Removes tomcrypt.h dependency by replacing the "symmetric_key skey" field in struct internal_aes_gcm_ctx with a raw key. Replaces calls to the LTC
core: crypto: AES-GCM: remove tomcrypt.h dependency
Removes tomcrypt.h dependency by replacing the "symmetric_key skey" field in struct internal_aes_gcm_ctx with a raw key. Replaces calls to the LTC functions aes_setup() and aes_ecb_encrypt() with calls to crypto_aes_expand_enc_key() and crypto_aes_enc_block() respectively.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c9add4ac | 23-Nov-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: arm32: enable NEON with .fpu directive rather than compile flag
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU CF
core: arm32: enable NEON with .fpu directive rather than compile flag
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (QEMU CFG_WITH_VFP=y) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960 AArch32 {,pager}) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 391df477 | 23-Nov-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
Remove useless .section directive
The FUNC macro has a .section so any previous occurrence is useless.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jen
Remove useless .section directive
The FUNC macro has a .section so any previous occurrence is useless.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| cd11e1cb | 23-Nov-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
Use -mfpu-neon for assembly files in TEE core only
Some platforms set arm32-platform-aflags += -mfpu-neon, which causes NEON to be selected when building any assembly files. TEE core, user-mode libr
Use -mfpu-neon for assembly files in TEE core only
Some platforms set arm32-platform-aflags += -mfpu-neon, which causes NEON to be selected when building any assembly files. TEE core, user-mode libraries and TAs are all affected by this setting.
This is most likely incorrect because user-mode libraries do not use NEON instructions (only some core files do). And, it does not make much sense to set it by default for TAs either.
So, core_arm32-platform-aflags should be set instead.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2f47d839 | 23-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix potential double free in ta_open()
ta_open() relies on the local variable shdr to be NULL unless it's a valid pointer. alloc_and_copy_shdr() can in one code path update shdr and then free
core: fix potential double free in ta_open()
ta_open() relies on the local variable shdr to be NULL unless it's a valid pointer. alloc_and_copy_shdr() can in one code path update shdr and then free it before returning.
The fix is in alloc_and_copy_shdr() to only set the returned shdr once the pointer is to be returned.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Fixes: https://github.com/OP-TEE/optee_os/issues/1968 Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 29cff5cf | 20-Nov-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: GET_OS_REVISION: return SHA1 of current Git commit
When processing an OPTEE_SMC_CALL_GET_OS_REVISION request, return the abbreviated SHA1 of the current Git commit as the third parameter (a2).
core: GET_OS_REVISION: return SHA1 of current Git commit
When processing an OPTEE_SMC_CALL_GET_OS_REVISION request, return the abbreviated SHA1 of the current Git commit as the third parameter (a2).
If the SHA1 cannot be determined or CFG_OS_REV_REPORTS_GIT_SHA1 is disabled, set a2 to zero meaning "not specified".
This allows the TEE driver to report more precise information about the TEE at probe time.
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 ...
|
| 3f9b05f6 | 20-Nov-2017 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: arm: GET_OS_REVISION: document a2 as a build identifier
In the OPTEE_SMC_CALL_GET_OS_REVISION request, the previously reserved parameter a2 is now documented as being an optional build identif
core: arm: GET_OS_REVISION: document a2 as a build identifier
In the OPTEE_SMC_CALL_GET_OS_REVISION request, the previously reserved parameter a2 is now documented as being an optional build identifier (such as an SCM revision or commit ID, for instance).
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 ...
|
| 24bb7516 | 16-Nov-2017 |
wangwen <wangwen@marvell.com> |
plat-marvell: Add initial support for ARMADA3700
Only test 64bit mode with default configuration
1. Build command make PLATFORM=marvell-armada3700 2. Pass xtest
Signed-off-by: wangwen <wangwen
plat-marvell: Add initial support for ARMADA3700
Only test 64bit mode with default configuration
1. Build command make PLATFORM=marvell-armada3700 2. Pass xtest
Signed-off-by: wangwen <wangwen@marvell.comi> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Kevin Peng <kevinp@marvell.com>
show more ...
|
| 1e373fed | 19-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta_socket: add TA_FLAG_CONCURRENT
Adds flag TA_FLAG_CONCURRENT to PTA socket used by the socket implementation. This avoids one TA blocking another unrelated TA both doing socket operations.
core: pta_socket: add TA_FLAG_CONCURRENT
Adds flag TA_FLAG_CONCURRENT to PTA socket used by the socket implementation. This avoids one TA blocking another unrelated TA both doing socket operations.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960) Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f6cbe5da | 16-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: crypto: fix AES-GCM counter increase
In pmull_gcm_encrypt() and pmull_gcm_decrypt() it was assumed that it's enough to only increase the least significant 64-bits of the counter fed to th
core: arm: crypto: fix AES-GCM counter increase
In pmull_gcm_encrypt() and pmull_gcm_decrypt() it was assumed that it's enough to only increase the least significant 64-bits of the counter fed to the block cipher. This can hold for 96-bit IVs, but not for IVs of any other length as the number stored in the least significant 64-bits of the counter can't be easily predicted.
In this patch pmull_gcm_encrypt() and pmull_gcm_decrypt() are updated to increase the entire counter, at the same time is the interface changed to accept the counter in little endian format instead.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, Hikey) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1fca7e26 | 16-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: crypto: add new AES-GCM implementation
Adds a new AES-GCM implementation optimized for hardware acceleration.
This implementation is enabled by default, to use the implementation in libTomCry
core: crypto: add new AES-GCM implementation
Adds a new AES-GCM implementation optimized for hardware acceleration.
This implementation is enabled by default, to use the implementation in libTomCrypt instead set CFG_CRYPTO_AES_GCM_FROM_CRYPTOLIB=y.
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960) Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| df6fbf10 | 16-Nov-2017 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-vexpress: Juno: CFG_HWSUPP_PMULL=y
Takes full advantage of LTC GHASH acceleration by using the pmull instruction.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens W
plat-vexpress: Juno: CFG_HWSUPP_PMULL=y
Takes full advantage of LTC GHASH acceleration by using the pmull instruction.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|