History log of /optee_os/core/include/ (Results 551 – 575 of 1292)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
4265a9fd28-Dec-2021 Marouene Boubakri <marouene.boubakri@nxp.com>

core: mm: move tee_pager.h to core/include/mm

The tee_pager.h header file does not contain architecture-specific code,
move it from core/arch/arm/include/mm to core/include/mm

Signed-off-by: Maroue

core: mm: move tee_pager.h to core/include/mm

The tee_pager.h header file does not contain architecture-specific code,
move it from core/arch/arm/include/mm to core/include/mm

Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

700ef31f28-Dec-2021 Marouene Boubakri <marouene.boubakri@nxp.com>

core: mm: move pgt_cache.h to core/include/mm

The pgt_cache.h header file does not contain architecture-specific code,
move it from core/arch/arm/include/mm to core/include/mm

Signed-off-by: Maroue

core: mm: move pgt_cache.h to core/include/mm

The pgt_cache.h header file does not contain architecture-specific code,
move it from core/arch/arm/include/mm to core/include/mm

Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

7302bfe928-Dec-2021 Marouene Boubakri <marouene.boubakri@nxp.com>

core: kernel: move abort.h to core/include/kernel

The abort.h header file does not contain architecture-specific code, move
it from core/arch/arm/include/kernel/ to core/include/kernel

Signed-off-b

core: kernel: move abort.h to core/include/kernel

The abort.h header file does not contain architecture-specific code, move
it from core/arch/arm/include/kernel/ to core/include/kernel

Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

5387beb620-Dec-2021 Marouene Boubakri <marouene.boubakri@nxp.com>

core: kernel: include: remove multiple blank lines in spinlock.h

Remove multiple blank lines in spinlock.h to satisfy checkpatch.

Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Acked-

core: kernel: include: remove multiple blank lines in spinlock.h

Remove multiple blank lines in spinlock.h to satisfy checkpatch.

Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jerome Forissier <jerome@forissier.org>

show more ...

e8a8e6e320-Dec-2021 Marouene Boubakri <marouene.boubakri@nxp.com>

core: kernel: move spinlock.h to core/include/kernel

Header file spinlock.h does not contain architecture-specific code
and it is being included by lib code as well, therefore, move it
from core/arc

core: kernel: move spinlock.h to core/include/kernel

Header file spinlock.h does not contain architecture-specific code
and it is being included by lib code as well, therefore, move it
from core/arch/arm/include to core/include/kernel

Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jerome Forissier <jerome@forissier.org>

show more ...

54c0b32602-Jul-2021 Clément Léger <clement.leger@bootlin.com>

drivers: atmel_saic: add SAIC driver

Add a driver to handle interrupt that are targeting the secure
interrupt controller. This driver will be used to handle watchdog and
matrix interrupts.

Acked-by

drivers: atmel_saic: add SAIC driver

Add a driver to handle interrupt that are targeting the secure
interrupt controller. This driver will be used to handle watchdog and
matrix interrupts.

Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Clément Léger <clement.leger@bootlin.com>

show more ...

2b06f9de10-Jan-2022 Ruchika Gupta <ruchika.gupta@linaro.org>

Add basic pointer authentication support for TA's

APIAKey is used for usespace TA's where these keys are generated
for every TA at load time. The TEE core maintains the key value
for each TA is resp

Add basic pointer authentication support for TA's

APIAKey is used for usespace TA's where these keys are generated
for every TA at load time. The TEE core maintains the key value
for each TA is responsible for storing/restorign them during
switch to EL0 and back.

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

show more ...

15300b4007-Jan-2022 Clément Léger <clement.leger@bootlin.com>

drivers: pm: sam: add suspend support

Add suspend support for sama5d2 platform. This support allows to use
all the available modes of suspend present on the sama5d2 platform:
- STANDBY
- ULP0
- ULP0

drivers: pm: sam: add suspend support

Add suspend support for sama5d2 platform. This support allows to use
all the available modes of suspend present on the sama5d2 platform:
- STANDBY
- ULP0
- ULP0 Fast
- ULP1
- BACKUP

By default, STANDBY mode is used as default suspend mode.
This support is meant to be used by PSCI.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Clément Léger <clement.leger@bootlin.com>

show more ...

f61c7bcc07-Jan-2022 Clément Léger <clement.leger@bootlin.com>

core: pm: add documentation for callback name parameter

Fixed missing documentation for name parameter.

Fixes: 502e23ad523 ("core: pm: add a name to registered pm_callback_handle")
Reviewed-by: Eti

core: pm: add documentation for callback name parameter

Fixed missing documentation for name parameter.

Fixes: 502e23ad523 ("core: pm: add a name to registered pm_callback_handle")
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Clément Léger <clement.leger@bootlin.com>

show more ...

5e369f1418-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

drivers: stm32_uart: use generic clock API

Replaces use of ST specific stm32mp_clk_xxx() clocks functions in
favor to OP-TEE generic clock API functions clk_xxx() using
struct clk * as clock referen

drivers: stm32_uart: use generic clock API

Replaces use of ST specific stm32mp_clk_xxx() clocks functions in
favor to OP-TEE generic clock API functions clk_xxx() using
struct clk * as clock references. Updates STM32 UART driver and
platform stm32mp1 console support.

Reviewed-by: Lionel Debieve <lionel.debieve@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

929ec06116-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

drivers: stm32_i2c: use generic clock API

Replaces use of ST specific stm32mp_clk_xxx() clocks functions in
favor to OP-TEE generic clock API functions clk_xxx() using
struct clk * as clock referenc

drivers: stm32_i2c: use generic clock API

Replaces use of ST specific stm32mp_clk_xxx() clocks functions in
favor to OP-TEE generic clock API functions clk_xxx() using
struct clk * as clock references. Updates I2C driver and PMIC
that is a consumer of an I2C bus.

Reviewed-by: Lionel Debieve <lionel.debieve@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

2b81d81923-Sep-2021 Etienne Carriere <etienne.carriere@linaro.org>

drivers: stm32_i2c: stm32_i2c_get_setup_from_fdt() returns TEE_Result

Change stm32_i2c interface function stm32_i2c_get_setup_from_fdt()
to return a TEE_Result code rather than a FDT error code.

Re

drivers: stm32_i2c: stm32_i2c_get_setup_from_fdt() returns TEE_Result

Change stm32_i2c interface function stm32_i2c_get_setup_from_fdt()
to return a TEE_Result code rather than a FDT error code.

Reviewed-by: Lionel Debieve <lionel.debieve@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

ace4d69d20-Jan-2022 Etienne Carriere <etienne.carriere@linaro.org>

core: use a paged scattered array for DT drivers list

Fixes macro DEFINE_DT_DRIVER() to use SCATTERED_ARRAY_DEFINE_PG_ITEM()
that defines a pageable resources whereas SCATTERED_ARRAY_DEFINE_ITEM()
a

core: use a paged scattered array for DT drivers list

Fixes macro DEFINE_DT_DRIVER() to use SCATTERED_ARRAY_DEFINE_PG_ITEM()
that defines a pageable resources whereas SCATTERED_ARRAY_DEFINE_ITEM()
assumes array and its dependencies must be linked in the rodata_init
section. Indeed DT driver probing is done after pager is initialized.

Fixes: 61bdedea9452 ("core: define DT drivers using scattered arrays")
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

6b65179617-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

drivers: clk: move stm32mp1 clock driver to clock drivers directory

Moves stm32mp15 clock driver to core/drivers/clk and adds configuration
switch CFG_STM32MP15_CLK to embed or not the driver. Platf

drivers: clk: move stm32mp1 clock driver to clock drivers directory

Moves stm32mp15 clock driver to core/drivers/clk and adds configuration
switch CFG_STM32MP15_CLK to embed or not the driver. Platform stm32mp1
mandates CFG_STM32MP15_CLK=y.

Reviewed-by: Lionel Debieve <lionel.debieve@foss.st.com>
Acked-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

c78b2c6617-Nov-2021 Etienne Carriere <etienne.carriere@linaro.org>

drivers: add reset controller framework

Adds a common reset controller framework rstctrl for interfacing
reset controllers exposed by a platform.

Reset controller consumers can act on relate reset

drivers: add reset controller framework

Adds a common reset controller framework rstctrl for interfacing
reset controllers exposed by a platform.

Reset controller consumers can act on relate reset level with
rstctrl_assert(), rstctrl_deassert() and friends.

Reset controller consumers can claim exclusive access to the reset
level woth rstctrl_get_exclusive(), rstctrl_put_exclusive().

Reset controller provider drivers call rstctrl_register_provider()
to allow other drivers to get a reset control reference from
a devicetree reference. Reset controller driver are identified with
type DT_DRIVER_RSTCTRL.

A reset controller provider exposes struct rstctrl instances made of
an opaque private reference (a private data pointer or an unsigned
integer identifier), an reset controller operators reference and
the exclusive claim state.

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

show more ...

4d3ad62d03-Dec-2021 Etienne Carriere <etienne.carriere@linaro.org>

io.h: add WRITE_ONCE macro

Implements WRITE_ONCE() macro that ensures compiler will write memory
only once. It is simple wrapper over __compiler_atomic_store() but
its name emphasizes its purpose.

io.h: add WRITE_ONCE macro

Implements WRITE_ONCE() macro that ensures compiler will write memory
only once. It is simple wrapper over __compiler_atomic_store() but
its name emphasizes its purpose.

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

show more ...

27f5d37714-Jan-2022 Jerome Forissier <jerome@forissier.org>

core: remove __rodata_dtdrv_start and __rodata_dtdrv_end

Commit 61bdedea9452 ("core: define DT drivers using scattered arrays")
omitted to remove the declarations and "dummy" definitions for symbols

core: remove __rodata_dtdrv_start and __rodata_dtdrv_end

Commit 61bdedea9452 ("core: define DT drivers using scattered arrays")
omitted to remove the declarations and "dummy" definitions for symbols
__rodata_dtdrv_start and __rodata_dtdrv_end, which are not used anymore.
Remove them.

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

show more ...

61bdedea13-Jan-2022 Jerome Forissier <jerome@forissier.org>

core: define DT drivers using scattered arrays

Replace the specific mechanism used to define and enumerate DT drivers
with scattered arrays. Doing so simplifies the TEE linker file a bit.

Signed-of

core: define DT drivers using scattered arrays

Replace the specific mechanism used to define and enumerate DT drivers
with scattered arrays. Doing so simplifies the TEE linker file a bit.

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

show more ...

8ae7e41814-Dec-2021 Etienne Carriere <etienne.carriere@linaro.org>

core: dt_driver: fix result argument description get_of_device_func

Fixes inline description of type get_of_device_func that falsely mentions
TEE_ERROR_BUSY instead of TEE_ERROR_DEFER_DRIVER_INIT wh

core: dt_driver: fix result argument description get_of_device_func

Fixes inline description of type get_of_device_func that falsely mentions
TEE_ERROR_BUSY instead of TEE_ERROR_DEFER_DRIVER_INIT when expected
resource requests deferral of the driver probing.

Fixes: d8b14b46af9d ("core: dt_driver: get return code when querying a device")
Acked-by: Jerome Forissier <jerome@forissier.org>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

9c4aaf6711-Jan-2022 Jens Wiklander <jens.wiklander@linaro.org>

core: make mobj_get_va() more secure

Adds a length parameter to allow mobj_get_va() to check that the entire
va range requested is available.

Reviewed-by: Etienne Carriere <etienne.carriere@linaro.

core: make mobj_get_va() more secure

Adds a length parameter to allow mobj_get_va() to check that the entire
va range requested is available.

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

show more ...

6a1b230c13-Sep-2021 Jelle Sels <jelle.sels@arm.com>

core: FFA_SHARE: Process Normal World share

Process a FFA_SHARE command coming from the Normal World. When
receiving a FFA_SHARE message from the Normal World, we check the
first receiver endpoint i

core: FFA_SHARE: Process Normal World share

Process a FFA_SHARE command coming from the Normal World. When
receiving a FFA_SHARE message from the Normal World, we check the
first receiver endpoint id. If the endpoint id is that off the OP_TEE
endpoint, we let the thread_spmc handler handle the share. If it is not,
we process it inside the spmc_sp_handler.
The mobj_ffa_() functions are used to create a new mobj for each new
share and to keep track of them.

Signed-off-by: Jelle Sels <jelle.sels@arm.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

72ede99e13-Sep-2021 Jelle Sels <jelle.sels@arm.com>

core: FFA_SHARE: Process secure share

Process a FFA_SHARE command coming from a SP. When receiving a
FFA_SHARE message from a SP, we don't create any new mobj's. Instead we
retrieve the mobj's from

core: FFA_SHARE: Process secure share

Process a FFA_SHARE command coming from a SP. When receiving a
FFA_SHARE message from a SP, we don't create any new mobj's. Instead we
retrieve the mobj's from the SP list off already mapped mobj's via
vm_get_mobj(). For each FFA_SHARE we check that the memory regions are
mapped and not shared with any other endpoints.

Signed-off-by: Jelle Sels <jelle.sels@arm.com>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

5c1143a813-Sep-2021 Jelle Sels <jelle.sels@arm.com>

core: FFA_SHARE: Process FFA_MEM_SHARE message

Process a FF-A FFA_MEM_SHARE message coming from a SP or being sent
from the Normal world with one or more SPs receivers.
FFA_MEM_SHARE is used to shar

core: FFA_SHARE: Process FFA_MEM_SHARE message

Process a FF-A FFA_MEM_SHARE message coming from a SP or being sent
from the Normal world with one or more SPs receivers.
FFA_MEM_SHARE is used to share a memory region from an endpoint (SP or
normal world) with one or more endpoints in secure world(SPs).

A simplified version of the share memory transaction descriptor looks
like the following:

|-------------------|
|ffa_mem_transaction| Contains general data for the whole share
|-------------------|
|mem_access_array[0]| Contains information specific for each receiver SP
|-------------------|
|mem_access_array[1]|
|-------------------|
|mem_access_array[n]|
|-------------------|
|ffa_mem_region | Contains the memory which is shared
|-------------------|

Add sp_mem as a new memory object. Sp_mem is used to store all
information needed for a FF-A share. For each new FF-A share a sp_mem
object is created. Each share is stored inside the mem_shares list
inside sp_mem.c

The ffa_mem_transaction data is stored inside the sp_mem object.
The receivers list inside sp_mem is used to store all the
ffa_mem_region related data.
The regions list is used to store all data related to the
mem_access_array. A mobj reference is will be used to map the region
into the SPs endpoint.

Signed-off-by: Jelle Sels <jelle.sels@arm.com>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...

68c6ad9a09-Sep-2021 Jelle Sels <jelle.sels@arm.com>

core: Add vm_get_mobj

Return the mobj of a va.

Signed-off-by: Jelle Sels <jelle.sels@arm.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@li

core: Add vm_get_mobj

Return the mobj of a va.

Signed-off-by: Jelle Sels <jelle.sels@arm.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...

c2d4494820-Apr-2021 Jens Wiklander <jens.wiklander@linaro.org>

core: add asynchronous notifications

Adds support for asynchronous notifications from secure world to normal
world. This allows a design with a top half and bottom half type of
driver where the top

core: add asynchronous notifications

Adds support for asynchronous notifications from secure world to normal
world. This allows a design with a top half and bottom half type of
driver where the top half runs in secure interrupt context and a
notifications tells normal world to schedule a yielding call to do the
bottom half processing.

The protocol is defined in optee_msg.h optee_rpc_cmd.h and optee_smc.h.

A notification consists of a 32-bit value which normal world can
retrieve using a fastcall into secure world. OP-TEE is currently only
supporting the value 0-63 where 0 has a special meaning. When 0 is sent
it means that normal world is supposed to make a yielding call
OPTEE_MSG_CMD_DO_BOTTOM_HALF.

The notification framework in OP-TEE defines an interface where drivers
can register a callback which is called on each yielding bottom half
call.

Notification capability is negotiated with the normal world while it
initializes its driver. If both sides supports these notifications then
they are enabled.

CFG_CORE_ASYNC_NOTIF_GIC_INTID is added to define the hardware interrupt
used to notify normal world. This is added to the DTB in case OP-TEE can
is configured with CFG_DT=y. Other cases requires the normal world DTB
to be kept in sync with this.

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

show more ...

1...<<21222324252627282930>>...52