| 9a90d720 | 13-Feb-2023 |
Elyes Haouas <ehaouas@noos.fr> |
style: remove useless trailing semicolon and line continuations
found using checkpatch.pl[1]
[1]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/util/lint/checkpatch.pl
S
style: remove useless trailing semicolon and line continuations
found using checkpatch.pl[1]
[1]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/util/lint/checkpatch.pl
Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Change-Id: I7957c9694300fefb85d11f7819c43af95271f14c
show more ...
|
| a9edc32c | 28-Feb-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
fix(mbedtls): fix mbedtls coverity issues
commit (a8eadc51a refactor(mbedtls): avoid including MBEDTLS_CONFIG_FILE) avoids using config file directly and relies on config file usage from mbedtls ver
fix(mbedtls): fix mbedtls coverity issues
commit (a8eadc51a refactor(mbedtls): avoid including MBEDTLS_CONFIG_FILE) avoids using config file directly and relies on config file usage from mbedtls version.h
But we could build trusted boot without mbedtls dir so guard version.h include in cot_def.h with availability of config file.
Also we refactored in same commit to break dependencies between auth_mod.h and cot_def.h, So add cot_def.h include in nxp tbbr cot file.
Change-Id: I4779e90c18f04c73d2121c88df6420b4b1109c8b Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 766d78b1 | 27-Feb-2023 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "mbedtls3_support" into integration
* changes: feat(stm32mp1): add mbedtls-3.3 support config refactor(fvp): minor cleanup with TRUSTED_BOARD_BOOT style(crypto): add b
Merge changes from topic "mbedtls3_support" into integration
* changes: feat(stm32mp1): add mbedtls-3.3 support config refactor(fvp): minor cleanup with TRUSTED_BOARD_BOOT style(crypto): add braces for if statement feat(fvp): increase BL1_RW and BL2 size feat(mbedtls): add support for mbedtls-3.3 refactor(crypto): avoid using struct mbedtls_pk_rsassa_pss_options refactor(mbedtls): avoid including MBEDTLS_CONFIG_FILE
show more ...
|
| dc2b8e80 | 23-Feb-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topic "panic_cleanup" into integration
* changes: refactor(bl31): use elx_panic for sysreg_handler64 refactor(aarch64): rename do_panic and el3_panic refactor(aarch64): remo
Merge changes from topic "panic_cleanup" into integration
* changes: refactor(bl31): use elx_panic for sysreg_handler64 refactor(aarch64): rename do_panic and el3_panic refactor(aarch64): remove weak links to el3_panic refactor(aarch64): refactor usage of elx_panic refactor(aarch64): cleanup HANDLE_EA_EL3_FIRST_NS usage
show more ...
|
| 17d07a55 | 21-Feb-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(bl31): use elx_panic for sysreg_handler64
When we reach sysreg_handler64 from any trap handling we are entering this path from lower EL and thus we should be calling lower_el_panic reportin
refactor(bl31): use elx_panic for sysreg_handler64
When we reach sysreg_handler64 from any trap handling we are entering this path from lower EL and thus we should be calling lower_el_panic reporting mechanism to print panic report.
Make report_elx_panic available through assembly func elx_panic which could be used for reporting any lower_el_panic.
Change-Id: Ieb260cf20ea327a59db84198b2c6a6bfc9ca9537 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 338dbe2f | 22-Feb-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I51c13c52,I3358c51e into integration
* changes: build: always prefix section names with `.` build: communicate correct page size to linker |
| ba12668a | 22-Feb-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(gicv3): enlarge the range for intr_num of structure interrupt_prop_t" into integration |
| bd62ce98 | 16-Jan-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(aarch64): rename do_panic and el3_panic
Current panic call invokes do_panic which calls el3_panic, but now panic handles only panic from EL3 anid clear separation to use lower_el_panic() wh
refactor(aarch64): rename do_panic and el3_panic
Current panic call invokes do_panic which calls el3_panic, but now panic handles only panic from EL3 anid clear separation to use lower_el_panic() which handles panic from lower ELs.
So now we can remove do_panic and just call el3_panic for all panics.
Change-Id: I739c69271b9fb15c1176050877a9b0c0394dc739 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 7e619ecc | 16-Jan-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(aarch64): refactor usage of elx_panic
Currently we call el3_panic for panics from EL3 and elx_panic for panics from lower ELs.
When we boot into a rich OS environment and interact with BL3
refactor(aarch64): refactor usage of elx_panic
Currently we call el3_panic for panics from EL3 and elx_panic for panics from lower ELs.
When we boot into a rich OS environment and interact with BL31 using SMC/ABI calls and we can also decide to handle any lower EL panics in EL3. Panic can occur in lower EL from rich OS or during SMC/ABI calls after context switch to EL3.
But after booting into any rich OS we may land in panic either from rich OS or while servicing any SMC call, here the logic to use el3_panic or elx_panic is flawed as spsr_el3[3:0] is always EL3h and end up in elx_panic even if panic occurred from EL3 during SMC handling.
We try to decouple the elx_panic usage for its intended purpose, introduce lower_el_panic which would call elx_panic, currently lower_el_panic is called from default platform_ea_handle which would be called due to panic from any of the lower ELs.
Also remove the weak linkage for elx_panic and rename it to report_elx_panic which could be used with lower_el_panic.
Change-Id: I268bca89c01c60520d127ef6c7ba851460edc747 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| a8eadc51 | 11-Jan-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(mbedtls): avoid including MBEDTLS_CONFIG_FILE
Currently we include MBEDTLS_CONFIG_FILE directly and if a custom config file is used it will included.
However from mbedtls-3.x onwards it di
refactor(mbedtls): avoid including MBEDTLS_CONFIG_FILE
Currently we include MBEDTLS_CONFIG_FILE directly and if a custom config file is used it will included.
However from mbedtls-3.x onwards it discourages usage of MBEDTLS_CONFIG_FILE include directly, so to resolve this and keep 2.28 compatibility include version.h which would include the custom config file if present and also would expose us with mbedtls-major-version number which could be used for selecting features and functions for mbedtls 2.28 or 3.3
Change-Id: I029992311be2a38b588ebbb350875b03ea29acdb Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| da04341e | 14-Feb-2023 |
Chris Kay <chris.kay@arm.com> |
build: always prefix section names with `.`
Some of our specialized sections are not prefixed with the conventional period. The compiler uses input section names to derive certain other section name
build: always prefix section names with `.`
Some of our specialized sections are not prefixed with the conventional period. The compiler uses input section names to derive certain other section names (e.g. `.rela.text`, `.relacpu_ops`), and these can be difficult to select in linker scripts when there is a lack of a delimiter.
This change introduces the period prefix to all specialized section names.
BREAKING-CHANGE: All input and output linker section names have been prefixed with the period character, e.g. `cpu_ops` -> `.cpu_ops`.
Change-Id: I51c13c5266d5975fbd944ef4961328e72f82fc1c Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| d5eee8f3 | 01-Feb-2023 |
Ming Huang <huangming@linux.alibaba.com> |
feat(gicv3): enlarge the range for intr_num of structure interrupt_prop_t
As the max ESPI can be 5119, so enlarge the intr_num range of structure interrupt_prop_t. After the patch the ESPI can be ad
feat(gicv3): enlarge the range for intr_num of structure interrupt_prop_t
As the max ESPI can be 5119, so enlarge the intr_num range of structure interrupt_prop_t. After the patch the ESPI can be add to this macro: define PLATFORM_G1S_PROPS(grp) \ INTR_PROP_DESC(197 - 32 + 4576, GIC_HIGHEST_SEC_PRIORITY, (grp), GIC_INTR_CFG_EDGE), \ INTR_PROP_DESC(199 - 32 + 4576, GIC_HIGHEST_SEC_PRIORITY, (grp), GIC_INTR_CFG_EDGE)
The firmware-design.rst will be updated accordingly.
Signed-off-by: Ming Huang <huangming@linux.alibaba.com> Change-Id: Ic923868bb1b00c017410dc2aeabfda58ee54782f
show more ...
|
| 49b268ce | 03-Feb-2023 |
Andre Przywara <andre.przywara@arm.com> |
refactor(fdt): introduce common fdt_node_is_enabled()
There are several users in the tree which want to check whether a given FDT node is enabled or not: the "status" property holds that information
refactor(fdt): introduce common fdt_node_is_enabled()
There are several users in the tree which want to check whether a given FDT node is enabled or not: the "status" property holds that information. So far all those users provide private implementations, some of them having issues.
Export a generic implementation of that function in fdt_wrappers.h, as a "static inline" function to not increase code size. Also replace the existing implementation in Arm's fconf code, which had a tiny bug in needlessly using the property length: "status = [6f 6b 61 79 20];" would pass the check, where it should not. The proper solution is also simpler: status must be a string, and strings must be NUL-terminated in a DT. strcmp() would terminate on the first NUL in *either* of the two strings it compares, so it would never walk beyond the property boundary in the DTB.
Change-Id: I9d89093432f127c09add6cf5c93a725bc534e5de Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| 69c17f52 | 14-Nov-2022 |
Andre Przywara <andre.przywara@arm.com> |
refactor(cpufeat): move helpers into .c file, rename FEAT_STATE_
The FEATURE_DETECTION functionality had some definitions in a header file, although they were only used internally in the .c file. Mo
refactor(cpufeat): move helpers into .c file, rename FEAT_STATE_
The FEATURE_DETECTION functionality had some definitions in a header file, although they were only used internally in the .c file. Move them over there, since there are of no interest to other users.
Also use the opportuntiy to rename the less telling FEAT_STATE_[12] names, and let the "0" case join the game. We use DISABLED, ALWAYS, and CHECK now, so that the casual reader has some idea what those numbers are supposed to mean.
feature_panic() becomes "static inline", since disabling all features makes it unused, so the compiler complains otherwise.
Finally add a new category "cpufeat" to cover CPU feature related changes.
Signed-off-by: Andre Przywara <andre.przywara@arm.com> Change-Id: If0c8ba91ad22440260ccff383c33bdd055eefbdc
show more ...
|
| 1ef303f9 | 17-Nov-2020 |
Nicolas Toromanoff <nicolas.toromanoff@st.com> |
feat(tbbr): increase PK_DER_LEN size
Public key brainpool ECDSA DER certificate are 92 byte long. OID for brainpool curve are 1 byte bigger than the one for NIST curve.
Change-Id: Ifad51da3c576d555
feat(tbbr): increase PK_DER_LEN size
Public key brainpool ECDSA DER certificate are 92 byte long. OID for brainpool curve are 1 byte bigger than the one for NIST curve.
Change-Id: Ifad51da3c576d555da9fc519d2df3d9a0e6ed91b Signed-off-by: Nicolas Toromanoff <nicolas.toromanoff@st.com>
show more ...
|
| 0ae4a3a3 | 01-Nov-2022 |
Manish Pandey <manish.pandey2@arm.com> |
fix(debug): decouple "get_el_str()" from backtrace
get_el_str() was implemented under ENABLE_BACKTRACE macro but being used at generic places too, this causes multiple definition of this function. R
fix(debug): decouple "get_el_str()" from backtrace
get_el_str() was implemented under ENABLE_BACKTRACE macro but being used at generic places too, this causes multiple definition of this function. Remove duplicate definition of this function and move it out of backtrace scope. Also, this patch fixes a small bug where in default case S-EL1 is returned which ideally should be EL1, as there is no notion of security state in EL string.
Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ib186ea03b776e2478eff556065449ebd478c3538
show more ...
|
| dddf4283 | 12-Jul-2022 |
laurenw-arm <lauren.wehrmeister@arm.com> |
feat(bl): add interface to query TF-A semantic ver
Adding interface for stand-alone semantic version of TF-A for exporting to RSS attestation, and potentially other areas as well.
Signed-off-by: La
feat(bl): add interface to query TF-A semantic ver
Adding interface for stand-alone semantic version of TF-A for exporting to RSS attestation, and potentially other areas as well.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: Ib4a2c47aa1e42a3b850185e674c90708a05cda53
show more ...
|
| a4a36421 | 08-Jul-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(libfdt): add function to set MAC addresses" into integration |
| 56b741d3 | 21-Apr-2022 |
laurenw-arm <lauren.wehrmeister@arm.com> |
feat(cca): introduce new "cca" chain of trust
This chain of trust is targeted at Arm CCA solutions and defines 3 independent signing domains:
1) CCA signing domain. The Arm CCA Security Model (Arm
feat(cca): introduce new "cca" chain of trust
This chain of trust is targeted at Arm CCA solutions and defines 3 independent signing domains:
1) CCA signing domain. The Arm CCA Security Model (Arm DEN-0096.A.a) [1] refers to the CCA signing domain as the provider of CCA components running on the CCA platform. The CCA signing domain might be independent from other signing domains providing other firmware blobs.
The CCA platform is a collective term used to identify all hardware and firmware components involved in delivering the CCA security guarantee. Hence, all hardware and firmware components on a CCA enabled system that a Realm is required to trust.
In the context of TF-A, this corresponds to BL1, BL2, BL31, RMM and associated configuration files.
The CCA signing domain is rooted in the Silicon ROTPK, just as in the TBBR CoT.
2) Non-CCA Secure World signing domain. This includes SPMC (and associated configuration file) as the expected BL32 image as well as SiP-owned secure partitions. It is rooted in a new SiP-owned key called Secure World ROTPK, or SWD_ROTPK for short.
3) Platform owner signing domain. This includes BL33 (and associated configuration file) and the platform owner's secure partitions. It is rooted in the Platform ROTPK, or PROTPK.
[1] https://developer.arm.com/documentation/DEN0096/A_a
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I6ffef3f53d710e6a2072fb4374401249122a2805
show more ...
|
| f74e2772 | 17-Aug-2021 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc): add FFA_PARTITION_INFO_GET handler
Enable the SPMC to handle calls to FFA_PARTITION_INFO_GET. This allows the normal world to discover which partitions are running in the secure world in
feat(spmc): add FFA_PARTITION_INFO_GET handler
Enable the SPMC to handle calls to FFA_PARTITION_INFO_GET. This allows the normal world to discover which partitions are running in the secure world including logical partitions in EL3.
This implementation supports both the v1.0 and v1.1 implementations of the Partition Info Get Descriptor. The SPMC populates the appropriate descriptor in the partitions RX buffer, if requested, according to the version of FF-A that the caller is using.
Additionally rename the common/uuid UUID_H include guard due to a conflict with another header file.
Signed-off-by: Marc Bonnici <marc.bonnici@arm.com> Change-Id: I0a85f1dae50fae1fe47a3cafb765fbe9f40619e1
show more ...
|
| 7affa25c | 14-Feb-2022 |
Marc Bonnici <marc.bonnici@arm.com> |
feat(spmc/lsp): add logical partition framework
Introduce a framework to support running logical partitions alongside the SPMC in EL3 as per the v1.1 FF-A spec.
The DECLARE_LOGICAL_PARTITION macro
feat(spmc/lsp): add logical partition framework
Introduce a framework to support running logical partitions alongside the SPMC in EL3 as per the v1.1 FF-A spec.
The DECLARE_LOGICAL_PARTITION macro has been added to simplify the process to define a Logical Partition. The partitions themselves are statically allocated with the descriptors placed in RO memory.
It is assumed that the MAX_EL3_LP_DESCS_COUNT will be defined by the platform.
Change-Id: I1c2523e0ad2d9c5d36aeeef6b8bcb1e80db7c443 Signed-off-by: Marc Bonnici <marc.bonnici@arm.com>
show more ...
|
| 3e0a087f | 04-May-2022 |
André Przywara <andre.przywara@arm.com> |
Merge changes from topic "allwinner-idle" into integration
* changes: feat(allwinner): provide CPU idle states to the rich OS feat(allwinner): simplify CPU_SUSPEND power state encoding feat(al
Merge changes from topic "allwinner-idle" into integration
* changes: feat(allwinner): provide CPU idle states to the rich OS feat(allwinner): simplify CPU_SUSPEND power state encoding feat(allwinner): choose PSCI states to avoid translation feat(fdt): add the ability to supply idle state information fix(allwinner): improve DTB patching error handling refactor(allwinner): patch the DTB after setting up PSCI refactor(allwinner): move DTB change code into allwinner/common
show more ...
|
| dea8ee0d | 08-Apr-2022 |
Ruchika Gupta <ruchika.gupta@linaro.org> |
feat(fdt-wrappers): add function to find or add a sudnode
This change adds a new utility function - `fdtw_find_or_add_subnode` to find a subnode. If the subnode is not present, the function adds it
feat(fdt-wrappers): add function to find or add a sudnode
This change adds a new utility function - `fdtw_find_or_add_subnode` to find a subnode. If the subnode is not present, the function adds it in the flattened device tree.
Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Change-Id: Idf3ceddc57761ac015763d4a8b004877bcad766a
show more ...
|
| 2b2b5657 | 23-Jan-2022 |
Samuel Holland <samuel@sholland.org> |
feat(fdt): add the ability to supply idle state information
Some platforms require extra firmware to implement CPU_SUSPEND, or only have working CPU_SUSPEND in certain configurations. On these platf
feat(fdt): add the ability to supply idle state information
Some platforms require extra firmware to implement CPU_SUSPEND, or only have working CPU_SUSPEND in certain configurations. On these platforms, CPU idle states should only be listed in the devicetree when they are actually available. Add a function BL31 can use to dynamically supply this idle state information.
Change-Id: I64fcc288303faba8abec4f59efd13a04220d54dc Signed-off-by: Samuel Holland <samuel@sholland.org>
show more ...
|
| 1aa7e302 | 19-Dec-2021 |
Andre Przywara <andre.przywara@arm.com> |
feat(libfdt): add function to set MAC addresses
The devicetree specification[1] defines the generic DT properties "mac-address" and "local-mac-address", that allow to set the MAC address for a netwo
feat(libfdt): add function to set MAC addresses
The devicetree specification[1] defines the generic DT properties "mac-address" and "local-mac-address", that allow to set the MAC address for a network device. This is needed because many platform network devices do not define a method for obtaining a unique MAC address, and many devices lack the non-volatile storage to hold such a number.
Some platforms (for instance Allwinner) derive the MAC address from another unique SoC property, for instance some serial number. To allow those MAC address to be set by TF-A, add a function that finds the DT node of a network device (by using the "ethernet<x>" alias), then adding the "local-mac-address" property into that node, setting it to a user provided address. Platforms can use this function to generate MAC addresses in a platform specific way, and store them in the DT.
DT consumers like U-Boot or the Linux kernel will automatically pick up the address from that property and program the MAC device accordingly.
[1] https://devicetree-specification.readthedocs.io/en/latest/chapter4-device-bindings.html#local-mac-address-property
Change-Id: I3f5766cc575fa9718f9ca23e8269b11495c43be2 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|