| 42bb9a86 | 26-Mar-2021 |
Jerome Forissier <jerome@forissier.org> |
core: mm: fix infinite loop in vm_pa2va()
Commit d6ad67f674e5 ("core: mm: change vm_pa2va() to return a virtual address") moved the call to mobj_get_pa() up in a 'for' loop and added a 'continue' st
core: mm: fix infinite loop in vm_pa2va()
Commit d6ad67f674e5 ("core: mm: change vm_pa2va() to return a virtual address") moved the call to mobj_get_pa() up in a 'for' loop and added a 'continue' statement. Moving it was wrong because at this point 'size' is not yet updated which causes an infinite loop when the PA is not found.
Move the call back to its original location but keep the 'continue' which looks correct.
Fixes: d6ad67f674e5 ("core: mm: change vm_pa2va() to return a virtual address") Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 19ac2e24 | 26-Feb-2021 |
Vahid Dukandar <vahidd@microsoft.com> |
driver: bcm_sotp: changed driver_init to service_init
bcm_sotp should be available early in optee boot. which is achieved by making it as service.
Reviewed-by: Etienne Carriere <etienne.carriere@li
driver: bcm_sotp: changed driver_init to service_init
bcm_sotp should be available early in optee boot. which is achieved by making it as service.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Vahid Dukandar <vahidd@microsoft.com>
show more ...
|
| 73a09779 | 26-Mar-2021 |
Jerome Forissier <jerome@forissier.org> |
drivers: csu: allow setting CSU_CSL0
The sentinel detection in the initialization loop for the CSU_CSL<n> registers is wrong in that is doesn't allow to set the first register, CSU_CSL0 (when csu_in
drivers: csu: allow setting CSU_CSL0
The sentinel detection in the initialization loop for the CSU_CSL<n> registers is wrong in that is doesn't allow to set the first register, CSU_CSL0 (when csu_index == 0). Fix the conditional so that it stops on the sentinel value (-1) but still allows 0 as a valid index. CSU_CSL0 is used for the PWM peripherals on i.MX6 platforms.
Reported-by: Robert Delien <r.delien@payter.nl> Signed-off-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> Acked-by : Clement Faure <clement.faure@nxp.com>
show more ...
|
| c9366c1e | 26-Mar-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix rsa public exponent check
Fixes the check of the RSA Public Exponent in check_pub_rsa_key(). Prior to this patch was the wrong byte used to check if the bignum was odd. With this patch is
core: fix rsa public exponent check
Fixes the check of the RSA Public Exponent in check_pub_rsa_key(). Prior to this patch was the wrong byte used to check if the bignum was odd. With this patch is the correct byte selected in the big-endian bignum.
Fixes: 338b123ee66c ("core: syscall_obj_generate_key() check public rsa exponent") Reviewed-by: Jerome Forissier <jerome@forissier.org> Suggested-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e2a47595 | 22-Mar-2021 |
Clement Faure <clement.faure@nxp.com> |
core: ls: add CAAM support for LS platforms
Add CAAM support for the following LS platforms: - ls1012afrwy - ls1012ardb - ls1021atwr - ls1021aqds - ls1043ardb - ls1046ardb
Signed-off-by: Clem
core: ls: add CAAM support for LS platforms
Add CAAM support for the following LS platforms: - ls1012afrwy - ls1012ardb - ls1021atwr - ls1021aqds - ls1043ardb - ls1046ardb
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| aa0f7064 | 22-Mar-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: add missing SCFGR offset for LS platforms
Add missing CAAM security configuration register offset for LS platforms.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Sah
drivers: caam: add missing SCFGR offset for LS platforms
Add missing CAAM security configuration register offset for LS platforms.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 0596632d | 22-Mar-2021 |
Clement Faure <clement.faure@nxp.com> |
core: ls: add CAAM_BASE for all LS platforms
Add CAAM_BASE for the following LS platforms: - ls1021aqds/atwr - ls1088ardb - ls2088ardb - ls1028ardb - lx2160aqds
Signed-off-by: Clement Faure <c
core: ls: add CAAM_BASE for all LS platforms
Add CAAM_BASE for the following LS platforms: - ls1021aqds/atwr - ls1088ardb - ls2088ardb - ls1028ardb - lx2160aqds
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| b6a5f694 | 22-Mar-2021 |
Clement Faure <clement.faure@nxp.com> |
core: ls: Enable CAAM MAC algorithms
Enable CAAM MAC algorithms: - HMAC - CMAC
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org> |
| c6738340 | 16-Oct-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: increases RSA prime retry
Change the RSA Primes generation retry loops: - Reduce number of loops set in the job ring descriptor. - Add software loop to not lock the system.
Total ret
drivers: caam: increases RSA prime retry
Change the RSA Primes generation retry loops: - Reduce number of loops set in the job ring descriptor. - Add software loop to not lock the system.
Total retry loop has been increased because RSA 4096 generation key test might fail sometimes.
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| c2906418 | 09-Nov-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: initialize vabase in core pager tables
Initialize the vabase in each struct pgt used to page OP-TEE core.
Fixes: 5ca851ec83ba ("core: pager: add struct tblidx") Acked-by: Jerome Foriss
core: pager: initialize vabase in core pager tables
Initialize the vabase in each struct pgt used to page OP-TEE core.
Fixes: 5ca851ec83ba ("core: pager: add struct tblidx") Acked-by: Jerome Forissier <jerome@forissier.org> Tested-by: Jerome Forissier <jerome@forissier.org> (HiKey960) Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 586d5740 | 22-Mar-2021 |
Jerome Forissier <jerome@forissier.org> |
core: fs: remove unused functions from tee_fs_rpc.c
Remove unused functions from core/tee/tee_fs_rpc.c. As a result, several sub-commands of the OPTEE_RPC_CMD_FS command are now unused: OPTEE_RPC_FS
core: fs: remove unused functions from tee_fs_rpc.c
Remove unused functions from core/tee/tee_fs_rpc.c. As a result, several sub-commands of the OPTEE_RPC_CMD_FS command are now unused: OPTEE_RPC_FS_OPENDIR, OPTEE_RPC_FS_CLOSEDIR and OPTEE_RPC_FS_READDIR. These macros are kept unmodified in the header file core/include/optee_rpc_cmd.h because they are still implemented in tee-supplicant.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 5ca851ec | 09-Nov-2020 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pager: add struct tblidx
Adds struct tblidx when referring to entries associated with an area (struct tee_pager_area). This should make a few table indexes a bit less ambiguous.
Reviewed-by:
core: pager: add struct tblidx
Adds struct tblidx when referring to entries associated with an area (struct tee_pager_area). This should make a few table indexes a bit less ambiguous.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 148909c1 | 16-Mar-2021 |
Clement Faure <clement.faure@nxp.com> |
core: ls: set SGT properties for LS platforms
Set the following SGT properties for LS platforms: * CFG_CAAM_SGT_ALIGN * CFG_NXP_CAAM_SGT_V1/V2
Signed-off-by: Clement Faure <clement.faure@nxp.co
core: ls: set SGT properties for LS platforms
Set the following SGT properties for LS platforms: * CFG_CAAM_SGT_ALIGN * CFG_NXP_CAAM_SGT_V1/V2
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Sahil Malhotra <sahil.malhotra@nxp.com>
show more ...
|
| 7eb6b72f | 16-Mar-2021 |
Clement Faure <clement.faure@nxp.com> |
core: imx: set SGT properties for imx platforms
Set the following SGT properties for imx platforms: * CFG_CAAM_SGT_ALIGN * CFG_NXP_CAAM_SGT_V1
Signed-off-by: Clement Faure <clement.faure@nxp.com>
core: imx: set SGT properties for imx platforms
Set the following SGT properties for imx platforms: * CFG_CAAM_SGT_ALIGN * CFG_NXP_CAAM_SGT_V1
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 90072753 | 17-Feb-2021 |
Clement Faure <clement.faure@nxp.com> |
drivers: caam: remove unused SGT functions
Remove not longer used SGT functions.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| 6997f698 | 08-Apr-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: use CAAM DMA object in math driver
Update the math driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@lin
drivers: caam: use CAAM DMA object in math driver
Update the math driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a9591ed5 | 06-Apr-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: use CAAM DMA object in RSA
Update the RSA driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| eafbaf2c | 31-Mar-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: use CAAM DMA object in Cipher
Update Cipher driver to use the CAAM DMA object - Cipher AES/DES/DES3 all modes - Cipher MAC
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Sign
drivers: caam: use CAAM DMA object in Cipher
Update Cipher driver to use the CAAM DMA object - Cipher AES/DES/DES3 all modes - Cipher MAC
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3dface8c | 27-Mar-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: use CAAM DMA object in HMAC
Update HMAC driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Ac
drivers: caam: use CAAM DMA object in HMAC
Update HMAC driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 865a5792 | 25-Mar-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: use CAAM DMA object in Hash
Update Hash driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Ac
drivers: caam: use CAAM DMA object in Hash
Update Hash driver to use the CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 53d714df | 27-Mar-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: add dmaobj descriptor functions
Add descriptor operation to handle caamdmaobj to set: - SGT data type - Extension length
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by
drivers: caam: add dmaobj descriptor functions
Add descriptor operation to handle caamdmaobj to set: - SGT data type - Extension length
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 38923d48 | 27-Mar-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: caam: implement CAAM DMA Object
Implementation of a CAAM DMA object to: - create a DMA object (SGT/buffer) based on input/output buffers - reallocate a new buffer accessible from the CA
drivers: caam: implement CAAM DMA Object
Implementation of a CAAM DMA object to: - create a DMA object (SGT/buffer) based on input/output buffers - reallocate a new buffer accessible from the CAAM address space - ensure buffer is cache aligned (for the output)
Implementation of CAAM DMA object functions to: - cache maintenance - free CAAM DMA object
Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e0e51e3f | 05-Mar-2021 |
Franck LENORMAND <franck.lenormand@nxp.com> |
drivers: caam: fix read of length of D component
Read the RSA D component with caam_read_val32() which handles endianness. The CAAM endianness might differ between IMX and LS platforms.
Signed-off-
drivers: caam: fix read of length of D component
Read the RSA D component with caam_read_val32() which handles endianness. The CAAM endianness might differ between IMX and LS platforms.
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 83117aed | 16-Mar-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: mm: update description of vm.h exported functions
Update vm_va2pa() and vm_va2pa() inline description comments to state these are not deprecated and add some details. These 2 functions are nee
core: mm: update description of vm.h exported functions
Update vm_va2pa() and vm_va2pa() inline description comments to state these are not deprecated and add some details. These 2 functions are needed in debug mode to assert that va/pa conversion is consistent with core implementation.
Move information about user mapping and ASID from core/mm/vm.h to arm specific core_mmu.h since ASID is specific to Arm architectures.
Update style for vm_info_init() and vm_info_final() inline description for consistency in the header file.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 37b2459d | 16-Mar-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: arm: mobj: some mobjs may have no physical address
Change mobj_with_fobj_get_pa() to return TEE_ERROR_NOT_SUPPORTED when a virtual memory address has no assigned physical address. This can occ
core: arm: mobj: some mobjs may have no physical address
Change mobj_with_fobj_get_pa() to return TEE_ERROR_NOT_SUPPORTED when a virtual memory address has no assigned physical address. This can occur when the related memory is pageable and pager is enabled. This is the only memory object for which the object physical address range is volatile because under pager control.
With this change, mobj_get_pa() now can return TEE_ERROR_NOT_SUPPORTED for mapped addresses. Only check_pa_matches_va() must be updated, all other calls to mobj_get_pa() already handle the return code values they need to.
Update check_pa_matches_va() to not panic when vm_va2pa() returns this code because it can't convert the virtual address because the effective physical address of the memory cell is volatile as when target memory is paged and pager is enabled.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|