| 9e788d37 | 07-Sep-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: virt: check pa at end of check_pa_matches_va()
Prior to this patch did check_pa_matches_va() skip the final catchall check on the physical address. It should be possible to perform this check
core: virt: check pa at end of check_pa_matches_va()
Prior to this patch did check_pa_matches_va() skip the final catchall check on the physical address. It should be possible to perform this check with virtualization enabled so enable it for virtualization too.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a94111b9 | 31-Aug-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: virtualization.h: add dummy static inline functions
Adds dummy static inline functions to replace the normal virt_*() functions in virtualization.h when CFG_VIRTUALIZATION is not configured.
core: virtualization.h: add dummy static inline functions
Adds dummy static inline functions to replace the normal virt_*() functions in virtualization.h when CFG_VIRTUALIZATION is not configured.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Reviewed-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| bddb2f89 | 31-Aug-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: virt: use TEE_Result return type for virt_*() functions
Uses TEE_Result as return type for all virt_*() functions returning anything but void in <kernel/virtualization.h>
Reviewed-by: Etienne
core: virt: use TEE_Result return type for virt_*() functions
Uses TEE_Result as return type for all virt_*() functions returning anything but void in <kernel/virtualization.h>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| be501eb1 | 05-Oct-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
util: rename ALIGNMENT_IS_OK to IS_ALIGNED_WITH_TYPE
Implement the renamed macro using the IS_ALIGNED definition.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Etienne Carrie
util: rename ALIGNMENT_IS_OK to IS_ALIGNED_WITH_TYPE
Implement the renamed macro using the IS_ALIGNED definition.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6d777f26 | 05-Oct-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
util: define IS_ALIGNED macro
Keep a single version of the macro definition.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Revi
util: define IS_ALIGNED macro
Keep a single version of the macro definition.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 702fe5a7 | 10-Aug-2021 |
Clément Léger <clement.leger@bootlin.com> |
core: kernel: interrupt: add type and prio for interrupts
When describing a device in the device tree, it is sometimes necessary to parse the interrupts properties and propagates them until adding t
core: kernel: interrupt: add type and prio for interrupts
When describing a device in the device tree, it is sometimes necessary to parse the interrupts properties and propagates them until adding the interrupt. For instance some interrupt-cells allows to describe priority and type of interrupt:
interrupts = <67 IRQ_TYPE_LEVEL_HIGH 2>;
With existing support, only the interrupt number is returned by `dt_get_irq()`. This patch adds type and prio parameter which are passed to `dt_get_irq_type_prio()` and `itr_add_type_prio()`. This allows interrupt drivers to fill this from devicetree in `dt_get_irq()` but also use these information in the `add()` callback. Additionally, it allows to specify these flags manually when not using devicetree.
These parameters can then be used by the interrupt controller driver to setup the irq line correctly.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 888bb63d | 13-Oct-2021 |
Clément Léger <clement.leger@bootlin.com> |
core: kernel: interrupt: rename len argument of dt_get_irq to count
len can be missleading, use a more descriptive name.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Reviewed-by: Etienn
core: kernel: interrupt: rename len argument of dt_get_irq to count
len can be missleading, use a more descriptive name.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 6fd1b428 | 11-Oct-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: fix securing clock tree
Fix bug introduced in commit [1] that added HCLK5 parent clock identifier but did not handle it from secure_parent_clocks() resulting in core panic when RCC se
plat-stm32mp1: fix securing clock tree
Fix bug introduced in commit [1] that added HCLK5 parent clock identifier but did not handle it from secure_parent_clocks() resulting in core panic when RCC security hardening is enabled.
Fixes: [1] commit ea6f231cbdfa ("plat-stm32mp1: fix clock rate computation for CRYP1/GPIOZ/HASH1/MDMA") Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8f97fe77 | 31-Aug-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: call mapped_shm_init() via preinit()
Calls mapped_shm_init() and mobj_mapped_shm_init() a bit earlier by registering it with preinit().
Acked-by: Jerome Forissier <jerome@forissier.org> Revie
core: call mapped_shm_init() via preinit()
Calls mapped_shm_init() and mobj_mapped_shm_init() a bit earlier by registering it with preinit().
Acked-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 8fef9e0c | 31-Aug-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: virt: initialize heap via preinit_early()
Registers a function to initialize the heap used by OP-TEE partitions instead of doing it via init_tee_runtime(). With this the malloc() works a bit e
core: virt: initialize heap via preinit_early()
Registers a function to initialize the heap used by OP-TEE partitions instead of doing it via init_tee_runtime(). With this the malloc() works a bit earlier when an OP-TEE partition is initialized.
Acked-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| bd59a6ad | 31-Aug-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add call_preinitcalls()
Adds call_preinitcalls() for really early initcalls. This function is supposed to be called before call_initcalls() is called. With virtualization enabled it is called
core: add call_preinitcalls()
Adds call_preinitcalls() for really early initcalls. This function is supposed to be called before call_initcalls() is called. With virtualization enabled it is called in a blocking context when the OP-TEE partition is created.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2de28800 | 04-Oct-2021 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
core: update reference link to PrimeCell Cache Controller
Update broken link
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Jerome Forissier <jerome@forissier.org> |
| f02c0ee2 | 07-Oct-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: imx_ocotp: fix clock enablement for imx7 platforms
Set the correct CCM clock domain ID to enabled the OCOTP clock on imx7 platforms.
Fixes: e4ca953c38 ("drivers: imx: add OCOTP driver") Si
drivers: imx_ocotp: fix clock enablement for imx7 platforms
Set the correct CCM clock domain ID to enabled the OCOTP clock on imx7 platforms.
Fixes: e4ca953c38 ("drivers: imx: add OCOTP driver") Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| e08643a4 | 05-Oct-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: crypto: fix RSAES-OAEP encryption length check
According to PKCS#1 v2.2: RSA Cryptography Standard, for RSAES-OAEP Encryption operation function, the following length check must be done pri
drivers: crypto: fix RSAES-OAEP encryption length check
According to PKCS#1 v2.2: RSA Cryptography Standard, for RSAES-OAEP Encryption operation function, the following length check must be done prior the encryptioon operation [1]:
Return error if mLen > k - 2*hlen - 2
Because (k - 2*hlen - 2) must be superior or equal to zero, return an error also if 2*hlen >= k - 2
Links: [1] https://datatracker.ietf.org/doc/html/rfc8017 Fixes: f5a70e3efb ("drivers: crypto: generic resources for crypto device driver - RSA") Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 5d49c2f4 | 01-Oct-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: check destination buffer size before copying message
At the end of the RSA-OAEP decryption operation, check if the destination message buffer is big enough to hold the output of the d
drivers: caam: check destination buffer size before copying message
At the end of the RSA-OAEP decryption operation, check if the destination message buffer is big enough to hold the output of the decryption operation. If the buffer is too small, return TEE_ERROR_SHORT_BUFFER error code along the expected buffer size.
Fixes: 796ea6d867 ("drivers: caam: implement NXP CAAM Driver - RSA") Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d1b3da61 | 13-Sep-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARM: dts: stm32mp15: secure-status from RCC node
Remove specific secure-status property from RCC clock/reset device node in the DT since useless now that RCC secure hardening configuration is driven
ARM: dts: stm32mp15: secure-status from RCC node
Remove specific secure-status property from RCC clock/reset device node in the DT since useless now that RCC secure hardening configuration is driven from the node compatible property, not from status/secure-status state.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| ecef9014 | 03-Sep-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: clk: split clock initialization sequence
Move clock initialization sequence from function stm32mp1_clk_early_init() to a new local function stm32mp1_clk_init() that get all FDT refere
plat-stm32mp1: clk: split clock initialization sequence
Move clock initialization sequence from function stm32mp1_clk_early_init() to a new local function stm32mp1_clk_init() that get all FDT references. This change will allow to factorize clock initialization when generic clock framework will be supported.
Implement enable_rcc_tzen() and disable_rcc_tzen() helper functions for the same purpose.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| d40ee790 | 24-Sep-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: clk: new compatible st,stm32mp1-rcc-secure
Update to Linux v5.14 DT bindings on RCC clock driver. Legacy compatible "st,stm32mp1-rcc" relates to RCC with security hardening disabled.
plat-stm32mp1: clk: new compatible st,stm32mp1-rcc-secure
Update to Linux v5.14 DT bindings on RCC clock driver. Legacy compatible "st,stm32mp1-rcc" relates to RCC with security hardening disabled. New compatible "st,stm32mp1-rcc-secure" relates to platforms where RCC security hardening is enabled. The new compatible was introduced in Linux kernel v5.14 from [1].
Link: [1] https://lore.kernel.org/r/20210617051814.12018-11-gabriel.fernandez@foss.st.com Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| aae59a1e | 24-Sep-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: stm32_gpio: inline function when without GPIO support
Provide an implementation for GPIO configuration when the driver is not embedded (CFG_STM32_GPIO!=y). In such configuration, platform c
drivers: stm32_gpio: inline function when without GPIO support
Provide an implementation for GPIO configuration when the driver is not embedded (CFG_STM32_GPIO!=y). In such configuration, platform cannot configure the GPIO pins hence place an assert() instruction.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 7a2947dc | 24-Sep-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: fix dependencies in shared resources
GPIO pin counting depends on embedded DTB, not CFG_DT. Process GPIO configuration upon CFG_STM32_GPIO=y.
Signed-off-by: Etienne Carriere <etienne
plat-stm32mp1: fix dependencies in shared resources
GPIO pin counting depends on embedded DTB, not CFG_DT. Process GPIO configuration upon CFG_STM32_GPIO=y.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 56b7d5f5 | 24-Sep-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: GPIO and SCMI mandate embedded DTB
Mandate embedded DTB support for stm32mp1 GPIO driver and SCMI server.
Platform stm32mp1 can be build without embedded DTB support in which case m
plat-stm32mp1: GPIO and SCMI mandate embedded DTB
Mandate embedded DTB support for stm32mp1 GPIO driver and SCMI server.
Platform stm32mp1 can be build without embedded DTB support in which case most peripheral cannot be used. This configuration is used for development purpose for which the platform security hardening is disabled.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 16c88879 | 24-Sep-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: embed GPIO banks helper upon CFG_STM32_GPIO
Embed platform functions stm32_*_gpio_bank_*() upon CFG_STM32_GPIO.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by
plat-stm32mp1: embed GPIO banks helper upon CFG_STM32_GPIO
Embed platform functions stm32_*_gpio_bank_*() upon CFG_STM32_GPIO.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 9c5f7b0f | 23-Sep-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: pmic: release constraint on non-secure I2C clock parent
Remove constraints securing the parents of a non-secure clock. This constraints adds no value on such unsafe configuration.
Si
plat-stm32mp1: pmic: release constraint on non-secure I2C clock parent
Remove constraints securing the parents of a non-secure clock. This constraints adds no value on such unsafe configuration.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 34443269 | 06-Oct-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: fix typo in parent clock trace string ID
Fix debug string identifier for parent clock HCLK6.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <j
plat-stm32mp1: fix typo in parent clock trace string ID
Fix debug string identifier for parent clock HCLK6.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ea6f231c | 06-Oct-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: fix clock rate computation for CRYP1/GPIOZ/HASH1/MDMA
Fix parent clock identifier in stm32mp15 clock driver for CRYP1, GPIOZ, HASH1 and MDMA clocks. The issue affected only clock rate
plat-stm32mp1: fix clock rate computation for CRYP1/GPIOZ/HASH1/MDMA
Fix parent clock identifier in stm32mp15 clock driver for CRYP1, GPIOZ, HASH1 and MDMA clocks. The issue affected only clock rate computation for these 4 clocks, not the clock gating support.
CRYP1, GPIOZ and HASH1 clocks are fed by HCLK5, not PCLK5. MDMA clock is fed by HCLK6, not PCLK5.
Reported-by: Chaemin Lim <vn.cmlim@gmail.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|