History log of /optee_os/core/ (Results 5976 – 6000 of 6456)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
6e2fdc2514-Jan-2016 Jens Wiklander <jens.wiklander@linaro.org>

core: thread specific data

Represent thread specific data with struct thread_specific_data.

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

core: thread specific data

Represent thread specific data with struct thread_specific_data.

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

show more ...

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

core: remove CFG_MMU_V7_TTB

Since all platforms are using CFG_MMU_V7_TTB when applicable the config
option is redundant. This patch removes CFG_MMU_V7_TTB and makes some
related functions static.

R

core: remove CFG_MMU_V7_TTB

Since all platforms are using CFG_MMU_V7_TTB when applicable the config
option is redundant. This patch removes CFG_MMU_V7_TTB and makes some
related functions static.

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

show more ...

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

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

arm: add auto generated asm-defines.h

Adds defines for assembly access to:
* struct thread_ctx
* struct thread_user_mode_rec
* struct thread_core_local
* struct thread_smc_args
* struct thread_abort

arm: add auto generated asm-defines.h

Adds defines for assembly access to:
* struct thread_ctx
* struct thread_user_mode_rec
* struct thread_core_local
* struct thread_smc_args
* struct thread_abort_regs
* struct thread_user_mode_rec
as needed from assembly code replacing previous definitions in
kernel/thread.h and thread_private.h.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU, FVP)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

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

core: add auto generated asm-defines.h

The temporary files are all stored alongside asm-defines.h, and are
named: .asm-defines.s, .asm-defines.s.d, .asm-defines.s.cmd.

Reviewed-by: Jerome Forissier

core: add auto generated asm-defines.h

The temporary files are all stored alongside asm-defines.h, and are
named: .asm-defines.s, .asm-defines.s.d, .asm-defines.s.cmd.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

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

vexpress: add flavor qemu_armv8a

Adds qemu_armv8a flavor to the vexpress platform.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org>

vexpress: add flavor qemu_armv8a

Adds qemu_armv8a flavor to the vexpress platform.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU-armv8a boot only)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

345bee4a16-Feb-2016 Jens Wiklander <jens.wiklander@linaro.org>

vexpress: remove platform flavor qemu

Removes the plain QEMU flavor.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

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

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

ltc: make cipher_descriptor a pointer to descriptors

Saves 3376 bytes by making cipher_descriptor an array of pointers to
descriptor instead of an array of descriptors.

Reviewed-by: Jerome Forissie

ltc: make cipher_descriptor a pointer to descriptors

Saves 3376 bytes by making cipher_descriptor an array of pointers to
descriptor instead of an array of descriptors.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


lib/libtomcrypt/include/tomcrypt_cipher.h
lib/libtomcrypt/src/encauth/ccm/ccm_add_aad.c
lib/libtomcrypt/src/encauth/ccm/ccm_add_nonce.c
lib/libtomcrypt/src/encauth/ccm/ccm_done.c
lib/libtomcrypt/src/encauth/ccm/ccm_init.c
lib/libtomcrypt/src/encauth/ccm/ccm_process.c
lib/libtomcrypt/src/encauth/gcm/gcm_done.c
lib/libtomcrypt/src/encauth/gcm/gcm_init.c
lib/libtomcrypt/src/encauth/gcm/gcm_memory.c
lib/libtomcrypt/src/encauth/gcm/gcm_process.c
lib/libtomcrypt/src/mac/omac/omac_done.c
lib/libtomcrypt/src/mac/omac/omac_init.c
lib/libtomcrypt/src/mac/omac/omac_memory.c
lib/libtomcrypt/src/mac/omac/omac_process.c
lib/libtomcrypt/src/misc/crypt/crypt_cipher_descriptor.c
lib/libtomcrypt/src/misc/crypt/crypt_cipher_is_valid.c
lib/libtomcrypt/src/misc/crypt/crypt_find_cipher.c
lib/libtomcrypt/src/misc/crypt/crypt_find_cipher_any.c
lib/libtomcrypt/src/misc/crypt/crypt_find_cipher_id.c
lib/libtomcrypt/src/misc/crypt/crypt_register_cipher.c
lib/libtomcrypt/src/misc/crypt/crypt_unregister_cipher.c
lib/libtomcrypt/src/modes/cbc/cbc_decrypt.c
lib/libtomcrypt/src/modes/cbc/cbc_done.c
lib/libtomcrypt/src/modes/cbc/cbc_encrypt.c
lib/libtomcrypt/src/modes/cbc/cbc_start.c
lib/libtomcrypt/src/modes/ctr/ctr_done.c
lib/libtomcrypt/src/modes/ctr/ctr_encrypt.c
lib/libtomcrypt/src/modes/ctr/ctr_setiv.c
lib/libtomcrypt/src/modes/ctr/ctr_start.c
lib/libtomcrypt/src/modes/ecb/ecb_decrypt.c
lib/libtomcrypt/src/modes/ecb/ecb_done.c
lib/libtomcrypt/src/modes/ecb/ecb_encrypt.c
lib/libtomcrypt/src/modes/ecb/ecb_start.c
lib/libtomcrypt/src/modes/xts/xts_decrypt.c
lib/libtomcrypt/src/modes/xts/xts_done.c
lib/libtomcrypt/src/modes/xts/xts_encrypt.c
lib/libtomcrypt/src/modes/xts/xts_init.c
lib/libtomcrypt/src/tee_ltc_provider.c
3015f56415-Jan-2016 Jens Wiklander <jens.wiklander@linaro.org>

ltc: make hash_descriptor a pointer to descriptors

Saves 3288 bytes by making hash_descriptor an array of pointers to
descriptor instead of an array of descriptors.

Reviewed-by: Jerome Forissier <j

ltc: make hash_descriptor a pointer to descriptors

Saves 3288 bytes by making hash_descriptor an array of pointers to
descriptor instead of an array of descriptors.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

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

ltc: make prng_descriptor a pointer to descriptors

Saves 1184 bytes by making prng_descriptor an array of pointers to
descriptors instead of an array of descriptors.

Reviewed-by: Jerome Forissier <

ltc: make prng_descriptor a pointer to descriptors

Saves 1184 bytes by making prng_descriptor an array of pointers to
descriptors instead of an array of descriptors.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

49d0f60d02-Dec-2015 Jens Wiklander <jens.wiklander@linaro.org>

core: link with --gc-sections

Link OP-TEE Core with --gc-sections to remove unused code, saves ~8KiB.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens

core: link with --gc-sections

Link OP-TEE Core with --gc-sections to remove unused code, saves ~8KiB.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

202cacd619-Dec-2015 Jens Wiklander <jens.wiklander@linaro.org>

arm: compile without -mlong-calls

Compiles without compiler option -mlong-calls, saves ~12 KiB.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wikla

arm: compile without -mlong-calls

Compiles without compiler option -mlong-calls, saves ~12 KiB.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

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

plat-vexpress: FVP change shared memory range

Changes shared memory range used on FVP since the old shared memory
region conflicts with something on recent kernels (problem seen on
v4.4).

Because o

plat-vexpress: FVP change shared memory range

Changes shared memory range used on FVP since the old shared memory
region conflicts with something on recent kernels (problem seen on
v4.4).

Because of the conflict the kernel refuses to reserve the shared memory
resulting in occasional memory corruption.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

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

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

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

923c1f3406-Dec-2015 Jens Wiklander <jens.wiklander@linaro.org>

core: stack unwinding

Adds support for stack unwinding, currently only done for fatal aborts
from kernel mode if CFG_CORE_UNWIND = y

The ARMv7/Aarch32 implementation uses -funwind-tables to generat

core: stack unwinding

Adds support for stack unwinding, currently only done for fatal aborts
from kernel mode if CFG_CORE_UNWIND = y

The ARMv7/Aarch32 implementation uses -funwind-tables to generate frame
unwinding information which is quite large. Enabling stack unwinding
currently consumes ~8 KiB. The code to parse the frame unwind
information is imported from FreeBSD.

The Aarch64 implementation takes advantage of the frame pointer and has
minimal overhead. The core code to unwind the stack is imported from
FreeBSD.

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

a1989c0909-Feb-2016 Patrick Delaunay <patrick.delaunay73@gmail.com>

core/armv7: solve map issue for unaligned pa

in the function map_page_memarea() the l2 address alignment
is not correctly handled that cause issue when parameter
mm->pa is not aligned with section s

core/armv7: solve map issue for unaligned pa

in the function map_page_memarea() the l2 address alignment
is not correctly handled that cause issue when parameter
mm->pa is not aligned with section size
(ex: mm->pa=0x2ffc0000 => l2[192] = 0x30080416)

=> SECTION_MASK should be used instead of SMALL_PAGE_MASK

Change-Id: Ibc7aa5063265a78112bff761fdb55490cfc0d7f3
Signed-off-by: Patrick Delaunay <patrick.delaunay73@gmail.com>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

c042fbef05-Feb-2016 Jerome Forissier <jerome.forissier@linaro.org>

Introduce CROSS_COMPILE32 and CROSS_COMPILE64

Currently, to build a 64-bit TEE core (as well as mixed 32- and 64-bit
TA libraries, which are automatically enabled in this case), one has to
set too m

Introduce CROSS_COMPILE32 and CROSS_COMPILE64

Currently, to build a 64-bit TEE core (as well as mixed 32- and 64-bit
TA libraries, which are automatically enabled in this case), one has to
set too many compiler variables:

$ make PLATFORM=hikey CFG_ARM64_core=y \
CROSS_COMPILE_core=aarch64-linux-gnu- \
CROSS_COMPILE_ta_arm64=aarch64-linux-gnu-

This commit introduces two variables, CROSS_COMPILE32 and
CROSS_COMPILE64. They take appropriate default values, so that the
above line may be simplified as:

$ make PLATFORM=hikey CFG_ARM64_core=y

The change remains compatible with previous builds, i.e., CROSS_COMPILE
can still be used to define the 32-bit compiler because CROSS_COMPILE32
defaults to $(CROSS_COMPILE). Similarly, CROSS_COMPILE_core and
CROSS_COMPILE_ta_arm{32,64} are still used so they may be overridden
too.

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

1aa8bb3218-Dec-2015 Jens Wiklander <jens.wiklander@linaro.org>

core: remove registration of svc and abort handlers

Removes the possibility to register svc and abort handlers as the same
handler is always used. The svc and abort handlers are also so closely
tied

core: remove registration of svc and abort handlers

Removes the possibility to register svc and abort handlers as the same
handler is always used. The svc and abort handlers are also so closely
tied to thread system that it would be difficult and error prone to use
alternative handlers.

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

show more ...

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

0de9a5fb11-Dec-2015 Jens Wiklander <jens.wiklander@linaro.org>

arm: add TA hard-float support

Adds support for hard-float in TAs. Hard-float is enabled by default for
all platforms which are capable, currently all. Soft-float is still
available if needed.

Revi

arm: add TA hard-float support

Adds support for hard-float in TAs. Hard-float is enabled by default for
all platforms which are capable, currently all. Soft-float is still
available if needed.

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

show more ...

3276098d03-Feb-2016 Jerome Forissier <jerome.forissier@linaro.org>

core: introduce __maybe_unused

When a variable, parameter or function may or may not be referenced
depending on some conditional compilation setting, mark it with
__maybe_unused instead of __unused.

core: introduce __maybe_unused

When a variable, parameter or function may or may not be referenced
depending on some conditional compilation setting, mark it with
__maybe_unused instead of __unused. The goal is to improve code
legibility.

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

29e6329116-Dec-2015 Jens Wiklander <jens.wiklander@linaro.org>

core: abort.{c,h} refactoring

Renames structs, functions and defines to show that they are part of the
abort module.

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

core: abort.{c,h} refactoring

Renames structs, functions and defines to show that they are part of the
abort module.

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, FVP)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

1...<<231232233234235236237238239240>>...259