| 63dc8d4a | 14-Apr-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename session_is_cancelled()
Renames session_is_cancelled() to tee_ta_session_is_cancelled() and make it available in tee_ta_manager.h to allow other parts of OP-TEE OS to check for cancellat
core: rename session_is_cancelled()
Renames session_is_cancelled() to tee_ta_session_is_cancelled() and make it available in tee_ta_manager.h to allow other parts of OP-TEE OS to check for cancellation of a session.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 51493045 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Remove typedef tee_fs_dir, use 'struct tee_fs_dir'
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.b
Remove typedef tee_fs_dir, use 'struct tee_fs_dir'
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 233da534 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Clean tee_ree_fs.c
Make most functions static. Use a consistent naming scheme (ree_fs_*).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linar
Clean tee_ree_fs.c
Make most functions static. Use a consistent naming scheme (ree_fs_*).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0c96a71d | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Merge core/tee/tee_rpmb_fs_common.c into core/tee/tee_rpmb_fs.c
Make most functions static. Use a consistent naming scheme (rpmb_fs_*). Delete core/include/tee/tee_rpmb_fs.h.
Signed-off-by: Jerome
Merge core/tee/tee_rpmb_fs_common.c into core/tee/tee_rpmb_fs.c
Make most functions static. Use a consistent naming scheme (rpmb_fs_*). Delete core/include/tee/tee_rpmb_fs.h.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a025a92a | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/arch/arm/tee/tee_rpmb.c and core/include/tee/tee_rpmb.h
Move code into tee_rpmb_fs_common.c.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pas
Delete core/arch/arm/tee/tee_rpmb.c and core/include/tee/tee_rpmb.h
Move code into tee_rpmb_fs_common.c.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7c3ebaa8 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Rename core/tee/tee_fs_common.c -> core/tee/tee_ree_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pa
Rename core/tee/tee_fs_common.c -> core/tee/tee_ree_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ad2988a3 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/tee/tee_fs_private.h
Move function prototypes into tee_fs_common.c, tee_rpmb_fs_common.c and tee_rpmb_fs.c. Next step will be to make them static, remove the useless wrappers and choose
Delete core/tee/tee_fs_private.h
Move function prototypes into tee_fs_common.c, tee_rpmb_fs_common.c and tee_rpmb_fs.c. Next step will be to make them static, remove the useless wrappers and choose more consistent names.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1ff6e872 | 25-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Remove structure definitions from tee_fs_private.h
tee_fs_private can to be removed, because it contains: - Private structure definitions, that belong to each FS implemention and should therefore be
Remove structure definitions from tee_fs_private.h
tee_fs_private can to be removed, because it contains: - Private structure definitions, that belong to each FS implemention and should therefore be moved there, - Function prototypes that are used only privately and could very well be made static.
This commit addresses the first point (moving structure definitions).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c3e8a2d9 | 22-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/tee/tee_fs.c
tee_fs.c contains trivial wrappers, that will eventually go. Move them temporarily into tee_rpmb_fs.c and tee_fs_common.c (which will later be renamed tee_ree_fs.c).
Signed
Delete core/tee/tee_fs.c
tee_fs.c contains trivial wrappers, that will eventually go. Move them temporarily into tee_rpmb_fs.c and tee_fs_common.c (which will later be renamed tee_ree_fs.c).
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 41f9cfc2 | 20-Apr-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
Delete core/arch/arm/tee/arch_tee_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.
Delete core/arch/arm/tee/arch_tee_fs.c
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1779b630 | 20-Apr-2016 |
Pascal Brand <pascal.brand@st.com> |
TEE_CreatePersistentObject: fix TEE_DATA_FLAG_OVERWRITE
As specified by the GlobalPlatform Internal API v1.1 of TEE_CreatePersistentObject(): TEE_DATA_FLAG_OVERWRITE: If this flag is present and
TEE_CreatePersistentObject: fix TEE_DATA_FLAG_OVERWRITE
As specified by the GlobalPlatform Internal API v1.1 of TEE_CreatePersistentObject(): TEE_DATA_FLAG_OVERWRITE: If this flag is present and the object exists, then the object is deleted and re-created as an atomic operation: that is the TA sees either the old object or the new one.
Note that in this patch, the operation "delete and re-create" is not an atomic operation.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 36bf7ea8 | 01-Mar-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: bugfix static TA buffer from user TA
Before this patch the checks of the parameters buffers for a TA where required to be physical pointers. When a static TA is invoked from a user TA the virt
core: bugfix static TA buffer from user TA
Before this patch the checks of the parameters buffers for a TA where required to be physical pointers. When a static TA is invoked from a user TA the virtual addresses of the buffers aren't translated to physical addresses as they will be translated back to the same virtual address again. With this patch the parameters buffers are tagged as containing virtual addresses allowing the checks to take that into account.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7d82e180 | 29-Feb-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: bugfix syscall_invoke_ta_command()
Before this patch didn't syscall_invoke_ta_command() update out parameters if the return code from tee_ta_invoke_command() wasn't TEE_SUCCESS. With this patc
core: bugfix syscall_invoke_ta_command()
Before this patch didn't syscall_invoke_ta_command() update out parameters if the return code from tee_ta_invoke_command() wasn't TEE_SUCCESS. With this patch are out parameters always updated if tee_ta_invoke_command() has been called.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6fbac37e | 05-Nov-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
Minimal OP-TEE without user TAs
Hide all user TA related code under CFG_WITH_USER_TA. When compiled with: CFG_WITH_USER_TA=n CFG_CRYPTO=n CFG_ENC_FS=n CFG_SE_API=n CFG_PCSC_PASSTHRU_READER_DRV=n
Sk
Minimal OP-TEE without user TAs
Hide all user TA related code under CFG_WITH_USER_TA. When compiled with: CFG_WITH_USER_TA=n CFG_CRYPTO=n CFG_ENC_FS=n CFG_SE_API=n CFG_PCSC_PASSTHRU_READER_DRV=n
Skips building in static TA tests for features not enabled.
The size of OP-TEE is reduced to one third of its original size.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU xtest 1001) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c7ca8db1 | 09-Mar-2016 |
Pascal Brand <pascal.brand@st.com> |
Remove unused syscalls
A number of syscalls which are now unused have been removed: - TEE_SCN_DUMMY - TEE_SCN_DUMMY_7ARGS - TEE_SCN_GET_PROPERTY_OBSOLETE
This breaks binary compatibility
Reviewed-
Remove unused syscalls
A number of syscalls which are now unused have been removed: - TEE_SCN_DUMMY - TEE_SCN_DUMMY_7ARGS - TEE_SCN_GET_PROPERTY_OBSOLETE
This breaks binary compatibility
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 ...
|
| b8d220d2 | 09-Mar-2016 |
Pascal Brand <pascal.brand@st.com> |
Remove TEE_ARRAY_SIZE definition
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> |
| 43e30efd | 14-Jan-2016 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: deprecate old address translation functions
Deprecates the old address translation functions and removes their wrapper macros. All calls to the deprecated functions are replaced with calls to
core: deprecate old address translation functions
Deprecates the old address translation functions and removes their wrapper macros. All calls to the deprecated functions are replaced with calls to the new translation functions instead.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Joakim Bech <joakim.bech@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e43888b8 | 27-Mar-2015 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: new OPTEE_MSG interface
* Changes to a new OPTEE_MSG interface to work with the generic TEE driver. * Removes TEESMC64_* defines as the TEESMC32_* functions are enhanced to take 64bit values
core: new OPTEE_MSG interface
* Changes to a new OPTEE_MSG interface to work with the generic TEE driver. * Removes TEESMC64_* defines as the TEESMC32_* functions are enhanced to take 64bit values where required in pairs of 32bit registers instead. * Changes open session meta information to be passed in two value parameters instead of one memref.
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey) Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM) Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 41d71430 | 16-Feb-2016 |
Pascal Brand <pascal.brand@st.com> |
Properties: prepare to add vendor specific properties
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com> |
| ff857a3a | 15-Feb-2016 |
Pascal Brand <pascal.brand@st.com> |
Properties: fix in case of TEE_ERROR_SHORT_BUFFER
* TEE_ERROR_SHORT_BUFFER errors are better handled in case of of properties inside the Core. * String and Binary Block were contraints to have a l
Properties: fix in case of TEE_ERROR_SHORT_BUFFER
* TEE_ERROR_SHORT_BUFFER errors are better handled in case of of properties inside the Core. * String and Binary Block were contraints to have a length lower than 80 bytes due to the use of an internal structure. This is removed
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Pascal Brand <pascal.brand@st.com>
show more ...
|
| 64a5011e | 10-Feb-2016 |
Pascal Brand <pascal.brand@st.com> |
Properties in kernel side
In order to ease the inclusion of vendor-specific properties, properties are now mostly described in the kernel. This allows a lower synchronization between user-side and k
Properties in kernel side
In order to ease the inclusion of vendor-specific properties, properties are now mostly described in the kernel. This allows a lower synchronization between user-side and kernel-side.
The only properties now handled at user-side are TA properties (apart from "gpd.ta.appID") as well as the TEE property "gpd.tee.arith.maxBigIntSize"
Early discussion can be found at https://github.com/OP-TEE/optee_os/pull/460 and https://github.com/OP-TEE/optee_os/pull/482
Suggested-by: Paul Swan <paswan@microsoft.com> 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 ...
|
| 9e84c17e | 21-Jan-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
RPMB: add file encryption
Adds support for CFG_ENC_FS=y when CFG_RPMB_FS=y.
The files stored on an RPMB partition are encrypted with AES in Cipher Block Chaining (CBC) mode with Encrypted Salt/Sect
RPMB: add file encryption
Adds support for CFG_ENC_FS=y when CFG_RPMB_FS=y.
The files stored on an RPMB partition are encrypted with AES in Cipher Block Chaining (CBC) mode with Encrypted Salt/Sector Initialization Vector (ESSIV). Each file has it own 128-bit File Encryption Key (FEK), randomly chosen when the file is created. The FEK is added to the FAT entry for the file, it is always decrypted with the Secure Storage Key (SSK) before use. The file path is reduced accordingly, so that a FAT entry is still 256 bytes. Each 256-byte block in the file is encrypted as follows:
k = 128 bits of SHA256(FEK); IV = AES_Encrypt(k, block number); encrypted_block = AES_CBC(IV, FEK, block_data);
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a0749ba9 | 28-Jan-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
RPMB: update debug traces
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 88e6e089 | 27-Jan-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
RPMB: make device ID configurable
Introduce CFG_RPMB_FS_DEV_ID (default value: 0), so that the eMMC device used by the RPMB filesystem is easily configurable. For instance, set CFG_RPMB_FS_DEV_ID=1
RPMB: make device ID configurable
Introduce CFG_RPMB_FS_DEV_ID (default value: 0), so that the eMMC device used by the RPMB filesystem is easily configurable. For instance, set CFG_RPMB_FS_DEV_ID=1 for /dev/mmcblk1rpmb.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Pascal Brand <pascal.brand@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 188f5aa5 | 29-Jan-2016 |
Jerome Forissier <jerome.forissier@linaro.org> |
RPMB: make sure tee_rpmb_fs_write() is atomic
File updates have to be atomic, even in case of a powerdown event for instance. Therefore we must not write data in-place unless the update spans less t
RPMB: make sure tee_rpmb_fs_write() is atomic
File updates have to be atomic, even in case of a powerdown event for instance. Therefore we must not write data in-place unless the update spans less than rel_wr_blkcnt blocks.
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 ...
|