| 3cc2413a | 11-May-2021 |
Jerome Forissier <jerome@forissier.org> |
core: allow configuration without any secure storage
Support a configuration with no secure storage (CFG_REE_FS=n and CFG_RPMB_FS=n). In such a case, user TAs will get error code TEEC_ERROR_ITEM_NOT
core: allow configuration without any secure storage
Support a configuration with no secure storage (CFG_REE_FS=n and CFG_RPMB_FS=n). In such a case, user TAs will get error code TEEC_ERROR_ITEM_NOT_FOUND when trying to access persistent objects.
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 ...
|
| f85678c1 | 26-Apr-2021 |
Igor Opaniuk <igor.opaniuk@foundries.io> |
imx: pm: add support for reset2 function
Add support for SYSTEM_RESET2, which asserts WDOG-generated reset signal WDOG_RESET_B_DEB (internal reset).
For additional details check WDOGx_WCR fields de
imx: pm: add support for reset2 function
Add support for SYSTEM_RESET2, which asserts WDOG-generated reset signal WDOG_RESET_B_DEB (internal reset).
For additional details check WDOGx_WCR fields description in iMX Applications Processor Reference Manual.
Acked-by: Clement Faure <clement.faure@nxp.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io>
show more ...
|
| b4bfc9a9 | 30-Apr-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core/include/*/*.h: use U() for unsigned constants
Updates with the U() macro as described in the recently updated coding guidelines.
Acked-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Je
core/include/*/*.h: use U() for unsigned constants
Updates with the U() macro as described in the recently updated coding guidelines.
Acked-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 2735636f | 04-May-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core/include/drivers/*.h: use BIT() and SHIFT_U32() macros
Uses the more safe BIT() and SHIFT_U32() macros instead of direct shifting of 1 or some other constant integer.
Acked-by: Ruchika Gupta <r
core/include/drivers/*.h: use BIT() and SHIFT_U32() macros
Uses the more safe BIT() and SHIFT_U32() macros instead of direct shifting of 1 or some other constant integer.
Acked-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 57f197ec | 30-Apr-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core/include/*.h: use U() for unsigned constants
Updates with the U() macro as described in the recently updated coding guidelines.
Acked-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jero
core/include/*.h: use U() for unsigned constants
Updates with the U() macro as described in the recently updated coding guidelines.
Acked-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| d5ad7ccf | 10-Jan-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: rename struct tee_pager_area to vm_paged_region
Renames struct tee_pager_area to struct vm_paged_region and moves it next to the declaration of struct vm_region. Since areas are now called pag
core: rename struct tee_pager_area to vm_paged_region
Renames struct tee_pager_area to struct vm_paged_region and moves it next to the declaration of struct vm_region. Since areas are now called paged regions or regions also rename functions, variables and struct members accordingly.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| fb19e98e | 25-Feb-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: enable FF-A with SPM Core at S-EL2
This enables support for FF-A with SPM Core at S-EL2 in a secure hypervisor while OP-TEE is running at S-EL1 as a SP. This configuration is also know as "S-E
core: enable FF-A with SPM Core at S-EL2
This enables support for FF-A with SPM Core at S-EL2 in a secure hypervisor while OP-TEE is running at S-EL1 as a SP. This configuration is also know as "S-EL2 SPMC" in the FFA specification.
Compile with CFG_CORE_SEL2_SPMC=y
Note that this is an experimental feature, ABIs etc may have incompatible changes.
This depends on using the FF-A v4 patchset in the Linux kernel.
Reviewed-by: Jelle Sels <jelle.sels@arm.com> Co-developed-by: Marc Bonnici <marc.bonnici@arm.com> Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c1bdf4fc | 25-Feb-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: spmc: FF-A ABI updates
Updates structs and definitions to follow FF-A version 1.0.
Use the special hard coded UUID (486178e0-e7f8-11e3-bc5e-0002a5d5c51b) for the SP OP-TEE is when compiled fo
core: spmc: FF-A ABI updates
Updates structs and definitions to follow FF-A version 1.0.
Use the special hard coded UUID (486178e0-e7f8-11e3-bc5e-0002a5d5c51b) for the SP OP-TEE is when compiled for FF-A.
Updates the FF-A OP-TEE message ABI to make room for struct optee_msg_arg to be used for RPC for OPTEE_FFA_YIELDING_CALL_WITH_ARG.
struct thread_ctx::rpc_arg for the current thread will always hold a pointer to the struct optee_msg_arg to be used for RPC.
With this allocation of shared memory can be pushed up one layer and be done via the struct optee_msg_arg so the OPTEE_FFA_YIELDING_CALL_RETURN_ALLOC_*_SHM and OPTEE_FFA_YIELDING_CALL_RETURN_FREE_*_SHM can be removed making the FF-A ABI a bit less complicated.
Changes OPTEE_FFA_UNREGISTER_SHM to be a blocking call instead of a yielding call.
Removes the unused OPTEE_FFA_YIELDING_CALL_REGISTER_SHM.
Updates the return values from yielding calls to use the TEE_Result values instead of FF-A one to use the error code from the correct layer.
Defines OPTEE_MSG_FMEM_INVALID_GLOBAL_ID to 0xffffffffffffffffff which is used as an invalid global id instead of 0.
This is an ABI breakage which must be done in sync with the FF-A v4 patchset in the Linux kernel.
Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 3e530666 | 25-Apr-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: introduce scmi_smt_channel_handle()
New API function for scmi-msg drivers: sub channel ID to handle conversion for consistency in SCMI PTA.
Signed-off-by: Etienne Carriere <etien
drivers: scmi-msg: introduce scmi_smt_channel_handle()
New API function for scmi-msg drivers: sub channel ID to handle conversion for consistency in SCMI PTA.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| acc5dd21 | 09-Apr-2021 |
Ludovic Barre <ludovic.barre@foss.st.com> |
core: kernel: interrupt: add interface to allocate and add handler
This commit adds an interface to allocate and add an interrupt handler. This change allows to factorize code when dynamic interrupt
core: kernel: interrupt: add interface to allocate and add handler
This commit adds an interface to allocate and add an interrupt handler. This change allows to factorize code when dynamic interrupt handler allocation is needed.
Signed-off-by: Ludovic Barre <ludovic.barre@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 7acb3a47 | 09-Apr-2021 |
Ludovic Barre <ludovic.barre@foss.st.com> |
core: add interrupt resource in dt_node_info
Adds interrupt resource in dt_node_info and load it from _fdt_fill_device_info().
Signed-off-by: Ludovic Barre <ludovic.barre@foss.st.com> Reviewed-by:
core: add interrupt resource in dt_node_info
Adds interrupt resource in dt_node_info and load it from _fdt_fill_device_info().
Signed-off-by: Ludovic Barre <ludovic.barre@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 67729d8d | 09-Apr-2021 |
Ludovic Barre <ludovic.barre@foss.st.com> |
core: dt: split dt_get_irq() between interrupt framework and drivers
To welcome other interrupt drivers (coming from other platform for example), we need to rework dt_get_irq() which was dedicated t
core: dt: split dt_get_irq() between interrupt framework and drivers
To welcome other interrupt drivers (coming from other platform for example), we need to rework dt_get_irq() which was dedicated to ARM platform more specifically GIC driver. This change moves dt_get_irq() in interrupt framework, this manages the generic part of interrupt bindings (specified by devicetree.org [1]) and then call a driver callback to translate specific properties. This callback is registered by drivers while its init step.
Update CAAM crypto driver accordingly.
Link: [1] https://www.devicetree.org/specifications/ Signed-off-by: Ludovic Barre <ludovic.barre@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 25c76675 | 29-Mar-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: tee: move entry_std.c to core/tee
entry_std.* are not architecture-specific codes, therefore move entry_std.c to core/tee and entry_std.h to core/include/tee.
Signed-off-by: Marouene Boubakri
core: tee: move entry_std.c to core/tee
entry_std.* are not architecture-specific codes, therefore move entry_std.c to core/tee and entry_std.h to core/include/tee.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 48f04743 | 07-Apr-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: add scmi_smt_set_shared_buffer()
Dynamically set/release SCMI SMT shared buffer reference. This can be used when the caller passes the SCMI SMT shared memory reference as part of
drivers: scmi-msg: add scmi_smt_set_shared_buffer()
Dynamically set/release SCMI SMT shared buffer reference. This can be used when the caller passes the SCMI SMT shared memory reference as part of OP-TEE invocation parameters instead of using a statically allocated buffer.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 9ed56ecd | 05-Apr-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: stub exported API functions
Stub exported API functions from SCMI message drivers to make the implementation more flexible.
Signed-off-by: Etienne Carriere <etienne.carriere@lina
drivers: scmi-msg: stub exported API functions
Stub exported API functions from SCMI message drivers to make the implementation more flexible.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 185b4595 | 02-Apr-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: mm: move mobj.c to core/mm
mobj is abstract and it is used by many sources which are not architecture-specific such as core/kernel, core/pta and core/tee. Therefore, move mobj.c to core/mm and
core: mm: move mobj.c to core/mm
mobj is abstract and it is used by many sources which are not architecture-specific such as core/kernel, core/pta and core/tee. Therefore, move mobj.c to core/mm and its corresponding header file mobj.h to core/include/mm.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 5418501a | 02-Apr-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move embedded_ts.c to core/kernel
The embedded_ts.c code is not architecture-specific, therefore, move it to core/kernel and move embedded_ts.h to core/include/kernel.
Signed-off-by:
core: kernel: move embedded_ts.c to core/kernel
The embedded_ts.c code is not architecture-specific, therefore, move it to core/kernel and move embedded_ts.h to core/include/kernel.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c571b3fd | 28-Mar-2021 |
RueiAnHu <Rayan.Hu@mediatek.com> |
core: fix wrong conditional expression in tee_ta_clear_busy()
When a ctx of a single instance user TA is first created, lock_single_instance() is called in tee_ta_try_set_busy(). However, unlock_sin
core: fix wrong conditional expression in tee_ta_clear_busy()
When a ctx of a single instance user TA is first created, lock_single_instance() is called in tee_ta_try_set_busy(). However, unlock_single_instance() is not called in tee_ta_clear_busy() since ctx->initializing is still false. It results that tee_ta_single_instance_thread is not reset when CFG_CONCURRENT_SINGLE_INSTANCE_TA is not enabled. So remove the wrong conditional expression and remove "initializing" from tee_ta_ctx since it's no longer used.
Signed-off-by: RueiAnHu <Rayan.Hu@mediatek.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 1bfc1082 | 29-Mar-2021 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: kernel: move early_ta.c to core/tee
early_ta.c is not architecture-specific code, therefore move it to core/tee. Moves early_ta.h to core/include/kernel as well.
Signed-off-by: Marouene Bouba
core: kernel: move early_ta.c to core/tee
early_ta.c is not architecture-specific code, therefore move it to core/tee. Moves early_ta.h to core/include/kernel as well.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-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 ...
|
| 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 ...
|
| d6ad67f6 | 11-Mar-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: mm: change vm_pa2va() to return a virtual address
Change vm_pa2va() to return target virtual address or NULL if the physical address cannot be resolved which can happen when pager is enabled a
core: mm: change vm_pa2va() to return a virtual address
Change vm_pa2va() to return target virtual address or NULL if the physical address cannot be resolved which can happen when pager is enabled and the target physical page belongs to the pager page pool. This change makes vm_pa2va() helper function simpler and its only caller doesn't differentiate error return codes.
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 ...
|
| 2230fc67 | 25-Jan-2021 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add fobj_get_iv_vaddr()
Adds fobj_get_iv_vaddr() which returns the virtual address of the tag and IV needed to restore a particular page.
Acked-by: Etienne Carriere <etienne.carriere@linaro.o
core: add fobj_get_iv_vaddr()
Adds fobj_get_iv_vaddr() which returns the virtual address of the tag and IV needed to restore a particular page.
Acked-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 ...
|
| e9700cf1 | 11-Mar-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: remove unused SCMI channel agent name
Remove field agent_name from struct scmi_msg_channel since unused.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by
drivers: scmi-msg: remove unused SCMI channel agent name
Remove field agent_name from struct scmi_msg_channel since unused.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| ec8c2914 | 09-Mar-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: fix header file inline comments
Fix inline comments for scmi-msg API functions description.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Fori
drivers: scmi-msg: fix header file inline comments
Fix inline comments for scmi-msg API functions description.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|