History log of /optee_os/ (Results 6851 – 6875 of 8382)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7ce4750122-Jun-2017 Peng Fan <peng.fan@nxp.com>

core: arm: psci: add helper functions

Add helper function psci_armv7_cpu_off.
This function will be used when use psci to offline a cpu.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Etie

core: arm: psci: add helper functions

Add helper function psci_armv7_cpu_off.
This function will be used when use psci to offline a cpu.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

2ecc12cb16-Jun-2017 Jerome Forissier <jerome.forissier@linaro.org>

Update documentation/github.md

The recommendations given in documentation/github.md do not reflect
our current practice very well, so update them.

Signed-off-by: Jerome Forissier <jerome.forissier@

Update documentation/github.md

The recommendations given in documentation/github.md do not reflect
our current practice very well, so update them.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

40c2618f22-Jun-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: fix TODOs related to TLB maintenance in the pager

Invalidate TLBs for target references instead of invalidating the
whole tables.

Some changes affect places where several references are modif

core: fix TODOs related to TLB maintenance in the pager

Invalidate TLBs for target references instead of invalidating the
whole tables.

Some changes affect places where several references are modified and
must be invalidated in the TLBs. This change aims at lowering the
synchronization barrier required before/after the TLB maintenance
operations.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey AArch{32,64} pager)

show more ...

f0d0c30122-Jun-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: deprecate core_tlb_maintenance()

The core_tlb_maintenance() indirection is not useful. This function is
now deprecated and one shall straight call tlbi_xxx() function instead.

Signed-off-by:

core: deprecate core_tlb_maintenance()

The core_tlb_maintenance() indirection is not useful. This function is
now deprecated and one shall straight call tlbi_xxx() function instead.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

c003701922-Jun-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: fix AArch64 implementation of tlbi_asid()

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

27a5473d22-Jun-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: add TLB invalidation by-mva-all-asid

tlbi_mva_allasid(): TLB invalidation by MVA for all ASID with all
synchronisation support.

tlbi_mva_allasid_nosync(): same invalidation but without the
sy

core: add TLB invalidation by-mva-all-asid

tlbi_mva_allasid(): TLB invalidation by MVA for all ASID with all
synchronisation support.

tlbi_mva_allasid_nosync(): same invalidation but without the
synchronization barriers.

Remove tlbi_mva_curasid that was disabled and not used.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

9862491222-Jun-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: rename secure_mmu_unifiedtlbinvXXX() into tlbi_XXX()

secure_mmu_unifiedtlbinvall() => tlbi_all()
secure_mmu_unifiedtlbinv_byasid() => tlbi_asid()
secure_mmu_unifiedtlbinvbymva() => tlbi_mva_cu

core: rename secure_mmu_unifiedtlbinvXXX() into tlbi_XXX()

secure_mmu_unifiedtlbinvall() => tlbi_all()
secure_mmu_unifiedtlbinv_byasid() => tlbi_asid()
secure_mmu_unifiedtlbinvbymva() => tlbi_mva_curasid()

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

8023b6d022-Jun-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: review TLB invalidation sequences

Align the AArch64 and AArch32 implementation of the TLB invalidation
sequences, mainly on synchronization barrier and implementation comments.

Signed-off-by:

core: review TLB invalidation sequences

Align the AArch64 and AArch32 implementation of the TLB invalidation
sequences, mainly on synchronization barrier and implementation comments.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

da2e26dd22-Jun-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: remove secure_mmu_unifiedtlbinv_curasid()

Remove duplicated code.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

359f3d8922-Jun-2017 Etienne Carriere <etienne.carriere@linaro.org>

core: add tlbi and dsb instructions

Add 32bit and 64bit dsbish and dsbishst instructions.
Add 32bit write_tlbimvaais macro for TLB maintenance.

Signed-off-by: Etienne Carriere <etienne.carriere@lin

core: add tlbi and dsb instructions

Add 32bit and 64bit dsbish and dsbishst instructions.
Add 32bit write_tlbimvaais macro for TLB maintenance.

Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

490c50df19-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: assign non-sec DDR configuration from DT

Assigns non-secure DDR configuration from device tree if CFG_DT=y. Already
present DDR configuration from register_nsec_ddr() is overridden.

Reviewed-

core: assign non-sec DDR configuration from DT

Assigns non-secure DDR configuration from device tree if CFG_DT=y. Already
present DDR configuration from register_nsec_ddr() is overridden.

Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

70cdca3519-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

plat-vexpress: use register_nsec_ddr()

Plat-vexpress uses register_nsec_ddr() to define the non-secure DDR
memory.

Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Reviewed-by: Etienne Carri

plat-vexpress: use register_nsec_ddr()

Plat-vexpress uses register_nsec_ddr() to define the non-secure DDR
memory.

Reviewed-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

e7a8839b15-Jun-2017 Volodymyr Babchuk <vlad.babchuk@gmail.com>

ABI change: add OPTEE_MSG_ATTR_NONCONTIG handling

This patch introduces new attribute OPTEE_MSG_ATTR_NONCONTIG to allow
Normal World pass arbitrary list of physical pages as a shared buffer.

To rea

ABI change: add OPTEE_MSG_ATTR_NONCONTIG handling

This patch introduces new attribute OPTEE_MSG_ATTR_NONCONTIG to allow
Normal World pass arbitrary list of physical pages as a shared buffer.

To read this list of page address two new functions are added:
- msg_param_extract_pages() is a helper function that read pages list
into provided array

- msg_param_mobj_from_noncontig_param() constructs mobj from provided
struct optee_msg_param parameter. This mobj then can be used in
various parts of OP-TEE

Signed-off-by: Volodymyr Babchuk <vlad.babchuk@gmail.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

13f187f415-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: update cache helpers

Updates AArch64 and ARMv7 cache helpers from lib/aarch32/cache_helpers.S
and lib/aarch64/cache_helpers.S in ARM-TF,
https://github.com/ARM-software/arm-trusted-firmware/tr

core: update cache helpers

Updates AArch64 and ARMv7 cache helpers from lib/aarch32/cache_helpers.S
and lib/aarch64/cache_helpers.S in ARM-TF,
https://github.com/ARM-software/arm-trusted-firmware/tree/2bd26faf62411c75111fea4b23c542865383b068

The imported routines only covers the inner cache. Already present ARMv7
cache routines are replaced by the new equivalent routines. The AArch64
routines are updated with the resent changes in ARM-TF.

The imported files are modified to better fit into OP-TEE, some
functions and defines are renamed.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey AArch{32,64} pager)
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Juno AArch{32,64} pager)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

d077a45315-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: arm32_macros.S: add cache related macros

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

d125a90c15-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: arm32_macros.S: sort macros

Sorts macros and fixes the macro write_bpial

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

1532937815-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: arm.h: add cache related defines

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

23e2942e20-Jun-2017 Zhizhou Zhang <zhizhouzhang@asrmicro.com>

core: fix incorrect IRQ mask for CFG_ARM_GICV3

For GICV3 situation, IRQ is used as native interrupt. This patch
also suppressed assert in thread_user_save_vfp().

Signed-off-by: Zhizhou Zhang <zhizh

core: fix incorrect IRQ mask for CFG_ARM_GICV3

For GICV3 situation, IRQ is used as native interrupt. This patch
also suppressed assert in thread_user_save_vfp().

Signed-off-by: Zhizhou Zhang <zhizhouzhang@asrmicro.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

abdd645a20-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: arm64: bugfix invalidate touched init memory

The entire range of memory touched during init need to be invalidated in
the caches before enabling the caches.

Prior to this patch with CFG_WITH_

core: arm64: bugfix invalidate touched init memory

The entire range of memory touched during init need to be invalidated in
the caches before enabling the caches.

Prior to this patch with CFG_WITH_PAGER=y the caches where only
invalidated until __init_end which isn't enough, memory up to
__tmp_hashes_end is actually touched. With this patch the range is
increased to __tmp_hashes_end which is the same as is used in the arm32
code.

Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey 32/64)
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Hikey 64-bit pager)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

af1e8e5219-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: reduce init size

Dramatically reduces init size by excluding __wq_rpc() from the init
graph. Without __wq_rpc() in the init grapth, the entire LibTomCrypt is
removed for the init graph.

Teste

core: reduce init size

Dramatically reduces init size by excluding __wq_rpc() from the init
graph. Without __wq_rpc() in the init grapth, the entire LibTomCrypt is
removed for the init graph.

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

show more ...

62aeb34b19-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: reduce unpaged size

Reduces unpaged size by excluding __thread_std_smc_entry() from the
unpaged graph.

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

core: reduce unpaged size

Reduces unpaged size by excluding __thread_std_smc_entry() from the
unpaged graph.

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

show more ...

95e4998a19-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: arm: use weak symbols to reduce dependency graphs

Makes functions that need to be excluded from unpaged and init parts of
the TEE binary weak. When building the dependency graph for init and
u

core: arm: use weak symbols to reduce dependency graphs

Makes functions that need to be excluded from unpaged and init parts of
the TEE binary weak. When building the dependency graph for init and
unpaged parts an empty version of those functions (from
core/arch/arm/kernel/link_dummies.c) are used instead.

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

show more ...

a04aa50f19-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: bugfix undefined behavior in expand_prel31()

Fixes undefined behavior in expand_prel31() detected with
CFG_CORE_SANITIZE_UNDEFINED=y

ERROR: [0x0] TEE-CORE: Undefined behavior shift_out_of_b

core: bugfix undefined behavior in expand_prel31()

Fixes undefined behavior in expand_prel31() detected with
CFG_CORE_SANITIZE_UNDEFINED=y

ERROR: [0x0] TEE-CORE: Undefined behavior shift_out_of_bounds at core/arch/arm/kernel/unwind_arm32.c:102 col 42
ERROR: [0x0] TEE-CORE: Panic at core/kernel/ubsan.c:189 <__ubsan_handle_shift_out_of_bounds>

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

show more ...

1cab7c3219-Jun-2017 Jens Wiklander <jens.wiklander@linaro.org>

core: ubsan: fix __ubsan_handle_nonnull_arg()

Fixes error:
core/kernel/ubsan.c:114:6: error: conflicting types for built-in function '__ubsan_handle_nonnull_arg' [-Werror]
void __ubsan_handle_nonnu

core: ubsan: fix __ubsan_handle_nonnull_arg()

Fixes error:
core/kernel/ubsan.c:114:6: error: conflicting types for built-in function '__ubsan_handle_nonnull_arg' [-Werror]
void __ubsan_handle_nonnull_arg(struct nonnull_arg_data *data, size_t arg_no);
^~~~~~~~~~~~~~~~~~~~~~~~~~
core/kernel/ubsan.c:229:6: error: conflicting types for built-in function '__ubsan_handle_nonnull_arg' [-Werror]
void __ubsan_handle_nonnull_arg(struct nonnull_arg_data *data,
^~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

When compiling with gcc 6.2.1

For the record: with GCC 6.0.0 __ubsan_handle_nonnull_arg() was changed to
take only one argument.

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

show more ...

40b1b28122-Mar-2017 Joakim Bech <joakim.bech@linaro.org>

libmpa: Implement Montgomery ladder

The mpa_exp_mod() function implements a LtoR algorithm. The LtoR
algorithm is sensitive to timing attacks since it leaks information
about the exponent since it's

libmpa: Implement Montgomery ladder

The mpa_exp_mod() function implements a LtoR algorithm. The LtoR
algorithm is sensitive to timing attacks since it leaks information
about the exponent since it's doing a different amount of work in each
loop when doing the modular exponentiation. It will always do a square
in each loop, but it will also do an additional multiply when the
exponent bit k=1.

This patch implements the Montgomery ladder (and thereby replaces the
old LtoR implementation), which always does the same amount of
operations in each loop and thereby make it more robust to timing
attacks.

Fixes: OP-TEE-2016-0002 which was reported by Applus+ Laboratories.

Signed-off-by: Joakim Bech <joakim.bech@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey, GP)
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260, GP)

show more ...

1...<<271272273274275276277278279280>>...336