| 2a0ca84f | 07-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "sm/feat_detect" into integration
* changes: refactor(cpufeat): restore functions in detect_arch_features refactor(cpufeat): add macro to simplify is_feat_xx_present c
Merge changes from topic "sm/feat_detect" into integration
* changes: refactor(cpufeat): restore functions in detect_arch_features refactor(cpufeat): add macro to simplify is_feat_xx_present chore: simplify the macro names in ENABLE_FEAT mechanism
show more ...
|
| f7679d43 | 15-Apr-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(smccc): move pmf to vendor el3 calls
Move pmf support to vendor-specific EL3 Monitor Service Calls. Remove pmf call count as it's not supported in vendor-specific el3 as per SMCCC Documenta
refactor(smccc): move pmf to vendor el3 calls
Move pmf support to vendor-specific EL3 Monitor Service Calls. Remove pmf call count as it's not supported in vendor-specific el3 as per SMCCC Documentation 1.5: https://developer.arm.com/documentation/den0028/latest
Add a deprecation notice to inform PMF is moved from arm-sip range to vendor-specific EL3 range. PMF support from arm-sip range will be removed and will not available after TF-A 2.12 release.
Change-Id: Ie1e14aa601d4fc3db352cd5621d842017a18e9ec Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| 273b8983 | 07-Mar-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(smccc): move debugfs to vendor el3 calls
Move debugfs to Vendor-Specific EL3 Monitor Service Calls. Function Identifier for Vendor-Specific EL3 Monitor Service is '7' and allocated subrange
refactor(smccc): move debugfs to vendor el3 calls
Move debugfs to Vendor-Specific EL3 Monitor Service Calls. Function Identifier for Vendor-Specific EL3 Monitor Service is '7' and allocated subranges of Function identifiers to different services are:
0x87000000-0x8700FFFF-SMC32: Vendor-Specific EL3 Monitor Service Calls 0xC7000000-0xC700FFFF-SMC64: Vendor-Specific EL3 Monitor Service Calls
Amend Debugfs FID's to use this range and id.
Add a deprecation notice to inform debugfs moved from arm-sip range to Vendor-Specific EL3 range. Debugfs support from arm-sip range will be removed and will not be available after TF-A 2.12 release.
Reference to debugfs component level documentation: https://trustedfirmware-a.readthedocs.io/en/latest/components/debugfs-design.html#overview
Change-Id: I97a50170178f361f70c95ed0049bc4e278de59d7 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| de6b79d8 | 23-Feb-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(smccc): add vendor-specific el3 service
Add support for vendor-specific el3 service. SMCCC 1.5 introduces support for vendor-specific EL3 monitor calls.
SMCCC Documentation reference: https://
feat(smccc): add vendor-specific el3 service
Add support for vendor-specific el3 service. SMCCC 1.5 introduces support for vendor-specific EL3 monitor calls.
SMCCC Documentation reference: https://developer.arm.com/docs/den0028/latest
Change-Id: Id8bc43842eecdb7a8a2ec7f31a631e88fe4fe0b4 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| aaaf2cc3 | 13-Mar-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
refactor(cpufeat): add macro to simplify is_feat_xx_present
In this patch, we are trying to introduce the wrapper macro CREATE_FEATURE_PRESENT to get the following capability and align it for all th
refactor(cpufeat): add macro to simplify is_feat_xx_present
In this patch, we are trying to introduce the wrapper macro CREATE_FEATURE_PRESENT to get the following capability and align it for all the features:
-> is_feat_xx_present(): Does Hardware implement the feature. -> uniformity in naming the function across multiple features. -> improved readability
The is_feat_xx_present() is implemented to check if the hardware implements the feature and does not take into account the ENABLE_FEAT_XXX flag enabled/disabled in software.
- CREATE_FEATURE_PRESENT(name, idreg, shift, mask, idval) The wrapper macro reduces the function to a single line and creates the is_feat_xx_present function that checks the id register based on the shift and mask values and compares this against a determined idvalue.
Change-Id: I7b91d2c9c6fbe55f94c693aa1b2c50be54fb9ecc Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 9e51f15e | 11-Mar-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
chore: simplify the macro names in ENABLE_FEAT mechanism
Currently, the macros used to denote feature implementation in hardware follow a random pattern with a few macros having suffix as SUPPORTED
chore: simplify the macro names in ENABLE_FEAT mechanism
Currently, the macros used to denote feature implementation in hardware follow a random pattern with a few macros having suffix as SUPPORTED and a few using the suffix IMPLEMENTED. This patch aligns the macro names uniformly using the suffix IMPLEMENTED across all the features and removes unused macros pertaining to the Enable feat mechanism.
FEAT_SUPPORTED --> FEAT_IMPLEMENTED FEAT_NOT_SUPPORTED --> FEAT_NOT_IMPLEMENTED
Change-Id: I61bb7d154b23f677b80756a4b6a81f74b10cd24f Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 758ccb80 | 08-Mar-2024 |
Chris Kay <chris.kay@arm.com> |
build: remove `MAKE_BUILD_STRINGS` function
This function causes the build message to be generated and compiled in two different ways, with one way done inside `build_macros.mk` and the other done i
build: remove `MAKE_BUILD_STRINGS` function
This function causes the build message to be generated and compiled in two different ways, with one way done inside `build_macros.mk` and the other done inside `windows.mk`, mostly because it's done by generating the C file on the command line.
We can instead replace this whole build message generation sequence with a simple standard C compilation command and a normal C file.
Change-Id: I8bc136380c9585ddeec9a11154ee39ef70526f81 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 0ec69a5b | 17-Apr-2024 |
Jeffrey Kardatzke <jkardatzke@google.com> |
fix(optee): set interrupt handler before kernel boot
When loading OPTEE via an SMC after we start Linux, we end up changing the interrupt settings which is a violation of the Linux kernel's policies
fix(optee): set interrupt handler before kernel boot
When loading OPTEE via an SMC after we start Linux, we end up changing the interrupt settings which is a violation of the Linux kernel's policies. This change sets the interrupt handler before we proceed to starting the kernel and ignores any incoming interrupts that occur before OPTEE is loaded.
Signed-off-by: Jeffrey Kardatzke<jkardatzke@google.com> Change-Id: I7da5334498e14f4a703e8cc3eeff386e3ecc0882
show more ...
|
| 2d960a11 | 29-Jan-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
fix(spmd): skip NS EL1 context save & restore operations
NS EL1 context save and restore is taken by SPMC upon entering and exiting S-EL2
BREAKING CHANGE: Corresponding support is needed in Hafnium
fix(spmd): skip NS EL1 context save & restore operations
NS EL1 context save and restore is taken by SPMC upon entering and exiting S-EL2
BREAKING CHANGE: Corresponding support is needed in Hafnium SPMC
Change-Id: I8524f1229b3e13c2df4e4b5be3f12436289c30c7 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| 83a4e8e0 | 04-Apr-2024 |
Harry Moulton <harry.moulton@arm.com> |
fix(rmmd): fix bug, raised by coverity, when zeroing manifest struct
An "Incorrect expression (SIZEOF_MISMATCH)" bug was raised by coverity on the memset for clearing the manifest structure. This pa
fix(rmmd): fix bug, raised by coverity, when zeroing manifest struct
An "Incorrect expression (SIZEOF_MISMATCH)" bug was raised by coverity on the memset for clearing the manifest structure. This patch resolves that issue.
Signed-off-by: Harry Moulton <harry.moulton@arm.com> Change-Id: I40431b972fc434d2b33f597813f22126d5d4cb70
show more ...
|
| 0f4811b4 | 02-Apr-2024 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes I3a4f9a4f,Iedc4e640 into integration
* changes: docs(rmm): document console struct in rmm boot manifest feat(rme): pass console info via RMM-EL3 ifc |
| 32904472 | 26-Mar-2024 |
Soby Mathew <soby.mathew@arm.com> |
feat(rme): pass console info via RMM-EL3 ifc
This patch modifies the boot manifest to add console information to be passed from EL3 to RMM.
Boot manifest version is bumped to v0.3
Signed-off-by: H
feat(rme): pass console info via RMM-EL3 ifc
This patch modifies the boot manifest to add console information to be passed from EL3 to RMM.
Boot manifest version is bumped to v0.3
Signed-off-by: Harry Moulton <harry.moulton@arm.com> Signed-off-by: Soby Mathew <soby.mathew@arm.com> Change-Id: Iedc4e640fb7a4450ce5ce966ae76936d1b7b742d
show more ...
|
| fca5f0eb | 26-Mar-2024 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
fix(spmd): register group0 handler only if supported
For platforms that do not support EL3 interrupts, such as ones with GICV2 controller, do not register handler for Group0 interrupt.
Change-Id: I
fix(spmd): register group0 handler only if supported
For platforms that do not support EL3 interrupts, such as ones with GICV2 controller, do not register handler for Group0 interrupt.
Change-Id: I34536c0db9806c7b4c12dd398c0e5c12119c7457 Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
show more ...
|
| e3ecd731 | 14-Mar-2024 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "refactor(sdei): use common create_spsr() in SDEI library" into integration |
| e8090ce2 | 08-Mar-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "refactor(cm): couple el2 registers with dependent feature flags" into integration |
| 03fafc0b | 20-Feb-2024 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
refactor(sdei): use common create_spsr() in SDEI library
The current SPSR updation code as part of the SDEI interrupt handler code is outdated. This patch replaces the legacy code with a call to an
refactor(sdei): use common create_spsr() in SDEI library
The current SPSR updation code as part of the SDEI interrupt handler code is outdated. This patch replaces the legacy code with a call to an up-to-date create_spsr()
Change-Id: I1f5fdd41dd14f4b09601310fe881fa3783d7f505 Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
show more ...
|
| d6af2344 | 24-Jan-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(cm): couple el2 registers with dependent feature flags
Currently the EL2 part of the context structure (el2_sysregs_t), is mostly feature dependent.
For instance, CTX_HCRX_EL2 is only need
refactor(cm): couple el2 registers with dependent feature flags
Currently the EL2 part of the context structure (el2_sysregs_t), is mostly feature dependent.
For instance, CTX_HCRX_EL2 is only needed when FEAT_HCX (ENABLE_FEAT_HCX=1) is set, but the entry is unconditionally added in the EL2 context structure and thereby consuming memory even in build configurations where FEAT_HCX is disabled.
Henceforth, all such context entries should be coupled/tied with their respective feature enables and be optimized away when unused. This would reduce the context memory allocation for platforms, that dont enable/support all the architectural features at once.
Further, converting the assembly context-offset entries into a c structure relies on garbage collection of the linker removing unreferenced structures from memory, as well as aiding in readability and future maintenance.
Change-Id: I0cf49498ee3033cb6f3ee3810331121b26627783 Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| cc41b56f | 01-Mar-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): workaround for Cortex-X4 erratum 2701112
Cortex-X4 erratum 2701112 is cat B erratum that applies to revision r0p0 and is fixed in r0p1. This erratum affects system configurations that do
fix(cpus): workaround for Cortex-X4 erratum 2701112
Cortex-X4 erratum 2701112 is cat B erratum that applies to revision r0p0 and is fixed in r0p1. This erratum affects system configurations that do not use an Arm interconnect IP.
The workaround for this erratum is not implemented in EL3. The erratum can be enabled/disabled on a platform level. The flag is used when the errata ABI feature is enabled and can assist the Kernel in the process of mitigation of the erratum.
SDEN Documentation: https://developer.arm.com/documentation/SDEN2432808/latest
Change-Id: I8ede1ee75b0ea1658369a0646d8af91d44a8759b Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 9502a88b | 06-Mar-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "drtm1.0-updates" into integration
* changes: feat(drtm): update DRTM version to 1.0 feat(drtm): update references to DRTM beta0 feat(drtm): for TPM features fw hash a
Merge changes from topic "drtm1.0-updates" into integration
* changes: feat(drtm): update DRTM version to 1.0 feat(drtm): update references to DRTM beta0 feat(drtm): for TPM features fw hash algorithm should be 16-bits feat(drtm): add ACPI table region size to the DLME header feat(drtm): update return code if secondary PE is not off feat(drtm): add additional return codes
show more ...
|
| b94d5909 | 10-Jan-2024 |
Stuart Yoder <stuart.yoder@arm.com> |
feat(drtm): update references to DRTM beta0
Update all references to DRTM beta0 to be 1.0 instead.
Signed-off-by: Stuart Yoder <stuart.yoder@arm.com> Change-Id: Ieda70f26f3be42f4705e9b267706674c94f
feat(drtm): update references to DRTM beta0
Update all references to DRTM beta0 to be 1.0 instead.
Signed-off-by: Stuart Yoder <stuart.yoder@arm.com> Change-Id: Ieda70f26f3be42f4705e9b267706674c94f120f2
show more ...
|
| 5dde96b0 | 10-Jan-2024 |
Stuart Yoder <stuart.yoder@arm.com> |
feat(drtm): add ACPI table region size to the DLME header
The DRTM 1.0 spec defines an additional field in the DLME header for an optional region in the DLME to hold ACPI tables.
Signed-off-by: Stu
feat(drtm): add ACPI table region size to the DLME header
The DRTM 1.0 spec defines an additional field in the DLME header for an optional region in the DLME to hold ACPI tables.
Signed-off-by: Stuart Yoder <stuart.yoder@arm.com> Change-Id: Idba7fa6bd0fb4ef2bdffc24f4588720e1661e58c
show more ...
|
| bc9064ae | 10-Jan-2024 |
Stuart Yoder <stuart.yoder@arm.com> |
feat(drtm): update return code if secondary PE is not off
DRTM 1.0 specifies that if any secondary PEs are not off during a dynamic launch the return code must be SECONDARY_PE_NOT_OFF.
Signed-off-b
feat(drtm): update return code if secondary PE is not off
DRTM 1.0 specifies that if any secondary PEs are not off during a dynamic launch the return code must be SECONDARY_PE_NOT_OFF.
Signed-off-by: Stuart Yoder <stuart.yoder@arm.com> Change-Id: Idcb1f3c60daa63a5bc994bdeacca8aab7066f628
show more ...
|
| 89f5c753 | 09-Jan-2024 |
Stuart Yoder <stuart.yoder@arm.com> |
feat(drtm): add additional return codes
Add additional return codes defined in the DRTM 1.0 spec.
Signed-off-by: Stuart Yoder <stuart.yoder@arm.com> Change-Id: I1620e098edf4f070ac759a26ce3c7272faf2
feat(drtm): add additional return codes
Add additional return codes defined in the DRTM 1.0 spec.
Signed-off-by: Stuart Yoder <stuart.yoder@arm.com> Change-Id: I1620e098edf4f070ac759a26ce3c7272faf2d8b2
show more ...
|
| 106c4283 | 21-Feb-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
fix(cpus): add erratum 2701951 to Cortex-X3's list
Erratum ID 2701951 is an erratum that could affect platforms that do not use an Arm interconnect IP. This was originally added to the list of Corte
fix(cpus): add erratum 2701951 to Cortex-X3's list
Erratum ID 2701951 is an erratum that could affect platforms that do not use an Arm interconnect IP. This was originally added to the list of Cortex-A715 in the errata ABI files. Fixed this by adding it to the Cortex-X3 list.
SDEN documentation: https://developer.arm.com/documentation/2055130/latest
Change-Id: I6ffaf4360a4a2d0a23c253a2326c178e010c8e45 Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| aceb9c9e | 26-Sep-2023 |
Sona Mathew <sonarebecca.mathew@arm.com> |
refactor(errata-abi): workaround platforms non-arm interconnect
The workarounds for these below mentioned errata are not implemented in EL3, but the flags can be enabled/disabled at a platform level
refactor(errata-abi): workaround platforms non-arm interconnect
The workarounds for these below mentioned errata are not implemented in EL3, but the flags can be enabled/disabled at a platform level based on arm/non-arm interconnect IP flag. The ABI helps assist the Kernel in the process of mitigation for the following errata:
Cortex-A715: erratum 2701951 Neoverse V2: erratum 2719103 Cortex-A710: erratum 2701952 Cortex-X2: erratum 2701952 Neoverse N2: erratum 2728475 Neoverse V1: erratum 2701953 Cortex-A78: erratum 2712571 Cortex-A78AE: erratum 2712574 Cortex-A78C: erratum 2712575
Change-Id: Ie86b7212d731a79e2a0c07649e69234e733cd78d Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|