History log of /optee_os/ (Results 526 – 550 of 8520)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
298fa2db23-Jan-2025 Yu-Chien Peter Lin <peter.lin@sifive.com>

core: drivers: support SiFive UART

Add sifive uart support.

Signed-off-by: Yu-Chien Peter Lin <peter.lin@sifive.com>
Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Zong Li <zo

core: drivers: support SiFive UART

Add sifive uart support.

Signed-off-by: Yu-Chien Peter Lin <peter.lin@sifive.com>
Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Zong Li <zong.li@sifive.com>
Acked-by: Alvin Chang <alvinga@andestech.com>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

2e27ec6c12-Jan-2025 Yu-Chien Peter Lin <peter.lin@sifive.com>

riscv: kernel: support booting non-contiguous non-zero-based hart IDs

Currently, OP-TEE assumes 0 <= hartid < CFG_TEE_CORE_NB_CORE,
and must be contiguous, which fails to accommodate different
CPU t

riscv: kernel: support booting non-contiguous non-zero-based hart IDs

Currently, OP-TEE assumes 0 <= hartid < CFG_TEE_CORE_NB_CORE,
and must be contiguous, which fails to accommodate different
CPU topologies. For example, some RISC-V platforms, such as
the HiFive Unmatched board, do not run Linux and OP-TEE on
hart0, as it is a monitor core without supervisor mode support.

To address this, introduce hart_index, which is used to index
per-hart structures, such as thread_core_local and root_pgt.
The hart_index will range from 0 to (CFG_TEE_CORE_NB_CORE - 1),
and the primary hart will have an index of 0.

Additionally, a new function, boot_primary_init_core_ids(),
is added to initialize secondary hart IDs for booting via
sbi_hsm_hart_start().

Signed-off-by: Yu-Chien Peter Lin <peter.lin@sifive.com>
Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Zong Li <zong.li@sifive.com>
Reviewed-by: Alvin Chang <alvinga@andestech.com>

show more ...

72fc7d7412-Jan-2025 Yu-Chien Peter Lin <peter.lin@sifive.com>

riscv: kernel: sbi: introduce sbi_hsm_hart_get_status() function

Introduce sbi_hsm_hart_get_status() function and add comment for
sbi_hsm_hart_start().

Signed-off-by: Yu-Chien Peter Lin <peter.lin@

riscv: kernel: sbi: introduce sbi_hsm_hart_get_status() function

Introduce sbi_hsm_hart_get_status() function and add comment for
sbi_hsm_hart_start().

Signed-off-by: Yu-Chien Peter Lin <peter.lin@sifive.com>
Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Zong Li <zong.li@sifive.com>
Reviewed-by: Alvin Chang <alvinga@andestech.com>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

e27b079625-Jan-2025 Yu-Chien Peter Lin <peter.lin@sifive.com>

riscv: plat-virt: move stack alignment definition

The 16-byte stack alignment is a RISC-V ABI requirement
that applies to all RISC-V platforms. Move this definition
from the virt platform configurat

riscv: plat-virt: move stack alignment definition

The 16-byte stack alignment is a RISC-V ABI requirement
that applies to all RISC-V platforms. Move this definition
from the virt platform configuration to riscv.h.

Signed-off-by: Yu-Chien Peter Lin <peter.lin@sifive.com>
Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Zong Li <zong.li@sifive.com>
Reviewed-by: Alvin Chang <alvinga@andestech.com>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

e413d9ee12-Jan-2025 Yu-Chien Peter Lin <peter.lin@sifive.com>

riscv: kernel: entry.S: remove unused boot_args array

The boot_args array is unused anywhere and its contents
are cleared during the zeroing of the .bss section, so it
serves no purpose. Removing it

riscv: kernel: entry.S: remove unused boot_args array

The boot_args array is unused anywhere and its contents
are cleared during the zeroing of the .bss section, so it
serves no purpose. Removing it simplifies the code.

Signed-off-by: Yu-Chien Peter Lin <peter.lin@sifive.com>
Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Zong Li <zong.li@sifive.com>
Reviewed-by: Alvin Chang <alvinga@andestech.com>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

44388d3701-Apr-2025 Sahil Malhotra <sahil.malhotra@nxp.com>

core: imx: disable ELE on i.MX8ULP by default

On i.MX8ULP, there is only one MU to communicate with ELE,
which cannot be dedicated on OP-TEE side all the time.
There may be ELE services running on L

core: imx: disable ELE on i.MX8ULP by default

On i.MX8ULP, there is only one MU to communicate with ELE,
which cannot be dedicated on OP-TEE side all the time.
There may be ELE services running on Linux side, which can
cause conflict with OP-TEE, So disabling ELE by default.
Moreover i.MX8ULP also has CAAM, so HUK and Random number
are coming from CAAM.

Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

07603a1f01-Apr-2025 Jens Wiklander <jens.wiklander@linaro.org>

libutils: avoid unneeded zero init in realloc()

In raw_malloc_flags(), remove the special case for user space where
memory is always zero initialized regardless of MAF_ZERO_INIT. This
removes a case

libutils: avoid unneeded zero init in realloc()

In raw_malloc_flags(), remove the special case for user space where
memory is always zero initialized regardless of MAF_ZERO_INIT. This
removes a case of unneeded zero init for realloc().

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

3461146801-Apr-2025 Jens Wiklander <jens.wiklander@linaro.org>

libutee: fix __utee_tcb_init()

Replace realloc() calls with calls to malloc_flags() to make sure that
newly allocated memory is zero initialized.

Fixes: 9d224046e710 ("ldelf, libutee: add minimal T

libutee: fix __utee_tcb_init()

Replace realloc() calls with calls to malloc_flags() to make sure that
newly allocated memory is zero initialized.

Fixes: 9d224046e710 ("ldelf, libutee: add minimal Thread Local Storage support")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

93b037ac01-Apr-2025 Jens Wiklander <jens.wiklander@linaro.org>

libutee: TEE_Realloc(): avoid realloc()

TEE_Realloc() and realloc() have slightly different behaviour.
TEE_Realloc() must zero initialize newly allocated memory while
realloc() isn't expected to do

libutee: TEE_Realloc(): avoid realloc()

TEE_Realloc() and realloc() have slightly different behaviour.
TEE_Realloc() must zero initialize newly allocated memory while
realloc() isn't expected to do that. So use malloc_flags() and
raw_malloc_flags() with the MAF_ZERO_INIT flag to make sure that newly
allocated memory is zero initialized.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

b13e407601-Apr-2025 Jens Wiklander <jens.wiklander@linaro.org>

libutils: add raw_malloc_flags()

Add raw_malloc_flags() as a counterpart to malloc_flags().

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

libutils: add raw_malloc_flags()

Add raw_malloc_flags() as a counterpart to malloc_flags().

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

228cf40e28-Mar-2025 Rouven Czerwinski <r.czerwinski@pengutronix.de>

tree-wide: use /usr/bin/env bash in bash scripts

Some distributions don't provide bash inside of /bin, increase
compatibility by using env to resolve the correct path at runtime.
Fixes running the s

tree-wide: use /usr/bin/env bash in bash scripts

Some distributions don't provide bash inside of /bin, increase
compatibility by using env to resolve the correct path at runtime.
Fixes running the scripts on my NixOS systems.

Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

f84dc26227-Mar-2025 Alvin Chang <alvinga@andestech.com>

ta: Compile TA with "-fno-stack-protector" if TA stack protector is off

Depends on compiler version and OS distributions, the stack protector
may be enabled by default. This means TA is always compi

ta: Compile TA with "-fno-stack-protector" if TA stack protector is off

Depends on compiler version and OS distributions, the stack protector
may be enabled by default. This means TA is always compiled with
"-fstack-protector", even if _CFG_TA_STACK_PROTECTOR is not 'y'.

To solve this issue, we explicitly provide "-fno-stack-protector"
compile option when _CFG_TA_STACK_PROTECTOR is not 'y'. Thus, the TA
stack protector is definitely disabled.

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Reviewed-by: Yu-Chien Peter Lin <peter.lin@sifive.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

ab03d59027-Mar-2025 Alvin Chang <alvinga@andestech.com>

ta: Export _CFG_TA_STACK_PROTECTOR

_CFG_TA_STACK_PROTECTOR is config variable referenced in __ta_entry() to
generate random stack canary. Thus, it needs to be exported to TA
makefile.

Signed-off-by

ta: Export _CFG_TA_STACK_PROTECTOR

_CFG_TA_STACK_PROTECTOR is config variable referenced in __ta_entry() to
generate random stack canary. Thus, it needs to be exported to TA
makefile.

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Reviewed-by: Yu-Chien Peter Lin <peter.lin@sifive.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

1283e10827-Mar-2025 Alvin Chang <alvinga@andestech.com>

ta: Pass config variables prefixed as _CFG_ from conf.mk to build flags

In addition to config variables prefixed as CFG_, some other config
variables are prefixed as _CFG_ and also referenced during

ta: Pass config variables prefixed as _CFG_ from conf.mk to build flags

In addition to config variables prefixed as CFG_, some other config
variables are prefixed as _CFG_ and also referenced during TA
compilation. Add _CFG_ config variables to be compiler flags.

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Reviewed-by: Yu-Chien Peter Lin <peter.lin@sifive.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

68059d7223-Jan-2025 Ed Tubbs <ectubbs@gmail.com>

plat-rockchip: rk3588: add OTP_S support and HUK

Add OTP_S support for Rockchip rk3588
Add tee_otp_get_hw_unique_key()

Signed-off-by: Ed Tubbs <ectubbs@gmail.com>
Acked-by: Etienne Carriere <etienn

plat-rockchip: rk3588: add OTP_S support and HUK

Add OTP_S support for Rockchip rk3588
Add tee_otp_get_hw_unique_key()

Signed-off-by: Ed Tubbs <ectubbs@gmail.com>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

289ab1b426-Mar-2025 Jens Wiklander <jens.wiklander@linaro.org>

core: pta: fix virt_to_phys() self tests

Only test on VCORE_FREE_* addresses if CFG_DYN_CONFIG=y since those
addresses otherwise are unmapped or even unassigned.

Fixes: a05b3a459a3b ("core: pta: ad

core: pta: fix virt_to_phys() self tests

Only test on VCORE_FREE_* addresses if CFG_DYN_CONFIG=y since those
addresses otherwise are unmapped or even unassigned.

Fixes: a05b3a459a3b ("core: pta: add self tests for virt_to_phys()")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

9439ba6f22-Mar-2025 Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>

ci: add ubsan build job

Add a CI job that builds with CFG_{CORE,TA}_SANITIZE_UNDEFINED=y configs

Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>
Reviewed-by: Jens Wiklander

ci: add ubsan build job

Add a CI job that builds with CFG_{CORE,TA}_SANITIZE_UNDEFINED=y configs

Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

886b8adb20-Mar-2025 Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>

build: always link in-tree TAs with the -static flag

Shared libraries may remain in the output directory as artifacts
from previous builds, causing unintended behavior. To prevent this,
in-tree TAs

build: always link in-tree TAs with the -static flag

Shared libraries may remain in the output directory as artifacts
from previous builds, causing unintended behavior. To prevent this,
in-tree TAs are now always linked using the -static flag, regardless
of whether shared libraries are enabled.

Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

fa1190c620-Feb-2025 Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>

core: suppress duplicate ubsan reports

When ubsan panic mode is disabled, the same undefined behavior
may be reported multiple times from the same code location.
This change ensures that only the fi

core: suppress duplicate ubsan reports

When ubsan panic mode is disabled, the same undefined behavior
may be reported multiple times from the same code location.
This change ensures that only the first occurrence is logged.

Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

949b0c0c15-Jan-2025 Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>

ta: enable ubsan support for TAs

Introduce CFG_TA_SANITIZE_UNDEFINED config to sanitize trusted
applications. If CFG_TA_SANITIZE_UNDEFINED is set sanitize flags are
propagated to internal TAs (avb,

ta: enable ubsan support for TAs

Introduce CFG_TA_SANITIZE_UNDEFINED config to sanitize trusted
applications. If CFG_TA_SANITIZE_UNDEFINED is set sanitize flags are
propagated to internal TAs (avb, pkcs11, remoteproc, trusted_keys) and
external TAs, which are built with the devkit.

Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

ff3ed64415-Jan-2025 Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>

ldelf: enable ubsan support

Ubsan support was previously limited to core code. This commit moves the
ubsan runtime implementation to libutils, making it available for ldelf
and trusted applications.

ldelf: enable ubsan support

Ubsan support was previously limited to core code. This commit moves the
ubsan runtime implementation to libutils, making it available for ldelf
and trusted applications.

As a result, ldelf will now be built with ubsan support when
CFG_CORE_SANITIZE_UNDEFINED is enabled.

Additionally, to avoid potential infinite recursion, ubsan
instrumentation is explicitly disabled for ubsan.c.

Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

ea991d7421-Mar-2025 Jens Wiklander <jens.wiklander@linaro.org>

core: arm: remove THREAD_CORE_LOCAL_STACKCHECK_RECURSION

THREAD_CORE_LOCAL_STACKCHECK_RECURSION was introduced in the commit
b5ec8152f3e5 ("core: arm: refactor boot"). However, clearing the
stackche

core: arm: remove THREAD_CORE_LOCAL_STACKCHECK_RECURSION

THREAD_CORE_LOCAL_STACKCHECK_RECURSION was introduced in the commit
b5ec8152f3e5 ("core: arm: refactor boot"). However, clearing the
stackcheck_recursion flag from assembly during boot isn't needed since
the stack pointer is set up in synch with the recorded information in
thread_core_local. So remove the unnecessary clearing and remove
THREAD_CORE_LOCAL_STACKCHECK_RECURSION.

Reported-by: Alvin Chang <alvinga@andestech.com>
Closes: https://github.com/OP-TEE/optee_os/commit/b5ec8152f3e5ad8cc111952f0483f5cf903aac7c#r154088026
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

bace849d16-Dec-2024 Pascal Paillet <p.paillet@foss.st.com>

plat-stm32mp1: conf: enable SCMI PERF for stm32mp13

Enable CFG_SCMI_MSG_PERF_DOMAIN for STM32MP13 that is used
to provide CPU OPP to linux.

Signed-off-by: Pascal Paillet <p.paillet@foss.st.com>
Rev

plat-stm32mp1: conf: enable SCMI PERF for stm32mp13

Enable CFG_SCMI_MSG_PERF_DOMAIN for STM32MP13 that is used
to provide CPU OPP to linux.

Signed-off-by: Pascal Paillet <p.paillet@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

0cffa1df25-Nov-2024 Pascal Paillet <p.paillet@foss.st.com>

plat-stm32mp1: SCMI performance domain for CPU DVFS

Implement scmi-msg perf protocol platform handlers to drive CPU
voltage/frequency scaling support.

Co-developed-by: Etienne Carriere <etienne.car

plat-stm32mp1: SCMI performance domain for CPU DVFS

Implement scmi-msg perf protocol platform handlers to drive CPU
voltage/frequency scaling support.

Co-developed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Pascal Paillet <p.paillet@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

f1cec17a25-Nov-2024 Pascal Paillet <p.paillet@foss.st.com>

drivers: scmi-msg: support performance domains for DVFS

Implement some of the SCMI performance domain management messages
in scmi-msg drivers to support basic DVFS scenario.

Co-developed-by: Etienn

drivers: scmi-msg: support performance domains for DVFS

Implement some of the SCMI performance domain management messages
in scmi-msg drivers to support basic DVFS scenario.

Co-developed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Pascal Paillet <p.paillet@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

1...<<21222324252627282930>>...341