History log of /optee_os/core/include/ (Results 826 – 850 of 1292)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7222fc6a06-Aug-2019 Cedric Neveux <cedric.neveux@nxp.com>

core: driver: generic resources for crypto device driver

Add a generic cryptographic driver interface connecting
TEE Crypto generic APIs to HW driver interface

The Generic Crypto Driver interface i

core: driver: generic resources for crypto device driver

Add a generic cryptographic driver interface connecting
TEE Crypto generic APIs to HW driver interface

The Generic Crypto Driver interface in the core/driver/crypto/crypto_api
is implemented to be able to use a HW driver.

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jerome Forissier <jerome@forissier.org>

show more ...

1df107b603-Sep-2019 Sumit Garg <sumit.garg@linaro.org>

ftrace: exclude only foreign interrupt time

Current TA function execution time feature only reports user mode
execution time and exclude any non-user mode execution time. But in
case of syscalls whi

ftrace: exclude only foreign interrupt time

Current TA function execution time feature only reports user mode
execution time and exclude any non-user mode execution time. But in
case of syscalls which are essentially function invocations from TA
into the kernel, we shouldn't exclude syscall execution time in order
to account for actual function execution time. That means we only
exclude time that is spent serving foreign interrupts.

So changes in this patch allows to incorporate syscall execution time
in the function graph output.

Fixes: f5df167c2ffb ("ftrace: Add function execution time support")
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Jerome Forissier <jerome@forissier.org>

show more ...

776d215826-Jun-2019 Rouven Czerwinski <r.czerwinski@pengutronix.de>

core: import IS_ENABLED macro from Zephyr OS

The IS_ENABLED macro checks whether a macro is defined to the value
1 or may not be defined at all. This allows checks in the code instead
of using #ifde

core: import IS_ENABLED macro from Zephyr OS

The IS_ENABLED macro checks whether a macro is defined to the value
1 or may not be defined at all. This allows checks in the code instead
of using #ifdef:

#define CFG_MX6Q 1

if (IS_ENABLED(CFG_MX6Q))
printf("MX6Q enabled")
if (IS_ENABLED(CFG_MX6D))
printf("MX6D enabled")

expands to:

if (1)
printf("MX6Q enabled")
if (0)
printf("MX6Q enabled")

where the second if statement can be optimized out by the compiler.

This implementation was imported from Zephyr OS commit
ff07fc7f0a19 ("lib: libc: fix alignment of HEAP base address for ARM").

The Copyright is attributed to Intel, since the original
commit 5bc458a0fae5 ("util.h: Add IS_ENABLED() macro for
expression-legal ifdef-checking") was done by Andy Ross
<andrew.j.ross@intel.com>.

Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>

show more ...

c22e487201-Aug-2019 Cedric Neveux <cedric.neveux@nxp.com>

core: io: add {get/put}_le{32/64}()

Add 32 and 64 bits little endian put/get functions

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.or

core: io: add {get/put}_le{32/64}()

Add 32 and 64 bits little endian put/get functions

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

95cdc5e005-Jul-2019 Cedric Neveux <cedric.neveux@nxp.com>

core: add DT function to read/modify DT

Add DT functions:
dt_get_irq()
get the interrupt number of a node

dt_disable_status()
disable the 'status' field of node's prop

dt_enable_secure_status(

core: add DT function to read/modify DT

Add DT functions:
dt_get_irq()
get the interrupt number of a node

dt_disable_status()
disable the 'status' field of node's prop

dt_enable_secure_status()
set 'secure-status' field of node's prop and disable
the 'status' field in the same time

Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

e9f46c7413-Aug-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: replace thread_nintr_handler_ptr with weak function

Removes registration of platform specific secure interrupt handler in
thread_nintr_handler_ptr. Instead a __weak overridable
itr_core_handle

core: replace thread_nintr_handler_ptr with weak function

Removes registration of platform specific secure interrupt handler in
thread_nintr_handler_ptr. Instead a __weak overridable
itr_core_handler() is provided. Platforms which expects to receive
secure interrupts must override the default function. The default
function calls panic() if called.

With this also nintr is removed from struct thread_handlers and
consequently all platforms are updated to stop using that field.

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

show more ...


/optee_os/core/arch/arm/include/kernel/thread.h
/optee_os/core/arch/arm/include/kernel/user_ta.h
/optee_os/core/arch/arm/include/tee/entry_fast.h
/optee_os/core/arch/arm/include/tee/entry_std.h
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/link_dummies.c
/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_optee_smc.c
/optee_os/core/arch/arm/kernel/thread_optee_smc_a32.S
/optee_os/core/arch/arm/kernel/thread_optee_smc_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/mm/core_mmu_lpae.c
/optee_os/core/arch/arm/plat-bcm/main.c
/optee_os/core/arch/arm/plat-d02/main.c
/optee_os/core/arch/arm/plat-hikey/main.c
/optee_os/core/arch/arm/plat-hisilicon/main.c
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-k3/main.c
/optee_os/core/arch/arm/plat-ls/main.c
/optee_os/core/arch/arm/plat-marvell/main.c
/optee_os/core/arch/arm/plat-mediatek/main.c
/optee_os/core/arch/arm/plat-poplar/main.c
/optee_os/core/arch/arm/plat-rcar/main.c
/optee_os/core/arch/arm/plat-rockchip/main.c
/optee_os/core/arch/arm/plat-rpi3/main.c
/optee_os/core/arch/arm/plat-sam/main.c
/optee_os/core/arch/arm/plat-sprd/main.c
/optee_os/core/arch/arm/plat-stm/main.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-sunxi/main.c
/optee_os/core/arch/arm/plat-synquacer/main.c
/optee_os/core/arch/arm/plat-ti/main.c
/optee_os/core/arch/arm/plat-vexpress/main.c
/optee_os/core/arch/arm/plat-zynq7k/main.c
/optee_os/core/arch/arm/plat-zynqmp/main.c
/optee_os/core/arch/arm/pta/system.c
/optee_os/core/arch/arm/tee/entry_fast.c
/optee_os/core/arch/arm/tee/entry_std.c
kernel/interrupt.h
/optee_os/core/kernel/interrupt.c
/optee_os/ldelf/dl.c
/optee_os/ldelf/dl.h
/optee_os/ldelf/ftrace.c
/optee_os/ldelf/include/ldelf.h
/optee_os/ldelf/link.mk
/optee_os/ldelf/main.c
/optee_os/ldelf/sub.mk
/optee_os/ldelf/ta_elf.c
/optee_os/ldelf/ta_elf.h
/optee_os/ldelf/ta_elf_rel.c
/optee_os/lib/libdl/dlfcn.c
/optee_os/lib/libdl/include/dlfcn.h
/optee_os/lib/libdl/sub.mk
/optee_os/lib/libutee/include/pta_system.h
/optee_os/lib/libutee/include/tee_internal_api_extensions.h
/optee_os/lib/libutee/sub.mk
/optee_os/lib/libutee/tee_uuid_from_str.c
/optee_os/mk/compile.mk
/optee_os/scripts/get_maintainer.py
/optee_os/scripts/sign.py
/optee_os/ta/arch/arm/link.mk
/optee_os/ta/mk/ta_dev_kit.mk
/optee_os/ta/ta.mk
757331fc21-Aug-2019 Jens Wiklander <jens.wiklander@linaro.org>

Replace ASM with compiler-builtin __ASSEMBLER__

The C preprocessor predefines __ASSEMBLER__ with value 1 when when
preprocessing assembly language, see [1]. Instead of using a special
defines, let's

Replace ASM with compiler-builtin __ASSEMBLER__

The C preprocessor predefines __ASSEMBLER__ with value 1 when when
preprocessing assembly language, see [1]. Instead of using a special
defines, let's use the define already provided.

Link: [1] https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html

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

show more ...

922308b311-Dec-2017 Peng Fan <peng.fan@nxp.com>

drivers: imx_wdog: update wdog support for mx7ulp

Update watchdog for imx7ulp SoC support.

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

a8f769f312-Aug-2019 Etienne Carriere <etienne.carriere@linaro.org>

core: rename versioning field in bootstrap TA header

Rename field version into ta_version in struct shdr_bootstrap_ta
to explicit the info related to TA versioning.

Signed-off-by: Etienne Carriere

core: rename versioning field in bootstrap TA header

Rename field version into ta_version in struct shdr_bootstrap_ta
to explicit the info related to TA versioning.

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

show more ...

cbb41c9130-May-2019 Abhishek Shah <abhishek.shah@broadcom.com>

drivers: wdt: Add arm SP805 watchdog driver

Add sp805 watchdog driver with following functionality:
- start/reload watchdog with specified timeout
- stop watchdog
- ping watchdog (clear watchdog int

drivers: wdt: Add arm SP805 watchdog driver

Add sp805 watchdog driver with following functionality:
- start/reload watchdog with specified timeout
- stop watchdog
- ping watchdog (clear watchdog interrupt and reload it)
- register watchdog interrupt handler

Signed-off-by: Abhishek Shah <abhishek.shah@broadcom.com>
Reviewed-by: Sandeep Tripathy <sandeep.tripathy@broadcom.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

f5df167c09-Aug-2019 Sumit Garg <sumit.garg@linaro.org>

ftrace: Add function execution time support

Add support to dump function execution time at corresponding function
exit points in output ftrace buffer.

To achieve proper function execution time we n

ftrace: Add function execution time support

Add support to dump function execution time at corresponding function
exit points in output ftrace buffer.

To achieve proper function execution time we need to exclude TA suspend
time from timestamps, so add corresponding support in TEE core.

Also user mapping must be active to access ftrace buffer, so do that
during TA resume.

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

show more ...


/optee_os/.shippable.yml
/optee_os/MAINTAINERS
/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/include/kernel/user_ta.h
/optee_os/core/arch/arm/include/sm/sm.h
/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/user_ta.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/config/imx6sl.h
/optee_os/core/arch/arm/plat-imx/config/imx6sll.h
/optee_os/core/arch/arm/plat-imx/config/imx6sx.h
/optee_os/core/arch/arm/plat-imx/drivers/imx_csu.c
/optee_os/core/arch/arm/plat-imx/imx-common.c
/optee_os/core/arch/arm/plat-imx/imx-regs.h
/optee_os/core/arch/arm/plat-imx/imx.h
/optee_os/core/arch/arm/plat-imx/imx_src.c
/optee_os/core/arch/arm/plat-imx/platform_config.h
/optee_os/core/arch/arm/plat-imx/registers/imx6.h
/optee_os/core/arch/arm/plat-imx/registers/imx7.h
/optee_os/core/arch/arm/plat-imx/registers/imx8m.h
/optee_os/core/arch/arm/plat-imx/sub.mk
/optee_os/core/arch/arm/plat-ls/conf.mk
/optee_os/core/arch/arm/plat-ls/platform_config.h
/optee_os/core/arch/arm/pta/system.c
/optee_os/core/arch/arm/sm/sm_a32.S
kernel/tee_ta_manager.h
/optee_os/core/kernel/tee_ta_manager.c
/optee_os/core/tee/tee_rpmb_fs.c
/optee_os/ldelf/ftrace.c
/optee_os/ldelf/ftrace.h
/optee_os/ldelf/include/ldelf.h
/optee_os/ldelf/main.c
/optee_os/lib/libutee/arch/arm/arm32_user_sysreg.txt
/optee_os/lib/libutee/arch/arm/ftrace/ftrace.c
/optee_os/lib/libutee/include/arm64_user_sysreg.h
/optee_os/lib/libutee/include/arm_user_sysreg.h
/optee_os/lib/libutee/include/user_ta_header.h
/optee_os/lib/libutils/isoc/arch/arm/arm32_aeabi_divmod.c
/optee_os/mk/lib.mk
/optee_os/scripts/arm32_sysreg.py
/optee_os/scripts/gen_ldelf_hex.py
/optee_os/scripts/get_maintainer.py
/optee_os/scripts/sign.py
/optee_os/ta/arch/arm/link.mk
/optee_os/ta/arch/arm/link_shlib.mk
/optee_os/ta/mk/build-user-ta.mk
/optee_os/ta/ta.mk
545861aa19-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: remove struct load_seg

Removes struct load_seg, the mobj stored in struct load_seg is already
stored in struct vm_region. A flag VM_FLAG_EXCLUSIVE_MOBJ is added to
indicate that the mobj in st

core: remove struct load_seg

Removes struct load_seg, the mobj stored in struct load_seg is already
stored in struct vm_region. A flag VM_FLAG_EXCLUSIVE_MOBJ is added to
indicate that the mobj in struct vm_region should be freed instead of
just ignored when removing a region.

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

show more ...

d301003e19-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: add VM_FLAG_READONLY

Adds VM_FLAG_READONLY which is used to enforce that read-only parts of a
TA binary shared between TAs cannot be mapped read/write.

Reviewed-by: Jerome Forissier <jerome.f

core: add VM_FLAG_READONLY

Adds VM_FLAG_READONLY which is used to enforce that read-only parts of a
TA binary shared between TAs cannot be mapped read/write.

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

show more ...

ef55da1519-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: add vm_get_flags()

Adds vm_get_flags() which returns the flags of a mapped region.

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

core: add vm_get_flags()

Adds vm_get_flags() which returns the flags of a mapped region.

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

show more ...

2e8a1d0818-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: add vm_remap()

Adds vm_remap() to allow changing virtual address of an already
established mapping

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

core: add vm_remap()

Adds vm_remap() to allow changing virtual address of an already
established mapping

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

show more ...

60ef519219-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: split TEE_MATTR_* defines

Splits the TEE_MATTR_* defines into two groups, TEE_MATTR_* and VM_FLAG_*.
TEE_MATTR_* is restored to only handle mappings attributes and permissions.
The new group V

core: split TEE_MATTR_* defines

Splits the TEE_MATTR_* defines into two groups, TEE_MATTR_* and VM_FLAG_*.
TEE_MATTR_* is restored to only handle mappings attributes and permissions.
The new group VM_FLAG_* is added to tag regions with purpose and such.

As a consequence user_ta_map(), vm_map_pad() and vm_map() takes one more
argument, the flags field.

struct vm_region also gains a flags field, but since only the lower bits
are used in the flags and attr fields they are each stored as uint16_t
instead.

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

show more ...

642a0c6819-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: remove unused TEE_MATTR_LOCKED

Removes the now unused TEE_MATTR_LOCKED macro.

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

core: remove unused TEE_MATTR_LOCKED

Removes the now unused TEE_MATTR_LOCKED macro.

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

show more ...

570f0d7119-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: remove obsolete TEE_MMU_UMAP_* defines

Removes the now obsolete TEE_MMU_UMAP_* defines.

Fixes: 211417d3a487 ("core: more flexible ta mapping")
Reviewed-by: Jerome Forissier <jerome.forissier@

core: remove obsolete TEE_MMU_UMAP_* defines

Removes the now obsolete TEE_MMU_UMAP_* defines.

Fixes: 211417d3a487 ("core: more flexible ta mapping")
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


/optee_os/.shippable.yml
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/kernel/generic_boot.c
/optee_os/core/arch/arm/kernel/generic_entry_a32.S
/optee_os/core/arch/arm/kernel/link.mk
/optee_os/core/arch/arm/kernel/misc_a32.S
/optee_os/core/arch/arm/kernel/misc_a64.S
/optee_os/core/arch/arm/kernel/thread.c
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/kernel/tlb_helpers_a32.S
/optee_os/core/arch/arm/kernel/unwind_arm32.c
/optee_os/core/arch/arm/kernel/vfp_a64.S
/optee_os/core/arch/arm/mm/core_mmu.c
/optee_os/core/arch/arm/plat-imx/conf.mk
/optee_os/core/arch/arm/plat-imx/config/imx6qdlsolo.h
/optee_os/core/arch/arm/plat-imx/drivers/imx_caam.c
/optee_os/core/arch/arm/plat-imx/drivers/imx_caam.h
/optee_os/core/arch/arm/plat-imx/drivers/imx_csu.c
/optee_os/core/arch/arm/plat-imx/drivers/imx_scu.c
/optee_os/core/arch/arm/plat-imx/drivers/sub.mk
/optee_os/core/arch/arm/plat-imx/imx-common.c
/optee_os/core/arch/arm/plat-imx/imx-regs.h
/optee_os/core/arch/arm/plat-imx/imx.h
/optee_os/core/arch/arm/plat-imx/main.c
/optee_os/core/arch/arm/plat-imx/platform_config.h
/optee_os/core/arch/arm/plat-imx/sub.mk
/optee_os/core/arch/arm/pta/sub.mk
/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/arch_svc_a64.S
mm/tee_mmu_types.h
/optee_os/core/tee/tee_ree_fs.c
/optee_os/ldelf/ftrace.c
/optee_os/ldelf/ldelf.ld.S
/optee_os/ldelf/main.c
/optee_os/ldelf/ta_elf.c
/optee_os/ldelf/ta_elf.h
/optee_os/lib/libutils/ext/include/asm.S
/optee_os/lib/libutils/isoc/arch/arm/setjmp_a32.S
/optee_os/lib/libutils/isoc/include/ctype.h
/optee_os/lib/libutils/isoc/include/strings.h
/optee_os/lib/libutils/isoc/isalnum.c
/optee_os/lib/libutils/isoc/isalpha.c
/optee_os/lib/libutils/isoc/iscntrl.c
/optee_os/lib/libutils/isoc/isdigit.c
/optee_os/lib/libutils/isoc/isgraph.c
/optee_os/lib/libutils/isoc/islower.c
/optee_os/lib/libutils/isoc/isprint.c
/optee_os/lib/libutils/isoc/ispunct.c
/optee_os/lib/libutils/isoc/isspace.c
/optee_os/lib/libutils/isoc/isupper.c
/optee_os/lib/libutils/isoc/isxdigit.c
/optee_os/lib/libutils/isoc/newlib/bcmp.c
/optee_os/lib/libutils/isoc/newlib/sub.mk
/optee_os/lib/libutils/isoc/tolower.c
/optee_os/lib/libutils/isoc/toupper.c
/optee_os/scripts/gen_ldelf_hex.py
/optee_os/scripts/ta_bin_to_c.py
/optee_os/ta/arch/arm/ta.ld.S
/optee_os/ta/arch/arm/ta_entry_a32.S
/optee_os/ta/arch/arm/user_ta_header.c
/optee_os/ta/mk/build-user-ta.mk
/optee_os/ta/mk/ta_dev_kit.mk
/optee_os/ta/ta.mk
ec295ea022-Mar-2019 Jerome Forissier <jerome.forissier@linaro.org>

core: change the pattern used to generate asm-defines.h

This commit prepares support for the Clang compiler.

$O/core/include/generated/asm-defines.h is generated from
core/arch/arm/kernel/asm-defin

core: change the pattern used to generate asm-defines.h

This commit prepares support for the Clang compiler.

$O/core/include/generated/asm-defines.h is generated from
core/arch/arm/kernel/asm-defines.c by the C compiler with the -S flag
(generate assembler code), followed by some light post-processing with
sed.

The intermediate file ($O/core/include/generated/.asm-defines.s) is
actually not a valid assembler file. It contains illegal tokens, which
where chosen to make it easy to parse with sed. For example:

==>SM_CTX_SIZE #256 sizeof(struct sm_ctx) @

...is turned into:

#define SM_CTX_SIZE 256 /* sizeof(struct sm_ctx) */

While this works fine with GCC, the Clang compiler won't accept to
output invalid assembler. This commit slightly modifies the inline
assembler so that the needed information is contained within a .ascii
directive:

.ascii "==>SM_CTX_SIZE 248 sizeof(struct sm_ctx)" @

The 'c' constraint (%c0) is added to avoid the # prefix before an
immediate value, which is not accepted by Clang either.

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

show more ...

d2c717b202-Jul-2019 Jerome Forissier <jerome.forissier@linaro.org>

core: console: fix use after free when CFG_DT=y

Commit 770b2afacf33 ("core: more flexible console init from DT") has
split configure_console_from_dt() in two parts, the first one being
moved to a ne

core: console: fix use after free when CFG_DT=y

Commit 770b2afacf33 ("core: more flexible console init from DT") has
split configure_console_from_dt() in two parts, the first one being
moved to a new function: get_console_node_from_dt(). Unfortunately,
this function may return pointers to a freed buffer.

Fix the problem by allocating each output string on the heap and letting
the caller clean on return.

Fixes: 770b2afacf33 ("core: more flexible console init from DT")
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Rouven Czerwinski <r.czerwinksi@pengutronix.de>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


/optee_os/core/arch/arm/arm.mk
/optee_os/core/arch/arm/dts/stm32mp157a-dk1.dts
/optee_os/core/arch/arm/dts/stm32mp157c-ed1.dts
/optee_os/core/arch/arm/include/arm.h
/optee_os/core/arch/arm/include/arm32.h
/optee_os/core/arch/arm/include/arm64.h
/optee_os/core/arch/arm/include/kernel/cache_helpers.h
/optee_os/core/arch/arm/include/kernel/tlb_helpers.h
/optee_os/core/arch/arm/include/kernel/unwind.h
/optee_os/core/arch/arm/kernel/abort.c
/optee_os/core/arch/arm/kernel/cache_helpers_a32.S
/optee_os/core/arch/arm/kernel/cache_helpers_a64.S
/optee_os/core/arch/arm/kernel/thread_a32.S
/optee_os/core/arch/arm/kernel/thread_a64.S
/optee_os/core/arch/arm/kernel/unwind_arm32.c
/optee_os/core/arch/arm/kernel/unwind_arm64.c
/optee_os/core/arch/arm/mm/tee_pager.c
/optee_os/core/arch/arm/plat-stm32mp1/drivers/stm32mp1_clk.c
/optee_os/core/arch/arm/plat-stm32mp1/main.c
/optee_os/core/arch/arm/plat-stm32mp1/shared_resources.c
/optee_os/core/arch/arm/plat-stm32mp1/stm32_util.h
console.h
/optee_os/core/kernel/console.c
/optee_os/core/lib/libtomcrypt/src/math/rand_bn.c
/optee_os/core/lib/libtomcrypt/src/misc/burn_stack.c
/optee_os/core/lib/libtomcrypt/src/misc/zeromem.c
/optee_os/core/lib/libtomcrypt/src/pk/ecc/ecc_sign_hash.c
/optee_os/ldelf/ftrace.c
/optee_os/lib/libutee/arch/arm/utee_mcount_a32.S
/optee_os/lib/libutee/include/user_ta_header.h
/optee_os/lib/libutils/isoc/arch/arm/setjmp_a32.S
/optee_os/lib/libutils/isoc/arch/arm/sub.mk
/optee_os/lib/libutils/isoc/include/setjmp.h
/optee_os/mk/config.mk
/optee_os/scripts/gen_ldelf_hex.py
/optee_os/ta/arch/arm/user_ta_header.c
153479ac18-Jun-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: dump ftrace data with ldelf

Uses ldelf to dump ftrace data from a TA.

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerom

core: dump ftrace data with ldelf

Uses ldelf to dump ftrace data from a TA.

Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey960)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

d1911a8523-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: load TAs using ldelf

Uses ldelf to load and relocate TAs instead of parsing and loading the
ELFs in TEE Core. TA abort dumps, ASLR and ftrace are temporarily
removed or disabled to be re-enabl

core: load TAs using ldelf

Uses ldelf to load and relocate TAs instead of parsing and loading the
ELFs in TEE Core. TA abort dumps, ASLR and ftrace are temporarily
removed or disabled to be re-enabled in following commits.

Loading dynamically linked TAs are from now on always supported and
cannot be disabled via configuration flags. CFG_TA_DYNLINK is also
removed as a configuration option.

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

show more ...

64e4978923-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: add define TEE_MATTR_LDELF

Adds the define TEE_MATTR_LDELF for temporary mappings needed to load
the ldelf binary.

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

core: add define TEE_MATTR_LDELF

Adds the define TEE_MATTR_LDELF for temporary mappings needed to load
the ldelf binary.

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

show more ...

8e64b18123-May-2019 Jens Wiklander <jens.wiklander@linaro.org>

core: remove tee_ta_dump_current()

tee_ta_dump_current() is only called from abort_print_current_ta(), move
the trivial implementation into abort_print_current_ta() and remove
tee_ta_dump_current().

core: remove tee_ta_dump_current()

tee_ta_dump_current() is only called from abort_print_current_ta(), move
the trivial implementation into abort_print_current_ta() and remove
tee_ta_dump_current().

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

show more ...

02fbb41a27-Jun-2019 Jerome Forissier <jerome.forissier@linaro.org>

core: lockdep: support non-blocking acquire

Adds support for non-blocking lock semantics such as mutex_trylock().
A new function is introduced to instrument this operation:
lockdep_tryacquire(). It

core: lockdep: support non-blocking acquire

Adds support for non-blocking lock semantics such as mutex_trylock().
A new function is introduced to instrument this operation:
lockdep_tryacquire(). It should be called when it is known that
ownership of the underlying object has been granted to the caller. It
behaves similarly to lockdep_acquire() in that it does record the call
stack and records that the lock is owned. But it does not create any
dependencies to the locks that are currently owned by the caller. See
"Dynamic Lock Dependency Analysis of Concurrent Systems" [1] section
5.3.

Link: [1] http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.132&rep=rep1&type=pdf
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

1...<<31323334353637383940>>...52