| 8132f3be | 18-Dec-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
libutils: util.h: Relax ROUNDUP() and add ROUNDUP2()
Remove constraint on ROUNDUP() to have its size argument being a power of 2 and add new ROUNDUP2() macro with that constraint.
The previous impl
libutils: util.h: Relax ROUNDUP() and add ROUNDUP2()
Remove constraint on ROUNDUP() to have its size argument being a power of 2 and add new ROUNDUP2() macro with that constraint.
The previous implementation of ROUNDUP(), optimized for when size argument is a power of 2, is now used for ROUNDUP2() but this latter also asserts (in debug build mode) that the size argument conforms to this condition.
The new implementation of ROUNDUP() is less optimal but modern compilers produce the same optimized assembly code with this macro when the size argument is a constant value known from the compiler so all use of ROUNDUP() with a known constant value do not need move to ROUNDUP2().
Performance sensitive routines should now on use ROUNDUP2() to leverage the power-of-2 rounding optimization.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c98faf4d | 18-Dec-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
libutils: util.h: Relax ROUNDUP_OVERFLOW() and add ROUNDUP2_OVERFLOW()
Remove constraint on ROUNDUP_OVERFLOW() to have its size argument being a power of 2 and add new ROUNDUP2_OVERFLOW() macro with
libutils: util.h: Relax ROUNDUP_OVERFLOW() and add ROUNDUP2_OVERFLOW()
Remove constraint on ROUNDUP_OVERFLOW() to have its size argument being a power of 2 and add new ROUNDUP2_OVERFLOW() macro with that constraint.
The previous implementation of ROUNDUP_OVERFLOW(), optimized for when size argument is a power of 2, is now used for ROUNDUP2_OVERFLOW() but this latter also asserts (in debug build mode) that the size argument conforms to this condition.
Performance sensitive routines should now on use ROUNDUP2_OVERFLOW() to leverage the power-of-2 rounding optimization.
The new implementation of ROUNDUP_OVERFLOW() is less optimal but modern compilers produce the same optimized assembly code with this macro when the size argument is a constant value known from the compiler so all use of ROUNDUP_OVERFLOW() with a known constant value do not need move to ROUNDUP2_OVERFLOW().
By the way, fix the indentation in the macro implementation for consistency of the header file implementation and extend the inline description comment.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4879d4c0 | 16-Dec-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
libutils: util.h: Relax ROUNDUP_DIV() and add ROUNDUP2_DIV()
Remove constraint on ROUNDUP_DIV() to have its size argument being a power of 2 and add new ROUNDUP2_DIV() macro with that constraint.
T
libutils: util.h: Relax ROUNDUP_DIV() and add ROUNDUP2_DIV()
Remove constraint on ROUNDUP_DIV() to have its size argument being a power of 2 and add new ROUNDUP2_DIV() macro with that constraint.
The previous implementation of ROUNDUP_DIV(), optimized for when size argument is a power of 2, is now used for ROUNDUP2_DIV() but this latter also asserts (in debug build mode) that the size argument conforms to this condition.
Performance sensitive routines should now on use ROUNDUP2_DIV() to leverage the power-of-2 rounding optimization.
The new implementation of ROUNDUP_DIV() is less optimal but modern compilers produce the same optimized assembly code with this macro when the size argument is a constant value known from the compiler so all use of ROUNDUP_DIV() with a known constant value do not need move to ROUNDUP2_DIV().
By the way, fix the indentation in the macro implementation for consistency of the header file implementation.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| fd0b115a | 16-Dec-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
libutils: util.h: fix ROUND*() macros description argument constraint
Correct inline description comment for ROUNDUP(), ROUNDUP_OVERFLOW(), ROUNDDOWN() where the second argument is expected to be a
libutils: util.h: fix ROUND*() macros description argument constraint
Correct inline description comment for ROUNDUP(), ROUNDUP_OVERFLOW(), ROUNDDOWN() where the second argument is expected to be a power of 2, not a multiple of 2.
Add an inline description comment to ROUNDUP_OVERFLOW() to state this requirement.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ccb65ffa | 18-Dec-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: remove incr_refcnt()/decr_refcnt()
Remove platform specific refcount helper functions incr_refcnt() and decr_refcnt() and related that are no more used since commit f63f11bd1763 ("dri
plat-stm32mp1: remove incr_refcnt()/decr_refcnt()
Remove platform specific refcount helper functions incr_refcnt() and decr_refcnt() and related that are no more used since commit f63f11bd1763 ("drivers: stm32_rng: keep rng enable from initialization") merged in OP-TEE tag 3.21.0.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 7fac2ff8 | 17-Dec-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: stm32_util.h: remove unused include files
Remove inclusion of header files no more needed in plat-stm32mp1/stm32_util.h.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com
plat-stm32mp1: stm32_util.h: remove unused include files
Remove inclusion of header files no more needed in plat-stm32mp1/stm32_util.h.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 8e56b667 | 17-Dec-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: fix missing header file in stm32mp13_regulator_iod
Add missing inclusion of kernel/dt_driver.h that is needed by stm32mp13_regulator_iod driver.
Signed-off-by: Etienne Carriere
drivers: regulator: fix missing header file in stm32mp13_regulator_iod
Add missing inclusion of kernel/dt_driver.h that is needed by stm32mp13_regulator_iod driver.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 0ba375c0 | 23-Oct-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp2: remove deprecated shared_resource stub functions
Remove stm32mp2 platform shared_resources driver stub functions stm32mp_register_secure_periph_iomem(), stm32mp_register_non_secure_pe
plat-stm32mp2: remove deprecated shared_resource stub functions
Remove stm32mp2 platform shared_resources driver stub functions stm32mp_register_secure_periph_iomem(), stm32mp_register_non_secure_periph_iomem() and stm32mp_register_gpioz_pin_count() since shared_resources platform driver, inherited from stm32mp1, has been fully removed in the source tree.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 1d4d2421 | 22-Oct-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: remove deprecated shared_resource driver
Remove stm32mp1 platform shared_resources.c driver that is no more used.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked
plat-stm32mp1: remove deprecated shared_resource driver
Remove stm32mp1 platform shared_resources.c driver that is no more used.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 5124aab5 | 18-Dec-2024 |
Jerome Forissier <jerome.forissier@linaro.org> |
ci: QEMUv8: disable fTPM with pager
Disable fTPM when testing with pager enabled, because execution is too slow otherwise and sometimes fails with a timeout error. For example I noticed that the exe
ci: QEMUv8: disable fTPM with pager
Disable fTPM when testing with pager enabled, because execution is too slow otherwise and sometimes fails with a timeout error. For example I noticed that the execution time of "xtest regression 1006" may be increased from 5 to 10 minutes.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Joakim Bech <joakim.bech@linaro.org>
show more ...
|
| 4f75eab0 | 22-Oct-2024 |
yuzexi <yuzexi@hisilicon.com> |
driver: crypto: hisilicon: add RSA algorithm
Add RSA support in Hisilicon crypto drivers.
Signed-off-by: yuzexi <yuzexi@hisilicon.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Acke
driver: crypto: hisilicon: add RSA algorithm
Add RSA support in Hisilicon crypto drivers.
Signed-off-by: yuzexi <yuzexi@hisilicon.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 90c3f137 | 23-Oct-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: remove unused stm32mp_nsec_can_access_reset()
Remove unused platform functions stm32mp_nsec_can_access_reset() and stm32mp_gpio_bank_is_non_secure().
Signed-off-by: Etienne Carriere
plat-stm32mp1: remove unused stm32mp_nsec_can_access_reset()
Remove unused platform functions stm32mp_nsec_can_access_reset() and stm32mp_gpio_bank_is_non_secure().
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| ded57353 | 23-Oct-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: remove unused stm32mp_nsec_can_access_clock()
Remove unused platform functions stm32mp_nsec_can_access_clock() and stm32mp_gpio_bank_is_secure().
Signed-off-by: Etienne Carriere <eti
plat-stm32mp1: remove unused stm32mp_nsec_can_access_clock()
Remove unused platform functions stm32mp_nsec_can_access_clock() and stm32mp_gpio_bank_is_secure().
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| b18ace9b | 22-Oct-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: scmi_server: test reset/clock access against ETZPC config
Check whether or not an SCMI clock or SCMI reset domain can be accessed using the firewall API instead of relying on shared_r
plat-stm32mp1: scmi_server: test reset/clock access against ETZPC config
Check whether or not an SCMI clock or SCMI reset domain can be accessed using the firewall API instead of relying on shared_resources.c driver. This latter is not useless since integration of the firewall framework and will be soon removed.
Remove also the buggy tests on SCMI reset being exposed that relied on wrong API function stm32mp_nsec_can_access_clock(). Test on reset domain being accessible or not is now dynamically handled with nsec_can_access_resource().
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 39263273 | 14-Nov-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: firewall: stm32_etzpc: add check_access handler
Implement .check_access handler in stm32_etzpc driver.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Patrick D
drivers: firewall: stm32_etzpc: add check_access handler
Implement .check_access handler in stm32_etzpc driver.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| dd6b0423 | 09-Dec-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: remove PMIC registering to shared_resources driver
Remove registering of STM32MP1 PMIC driver to shared_resources driver that is deprecated since integration of the firewall framework
plat-stm32mp1: remove PMIC registering to shared_resources driver
Remove registering of STM32MP1 PMIC driver to shared_resources driver that is deprecated since integration of the firewall framework and will soon be removed.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 67da2ad7 | 22-Oct-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_cryp: remove registering to shared_resource driver
Remove registering of STM32 CRYP driver to shared_resources driver that is deprecated since integration of the firewall framework an
drivers: stm32_cryp: remove registering to shared_resource driver
Remove registering of STM32 CRYP driver to shared_resources driver that is deprecated since integration of the firewall framework and will soon be removed.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 7a1f6540 | 22-Oct-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_uart: remove registering to shared_resources driver
Remove registering of STM32 UART driver to shared_resources driver that is deprecated since integration of the firewall framework a
drivers: stm32_uart: remove registering to shared_resources driver
Remove registering of STM32 UART driver to shared_resources driver that is deprecated since integration of the firewall framework and will soon be removed.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| afabc705 | 22-Oct-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_rng: remove registering to shared_resources driver
Remove registering of STM32 RNG driver to shared_resources driver that is deprecated since integration of the firewall framework and
drivers: stm32_rng: remove registering to shared_resources driver
Remove registering of STM32 RNG driver to shared_resources driver that is deprecated since integration of the firewall framework and will soon be removed.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| a096e2d9 | 09-Dec-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_iwdg: remove useless device list
STM32 watchdog driver does not manage several instances of IWDG hence remove the useless code. To simplify code, remove stm32_iwdg_register() local fu
drivers: stm32_iwdg: remove useless device list
STM32 watchdog driver does not manage several instances of IWDG hence remove the useless code. To simplify code, remove stm32_iwdg_register() local function.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 7178041a | 22-Oct-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_iwdg: remove registering to shared_resources driver
Remove registering of STM32 IWDG driver to platform shared_resources driver that is deprecated since integration of the firewall fr
drivers: stm32_iwdg: remove registering to shared_resources driver
Remove registering of STM32 IWDG driver to platform shared_resources driver that is deprecated since integration of the firewall framework in stm32mp1 platforms. Since this integration, OP-TEE only consider IWDG secure instances hence remove the useless code for IWDG assigned to non-secure world.
As watchdog drivers are only used when registering to OP-TEE watchdog services (CFG_WDT_SM_HANDLER) simplify the code to always register IWDG instance.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| d97509bf | 10-Dec-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: CFG_STM32_IWDG requires CFG_WDT_SM_HANDLER
Driver stm32_iwdg only aims at exposing an OP-TEE watchdog service hence declare CFG_STM32_IWDG dependency on CFG_WDT and CFG_WDT_SM_HANDLER
plat-stm32mp1: CFG_STM32_IWDG requires CFG_WDT_SM_HANDLER
Driver stm32_iwdg only aims at exposing an OP-TEE watchdog service hence declare CFG_STM32_IWDG dependency on CFG_WDT and CFG_WDT_SM_HANDLER in stm32mp1 platform configuration file.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| b4ed37a8 | 13-Dec-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-vexpress: increase QEMU heap size
The core heap usage is increased by around 20kB with fTPM enabled so it makes sense if this has to be compensated.
Increase heap size for the QEMU variants: -
plat-vexpress: increase QEMU heap size
The core heap usage is increased by around 20kB with fTPM enabled so it makes sense if this has to be compensated.
Increase heap size for the QEMU variants: - QEMU v7 from 64kB to 96kB - QEMU v8 from 128kB to 192kB
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 568af6f2 | 13-Dec-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
ci: QEMUv8: disable fTPM with ftrace
Disable fTPM because it takes too long to probe with ftrace enabled in OP-TEE.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome For
ci: QEMUv8: disable fTPM with ftrace
Disable fTPM because it takes too long to probe with ftrace enabled in OP-TEE.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| c6c7967f | 13-Dec-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pta: secstore: decrease TA buffer
install_ta() uses a buffer allocated from the heap while hashing a TA while installing it. The buffer size is 8kB which is a bit large to reliably allocate fr
core: pta: secstore: decrease TA buffer
install_ta() uses a buffer allocated from the heap while hashing a TA while installing it. The buffer size is 8kB which is a bit large to reliably allocate from the heap, so decrease it to 1kB.
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 ...
|