| 612f3e4f | 08-Jul-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: firewall: add stm32 SERC support
Add stm32 SERC driver support. The SERC driver collects accesses to target peripherals that are either shutdown (computing clock off), or under reset. Upon
drivers: firewall: add stm32 SERC support
Add stm32 SERC driver support. The SERC driver collects accesses to target peripherals that are either shutdown (computing clock off), or under reset. Upon such event, the platform panics as it is an undesired event.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| e3d0f2c5 | 08-Jul-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
plat-stm32mp2: default enable IAC on stm32mp2x platforms
Default enable IAC support on stm32mp2x platforms so that illegal accesses are caught by OP-TEE.
Signed-off-by: Gatien Chevallier <gatien.ch
plat-stm32mp2: default enable IAC on stm32mp2x platforms
Default enable IAC support on stm32mp2x platforms so that illegal accesses are caught by OP-TEE.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 571a39d1 | 08-Jul-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: firewall: add stm32 IAC support
Add stm32 IAC driver support. The IAC (illegal access controller) centralizes the detection of RIF-related illegal accesses.
Signed-off-by: Gatien Chevallie
drivers: firewall: add stm32 IAC support
Add stm32 IAC driver support. The IAC (illegal access controller) centralizes the detection of RIF-related illegal accesses.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 11d8578d | 13-Aug-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: call call_driver_initcalls() late
Calls call_early_initcalls() and call_service_initcalls() directly instead of call_initcalls() from init_tee_runtime(). This allows call_driver_initcalls
core: arm: call call_driver_initcalls() late
Calls call_early_initcalls() and call_service_initcalls() directly instead of call_initcalls() from init_tee_runtime(). This allows call_driver_initcalls() to be called with PAUTH enabled.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 420f1125 | 12-Aug-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add and use service_init_crypto() macro
Add the service_init_crypto() used to initialize the internal crypto API before the rest of the registered service_init functions are called.
Signed-of
core: add and use service_init_crypto() macro
Add the service_init_crypto() used to initialize the internal crypto API before the rest of the registered service_init functions are called.
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 ...
|
| 913d93a4 | 12-Aug-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add call_{early,service,driver}_initcalls()
Add more fine-grained replacements for call_initcalls() to enable initcalls at several separate stages.
Signed-off-by: Jens Wiklander <jens.wikland
core: add call_{early,service,driver}_initcalls()
Add more fine-grained replacements for call_initcalls() to enable initcalls at several separate stages.
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 ...
|
| 449b5f25 | 13-Aug-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: boot: use thread specific PAUTH keys
Use thread specific PAUTH keys during boot while using thread specific stack pointer.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked
core: arm: boot: use thread specific PAUTH keys
Use thread specific PAUTH keys during boot while using thread specific stack pointer.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| faf09045 | 15-Jun-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: introduce boot_init_primary_final()
Introduce boot_init_primary_final() and move the call to call_finalcalls() into that function.
This is needed in later patches to enabled PAUTH before
core: arm: introduce boot_init_primary_final()
Introduce boot_init_primary_final() and move the call to call_finalcalls() into that function.
This is needed in later patches to enabled PAUTH before boot_init_primary_final() is called.
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 ...
|
| 229670c3 | 17-Jul-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: scmi-msg: fix clock rates description remaining count
Fix value of remaining clocks to describe on SCMI clock protocol message CLOCK_DESCRIBE_RATES that does not take into account the numbe
drivers: scmi-msg: fix clock rates description remaining count
Fix value of remaining clocks to describe on SCMI clock protocol message CLOCK_DESCRIBE_RATES that does not take into account the number of returned clock in the response.
Fixes: 90252e2a52c7 ("drivers: scmi-msg: clock adapts to output buffer size") Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 90d7b445 | 18-Jul-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: scmi-msg: correct voltage domain protocol version
Fix the version ID of the implemented SCMI voltage domain protocol that is v2.0 (ID 0x20000), not v3.0 (ID 0x30000).
Fixes: 006d89b8f49f (
drivers: scmi-msg: correct voltage domain protocol version
Fix the version ID of the implemented SCMI voltage domain protocol that is v2.0 (ID 0x20000), not v3.0 (ID 0x30000).
Fixes: 006d89b8f49f ("drivers: scmi-msg: add SCMI Voltage Domain protocol") Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 952dbec7 | 21-Aug-2024 |
Tony Han <tony.han@microchip.com> |
plat-sam: implement PL310 SMC protocol
When Linux runs in normal world, it expects the PL310 to be initially disabled, and then invokes SMCs to enable it. Let CFG_PL310_SIP_PROTOCOL=y, and the L2 ca
plat-sam: implement PL310 SMC protocol
When Linux runs in normal world, it expects the PL310 to be initially disabled, and then invokes SMCs to enable it. Let CFG_PL310_SIP_PROTOCOL=y, and the L2 cache will be left untouched until the OS enables it.
Signed-off-by: Tony Han <tony.han@microchip.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3b4ffdf0 | 26-Jul-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm32: update core local flags in native_intr_handler
The AArch32 version of the native_intr_handler() macro has until now called C function without updating the core local flags to indicate
core: arm32: update core local flags in native_intr_handler
The AArch32 version of the native_intr_handler() macro has until now called C function without updating the core local flags to indicate that the temporary stack is in use. This can lead to errors with CFG_CORE_DEBUG_CHECK_STACKS=y so fix this by setting THREAD_CLF_TMP and THREAD_CLF_FIQ or THREAD_CLF_IRQ as needed.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| fa31123d | 16-Jul-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: clk_get_rates_array() returns ordered rates
Explicitly state in clk_get_rates_array() inline description comment that the output rates arrays is ordered by increasing frequency values.
drivers: clk: clk_get_rates_array() returns ordered rates
Explicitly state in clk_get_rates_array() inline description comment that the output rates arrays is ordered by increasing frequency values. This change allows to better fit the sole consumer of this API function that is the SCMI server implementation. SCMI specification states that discrete clock rates list shall follow this order.
Update at91_cpu_opp clock driver to ensure it satisfy this constraint. The SAM platforms that embed this driver (sama7g5) already satisfy this constraints but only at its DTS level. This change ensures the driver will always.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 641f2f19 | 22-Jul-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: fix use after free in PMIC driver
Fix PMIC regulator levels arrays handling that missed a pointer reset after the buffer is freed. At runtime, pmic_list_voltages() handler function us
plat-stm32mp1: fix use after free in PMIC driver
Fix PMIC regulator levels arrays handling that missed a pointer reset after the buffer is freed. At runtime, pmic_list_voltages() handler function uses that reference and is expected to allocate back the buffer in case non-secure world requests voltage enumeration for the related regulator.
Fixes: a7990eb02b82 ("plat-stm32mp1: set voltage list at pmic driver init") Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 7c76fdcd | 12-Jun-2024 |
Yu Chien Peter Lin <peterlin@andestech.com> |
core: riscv: apply "-march" and "-mabi" options to assembler
Update platform-aflags-generic to include the -march option. Without specifying -march, the assembler will enable the C extension by defa
core: riscv: apply "-march" and "-mabi" options to assembler
Update platform-aflags-generic to include the -march option. Without specifying -march, the assembler will enable the C extension by default and generate compressed instructions, even if CFG_RISCV_ISA_C=n.
Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> Reviewed-by: Alvin Chang <alvinga@andestech.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 883402f5 | 28-Apr-2024 |
Yu Chien Peter Lin <peterlin@andestech.com> |
core: riscv: use configuration options for RISC-V extensions
RISC-V is a modular ISA, add config options to allow platforms to customize their binaries with specific "-march" and "-mabi".
Also, ena
core: riscv: use configuration options for RISC-V extensions
RISC-V is a modular ISA, add config options to allow platforms to customize their binaries with specific "-march" and "-mabi".
Also, enable RVC and FPU extension for QEMU virt machine.
Note that the RISC-V FPU for OP-TEE will be introduced later. Enable FPU to temporarily bypass incompatible soft/hard-fp linker errors.
Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> Reviewed-by: Alvin Chang <alvinga@andestech.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2bb485c3 | 14-Aug-2024 |
Jerome Forissier <jerome.forissier@linaro.org> |
kernel/link.mk: fix missing build number in version string on first build
Fix an issue with the build number in the version string. While at it, factor out the duplicated code into mk/macros.mk.
Be
kernel/link.mk: fix missing build number in version string on first build
Fix an issue with the build number in the version string. While at it, factor out the duplicated code into mk/macros.mk.
Before:
$ rm -rf out/ $ make out/arm-plat-vexpress/core/version.o UPD out/arm-plat-vexpress/core/.buildcount GEN out/arm-plat-vexpress/core/version.o cat: out/arm-plat-vexpress/core/.buildcount: No such file or directory
In addition to the error message, note the missing build number after the hash sign:
$ strings out/arm-plat-vexpress/core/version.o | grep UTC 4.3.0-48-g9c97e7d52 (gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)) # Wed Aug 14 16:17:07 UTC 2024 arm
After:
$ rm -rf out/ $ make out/arm-plat-vexpress/core/version.o UPD out/arm-plat-vexpress/core/.buildcount GEN out/arm-plat-vexpress/core/version.o $ strings out/arm-plat-vexpress/core/version.o | grep UTC 4.3.0-48-g9c97e7d52-dev (gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)) #1 Wed Aug 14 16:17:24 UTC 2024 arm
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9a1482c7 | 09-Jul-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: boot_clear_memtag(): use core_mmu_for_each_map()
Use core_mmu_for_each_map() in boot_clear_memtag() to iterate over each memory region and clear memory tags for each matching region.
Pre
core: arm: boot_clear_memtag(): use core_mmu_for_each_map()
Use core_mmu_for_each_map() in boot_clear_memtag() to iterate over each memory region and clear memory tags for each matching region.
Preparing for future changes where more than one memory region may use the same memory type.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 10b19e73 | 09-Jul-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: mm: add core_mmu_for_each_map()
Add core_mmu_for_each_map() to iterate over all memory regions, struct tee_mmap_region.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by:
core: mm: add core_mmu_for_each_map()
Add core_mmu_for_each_map() to iterate over all memory regions, struct tee_mmap_region.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 1eef6015 | 16-Aug-2024 |
Alvin Chang <alvinga@andestech.com> |
core: riscv: Zeroize unused parameters before thread_return_to_udomain()
Zeroize unused parameters before calling thread_return_to_udomain() to avoid leaking information to the untrusted domain unin
core: riscv: Zeroize unused parameters before thread_return_to_udomain()
Zeroize unused parameters before calling thread_return_to_udomain() to avoid leaking information to the untrusted domain unintentionally.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Yu Chien Peter Lin <peterlin@andestech.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c1b98cec | 16-Aug-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm64: increase size of abort stack to 4096
To avoid stack overruns with CFG_WITH_PAGER=y and CFG_CORE_DEBUG_CHECK_STACKS=y increase the abort stack from 3072 to 4096.
Signed-off-by: Jens Wik
core: arm64: increase size of abort stack to 4096
To avoid stack overruns with CFG_WITH_PAGER=y and CFG_CORE_DEBUG_CHECK_STACKS=y increase the abort stack from 3072 to 4096.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 0c05871e | 29-Jul-2024 |
leisen <leisen1@huawei.com> |
drivers: crypto: hisilicon: add authenc algorithm
Add authenc algorithm for hisilicon SEC driver
Signed-off-by: leisen <leisen1@huawei.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| e53d1206 | 16-Jul-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add_phys_mem(): fix mergeable physical memory
The test in add_phys_mem() to see if two physical memory ranges can be merged only checks for overlapping memory ranges, but consecutive ranges ar
core: add_phys_mem(): fix mergeable physical memory
The test in add_phys_mem() to see if two physical memory ranges can be merged only checks for overlapping memory ranges, but consecutive ranges are not detected even if they can be merged. Fix this by also checking if the byte after the lowest range matches the beginning of the next range.
The resulting merged entry might be mergeable with the previous or next entry, so add checks for that and merge if possible.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| b8ef8d0b | 08-May-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: mm: introduce struct memory_map
Introduce struct memory_map to keep track of the array of struct tee_mmap_region, covering number of used entries and number of allocated entries.
core_mmap_is
core: mm: introduce struct memory_map
Introduce struct memory_map to keep track of the array of struct tee_mmap_region, covering number of used entries and number of allocated entries.
core_mmap_is_end_of_table() and MEM_AREA_END are now unused so remove them.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 7a639aed | 26-Jul-2024 |
Thomas Perrot <thomas.perrot@bootlin.com> |
drivers: pm: sam: specify suspend/resume hint based on suspend level
The regulators that are used with the sama5d2 platforms can enter different levels of low power mode. In order to be able to act
drivers: pm: sam: specify suspend/resume hint based on suspend level
The regulators that are used with the sama5d2 platforms can enter different levels of low power mode. In order to be able to act accordingly, pass this information through suspend/resume hint.
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|