History log of /optee_os/core/include/ (Results 1151 – 1175 of 1292)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
0c96a71d25-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 ...

a025a92a25-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 ...

c3e8a2d922-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 ...

41f9cfc220-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 ...

36bf7ea801-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 ...

0dcfe3a718-Feb-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: map TA with strict permissions

Maps user TA with strict permissions. Blocks with mixed permissions are
mapped with the union of the permissions. In order to take full
advantage of the strict p

core: map TA with strict permissions

Maps user TA with strict permissions. Blocks with mixed permissions are
mapped with the union of the permissions. In order to take full
advantage of the strict permissions TAs should be mapped using small
pages, that is, using the config option CFG_SMALL_PAGE_USER_TA = y.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM)
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, Juno)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

d5fdcda523-Jan-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: rename TEE_MATTR_PHYS_BLOCK

Renames TEE_MATTR_PHYS_BLOCK to TEE_MATTR_HIDDEN_DIRTY_BLOCK.

Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@lin

core: rename TEE_MATTR_PHYS_BLOCK

Renames TEE_MATTR_PHYS_BLOCK to TEE_MATTR_HIDDEN_DIRTY_BLOCK.

Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.travis.yml
/optee_os/CHANGELOG.md
/optee_os/README.md
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/thread.h
/optee_os/core/arch/arm/include/mm/core_mmu.h
/optee_os/core/arch/arm/include/mm/pgt_cache.h
/optee_os/core/arch/arm/kernel/elf_load.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_private.h
/optee_os/core/arch/arm/kernel/user_ta.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/core_mmu_private.h
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/mm/pgt_cache.c
/optee_os/core/arch/arm/mm/sub.mk
/optee_os/core/arch/arm/mm/tee_mmu.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-imx/platform_config.h
/optee_os/core/arch/arm/plat-ls/platform_config.h
/optee_os/core/arch/arm/plat-mediatek/platform_config.h
/optee_os/core/arch/arm/plat-stm/asc.S
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm/platform_config.h
/optee_os/core/arch/arm/plat-stm/tz_a9init.S
/optee_os/core/arch/arm/plat-sunxi/platform_config.h
/optee_os/core/arch/arm/plat-ti/platform_config.h
/optee_os/core/arch/arm/plat-vexpress/platform_config.h
mm/tee_mmu_types.h
/optee_os/lib/libutils/ext/arch/arm/atomic_a32.S
/optee_os/lib/libutils/ext/arch/arm/atomic_a64.S
/optee_os/lib/libutils/ext/arch/arm/sub.mk
/optee_os/lib/libutils/ext/include/atomic.h
/optee_os/lib/libutils/ext/sub.mk
/optee_os/lib/libutils/ext/trace.c
/optee_os/lib/libutils/isoc/include/stdint.h
/optee_os/mk/config.mk
8a86d34515-Feb-2016 Jens Wiklander <jens.wiklander@linaro.org>

optee_msg: add OPTEE_MSG_RPC_CMD_SHM_FREE

Buffers allocated with OPTEE_MSG_RPC_CMD_SHM_ALLOC must be freed
with OPTEE_MSG_RPC_CMD_SHM_FREE to help normal world driver to
route the message correctly.

optee_msg: add OPTEE_MSG_RPC_CMD_SHM_FREE

Buffers allocated with OPTEE_MSG_RPC_CMD_SHM_ALLOC must be freed
with OPTEE_MSG_RPC_CMD_SHM_FREE to help normal world driver to
route the message correctly.

Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

c7ca8db109-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 ...

b8d220d209-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>

43e30efd14-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 ...

b7a1368211-Jan-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: add new address translation functions

Adds two new functions for address translations, virt_to_phys() and
phys_to_virt() that eventually will replace all other such functions.

Reviewed-by: Pa

core: add new address translation functions

Adds two new functions for address translations, virt_to_phys() and
phys_to_virt() that eventually will replace all other such functions.

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 ...

e43888b827-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 ...


/optee_os/.travis.yml
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/kernel/misc.h
/optee_os/core/arch/arm/include/kernel/tee_l2cc_mutex.h
/optee_os/core/arch/arm/include/kernel/thread.h
/optee_os/core/arch/arm/include/sm/optee_smc.h
/optee_os/core/arch/arm/include/sm/teesmc_opteed_macros.h
/optee_os/core/arch/arm/kernel/generic_entry_a32.S
/optee_os/core/arch/arm/kernel/generic_entry_a64.S
/optee_os/core/arch/arm/kernel/tee_l2cc_mutex.c
/optee_os/core/arch/arm/kernel/tee_time.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/thread_private.h
/optee_os/core/arch/arm/kernel/user_ta.c
/optee_os/core/arch/arm/kernel/wait_queue.c
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/mm/tee_mmu.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-sunxi/entry.S
/optee_os/core/arch/arm/plat-sunxi/main.c
/optee_os/core/arch/arm/plat-sunxi/platform.c
/optee_os/core/arch/arm/plat-sunxi/platform.h
/optee_os/core/arch/arm/plat-sunxi/smp_boot.S
/optee_os/core/arch/arm/sm/sm.c
/optee_os/core/arch/arm/sm/sm_a32.S
/optee_os/core/arch/arm/tee/arch_tee_fs.c
/optee_os/core/arch/arm/tee/entry_fast.c
/optee_os/core/arch/arm/tee/entry_std.c
/optee_os/core/arch/arm/tee/tee_rpmb.c
mm/tee_mmu.h
mm/tee_mmu_types.h
optee_msg.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_custom.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_macros.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_pk.h
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/bit/der_decode_raw_bit_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/bit/der_encode_raw_bit_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/bit/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/boolean/der_decode_boolean.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/choice/der_decode_choice.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/integer/der_encode_integer.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/integer/der_length_integer.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_ex.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_flexi.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_sequence_multi.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_decode_subject_public_key_info.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_ex.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_encode_sequence_multi.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_encode_subject_public_key_info.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_length_sequence.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/der_sequence_free.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sequence/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/set/der_encode_set.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/set/der_encode_setof.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/teletex_string/der_decode_teletex_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/teletex_string/der_length_teletex_string.c
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/teletex_string/sub.mk
/optee_os/core/lib/libtomcrypt/src/pk/asn1/der/utf8/der_encode_utf8_string.c
/optee_os/core/tee/tee_fs.c
/optee_os/core/tee/tee_svc.c
/optee_os/documentation/optee_design.md
/optee_os/lib/libutils/ext/trace.c
/optee_os/mk/compile.mk
/optee_os/mk/config.mk
/optee_os/mk/gcc.mk
9161df5016-Feb-2016 Pascal Brand <pascal.brand@st.com>

Properties: Adding Microsoft specific property

As an example on how to add vendor specific properties,
the microsoft specific property is added.

Original pull-request is
https://github.com/OP-T

Properties: Adding Microsoft specific property

As an example on how to add vendor specific properties,
the microsoft specific property is added.

Original pull-request is
https://github.com/OP-TEE/optee_os/pull/460

Suggested-by: Paul Swan <paswan@microsoft.com>
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 ...

41d7143016-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>

64a5011e10-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 ...


/optee_os/.travis.yml
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/plat-vexpress/platform_config.h
/optee_os/core/arch/arm/tee/arch_svc.c
tee/tee_svc.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_cipher.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_hash.h
/optee_os/core/lib/libtomcrypt/include/tomcrypt_prng.h
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_add_aad.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_add_nonce.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_done.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_init.c
/optee_os/core/lib/libtomcrypt/src/encauth/ccm/ccm_process.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_done.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_init.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_memory.c
/optee_os/core/lib/libtomcrypt/src/encauth/gcm/gcm_process.c
/optee_os/core/lib/libtomcrypt/src/hashes/helper/hash_memory.c
/optee_os/core/lib/libtomcrypt/src/hashes/helper/hash_memory_multi.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_done.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_init.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/hmac/hmac_process.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_done.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_init.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_memory.c
/optee_os/core/lib/libtomcrypt/src/mac/omac/omac_process.c
/optee_os/core/lib/libtomcrypt/src/math/rand_prime.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_cipher_descriptor.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_cipher_is_valid.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_cipher.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_cipher_any.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_cipher_id.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash_any.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash_id.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_hash_oid.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_find_prng.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_hash_descriptor.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_hash_is_valid.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_prng_descriptor.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_prng_is_valid.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_cipher.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_hash.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_register_prng.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_unregister_cipher.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_unregister_hash.c
/optee_os/core/lib/libtomcrypt/src/misc/crypt/crypt_unregister_prng.c
/optee_os/core/lib/libtomcrypt/src/modes/cbc/cbc_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/cbc/cbc_done.c
/optee_os/core/lib/libtomcrypt/src/modes/cbc/cbc_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/cbc/cbc_start.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_done.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_setiv.c
/optee_os/core/lib/libtomcrypt/src/modes/ctr/ctr_start.c
/optee_os/core/lib/libtomcrypt/src/modes/ecb/ecb_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/ecb/ecb_done.c
/optee_os/core/lib/libtomcrypt/src/modes/ecb/ecb_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/ecb/ecb_start.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_decrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_done.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_encrypt.c
/optee_os/core/lib/libtomcrypt/src/modes/xts/xts_init.c
/optee_os/core/lib/libtomcrypt/src/pk/dh/dh.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_encrypt_key.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_make_key.c
/optee_os/core/lib/libtomcrypt/src/pk/dsa/dsa_sign_hash.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_make_key.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_sign_hash.c
/optee_os/core/lib/libtomcrypt/src/pk/rsa/rsa_verify_hash.c
/optee_os/core/lib/libtomcrypt/src/prngs/rng_make_prng.c
/optee_os/core/lib/libtomcrypt/src/tee_ltc_provider.c
/optee_os/core/tee/tee_svc.c
/optee_os/lib/libutee/arch/arm/utee_syscalls_asm.S
/optee_os/lib/libutee/include/tee_syscall_numbers.h
/optee_os/lib/libutee/include/utee_syscalls.h
/optee_os/lib/libutee/include/utee_types.h
/optee_os/lib/libutee/tee_api_property.c
9e84c17e21-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 ...


/optee_os/.travis.yml
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/kernel/thread.h
/optee_os/core/arch/arm/include/kernel/unwind.h
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/generic_entry_a32.S
/optee_os/core/arch/arm/kernel/kern.ld.S
/optee_os/core/arch/arm/kernel/misc_a32.S
/optee_os/core/arch/arm/kernel/proc_a32.S
/optee_os/core/arch/arm/kernel/ssvce_a32.S
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/thread_private.h
/optee_os/core/arch/arm/kernel/tz_ssvce_pl310_a32.S
/optee_os/core/arch/arm/kernel/unwind_arm32.c
/optee_os/core/arch/arm/kernel/unwind_arm64.c
/optee_os/core/arch/arm/kernel/vfp_a32.S
/optee_os/core/arch/arm/mm/core_mmu_v7.c
/optee_os/core/arch/arm/plat-hikey/main.c
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-ls/ls_core_pos.S
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-mediatek/main.c
/optee_os/core/arch/arm/plat-mediatek/mt8173_core_pos_a32.S
/optee_os/core/arch/arm/plat-stm/asc.S
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm/tz_a9init.S
/optee_os/core/arch/arm/plat-sunxi/entry.S
/optee_os/core/arch/arm/plat-sunxi/kern.ld.S
/optee_os/core/arch/arm/plat-sunxi/main.c
/optee_os/core/arch/arm/plat-sunxi/smp_boot.S
/optee_os/core/arch/arm/plat-sunxi/smp_fixup.S
/optee_os/core/arch/arm/plat-ti/main.c
/optee_os/core/arch/arm/plat-vexpress/juno_core_pos_a32.S
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/sm/sm_a32.S
/optee_os/core/arch/arm/tee/arch_svc_a32.S
/optee_os/core/arch/arm/tee/tee_rpmb.c
/optee_os/core/core.mk
tee/tee_fs_key_manager.h
tee/tee_rpmb.h
tee/tee_rpmb_fs.h
/optee_os/core/tee/sub.mk
/optee_os/core/tee/tee_fs_key_manager.c
/optee_os/core/tee/tee_rpmb_fs.c
/optee_os/documentation/build_system.md
/optee_os/mk/config.mk
/optee_os/scripts/mem_usage.awk
/optee_os/ta/mk/ta_dev_kit.mk
/optee_os/ta/ta.mk
188f5aa529-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 ...


/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/arm32.h
/optee_os/core/arch/arm/include/kernel/abort.h
/optee_os/core/arch/arm/include/kernel/thread.h
/optee_os/core/arch/arm/include/kernel/thread_defs.h
/optee_os/core/arch/arm/include/kernel/user_ta.h
/optee_os/core/arch/arm/include/kernel/vfp.h
/optee_os/core/arch/arm/include/mm/tee_pager.h
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/elf_load.c
/optee_os/core/arch/arm/kernel/generic_boot.c
/optee_os/core/arch/arm/kernel/sub.mk
/optee_os/core/arch/arm/kernel/tee_ta_manager.c
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/kernel/thread_private.h
/optee_os/core/arch/arm/kernel/user_ta.c
/optee_os/core/arch/arm/kernel/vfp.c
/optee_os/core/arch/arm/kernel/wait_queue.c
/optee_os/core/arch/arm/mm/sub.mk
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-hikey/main.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-ls/conf.mk
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-mediatek/main.c
/optee_os/core/arch/arm/plat-stm/conf.mk
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-sunxi/conf.mk
/optee_os/core/arch/arm/plat-sunxi/main.c
/optee_os/core/arch/arm/plat-ti/conf.mk
/optee_os/core/arch/arm/plat-ti/main.c
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/tee/arch_svc.c
/optee_os/core/arch/arm/tee/tee_rpmb.c
/optee_os/core/core.mk
tee/tee_rpmb.h
/optee_os/core/kernel/panic.c
/optee_os/core/lib/libtomcrypt/src/tee_ltc_provider.c
/optee_os/core/tee/tee_rpmb_fs.c
/optee_os/core/tee/tee_svc.c
/optee_os/core/tee/tee_svc_cryp.c
/optee_os/lib/libutee/assert.c
/optee_os/lib/libutils/ext/include/compiler.h
/optee_os/lib/libutils/isoc/arch/arm/arm32_aeabi_softfloat.c
/optee_os/mk/config.mk
0795afd027-Nov-2015 Jens Wiklander <jens.wiklander@linaro.org>

core: merge tee_ta_manager{,_unpg}.{c,h}

Merges tee_ta_manager_unpg.h into tee_ta_manager.h and
tee_ta_manager_unpg.c into tee_ta_manager.c

Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewe

core: merge tee_ta_manager{,_unpg}.{c,h}

Merges tee_ta_manager_unpg.h into tee_ta_manager.h and
tee_ta_manager_unpg.c into tee_ta_manager.c

Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
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 ...

046ffe6127-Nov-2015 Jens Wiklander <jens.wiklander@linaro.org>

core: move cache syscall

Moves cache syscall code to arch/arm/tee

Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Jens Wiklander

core: move cache syscall

Moves cache syscall code to arch/arm/tee

Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

a0fdab6505-Jan-2016 Jens Wiklander <jens.wiklander@linaro.org>

Assembly files should use FUNC* macros

* All assembly files should use the FUNC* macros for interwork to work
properly.
* Moves asm.S into libutils to make it available for TA libs

Reviewed-by: J

Assembly files should use FUNC* macros

* All assembly files should use the FUNC* macros for interwork to work
properly.
* Moves asm.S into libutils to make it available for TA libs

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32/64 bits)
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 ...

a8a78b8527-Nov-2015 Jerome Forissier <jerome.forissier@linaro.org>

core: RPMB (Replay Protected Memory Block) filesystem support

This is an update to the RPMB filesystem implementation so that the
persistent object API may use RPMB rather than the REE filesystem.
T

core: RPMB (Replay Protected Memory Block) filesystem support

This is an update to the RPMB filesystem implementation so that the
persistent object API may use RPMB rather than the REE filesystem.
This feature is enabled with CFG_RPMB_FS=y.
Note that this implementation requires support from the non-secure side
to actually access the RPMB partition, as there is no eMMC driver here.
Also, the code is currently not compatible with CFG_ENC_FS (file
encryption), which must be set to 'n'. Encryption will be added later.

Signed-off-by: Youssef Esmat <youssef.esmat@microsoft.com>
Signed-off-by: Paul Swan <Paul.Swan@microsoft.com>
[Rebased onto master, Linux driver/tee-supplicant support]
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 ...

8684fde826-Nov-2015 Jens Wiklander <jens.wiklander@linaro.org>

core: split struct tee_ta_ctx

Moves user ta specific parts into struct user_ta_ctx and static ta
specific parts into struct static_ta_ctx.

Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested

core: split struct tee_ta_ctx

Moves user ta specific parts into struct user_ta_ctx and static ta
specific parts into struct static_ta_ctx.

Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

0dcea1a325-Nov-2015 Jens Wiklander <jens.wiklander@linaro.org>

core: split tee_ta_manager.c

Isolates static and user TA specifics into separate files. Almost no change
in behaviour, except some changes for static TA to be more consistent.

Reviewed-by: Pascal B

core: split tee_ta_manager.c

Isolates static and user TA specifics into separate files. Almost no change
in behaviour, except some changes for static TA to be more consistent.

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 ...

9fa130bf30-Nov-2015 Jens Wiklander <jens.wiklander@linaro.org>

core: Add KEEP_PAGER() and KEEP_INIT() macros

Adds KEEP_PAGER(sym) and KEEP_INIT(sym) macros which makes supplied
symbol available for pager or init code respectively.

Reviewed-by: Joakim Bech <joa

core: Add KEEP_PAGER() and KEEP_INIT() macros

Adds KEEP_PAGER(sym) and KEEP_INIT(sym) macros which makes supplied
symbol available for pager or init code respectively.

Reviewed-by: Joakim Bech <joakim.bech@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

1...<<41424344454647484950>>...52