| ed33eb2e | 05-Feb-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: dt_driver: define interrupt controller drivers identifier
Defines identifier DT_DRIVER_INTERRUPT in dt_driver_type enumerated type for interrupt controller drivers.
Acked-by: Jens Wiklander <
core: dt_driver: define interrupt controller drivers identifier
Defines identifier DT_DRIVER_INTERRUPT in dt_driver_type enumerated type for interrupt controller drivers.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| a009881d | 05-Feb-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: interrupt: add inline descriptions
Adds inline description comments in interrupt.h and fix an indentation.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carri
core: interrupt: add inline descriptions
Adds inline description comments in interrupt.h and fix an indentation.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| e050e0a7 | 31-May-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: interrupt: interrupt_get_main_chip() returns main controller
Adds helper function interrupt_get_main_chip() to get the struct itr_chip reference of the CPU main interrupt controller (e.g. the
core: interrupt: interrupt_get_main_chip() returns main controller
Adds helper function interrupt_get_main_chip() to get the struct itr_chip reference of the CPU main interrupt controller (e.g. the GIC). This function helps adapting a generic interrupt controller framework to consider CPU main interrupt controller specific reference.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 8fd620f7 | 22-May-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: rename dt_driver_phandle_args to dt_pargs
Renames struct dt_driver_phandle_args to struct dt_pargs to shorten the label and prevent ugly line breaks in function signatures.
Acked-by: Jens Wik
core: rename dt_driver_phandle_args to dt_pargs
Renames struct dt_driver_phandle_args to struct dt_pargs to shorten the label and prevent ugly line breaks in function signatures.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 4d028847 | 18-Apr-2023 |
Imre Kis <imre.kis@arm.com> |
core: spmc: handle non-secure interrupts
Add FFA_INTERRUPT and FFA_RUN support for signaling non-secure interrupts and for resuming to the secure world. If a secure partition is preempted by a non-s
core: spmc: handle non-secure interrupts
Add FFA_INTERRUPT and FFA_RUN support for signaling non-secure interrupts and for resuming to the secure world. If a secure partition is preempted by a non-secure interrupt OP-TEE saves the SP's state and sends an FFA_INTERRUPT to the normal world. After handling the interrupt the normal world should send an FFA_RUN to OP-TEE so it can continue running the SP. If OP-TEE is the active FF-A endpoint (i.e. it is running TAs) the non-secure interrupts are signaled by the existing OPTEE_FFA_YIELDING_CALL_RETURN_INTERRUPT message instead of FFA_INTERRUPT.
Signed-off-by: Imre Kis <imre.kis@arm.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a65dd3a6 | 02-Feb-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: spmc: support virtualization with SPMC at S-EL1
Adds support for virtualization with OP-TEE as SPMC at S-EL1. This if the FF-A counterpart of SMC based ABI with virtualization.
Reviewed-by: B
core: spmc: support virtualization with SPMC at S-EL1
Adds support for virtualization with OP-TEE as SPMC at S-EL1. This if the FF-A counterpart of SMC based ABI with virtualization.
Reviewed-by: Balint Dobszay <balint.dobszay@arm.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 79321a89 | 02-Feb-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add virt_get_current_guest_id()
Adds the helper function virt_get_current_guest_id().
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander
core: add virt_get_current_guest_id()
Adds the helper function virt_get_current_guest_id().
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 01980f3f | 16-May-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: interrupt: rename itr_init()
Renames itr_init() to interrupt_main_init() as a later change will modify interrupt chip API functions using interrupt_ as prefix.
Reviewed-by: Jens Wiklander <je
core: interrupt: rename itr_init()
Renames itr_init() to interrupt_main_init() as a later change will modify interrupt chip API functions using interrupt_ as prefix.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 358bf47c | 16-May-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: interrupt: rename itr_core_handler()
Renames itr_core_handler() to interrupt_main_handler() as a later change will modify interrupt chip API functions using interrupt_ as prefix.
Reviewed-by:
core: interrupt: rename itr_core_handler()
Renames itr_core_handler() to interrupt_main_handler() as a later change will modify interrupt chip API functions using interrupt_ as prefix.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| b5aff6de | 02-Mar-2023 |
Clément Léger <clement.leger@bootlin.com> |
core: dt_driver: add support for DT_DRIVER_PINCTRL
In order to handle pinctrl the same way that other driver are handled by DT driver support, modify node parsing to refer to the parent node in case
core: dt_driver: add support for DT_DRIVER_PINCTRL
In order to handle pinctrl the same way that other driver are handled by DT driver support, modify node parsing to refer to the parent node in case we are handling a pinctrl request.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
show more ...
|
| d679f4dd | 10-May-2023 |
Thomas Perrot <thomas.perrot@bootlin.com> |
core: dt_driver: fix a typo
Replace "controlle" with "controller".
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> |
| 4fc179b6 | 11-May-2023 |
Thomas Perrot <thomas.perrot@bootlin.com> |
drivers: gpio: add device-tree based gpio controller framework
Build a small gpio framework based on the device-tree infrastructure and on top of the existing gpio.h content. This framework allows t
drivers: gpio: add device-tree based gpio controller framework
Build a small gpio framework based on the device-tree infrastructure and on top of the existing gpio.h content. This framework allows to register gpio controllers and to retrieve gpio struct based on a "<name>-gpios" properties.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 69e63e33 | 15-May-2023 |
Alvin Chang <alvinga@andestech.com> |
Add missing conditional compilation for RISC-V
RV64 also uses kern_sp. The elf.h is also used by RV32 and RV64.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Acked-by: Jerome Forissier <jerome
Add missing conditional compilation for RISC-V
RV64 also uses kern_sp. The elf.h is also used by RV32 and RV64.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e1602654 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: parse boot info
With CFG_CORE_SEL2_SPMC=y OP-TEE is executed as an SP at S-EL1. The manifest describing the OP-TEE SP is passed as a boot argument.
The manifest contains among other thin
core: ffa: parse boot info
With CFG_CORE_SEL2_SPMC=y OP-TEE is executed as an SP at S-EL1. The manifest describing the OP-TEE SP is passed as a boot argument.
The manifest contains among other things the two properties "load-address" and "mem-size". These cover the secure memory allocated for OP-TEE to cover core and TA memory. The retrieved memory range is saved with a call to core_mmu_set_secure_memory() to be used when initializing MMU and other memory configuration.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4e45454a | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add dt_getprop_as_number()
Adds dt_getprop_as_number() to read a property and parse it as a number returned as a uint64_t. The size of the property determines if it's read as an unsigned 32-bi
core: add dt_getprop_as_number()
Adds dt_getprop_as_number() to read a property and parse it as a number returned as a uint64_t. The size of the property determines if it's read as an unsigned 32-bit or 64-bit integer.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 946f37ee | 04-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
driver: tpm2: remove TPM2 driver
Remove TPM2 driver from OP-TEE core. OP-TEE will instead rely on a remote REE TPM2 driver allowing REE OS to embed TPM2 software stack and leverage TPM2 features.
A
driver: tpm2: remove TPM2 driver
Remove TPM2 driver from OP-TEE core. OP-TEE will instead rely on a remote REE TPM2 driver allowing REE OS to embed TPM2 software stack and leverage TPM2 features.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| c11218eb | 28-Apr-2023 |
Clement Faure <clement.faure@nxp.com> |
pta: stats: fix compilation incompatible pointer warning
To reproduce the issue: $ make PLATFORM=imx-mx8mmevk CFG_WITH_STATS=y CFG_TA_STATS=y
core/pta/stats.c: In function ‘get_user_ta_stats’: core
pta: stats: fix compilation incompatible pointer warning
To reproduce the issue: $ make PLATFORM=imx-mx8mmevk CFG_WITH_STATS=y CFG_TA_STATS=y
core/pta/stats.c: In function ‘get_user_ta_stats’: core/pta/stats.c:169:37: warning: passing argument 2 of ‘tee_ta_instance_stats’ from incompatible pointer type [-Wincompatible-pointer-types] 169 | &p[0].memref.size); | ^~~~~~~~~~~~~~~~~ | | | size_t * {aka long unsigned int *} In file included from core/include/kernel/pseudo_ta.h:10, from core/pta/stats.c:8: core/include/kernel/tee_ta_manager.h:171:56: note: expected ‘uint32_t *’ {aka ‘unsigned int *’} but argument is of type ‘size_t *’ {aka ‘long unsigned int *’} 171 | TEE_Result tee_ta_instance_stats(void *buff, uint32_t *buff_size); | ~~~~~~~~~~^~~~~~~~~ core/pta/stats.c: At top level: cc1: note: unrecognized command-line option ‘-Wno-c2x-extensions’ may have been intended to silence earlier diagnostics
Fixes: 7509620b8b95 ("GP131: Update TEE_Param") Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 9e3c57c8 | 28-Feb-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: dt_driver: move related content from dt.h to dt_driver.h
Moves so-called dt_driver related declarations and definitions from dt.h to dt_drivers.h. Incidentally adds an inline description to en
core: dt_driver: move related content from dt.h to dt_driver.h
Moves so-called dt_driver related declarations and definitions from dt.h to dt_drivers.h. Incidentally adds an inline description to enum dt_driver_type. This change clarifies when a source file shall include dt.h and/or dt_driver.h.
This change updates driver source files to include none, one or both of these header files where applicable.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 439d2a89 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pass secure memory parameter to virt_init_memory()
Pass the physical secure memory range as a parameter from secure_only[]. This avoids using hard coded defines in virt_init_memory().
CFG_NS_
core: pass secure memory parameter to virt_init_memory()
Pass the physical secure memory range as a parameter from secure_only[]. This avoids using hard coded defines in virt_init_memory().
CFG_NS_VIRTUALIZATION=y depends on secure_only[] to have all memory as consecutive memory ranges, but that's unchanged behaviour from before since it was expected that the entire range from TEE_RAM_START to TA_RAM_START + TA_RAM_SIZE is usable memory.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| c24c1950 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: linker.h: remove *_SZ_UNSAFE defines
Removes the now unused *_SZ_UNSAFE defines.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.
core: linker.h: remove *_SZ_UNSAFE defines
Removes the now unused *_SZ_UNSAFE defines.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| ff843c89 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: linker.h: fix ASAN_MAP_PA and ASAN_SHADOW_PA
Fixes ASAN_MAP_PA and ASAN_SHADOW_PA to cast via vaddr_t to paddr_t to avoid compile errors when paddr_t is larger than a pointer, that is, with CF
core: linker.h: fix ASAN_MAP_PA and ASAN_SHADOW_PA
Fixes ASAN_MAP_PA and ASAN_SHADOW_PA to cast via vaddr_t to paddr_t to avoid compile errors when paddr_t is larger than a pointer, that is, with CFG_CORE_LARGE_PHYS_ADDR on 32-bit platforms.
core/include/kernel/linker.h:113:26: error: cast from pointer to integer of diff erent size [-Werror=pointer-to-int-cast] 113 | #define ASAN_MAP_PA ((paddr_t)__asan_map_start) | ^
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 0f2735cd | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: linker.h: fix VCORE_NEX_RW_SZ
Fixes the VCORE_NEX_RW_SZ define by adding a missing pair of ( ).
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.c
core: linker.h: fix VCORE_NEX_RW_SZ
Fixes the VCORE_NEX_RW_SZ define by adding a missing pair of ( ).
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 3734abd2 | 22-Mar-2023 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
core: dt: remove fdt_check_node()
The function is never implemented, remove the ghost prototype.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etie
core: dt: remove fdt_check_node()
The function is never implemented, remove the ghost prototype.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 07ced948 | 22-Mar-2023 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
core: dt: add kernel DT API to retrieve regs by name
This patch adds _fdt_get_reg_props_by_index() and _fdt_get_reg_props_by_name() APIs.
Signed-off-by: Christophe Kerello <christophe.kerello@foss.
core: dt: add kernel DT API to retrieve regs by name
This patch adds _fdt_get_reg_props_by_index() and _fdt_get_reg_props_by_name() APIs.
Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 7c3a6b7b | 22-Mar-2023 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
core: dt: add kernel DT API fdt_read_uint32_index()
This patch adds fdt_read_uint32_index() API. This API reads one cell from a given multi-value property.
This patch updates fdt_read_uint32() and
core: dt: add kernel DT API fdt_read_uint32_index()
This patch adds fdt_read_uint32_index() API. This API reads one cell from a given multi-value property.
This patch updates fdt_read_uint32() and fdt_read_uint32_default() to use fdt_read_uint32_index() API
Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|