| 92ea2867 | 26-Oct-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
ta-dev-kit: export signed_hdr.h
Exports core/include/signed_hdr.h to host_include to be able to use struct shdr when testing TAs corrupted at different places.
Signed-off-by: Jens Wiklander <jens.w
ta-dev-kit: export signed_hdr.h
Exports core/include/signed_hdr.h to host_include to be able to use struct shdr when testing TAs corrupted at different places.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 176c959d | 20-Oct-2015 |
Pascal Brand <pascal.brand@st.com> |
Remove unused defines
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com> |
| 453a5030 | 20-Oct-2015 |
Jerome Forissier <jerome.forissier@linaro.org> |
core: rename system calls (s/tee_svc_/syscall_/)
Assign the syscall_ prefix to all system calls to make them stand out from other functions.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro
core: rename system calls (s/tee_svc_/syscall_/)
Assign the syscall_ prefix to all system calls to make them stand out from other functions.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 12ddd2b1 | 19-Oct-2015 |
Pascal Brand <pascal.brand@st.com> |
Introduce free_rsa_public_key() and free_ecc_public_key()
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand
Introduce free_rsa_public_key() and free_ecc_public_key()
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 8c4a5a9a | 16-Oct-2015 |
Peng Fan <Peng.Fan@freescale.com> |
arm: imx: add i.MX 6UltraLite and EVK board support
The i.MX 6UltraLite[1] is a high performance, ultra-efficient processor family featuring an advanced implementation of a single ARM® Cortex®-A7 co
arm: imx: add i.MX 6UltraLite and EVK board support
The i.MX 6UltraLite[1] is a high performance, ultra-efficient processor family featuring an advanced implementation of a single ARM® Cortex®-A7 core.
This patch add i.MX 6Ulralite EVK board support: 1. Add a uart driver for i.MX platforms 2. Introduce plat-imx for i.MX platforms 3. Introduce i.MX6 UltraLite platform 4. This patch has been tested using the following step, 4.1. build step: PLATFORM_FLAVOR=mx6ulevk make ARCH=arm PLATFORM=imx ${CROSS_COMPILE}-objcopy -O binary out/arm-plat-imx/core/tee.elf optee.bin copy optee.bin to the first partition of SD card which is used for boot. 4.2. Boot setting in uboot: run loadfdt; run loadimage; fatload mmc 1:1 0x9c100000 optee.bin; run mmcargs; bootz ${loadaddr} - ${fdt_addr}; 5. pass xtest
Note: CAAM is not implemented now, this will be added later.
[1] http://www.freescale.com/webapp/sps/site/prod_summary.jsp? code=i.MX6UL&tid=redI.MX6UL-FAMILY&uc=true&lang_cd=en
Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| 85278139 | 12-Oct-2015 |
Sumit Garg <b49020@freescale.com> |
Add fsl ls1021a platform support.
Added plat-ls, with initial support for fsl ls1021a platform. Added uart driver (ns16550).
Signed-off-by: Sumit Garg <b49020@freescale.com> Reviewed-by: Jens Wikla
Add fsl ls1021a platform support.
Added plat-ls, with initial support for fsl ls1021a platform. Added uart driver (ns16550).
Signed-off-by: Sumit Garg <b49020@freescale.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| a2e9a830 | 16-Sep-2015 |
Cedric Chaumont <cedric.chaumont@st.com> |
GP11 : trusted storage verify (block enc fs)
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@l
GP11 : trusted storage verify (block enc fs)
Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards) Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)
show more ...
|
| 80475d29 | 09-Sep-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: use condvar when serializing TA execution
struct tee_ta_ctx::busy is used to serialize TA execution. Before this patch the operation would fail if busy is true. This patch waits for busy to be
core: use condvar when serializing TA execution
struct tee_ta_ctx::busy is used to serialize TA execution. Before this patch the operation would fail if busy is true. This patch waits for busy to become false if needed with help of wait_queue. Also uses the busy flag for open session to avoid races on multi-session single-instance TAs.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 91598429 | 09-Sep-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add wait_queue primitive for synchronization
Adds a new primitive for synchronization, wait_queue.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.fo
core: add wait_queue primitive for synchronization
Adds a new primitive for synchronization, wait_queue.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8b0894f5 | 09-Sep-2015 |
James Kung <james.kung@linaro.org> |
Secure Storage: Support extending file size and file hole
With this patch, user can extend file size by truncate operation.
Also the file hole feature is supported in this patch, that is, user can
Secure Storage: Support extending file size and file hole
With this patch, user can extend file size by truncate operation.
Also the file hole feature is supported in this patch, that is, user can seek to a position larger than file size and write data from the position.
The file hole implementation actually is not an efficient solution, because we always fill zero in these holes.
Signed-off-by: James Kung <james.kung@linaro.org> Tested-by: James Kung <james.kung@linaro.org> (QEMU, MT8173 EVB) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 9470783f | 09-Sep-2015 |
SY Chiu <sy.chiu@linaro.org> |
Secure Storage: export TEE file header structure for xtest
Export 'struct meta_header' and 'struct block_header' to $TA_DEV_KIT_DIR/host_include, those structures can be used by xtest. This prevents
Secure Storage: export TEE file header structure for xtest
Export 'struct meta_header' and 'struct block_header' to $TA_DEV_KIT_DIR/host_include, those structures can be used by xtest. This prevents hard-coding the structure in xtest.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| bc420748 | 05-May-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
TA as ELF + signature
Changes format of TA to use the ELF format instead. This patch also adds signature checking of the TA. The format of the TA is: <Signed header> <ELF header> <Program header> (p
TA as ELF + signature
Changes format of TA to use the ELF format instead. This patch also adds signature checking of the TA. The format of the TA is: <Signed header> <ELF header> <Program header> (part of ELF spec, pointing out segments to load) <Sections>
A struct ta_head is placed in the first section of the first segment to carry flags and other properties of the TA.
elf32.h, elf64.h and elf_common.h are imported from FreeBSD.
In addition to the R_ARM_RELATIVE relocation type, adds support for R_ARM_ABS32 relocations. Since a symbol table is needed to process this relocation type a separate program header is added in the TA ELF containing the sections .dynamic, .dynsym, .dynstr and .hash. These sections are only needed during relocation and could be released once the TA is relocated.
A default signing key has been generated with openssl genrsa -out key.pem and added as keys/default_ta.pem
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform) Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform) Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
show more ...
|
| c7856574 | 05-Jun-2015 |
James Kung <james.kung@linaro.org> |
Secure Storage: Implement block-based encrypted file system
- Meta file encryption/decryption is enforced - Block file encryption/decryption is optional
Signed-off-by: James Kung <james.kung@linaro
Secure Storage: Implement block-based encrypted file system
- Meta file encryption/decryption is enforced - Block file encryption/decryption is optional
Signed-off-by: James Kung <james.kung@linaro.org> Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: James Kung <james.kung@linaro.org> (QEMU, MT8173 EVB) Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| f4c0a293 | 23-Jun-2015 |
SY Chiu <sy.chiu@linaro.org> |
Secure Storage: Implemented atomic operations
The following operations should be atomic:
- Write - Rename - Create/Delete - Truncate
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu
Secure Storage: Implemented atomic operations
The following operations should be atomic:
- Write - Rename - Create/Delete - Truncate
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 69d4445d | 05-Jun-2015 |
SY Chiu <sy.chiu@linaro.org> |
Secure Storage: Implemented block-based file operations
This patch represent a TEE file by many small REE files and single meta file, which is used to describe the TEE file. This approach can be use
Secure Storage: Implemented block-based file operations
This patch represent a TEE file by many small REE files and single meta file, which is used to describe the TEE file. This approach can be used as basis to support atomic operation and enhance encrypt fs performance.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU) Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| f7cad1ad | 27-Aug-2015 |
Pascal Brand <pascal.brand@st.com> |
Remove core_serviceid.h file
This file contains many legacy defines, which are not used anymore. The only used services are linked to l2cc configuration. These services are now replaced by dedicated
Remove core_serviceid.h file
This file contains many legacy defines, which are not used anymore. The only used services are linked to l2cc configuration. These services are now replaced by dedicated functions tee_get_l2cc_mutex(), tee_set_l2cc_mutex(), tee_enable_l2cc_mutex() and tee_disable_l2cc_mutex()
Signed-off-by: Pascal Brand <pascal.brand@st.com> Reviewed-by: Etienne CARRIERE <etienne.carriere@st.com> Reviewed-by: Jean-Michel DELORME <jean-michel.delorme@st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform)
show more ...
|
| 68677ce9 | 27-Aug-2015 |
Pascal Brand <pascal.brand@st.com> |
Update types in some functions
- tee_mmu_user_pa2va_helper(): padd_t instead of void * - tee_mmu_check_access_rights(): const context - check tee_time_get_sys_time() succeeded
Reviewed-by: Jens Wik
Update types in some functions
- tee_mmu_user_pa2va_helper(): padd_t instead of void * - tee_mmu_check_access_rights(): const context - check tee_time_get_sys_time() succeeded
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 55bb99a0 | 30-Apr-2015 |
Pascal Brand <pascal.brand@st.com> |
Remove unused struct tee_core_status_out
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@lin
Remove unused struct tee_core_status_out
Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 096cbcdd | 07-Jul-2015 |
Jean-Michel Delorme <jean-michel.delorme@st.com> |
Align Session handle for generic ta interface entry
TEE session handle is now used by all tee_dispatch_xx function. uint32_t type ID parameter has be removed for the tee_dispatch_close_session() fun
Align Session handle for generic ta interface entry
TEE session handle is now used by all tee_dispatch_xx function. uint32_t type ID parameter has be removed for the tee_dispatch_close_session() function.
Signed-off-by: Jean-Michel Delorme <jean-michel.delorme@st.com> Reviewed-by: Pascal BRAND <pascal.brand@st.com> Reviewed-by: Etienne CARRIERE <etienne.carriere@st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
show more ...
|
| 69fc4acf | 05-Aug-2015 |
Pascal Brand <pascal.brand@st.com> |
Remove unused macro set/get ta_trace_level
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com> |
| 60fc60b3 | 22-Jul-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: optimize size with const crypto_ops
Optimize size of unpaged data by making crypto_ops const.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand
core: optimize size with const crypto_ops
Optimize size of unpaged data by making crypto_ops const.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
show more ...
|
| bf494894 | 02-Jul-2015 |
Pascal Brand <pascal.brand@st.com> |
ECC: DH implementation and self tests
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jerome Forissier <jerome.forissie
ECC: DH implementation and self tests
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32 & 64-bit) Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 1d8052f0 | 02-Jul-2015 |
SY Chiu <sy.chiu@linaro.org> |
SE API: Use tee_svc_copy_kaddr_to_user32() to avoid buffer overflow
Note: buffer overflow is supposed to happen when we have 64-bit kernel and 32-bit TA, but SE API can only be tested on QEMU which
SE API: Use tee_svc_copy_kaddr_to_user32() to avoid buffer overflow
Note: buffer overflow is supposed to happen when we have 64-bit kernel and 32-bit TA, but SE API can only be tested on QEMU which cannot hosts 64-bit kernel for now. Thus, the test is just make sure the change doesn't corrupt SE API implementation.
Signed-off-by: SY Chiu <sy.chiu@linaro.org> Tested-by: SY Chiu <sy.chiu@linaro.org> (QEMU+jcardsim) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 9977404e | 25-Jun-2015 |
Pascal Brand <pascal.brand@st.com> |
ECC: sign and self tests, at crypto_ops level
Note that in case of pager, the emulated esram size has been increased from 200KB to 256KB.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Rev
ECC: sign and self tests, at crypto_ops level
Note that in case of pager, the emulated esram size has been increased from 200KB to 256KB.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32 & 64-bit) Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey with pager) Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform) Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 8707ec0f | 29-Jun-2015 |
Jerome Forissier <jerome.forissier@linaro.org> |
arm64: fix buffer overflows when copying kernel addresses to user space
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by:
arm64: fix buffer overflows when copying kernel addresses to user space
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|