| 3ba6b40b | 28-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: provision tee threads when using SCMI
Increase the default number of tee threads provisioned by OP-TEE. SCMI messages needs a thread context while xtest requires 2 when pager is enabl
plat-stm32mp1: provision tee threads when using SCMI
Increase the default number of tee threads provisioned by OP-TEE. SCMI messages needs a thread context while xtest requires 2 when pager is enabled. Use higher value when pager is disabled since we have plenty of secure memory.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| f13fdbef | 28-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
plat-stm32mp1: default disable SCMI SiP SMC entry
Default disable CFG_STM32MP1_SCMI_SIP as not used by current mainline Linux kernel. This also relaxes few kbytes a internal RAM.
Acked-by: Jens Wik
plat-stm32mp1: default disable SCMI SiP SMC entry
Default disable CFG_STM32MP1_SCMI_SIP as not used by current mainline Linux kernel. This also relaxes few kbytes a internal RAM.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 435c1273 | 16-May-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
mk: config.mk: fix dependency on CFG_SCMI_MSG_SHM_MSG
Fixes inaccurate test on CFG_SC MI_MSG_SHM_MSG config switch that is not yet defined. Before this fix was CFG_SCMI_MSG_SMT_THREAD_ENTRY always f
mk: config.mk: fix dependency on CFG_SCMI_MSG_SHM_MSG
Fixes inaccurate test on CFG_SC MI_MSG_SHM_MSG config switch that is not yet defined. Before this fix was CFG_SCMI_MSG_SMT_THREAD_ENTRY always forced to n.
Fixes: 28e51326a5c9 ("mk: config.mk: describe and initialize CFG_SCMI_MSG_*_ENTRY switches") Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| dd728cff | 21-Mar-2022 |
Andrew Davis <afd@ti.com> |
plat-ti: Disable SECURE_DATA_PATH until xtest is fixed
While SDP support is being re-worked disable support by default to prevent failing test cases. This will be re-enabled when the REE-side suppor
plat-ti: Disable SECURE_DATA_PATH until xtest is fixed
While SDP support is being re-worked disable support by default to prevent failing test cases. This will be re-enabled when the REE-side support is restored.
Signed-off-by: Andrew Davis <afd@ti.com> Acked-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 ...
|
| 7f756666 | 05-May-2022 |
Andrew Davis <afd@ti.com> |
plat-k3: Disable SECURE_DATA_PATH until xtest is fixed
While SDP support is being re-worked disable support by default to prevent failing test cases. This will be re-enabled when the REE-side suppor
plat-k3: Disable SECURE_DATA_PATH until xtest is fixed
While SDP support is being re-worked disable support by default to prevent failing test cases. This will be re-enabled when the REE-side support is restored.
Signed-off-by: Andrew Davis <afd@ti.com> Acked-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 ...
|
| 737ed932 | 12-May-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: fix protocol list querying
Corrects the function reporting the SCMI protocols supported by the platform to not assume 8 protocol IDs at most can be returned. Indeed the number of
drivers: scmi-msg: fix protocol list querying
Corrects the function reporting the SCMI protocols supported by the platform to not assume 8 protocol IDs at most can be returned. Indeed the number of protocol IDs returned depends on the SCMI output buffer size.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| f93760c4 | 12-May-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: fix protocol list response size
Corrects the size of the SCMI response payload when querying the list of the supported protocol. This response payload size depends on the number o
drivers: scmi-msg: fix protocol list response size
Corrects the size of the SCMI response payload when querying the list of the supported protocol. This response payload size depends on the number of protocols enumerated by the response.
Reported-by: Nicolas Frattaroli <frattaroli.nicolas@gmail.com> Link: https://lore.kernel.org/lkml/1698297.NAKyZzlH2u@archbook Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 4a382700 | 29-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: move entry functions to generic entry
Moves SCMI channel management entry helper functions from smt.c to generic source file entry.c. This change will ease integration of other SC
drivers: scmi-msg: move entry functions to generic entry
Moves SCMI channel management entry helper functions from smt.c to generic source file entry.c. This change will ease integration of other SCMI shared memory message passing protocol.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 28e51326 | 29-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
mk: config.mk: describe and initialize CFG_SCMI_MSG_*_ENTRY switches
Describe and set a default value to existing CFG_SCMI_MSG_*_ENTRY configuration switches that allow to optimize memory which is d
mk: config.mk: describe and initialize CFG_SCMI_MSG_*_ENTRY switches
Describe and set a default value to existing CFG_SCMI_MSG_*_ENTRY configuration switches that allow to optimize memory which is desired when enabling pager and interrupt or fastcall SMC entry for SCMI channels.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 598c63d3 | 10-May-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: rename chan to channel
Renames local variables chan to channel in smt.c.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@li
drivers: scmi-msg: rename chan to channel
Renames local variables chan to channel in smt.c.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ae07e7ef | 29-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: handle invalid channels
Changes implementation channel_to_smt_hdr() of SMT message management in scmi-msg driver to support being called with invalid channel ID to relax implement
drivers: scmi-msg: handle invalid channels
Changes implementation channel_to_smt_hdr() of SMT message management in scmi-msg driver to support being called with invalid channel ID to relax implementation. On contrary, scmi_smt_init_agent_channel() is expected to be called only for valid SMT channels.
By the way, with this change, scmi_entry_smt() read SMT header status from shared memory after channel in successfully claimed, not before. The change does not affect the communication and makes the implementation more consistent. For consistency, I also rename local variables chan to channel to be more explicit.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 0c43202e | 25-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: correct inline description
Fixes inline description comment of plat_scmi_clock_rates_array() and scmi_smt_init_agent_channel().
Acked-by: Jens Wiklander <jens.wiklander@linaro.or
drivers: scmi-msg: correct inline description
Fixes inline description comment of plat_scmi_clock_rates_array() and scmi_smt_init_agent_channel().
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 90252e2a | 29-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: clock adapts to output buffer size
Changes SCMI clocks implementation to not assume the SCMI output message buffer is of a given size. Implementation still expects the output shar
drivers: scmi-msg: clock adapts to output buffer size
Changes SCMI clocks implementation to not assume the SCMI output message buffer is of a given size. Implementation still expects the output shared memory is at least large enough to hold the SCMI status information that is 32bit wide.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 57f6c5d2 | 29-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: voltage domain adapts to output buffer size
Changes SCMI voltage domain implementation to not assume the SCMI output message buffer is of a given size. Implementation still expect
drivers: scmi-msg: voltage domain adapts to output buffer size
Changes SCMI voltage domain implementation to not assume the SCMI output message buffer is of a given size. Implementation still expects the output shared memory is at least large enough to hold the SCMI status information that is 32bit wide.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 7b49ff33 | 25-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: relax constraint on output buffer size
Changes scmi_write_response() implementation to not assert the output buffer size against target payload but return a protocol error instead
drivers: scmi-msg: relax constraint on output buffer size
Changes scmi_write_response() implementation to not assert the output buffer size against target payload but return a protocol error instead since we expect shared memory size where agreed on before communication.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| d0b1e037 | 25-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: remove unused macro LEVELS_ARRAY_SIZE_MAX_2
Removes macro LEVELS_ARRAY_SIZE_MAX_2 in scmi-msg voltage-domain.c source file.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> S
drivers: scmi-msg: remove unused macro LEVELS_ARRAY_SIZE_MAX_2
Removes macro LEVELS_ARRAY_SIZE_MAX_2 in scmi-msg voltage-domain.c source file.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| d9b0a06d | 25-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: rename secure buffer size macros
Renames macro SCMI_PLAYLOAD_MAX to SCMI_SEC_PAYLOAD_SIZE and SCMI_PLAYLOAD_U32_MAX to SCMI_PAYLOAD_U32_SIZE to fix typo in macro name (play to pay
drivers: scmi-msg: rename secure buffer size macros
Renames macro SCMI_PLAYLOAD_MAX to SCMI_SEC_PAYLOAD_SIZE and SCMI_PLAYLOAD_U32_MAX to SCMI_PAYLOAD_U32_SIZE to fix typo in macro name (play to pay) and make it clear that SCMI_SEC_PAYLOAD_SIZE is the size of the secure buffer used to store a secure copy of the input SCMI message payload, that is expected small.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 5c34a982 | 25-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: scmi-msg: rename channel entry lock functions
Renames scmi_channel_set_busy() and scmi_channel_release_busy() to scmi_msg_claim_channel() and scmi_msg_release_channel(). This change also mo
drivers: scmi-msg: rename channel entry lock functions
Renames scmi_channel_set_busy() and scmi_channel_release_busy() to scmi_msg_claim_channel() and scmi_msg_release_channel(). This change also moves the implementation from smt.c to entry.c in the scmi-msg driver for alternate mailbox memory protocol support.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 3bfa418b | 13-May-2022 |
Jerome Forissier <jerome.forissier@linaro.org> |
build: introduce CFG_OPTEE_REVISION_EXTRA
Adds CFG_OPTEE_REVISION_EXTRA (default: empty) which can be used to append a custom string to the revision string shown in the boot banner. A typical use ca
build: introduce CFG_OPTEE_REVISION_EXTRA
Adds CFG_OPTEE_REVISION_EXTRA (default: empty) which can be used to append a custom string to the revision string shown in the boot banner. A typical use case is build environments such as Yocto/OpenEmbedded which check out a particular version of the optee_os repository and may add patches on top. In this case the revision string is something like:
3.17.0-dev (gcc version ...
which doesn't give any information on what modifications are added and therefore makes it difficult to know for sure if a deployed binary is indeed the expected one (even more so when the build date is fixed via SOURCE_DATE_EPOCH for reproducible builds). CFG_OPTEE_REVISION_EXTRA allows to append a specific build identifier. For example:
$ make CFG_OPTEE_REVISION_EXTRA=-mybuild_1234
would give:
3.17.0-dev-mybuild_1234
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 4e6eecf6 | 30-Mar-2022 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: decrease register size for gicv2
The mapped size for GIC distributor and cpu registers is currently defined to the size used for GICv3. GICv2 doesn't need such large sizes, in fact some platfo
core: decrease register size for gicv2
The mapped size for GIC distributor and cpu registers is currently defined to the size used for GICv3. GICv2 doesn't need such large sizes, in fact some platforms has the distributor and cpu registers next to each other in the physical memory map. This causes an overlap that can be confusing. Fix this by selecting a smaller size when a GICv2 is used instead.
It should be noted GICC_DIR is at offset 0x1000 in the cpu interface so this register will not be accessible, but this should not be a problem since OP-TEE doesn't use that register.
Reviewed-by: Vishnu Banavath <vishnu.banavath@arm.com> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 60091ebf | 11-May-2022 |
Clement Faure <clement.faure@nxp.com> |
core: imx: link: generate entry_point_address.txt for uTee image
For some platforms like mx7ulpevk, the `UL` attribute for CFG_DRAM_BASE is necessary to avoid the following error:
$ PLATFORM=imx-mx
core: imx: link: generate entry_point_address.txt for uTee image
For some platforms like mx7ulpevk, the `UL` attribute for CFG_DRAM_BASE is necessary to avoid the following error:
$ PLATFORM=imx-mx7ulpevk make uTee core/mm/mobj.c: In function ‘mobj_init’: ./out/arm-plat-imx/include/generated/conf.h:222:64: warning: integer overflow in expression of type ‘int’ results in ‘-1644167168’ [-Woverflow] 222 | #define CFG_TZDRAM_START (0x60000000 - 0x01e00000 - 0x00200000 + 0x40000000) | ^
However, this `UL` attribute prevents the shell from properly computing the CFG_TZDRAM_START value :
$ PLATFORM=imx-mx7ulpevk make uTee bash: (UL(0x60000000) - 0x01e00000 - 0x00200000 + 0x40000000): missing `)' (error token is "(0x60000000) - 0x01e00000 - 0x00200000 + 0x40000000)")
To address both issues, remove the `UL` attribute from CFG_TZDRAM_START with Makefile string substitution.
Fixes: 0f8347dcafe ("core: imx: generate uImage for imx6 and imx7 platforms") Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 8f82771b | 28-Oct-2021 |
Franck LENORMAND <franck.lenormand@nxp.com> |
drivers: caam: fix cache operation on SGT table
The cache operation of the SGT table in caam_sgt_derive() was wrong and it did not take into account the CAAM "burst" defined by the value CFG_CAAM_SG
drivers: caam: fix cache operation on SGT table
The cache operation of the SGT table in caam_sgt_derive() was wrong and it did not take into account the CAAM "burst" defined by the value CFG_CAAM_SGT_ALIGN. The cache operation of the SGT table in caam_sgt_cache_op() is done correctly however.
This patch adds caam_sgt_entries_cache_clean() to do this operation and avoid implementation errors.
Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 8df917f9 | 05-May-2022 |
Sahil Malhotra <sahil.malhotra@nxp.com> |
core: plat-ls: correct CAAM JR interrupt numbers
CAAM JR interrupt numbers for some of platforms were configured wrong, corrected it.
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by
core: plat-ls: correct CAAM JR interrupt numbers
CAAM JR interrupt numbers for some of platforms were configured wrong, corrected it.
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 2e1b85fe | 04-Apr-2022 |
Ruchika Gupta <ruchika.gupta@linaro.org> |
tpm2: Add TPM2 as PCR provider to TCG eventlog parsing framework
TCG eventlog parsing framework parses the eventlog and extends the PCR's. For this, it needs a provider for PCR's. Register TPM2 as a
tpm2: Add TPM2 as PCR provider to TCG eventlog parsing framework
TCG eventlog parsing framework parses the eventlog and extends the PCR's. For this, it needs a provider for PCR's. Register TPM2 as a provider to this framework.
Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| b8da5d8c | 04-Apr-2022 |
Ruchika Gupta <ruchika.gupta@linaro.org> |
core: Add support to parse TPM eventlog and extend PCRs
Support for OP-TEE to parse the TPM eventlog. The eventlog format is based on TCG specification [1], so we call this TCG framework.
To parse
core: Add support to parse TPM eventlog and extend PCRs
Support for OP-TEE to parse the TPM eventlog. The eventlog format is based on TCG specification [1], so we call this TCG framework.
To parse the eventlog and extend PCR's device is needed which supports PCR's. This device can be TPM or any other HSM which supports PCR like registers. Such a device can register itself as a TCG provider for PCR information and ability to extend the PCR's.
[1] TCG PC Client Platform Firmware Profile Specification link: https://trustedcomputinggroup.org/resource/pc-client-specific-platform-firmware-profile-specification/
Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|