| d1b39e37 | 30-Jan-2025 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: stm32_risab: rework regs_access_granted()
Rework regs_access_granted() to always authorize access to RISAB1/2 that can only be accessed by the Cortex-A35.
Also fix the sequence by isolatin
drivers: stm32_risab: rework regs_access_granted()
Rework regs_access_granted() to always authorize access to RISAB1/2 that can only be accessed by the Cortex-A35.
Also fix the sequence by isolating the case where the CID filtering is not enabled.
Fixes: c413678c6ca6 ("drivers: stm32_risab: add RISAB internal memory firewall driver") Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 7d9d593d | 05-Feb-2025 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: firewall: stm32_etzpc: remove header file
Remove stm32_etzpc.h header file that is not required since the declared and defined resources are used internally in stm32_etzpc.c
By the way, al
drivers: firewall: stm32_etzpc: remove header file
Remove stm32_etzpc.h header file that is not required since the declared and defined resources are used internally in stm32_etzpc.c
By the way, also remove inclusion of stm32mp15-etzpc.h DT bindings header file from stm32_rng.c where it is not needed.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 539836f9 | 27-Jan-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: virt-aware FF-A thread_foreign_intr_exit()
thread_foreign_intr_exit() is called after the thread state has been saved and the thread is suspended. With virtualization enabled (CFG_NS_VIRT
core: arm: virt-aware FF-A thread_foreign_intr_exit()
thread_foreign_intr_exit() is called after the thread state has been saved and the thread is suspended. With virtualization enabled (CFG_NS_VIRTUALIZATION=y) the virt_unset_guest() is also called. After this, the guests thread contexts aren't available any longer. For FF-A thread_foreign_intr_exit() needs a few fields from the suspend threads context so extract those before suspending the thread and pass them as parameters for thread_foreign_intr_exit().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2b17b9bf | 22-Jan-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: __nex-annotate nexus rxtx buffer
Add __nex_bss and __nex_data annotations for the rxtx buffers used in a configuration with SPMC at S-EL2 or EL3.
Signed-off-by: Jens Wiklander <jens.wikl
core: ffa: __nex-annotate nexus rxtx buffer
Add __nex_bss and __nex_data annotations for the rxtx buffers used in a configuration with SPMC at S-EL2 or EL3.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 62673d08 | 22-Jan-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: initcall.h: make boot_final() last final call
Make the boot_final() call last among the final call, that is, after the xen_*_init*() calls. spmc_init() accesses the manifest_fd so it must be c
core: initcall.h: make boot_final() last final call
Make the boot_final() call last among the final call, that is, after the xen_*_init*() calls. spmc_init() accesses the manifest_fd so it must be called before release_manifest_dt() removes it.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 101b9d4d | 22-Jan-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: virt-aware spmc_init() for SPMC at S-EL2/EL3
Call virt_add_guest_spec_data() for the struct notif_vm_bitmap to make it accessible from notif_send_async().
Signed-off-by: Jens Wiklander <
core: ffa: virt-aware spmc_init() for SPMC at S-EL2/EL3
Call virt_add_guest_spec_data() for the struct notif_vm_bitmap to make it accessible from notif_send_async().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 259c34df | 04-Feb-2025 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: arm: boot: enable native interrupts before initcalls
Enable native interrupts on Arm architectures when executing initcalls (early,service,driver,final). This change allows drivers to leverage
core: arm: boot: enable native interrupts before initcalls
Enable native interrupts on Arm architectures when executing initcalls (early,service,driver,final). This change allows drivers to leverage interrupts during OP-TEE core initialization, as for example detecting a firewall access violation when it occurs. Before this change, OP-TEE needed to complete its initialization and return the secure monitor for secure interrupts to be handled.
Note that when CFG_NS_VIRTUALIZATION is enabled, initcalls called from virt_on_stdcall() is not changed here since they are executing from a standard call entry hence with native and foreign interrupts already default unmasked.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ef1ebdc2 | 01-Oct-2024 |
Vignesh Raghavendra <vigneshr@ti.com> |
plat-k3: Add initial support for AM62Lx SoC
AM62Lx newest among on the K3 class of SoCs designed to be low footprint system where DDR can be as small as 128M. Hence, move the DDR location to the beg
plat-k3: Add initial support for AM62Lx SoC
AM62Lx newest among on the K3 class of SoCs designed to be low footprint system where DDR can be as small as 128M. Hence, move the DDR location to the beginning of DDR right after TF-A.
Disable TI SCI, secure boot info and HW unique ID support for now, they will be incrementally at later point in time as the underlying communication layer is different than AM62x.
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Dhruva Gole <d-gole@ti.com>
show more ...
|
| fbffc8ad | 24-Jan-2025 |
Sascha Hauer <s.hauer@pengutronix.de> |
core: fail build when CFG_INSECURE=n used with unsafe RNG seed
A production build needs a proper RNG seed. Fail the build when CFG_INSECURE=n is used in conjunction with the default weak stub implem
core: fail build when CFG_INSECURE=n used with unsafe RNG seed
A production build needs a proper RNG seed. Fail the build when CFG_INSECURE=n is used in conjunction with the default weak stub implementation of plat_rng_init().
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| fe33e974 | 24-Jan-2025 |
Sascha Hauer <s.hauer@pengutronix.de> |
core: fail build when CFG_INSECURE=n used with zero HUK
CFG_INSECURE=n indicates the build may be used for production. In this environment using the zero HUK in inappropriate, so fail the build in t
core: fail build when CFG_INSECURE=n used with zero HUK
CFG_INSECURE=n indicates the build may be used for production. In this environment using the zero HUK in inappropriate, so fail the build in this case.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| b012d115 | 23-Jan-2025 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: gic: minor coding style fixes
Fix minor issues coding style issue for uninitialized local variable and trace message formatting. No functional change.
Signed-off-by: Etienne Carriere <etie
drivers: gic: minor coding style fixes
Fix minor issues coding style issue for uninitialized local variable and trace message formatting. No functional change.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 50cbe7eb | 23-Jan-2025 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: interrupt: explicit dt_get_irq handler expects big endian data
Explicit that struct itr_chip::dt_get_irq handler expects a reference to an array of big-endian properties. This was implicitly t
core: interrupt: explicit dt_get_irq handler expects big endian data
Explicit that struct itr_chip::dt_get_irq handler expects a reference to an array of big-endian properties. This was implicitly told before since DTB format is big-endian.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 77c4fee6 | 24-Jan-2025 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: interrupt: fix interrupt_create_handler() description
Correct inline description comment of interrupt_create_handler() that referred deprecated API function labels dt_get_interrupt_by_*() and
core: interrupt: fix interrupt_create_handler() description
Correct inline description comment of interrupt_create_handler() that referred deprecated API function labels dt_get_interrupt_by_*() and mention argument itr_desc that was reaplce with the 2 arguments itr_chip and itr_num.
By the way, indent functions argument description for consistency with the other function inline description comments in this header file.
Fixes: e9376d025eb5 ("core: interrupt: add interrupt_create_handler()") Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 941de178 | 23-Jan-2025 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: interrupt: enhance registered controller chips validity
Enhance assertion of interrupt chip validity using itr_chip_is_valid() helper function instead of only testing the chip handle is not nu
core: interrupt: enhance registered controller chips validity
Enhance assertion of interrupt chip validity using itr_chip_is_valid() helper function instead of only testing the chip handle is not null.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 141876e4 | 22-Jan-2025 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: gic: allow detection type configuration
Allow consumers to configure SPI interrupts when the provided type is not IRQ_TYPE_NONE. The allowed value are then IRQ_TYPE_EDGE_RISING and IRQ_TYPE
drivers: gic: allow detection type configuration
Allow consumers to configure SPI interrupts when the provided type is not IRQ_TYPE_NONE. The allowed value are then IRQ_TYPE_EDGE_RISING and IRQ_TYPE_LEVEL_HIGH, as per Arm GIC specification.
This change fixes an issue when using interrupt_dt_get_by_index() or interrupt_dt_get_by_name() since these API functions tell the interrupt is configured from DT phandle arguments whereas GIC driver did not consider the interrupt detection type even if set in the consumer DT node property.
Fixes: 14885eb1688b ("drivers: gic: register to dt_driver") Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 63873401 | 23-Jan-2025 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: interrupt: fix property count in dt_get_irq_type_prio()
Fix the number of properties passed by dt_get_irq_type_prio() to dt_get_irq handler of the interrupt main chip. The fixed issue was not
core: interrupt: fix property count in dt_get_irq_type_prio()
Fix the number of properties passed by dt_get_irq_type_prio() to dt_get_irq handler of the interrupt main chip. The fixed issue was not seen since existing registered dt_get_irq handlers (atmel_wdt.c, gic.c and plic.c) do not really care when this count value is too high.
Fixes: 702fe5a74327 ("core: kernel: interrupt: add type and prio for interrupts") Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 10e9deff | 22-Jan-2025 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
dts: stm32: add RISAL configuration on the stm32mp257f-ev1 board
Configure the RISALs on the stm32mp257f-ev1 board so that the LPSRAM1/2/3 are accessible by both the ARM Cortex A-35 and ARM Cortex M
dts: stm32: add RISAL configuration on the stm32mp257f-ev1 board
Configure the RISALs on the stm32mp257f-ev1 board so that the LPSRAM1/2/3 are accessible by both the ARM Cortex A-35 and ARM Cortex M0+.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 662542c7 | 26-Apr-2024 |
Gwenael Treuveur <gwenael.treuveur@foss.st.com> |
drivers: stm32_rifsc: add RISAL support for stm32mp25x platforms
Add RISAL driver support.
RISAL is a sub-feature of the RISFC which is responsible for the isolation of hardware resources like memo
drivers: stm32_rifsc: add RISAL support for stm32mp25x platforms
Add RISAL driver support.
RISAL is a sub-feature of the RISFC which is responsible for the isolation of hardware resources like memory or peripherals. RISALs are simplified version of the RISAFs firewall controllers and cover the LPSRAM1/2/3 embedded memories.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Gwenael Treuveur <gwenael.treuveur@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| bb032271 | 22-Jan-2025 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
dt-bindings: add RISAL bindings in the RIFSC file
Add the RISAL bindings in the RIFSC file as the RISAL is a sub-feature of the RIFSC.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.co
dt-bindings: add RISAL bindings in the RIFSC file
Add the RISAL bindings in the RIFSC file as the RISAL is a sub-feature of the RIFSC.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| e78e87a9 | 21-May-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: stm32_risaf: upgrade RISAF as a firewall controller
Register RISAF instances as firewall controllers with ops: -acquire_memory_access() that checks if OP-TEE can access a region specified i
drivers: stm32_risaf: upgrade RISAF as a firewall controller
Register RISAF instances as firewall controllers with ops: -acquire_memory_access() that checks if OP-TEE can access a region specified in a firewall query. -set_conf() that allows the reconfiguration of a region.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 16aaaf2f | 27-May-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
dts: stm32: declare RISAF instances as access controllers
Declare RISAFs as access controllers so that it's possible to check firewall access rights on address ranges, and reconfigure dynamically RI
dts: stm32: declare RISAF instances as access controllers
Declare RISAFs as access controllers so that it's possible to check firewall access rights on address ranges, and reconfigure dynamically RISAF regions.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 377f97ba | 14-Nov-2024 |
Andrew Davis <afd@ti.com> |
drivers: dra7_rng: Change dra7_rng_init to service_init_crypto
Since commit 11d8578d93f0 ("core: arm: call call_driver_initcalls() late"), driver_init is deferred and thread_update_canaries tries to
drivers: dra7_rng: Change dra7_rng_init to service_init_crypto
Since commit 11d8578d93f0 ("core: arm: call call_driver_initcalls() late"), driver_init is deferred and thread_update_canaries tries to get random_stack_canaries which requires the TRNG driver to be setup. Since it was being setup as part of driver_init, it lead to crash on DRA7 platforms.
Change driver_init to service_init_crypto which is meant to be used for initialization of crypto operations.
While here, add an assert that checks for DRA7 TRNG being used before initialization is complete.
Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 96e33b7f | 24-Jan-2025 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: dt: cached data for fdt_get_reg_props_by_index()
Factorize fdt_get_reg_props_by_index() and fdt_reg_info() to add DT cache info support to the former.
Signed-off-by: Etienne Carriere <etienne
core: dt: cached data for fdt_get_reg_props_by_index()
Factorize fdt_get_reg_props_by_index() and fdt_reg_info() to add DT cache info support to the former.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1190255b | 28-Jan-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta: add more self tests for virt_to_phys()
Add positive and negative virt_to_phys() and phys_to_virt() tests in the self test PTA.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> R
core: pta: add more self tests for virt_to_phys()
Add positive and negative virt_to_phys() and phys_to_virt() tests in the self test PTA.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a05b3a45 | 27-Jan-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta: add self tests for virt_to_phys()
Add virt_to_phys() and phys_to_virt() tests in the self test PTA. The tests are performed on the recently added VCORE_FREE memory range.
Signed-off-by:
core: pta: add self tests for virt_to_phys()
Add virt_to_phys() and phys_to_virt() tests in the self test PTA. The tests are performed on the recently added VCORE_FREE memory range.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|