| 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 ...
|
| 1220a68b | 24-Apr-2023 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: versal: ecc: allow software fallback on key allocation
The driver only supports ECDH/ECDSA key types. Other key types shall be entirely handled by a software implementation enabled at compil
crypto: versal: ecc: allow software fallback on key allocation
The driver only supports ECDH/ECDSA key types. Other key types shall be entirely handled by a software implementation enabled at compile time.
Fixes xtest regression 4006: regression_4006.43 Asym Crypto case 426 algo 0x80000046 line 373
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 8c57a17e | 24-Apr-2023 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto: se050: ecc: allow software fallback on key allocation requests
The driver only supports ECDH/ECDSA key types. Other key types shall be entirely handled by a software implementation enabled a
crypto: se050: ecc: allow software fallback on key allocation requests
The driver only supports ECDH/ECDSA key types. Other key types shall be entirely handled by a software implementation enabled at compile time.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 92d75aef | 24-Apr-2023 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
crypto_api: acipher: ecc key allocation API, pass the key type
For Elliptic Curve, the cryptographic API can fallback to its software operation instead of failing due to the lack of hardware support
crypto_api: acipher: ecc key allocation API, pass the key type
For Elliptic Curve, the cryptographic API can fallback to its software operation instead of failing due to the lack of hardware support.
The relevant code can be see seen in the function crypto_acipher_alloc_ecc_keypair(..).
crypto_api/acipher/ecc.c however does not pass the key type to the relevant driver and therefore the backend driver can not take the correct action at allocation time.
This commit addresses that limitation.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Clement Faure <clement.faure@nxp.com>
show more ...
|
| 11e45789 | 03-May-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: i2c: fix fdt_xxx() function label
Fixes I2C bus driver and atmel_i2c driver regarding function fdt_reg_base_address() and fdt_get_status() labels change in commit [1].
Fixes: f354a5d8f98e
drivers: i2c: fix fdt_xxx() function label
Fixes I2C bus driver and atmel_i2c driver regarding function fdt_reg_base_address() and fdt_get_status() labels change in commit [1].
Fixes: f354a5d8f98e ("core: replace _fdt_ prefix with fdt_ for device tree API") Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| d690c838 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: kern.ld.S: assert load address page aligned
Simplify things and assert that the start of text or load address is page aligned instead. This replaces the more relaxed check for 32-byte or
core: arm: kern.ld.S: assert load address page aligned
Simplify things and assert that the start of text or load address is page aligned instead. This replaces the more relaxed check for 32-byte or 128-byte alignment depending on ARM32 or ARM64. This also helps later when introducing physical relocation of the OP-TEE binary.
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 ...
|
| b38ef9b1 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: boot_init_memtag(): use core_mmu_get_secure_memory()
Use core_mmu_get_secure_memory() to determine the range of memory to pass to memtag_set_tags().
Signed-off-by: Jens Wiklander <jens.w
core: arm: boot_init_memtag(): use core_mmu_get_secure_memory()
Use core_mmu_get_secure_memory() to determine the range of memory to pass to memtag_set_tags().
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 ...
|
| 86ce921f | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add core_mmu_get_secure_memory()
Adds core_mmu_get_secure_memory() with the primary purpose of being used to find out the memory range to pass to memtag_set_tags().
Signed-off-by: Jens Wiklan
core: add core_mmu_get_secure_memory()
Adds core_mmu_get_secure_memory() with the primary purpose of being used to find out the memory range to pass to memtag_set_tags().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-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 ...
|
| b1b8ad9d | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: core_mmu.c: use boot_mmu_config.map_offset
Use boot_mmu_config.map_offset instead of computing it with VCORE_START_VA and TEE_LOAD_ADDR.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.o
core: core_mmu.c: use boot_mmu_config.map_offset
Use boot_mmu_config.map_offset instead of computing it with VCORE_START_VA and TEE_LOAD_ADDR.
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 ...
|
| 460c9735 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: boot: use correct base address for relocation
The start of the memory used by OP-TEE core is TEE_LOAD_ADDR. But relocate() and undo_init_relocation() has until now used TEE_RAM_START inst
core: arm: boot: use correct base address for relocation
The start of the memory used by OP-TEE core is TEE_LOAD_ADDR. But relocate() and undo_init_relocation() has until now used TEE_RAM_START instead which only work when it has the same value as TEE_LOAD_ADDR. So fix this by using TEE_LOAD_ADDR instead
Fixes: 5966660c02b3 ("core: move relocation to embedded data region") 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 ...
|
| ee34e7ea | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove TEE_RAM_VA_START and TEE_TEXT_VA_START
TEE_RAM_VA_START and TEE_TEXT_VA_START are defined to exactly the same thing as TEE_RAM_START and TEE_LOAD_ADDR respectively. They don't deal with
core: remove TEE_RAM_VA_START and TEE_TEXT_VA_START
TEE_RAM_VA_START and TEE_TEXT_VA_START are defined to exactly the same thing as TEE_RAM_START and TEE_LOAD_ADDR respectively. They don't deal with virtual addresses as the names suggests, they too represent physical addresses. So remove TEE_RAM_VA_START and TEE_TEXT_VA_START to get rid of some redundancy.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| c79fb6d4 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename load_offset in struct core_mmu_config
Renames the field load_offset in struct core_mmu_config to the more accurate name map_offset.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro
core: rename load_offset in struct core_mmu_config
Renames the field load_offset in struct core_mmu_config to the more accurate name map_offset.
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 ...
|
| 9f79f036 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: core_mmu_arch.h: remove redundant defines
Removes the redundant defines TEE_RAM_VA_SIZE, TEE_LOAD_ADDR, TEE_RAM_VA_START, TEE_TEXT_VA_START, and STACK_ALIGNMENT which are already defined
core: arm: core_mmu_arch.h: remove redundant defines
Removes the redundant defines TEE_RAM_VA_SIZE, TEE_LOAD_ADDR, TEE_RAM_VA_START, TEE_TEXT_VA_START, and STACK_ALIGNMENT which are already defined in core_mmu.h.
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 ...
|
| 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 ...
|
| 31fabfa7 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: core_mmu.c: replace register_phys_mem{_ul,}() usage
Replaces register_phys_mem_ul() and register_phys_mem() with direct calls to ADD_PHYS_MEM() for core and TA memory. This makes the code easi
core: core_mmu.c: replace register_phys_mem{_ul,}() usage
Replaces register_phys_mem_ul() and register_phys_mem() with direct calls to ADD_PHYS_MEM() for core and TA memory. This makes the code easier to read and also gives better control over supplied addresses since static initialization can be avoided.
This patch has no functional change.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| a45f7eea | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: improve register_phys_mem_pgdir() debug print
Improves the debug prints emitted by register_phys_mem_pgdir() to use the define of the base address instead. For example: ROUNDDOWN(0x09040000, C
core: improve register_phys_mem_pgdir() debug print
Improves the debug prints emitted by register_phys_mem_pgdir() to use the define of the base address instead. For example: ROUNDDOWN(0x09040000, CORE_MMU_PGDIR_SIZE) type IO_SEC 0x09000000 size 0x00200000 becomes: CONSOLE_UART_BASE type IO_SEC 0x09000000 size 0x00200000
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 ...
|
| 73e27bfa | 07-Apr-2023 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
core: dt: fix return value in fdt_read_uint32_array()
If fdt_getprop() returns 0, the error code is contained in the fourth parameter: len in this case.
Return len instead of -FDT_ERR_NOTFOUND.
Si
core: dt: fix return value in fdt_read_uint32_array()
If fdt_getprop() returns 0, the error code is contained in the fourth parameter: len in this case.
Return len instead of -FDT_ERR_NOTFOUND.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@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 ...
|
| a2e8c036 | 22-Mar-2023 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
core: dt: add fdt_read_size() helper
This patch adds fdt_read_size() helper.
Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com> Signed-off-by: Gatien Chevallier <gatien.chevallier@f
core: dt: add fdt_read_size() helper
This patch adds fdt_read_size() helper.
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 ...
|
| f354a5d8 | 05-Apr-2023 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
core: replace _fdt_ prefix with fdt_ for device tree API
As per upstream discussion, there is no reason to keep _fdt_ prefix. Replaces it with fdt_ for all occurrences.
Signed-off-by: Gatien Cheval
core: replace _fdt_ prefix with fdt_ for device tree API
As per upstream discussion, there is no reason to keep _fdt_ prefix. Replaces it with fdt_ for all occurrences.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|