History log of /optee_os/core/ (Results 851 – 875 of 6456)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
197b6c8408-Feb-2024 Jens Wiklander <jens.wiklander@linaro.org>

plat-vexpress: bottom half uart driver with non-secure virtualization

Enable the bottom half uart driver with FF-A and non-secure
virtualization enabled.

The console struct itr_handler and struct n

plat-vexpress: bottom half uart driver with non-secure virtualization

Enable the bottom half uart driver with FF-A and non-secure
virtualization enabled.

The console struct itr_handler and struct notif_driver are moved into
nexus memory as needed.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

f6dcf23408-Feb-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: ffa: make S-EL1 notifications virtualization-aware

Add new defines for the ABI functions FFA_NOTIFICATION_GET and
FFA_NOTIFICATION_INFO_GET to support a more complete implementation of
the ABI

core: ffa: make S-EL1 notifications virtualization-aware

Add new defines for the ABI functions FFA_NOTIFICATION_GET and
FFA_NOTIFICATION_INFO_GET to support a more complete implementation of
the ABI.

The bookkeeping of the notification state is moved into a guest specific
struct notif_vm_bitmap.

Asynchronous notification is enabled per guest. Each guest defines its
own notification ID to request bottom half processing.

The FFA_NOTIFICATION_INFO_GET handler is updated to be able to report
multiple guest IDs.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

d237e61606-Feb-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: make generic notifications virtualization-aware

Makes the generic notification handling aware of virtualization. Atomic
events are delivered with a guest_id parameter and asynchronous
notifica

core: make generic notifications virtualization-aware

Makes the generic notification handling aware of virtualization. Atomic
events are delivered with a guest_id parameter and asynchronous
notifications are started per guest_id.

struct notif_data is added as guest specific data to be able to track if
notifications are started for a guest.

While this patch compiles it doesn't work as intended without patches
handling the ABI specific side of things.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

beb9021005-Feb-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: virt: add guest specific data

Add virt_add_guest_spec_data() and virt_get_guest_spec_data() to handle
guest specific data.

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

core: virt: add guest specific data

Add virt_add_guest_spec_data() and virt_get_guest_spec_data() to handle
guest specific data.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

a951eb5f26-Feb-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: virt: support iterating over partitions

Add support to iterate over partitions using virt_next_guest().

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <e

core: virt: support iterating over partitions

Add support to iterate over partitions using virt_next_guest().

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

a755a64f26-Feb-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: virt: get guest ID of a guest partition

Add the function virt_get_guest_id() to return the guest ID of a guest
partition.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: E

core: virt: get guest ID of a guest partition

Add the function virt_get_guest_id() to return the guest ID of a guest
partition.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

29e682bd26-Feb-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: virt: get current guest partition

Add the function virt_get_current_guest() to get a pointer to the
current guest partition. The returned guest partition has its reference
counter increased wh

core: virt: get current guest partition

Add the function virt_get_current_guest() to get a pointer to the
current guest partition. The returned guest partition has its reference
counter increased which must be restored with a matching call to
virt_put_guest() when the caller is done with the guest partition.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

ac1c95dd26-Feb-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: virt: get guest partition by guest ID

Add the function virt_get_guest() to get the pointer to a guest
partition with a certain guest ID. The returned guest partition has its
reference counter

core: virt: get guest partition by guest ID

Add the function virt_get_guest() to get the pointer to a guest
partition with a certain guest ID. The returned guest partition has its
reference counter increased which must be restored with a matching call
to virt_put_guest() when the caller is done with the guest partition.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

9502204b14-Mar-2024 Jens Wiklander <jens.wiklander@linaro.org>

core: ffa+virt: avoid changing nexus mappings

Don't unmap nexus mapped rxtx buffers when configured for non-secure
virtualization.

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

core: ffa+virt: avoid changing nexus mappings

Don't unmap nexus mapped rxtx buffers when configured for non-secure
virtualization.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

7dc75b9b27-Jun-2024 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: conf: restore generic default heap size

Remove reduced default heap size configuration of 48kB when pager is
enabled on stm32mp1 platforms. 48kB of core heap may not always be enough

plat-stm32mp1: conf: restore generic default heap size

Remove reduced default heap size configuration of 48kB when pager is
enabled on stm32mp1 platforms. 48kB of core heap may not always be enough
to pass OP-TEE Test regression test 4011 related to Bleichenbacher attack
since it consumes 4.5kB more memory on in OP-TEE core since we upgraded
to Mbed TLS library 3.6.0. The platform now default uses the generic 64kB
default heap size set from mk/config.mk.

Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>

show more ...

82d8cbbd01-Jul-2024 Etienne Carriere <etienne.carriere@foss.st.com>

drivers: stm32_rstctrl: fix unpaged resource

Fixes missing declaration of STM32MP1 reset controller compat data
as unpaged resource since it is used by stm32mp_rcc_reset_id_to_rstctrl()
function ca

drivers: stm32_rstctrl: fix unpaged resource

Fixes missing declaration of STM32MP1 reset controller compat data
as unpaged resource since it is used by stm32mp_rcc_reset_id_to_rstctrl()
function called by fastcall service psci_system_reset() that requires
to resized in the unpaged segment on STM32MP15 variant where pager
is enabled.

Fixes: 3ef177b4f153 ("drivers: stm32_rstctrl: move stm32mp1x controller in stm32mp1_rstcrl.c")
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>

show more ...

5e26ef8f01-May-2024 Alvin Chang <alvinga@andestech.com>

core: riscv: Improve the trap handler

In current RISC-V trap handler, we always save the context into struct
thread_trap_regs first, and copy the saved context into another specific
structure to han

core: riscv: Improve the trap handler

In current RISC-V trap handler, we always save the context into struct
thread_trap_regs first, and copy the saved context into another specific
structure to handle that trap. For example, thread_user_ecall_handler()
copies the struct thread_trap_regs to be struct thread_scall_regs before
handling this system call. In fact, such copies may drop the performance
and they should be eliminated.

In this commit, the specific data structure used to save the context is
determined early in the trap handler by checking the type of the trap
from CSR XCAUSE. Thus, the copies between context structures are
eliminated.

Signed-off-by: Alvin Chang <alvinga@andestech.com>
Reviewed-by: Yu Chien Peter Lin <peterlin@andestech.com>
Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Tested-by: Yu Chien Peter Lin <peterlin@andestech.com>
Tested-by: Marouene Boubakri <marouene.boubakri@nxp.com>

show more ...

bf87039822-Mar-2024 Vincent Guittot <vincent.guittot@linaro.org>

core/scmi: export sub.mk files in SCP-firmware

In order to ease the update of makefile when C or Header files of
SCP-firmware project changes, we integrate them in the optee subdirectory
of SCP-firm

core/scmi: export sub.mk files in SCP-firmware

In order to ease the update of makefile when C or Header files of
SCP-firmware project changes, we integrate them in the optee subdirectory
of SCP-firmware.

sub-optee-fvp.mk and sub-optee-stm32mp1.mk are moved unchanged in their
product directories of SCP-repository.

scmi-server/sub.mk is split:
- macro and compilation flags stay in optee-os
- srcs and incdirs are moved in product/optee directory

All modules and products related to optee are located in the
product/optee directory in the SCP-firmware repository, adding an "optee-"
prefix in the product name is useless. Remove it.

the ci will temporary point to the sha1 of the merged MR branch of
SCP-firmware. This will be replaced with next SCP-firmware tag v2.15.0
once released.

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

822f251d16-Apr-2024 Etienne Carriere <etienne.carriere@foss.st.com>

plat-stm32mp1: fix SCP-firmware config when using OP-TEE share memory

Enable the required SCP-firmware module when using OP-TEE shared memory
or a piece of SRAM for SCMI communication which defined

plat-stm32mp1: fix SCP-firmware config when using OP-TEE share memory

Enable the required SCP-firmware module when using OP-TEE shared memory
or a piece of SRAM for SCMI communication which defined by the boolean
configuration switch CFG_STM32MP1_SCMI_SHM_SYSRAM.

Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

29be83da25-Jun-2024 Etienne Carriere <etienne.carriere@foss.st.com>

libtomcrypt: fix calloc() against GCC 14 -Wcalloc-transposed-args

Fix use of XCALLOC() macro against GCC 14 directive
-Wcalloc-transposed-args that makes GCC to complain with an warning/error
trace

libtomcrypt: fix calloc() against GCC 14 -Wcalloc-transposed-args

Fix use of XCALLOC() macro against GCC 14 directive
-Wcalloc-transposed-args that makes GCC to complain with an warning/error
trace message like:

warning: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Wcalloc-transposed-args]

This change was proposed and merged in mainline libtomcrypt repository.

No functional change.

Link: https://github.com/libtom/libtomcrypt/pull/647
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

b70970fe25-Jun-2024 Etienne Carriere <etienne.carriere@foss.st.com>

core: arm: fix calloc() against GCC 14 -Wcalloc-transposed-args

Fix calloc() calls against GCC 14 directive -Wcalloc-transposed-args that
makes GCC to complain with an warning/error trace message li

core: arm: fix calloc() against GCC 14 -Wcalloc-transposed-args

Fix calloc() calls against GCC 14 directive -Wcalloc-transposed-args that
makes GCC to complain with an warning/error trace message like:

warning: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Wcalloc-transposed-args]

No functional change.

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

show more ...

7cc4ae7c26-Jun-2024 Yu Chien Peter Lin <peterlin@andestech.com>

core: mm: core_mmu: skip unmapped regions when searching by PA

Currently, OP-TEE OS on RISC-V platforms uses the external
device-tree located at 'Domain1 Next Arg1' passed by previous
boot stages (i

core: mm: core_mmu: skip unmapped regions when searching by PA

Currently, OP-TEE OS on RISC-V platforms uses the external
device-tree located at 'Domain1 Next Arg1' passed by previous
boot stages (i.e. U-Boot SPL and OpenSBI).
For example:

Domain1 Name : trusted-domain
...
Domain1 Next Address : 0x0000000010000000 // OP-TEE OS
> Domain1 Next Arg1 : 0x000000000187f760 // device-tree
Domain1 Next Mode : S-mode

In this case, 0x0187f760 lies in SHM_VASPACE, which is not yet
mapped and not intended to load an external DT:

type TEE_RAM_RX va 0x10000000..0x10092fff pa 0x10000000..0x10092fff
type TEE_RAM_RW va 0x10093000..0x101fffff pa 0x10093000..0x101fffff
type RES_VASPACE va 0x10200000..0x10bfffff pa 0x00000000..0x009fffff
> type SHM_VASPACE va 0x10c00000..0x12bfffff pa 0x00000000..0x01ffffff
type TA_RAM va 0x12c00000..0x139fffff pa 0x10200000..0x10ffffff
type IO_SEC va 0x13a00000..0x13bfffff pa 0xf0200000..0xf03fffff

To address this issue, add a memory region attribute check to
skip such regions. In this way, when init_external_dt() calls
core_mmu_get_type_by_pa(), it can properly return MEM_AREA_MAXTYPE
(i.e. valid region not found) and map a MEM_AREA_EXT_DT region.

Note that this bug cannot be reproduced on QEMU virt machine,
as its memory regions have no overlapping with the external DT.

Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
Reviewed-by: Alvin Chang <alvinga@andestech.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

62e40b8827-Jun-2024 Etienne Carriere <etienne.carriere@foss.st.com>

dt-bindings: mfd: dual licensing for st,stpmic1 bindings

Change include/dt-bindings/mfd/st,stpmic1.h license model from GPLv2.0
only to dual GPLv2.0 or BSD-2-Clause. This change clarifies that
this

dt-bindings: mfd: dual licensing for st,stpmic1 bindings

Change include/dt-bindings/mfd/st,stpmic1.h license model from GPLv2.0
only to dual GPLv2.0 or BSD-2-Clause. This change clarifies that
this DT binding header file can be shared with software components as
bootloaders and OSes that are not published under GPLv2 terms as
OP-TEE OS is.

This change has been discussed and acked in the LKML [1].

Fixes: 1183a0aa2af0 ("stm32mp1: update DTS files to Linux kernel 5.2-rc1")
Link: https://lore.kernel.org/lkml/171941721004.2530174.778562710266249921.b4-ty@kernel.org/ [1]
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...

92870f1113-Jun-2024 Imre Kis <imre.kis@arm.com>

core: ffa: Improve FF-A memory sharing compliance

* Deny memory regions with zero pages
* Validate total page count field
* Validate total descriptor size including memory regions descriptors
* Fix

core: ffa: Improve FF-A memory sharing compliance

* Deny memory regions with zero pages
* Validate total page count field
* Validate total descriptor size including memory regions descriptors
* Fix incorrect FFA_ERROR status codes

Signed-off-by: Imre Kis <imre.kis@arm.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

b65298cd13-Jun-2024 Imre Kis <imre.kis@arm.com>

core: ffa: Deny unsupported memory sharing operations

Fragmented memory sharing operations and memory sharing where the
transaction descriptors are forwarded in a custom buffer are not
supported for

core: ffa: Deny unsupported memory sharing operations

Fragmented memory sharing operations and memory sharing where the
transaction descriptors are forwarded in a custom buffer are not
supported for SP destinations. Return early FFA_ERROR if these
conditions are detected.
Add CFG_NS_VIRTUALIZATION condition for virt_unset_guest calls in
thread_spmc.c as a minor refactoring step.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

4a88c46523-Apr-2024 Imre Kis <imre.kis@arm.com>

core: ffa: Return transaction type flag in retrieve response

Setting 'Memory management transaction type flag' in memory transaction
descriptor when returned in FFA_MEM_RETRIEVE_RESP.

Signed-off-by

core: ffa: Return transaction type flag in retrieve response

Setting 'Memory management transaction type flag' in memory transaction
descriptor when returned in FFA_MEM_RETRIEVE_RESP.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

9223d8a017-Apr-2024 Gabriel Fernandez <gabriel.fernandez@foss.st.com>

dts: st: add RCC support on stm32mp257f-ev1

Configure the clock tree for stm32mp257f-ev1 board.

Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Reviewed-by: Etienne Carriere <etien

dts: st: add RCC support on stm32mp257f-ev1

Configure the clock tree for stm32mp257f-ev1 board.

Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

2a569a9327-Mar-2023 Gabriel Fernandez <gabriel.fernandez@foss.st.com>

dts: st: enable RCC driver in stm32mp251

Add the RCC node to support clock on stm32mp25 platform.

Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Reviewed-by: Etienne Carriere <eti

dts: st: enable RCC driver in stm32mp251

Add the RCC node to support clock on stm32mp25 platform.

Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

b032334113-Dec-2023 Gabriel Fernandez <gabriel.fernandez@foss.st.com>

drivers: rstctrl: add reset controller for STM32MP25 platforms

Implement the STM32MP25 reset controller device by embedding it
with CFG_STM32_RSTCTRL=y and CFG_STM32MP25_RSTCTRL=y.

Signed-off-by: G

drivers: rstctrl: add reset controller for STM32MP25 platforms

Implement the STM32MP25 reset controller device by embedding it
with CFG_STM32_RSTCTRL=y and CFG_STM32MP25_RSTCTRL=y.

Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

3ef177b413-Dec-2023 Gabriel Fernandez <gabriel.fernandez@foss.st.com>

drivers: stm32_rstctrl: move stm32mp1x controller in stm32mp1_rstcrl.c

This change prepares the STM32MP25 reset controller driver.
The binding for the STM32MP25 is different from that of the
STM32MP

drivers: stm32_rstctrl: move stm32mp1x controller in stm32mp1_rstcrl.c

This change prepares the STM32MP25 reset controller driver.
The binding for the STM32MP25 is different from that of the
STM32MP1x, so we will create a stm32mp25_rstcrl.c file.
This change factorizes STM32 API functions in stm32_rstcrl.c file
for probing and passing platform data.

Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>

show more ...

1...<<31323334353637383940>>...259