| 2971bad8 | 11-Apr-2023 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(measured-boot): introduce platform function to measure and publish Public Key
Added a platform function to measure and publish Public Key information. Subsequent patches define this function fo
feat(measured-boot): introduce platform function to measure and publish Public Key
Added a platform function to measure and publish Public Key information. Subsequent patches define this function for the FVP and TC platforms to measure Public Key and publishes it to RSS if MEASURED_BOOT is enabled.
Change-Id: I1f61f44c7a83bb4cbafbd1af97b5adeb8398e8e8 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| ece8f7d7 | 13-Feb-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(cm): set MDCR_EL3/CPTR_EL3 bits in respective feat_init_el3() only
These bits (MDCR_EL3.{NSTB, NSTBE, TTRF, TPM}, CPTR_EL3.TTA) only affect EL2 (and lower) execution. Each feat_init_el3() i
refactor(cm): set MDCR_EL3/CPTR_EL3 bits in respective feat_init_el3() only
These bits (MDCR_EL3.{NSTB, NSTBE, TTRF, TPM}, CPTR_EL3.TTA) only affect EL2 (and lower) execution. Each feat_init_el3() is called long before any lower EL has had a chance to execute, so setting the bits at reset is redundant. Removing them from reset code also improves readability of the immutable EL3 state.
Preserve the original intention for the TTA bit of "enabled for NS and disabled everywhere else" (inferred from commit messages d4582d3088 and 2031d6166a and the comment). This is because CPTR_EL3 will be contexted and so everyone will eventually get whatever NS has anyway.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I3d24b45d3ea80882c8e450b2d9db9d5531facec1
show more ...
|
| 99506fac | 13-Feb-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(cm): set MDCR_EL3.{NSPBE, STE} explicitly
With the introduction of FEAT_RME MDCR_EL3 bits NSPB and NSPBE depend on each other. The enable code relies on the register being initialised to zero an
fix(cm): set MDCR_EL3.{NSPBE, STE} explicitly
With the introduction of FEAT_RME MDCR_EL3 bits NSPB and NSPBE depend on each other. The enable code relies on the register being initialised to zero and omits to reset NSPBE. However, this is not obvious. Reset the bit explicitly to document this.
Similarly, reset the STE bit , since it's part of the feature enablement.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I3714507bae10042cdccd2b7bc713b31d4cdeb02f
show more ...
|
| 4d0b6632 | 24-Mar-2023 |
Maksims Svecovs <maksims.svecovs@arm.com> |
feat(mte): adds feature detection for MTE_PERM
Adds feature detection for v8.9 feature FEAT_MTE_PERM. Adds respective ID_AA64PFR2_EL1 definitions and ENABLE_FEAT_MTE_PERM define.
Change-Id: If24b42
feat(mte): adds feature detection for MTE_PERM
Adds feature detection for v8.9 feature FEAT_MTE_PERM. Adds respective ID_AA64PFR2_EL1 definitions and ENABLE_FEAT_MTE_PERM define.
Change-Id: If24b42f1207154e639016b0b840b2d91c6ee13d4 Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com> Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 80569faa | 18-Jul-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topics "rotpk_rss_interface", "rss_interfaces" into integration
* changes: refactor(tc): print RSS interface test PSA status test(tc): test for AP/RSS interface for ROTPK fe
Merge changes from topics "rotpk_rss_interface", "rss_interfaces" into integration
* changes: refactor(tc): print RSS interface test PSA status test(tc): test for AP/RSS interface for ROTPK feat(psa): interface with RSS for retrieving ROTPK
show more ...
|
| a2d43637 | 17-Jul-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "bk/context_refactor" into integration
* changes: refactor(amu): separate the EL2 and EL3 enablement code refactor(cpufeat): separate the EL2 and EL3 enablement code |
| 50316e22 | 13-Jun-2023 |
laurenw-arm <lauren.wehrmeister@arm.com> |
feat(psa): interface with RSS for retrieving ROTPK
Adding the AP/RSS interface for reading the ROTPK.
The read interface implements the psa_call: psa_call(RSS_CRYPTO_HANDLE, PSA_IPC_CALL,
feat(psa): interface with RSS for retrieving ROTPK
Adding the AP/RSS interface for reading the ROTPK.
The read interface implements the psa_call: psa_call(RSS_CRYPTO_HANDLE, PSA_IPC_CALL, in_vec, IOVEC_LEN(in_vec), out_vec, IOVEC_LEN(out_vec));
where the in_vec indicates which of the 3 ROTPKs we want, and the out_vec stores the ROTPK value we get back from RSS.
Through this service, we will be able to read any of the 3 ROTPKs used on a CCA platform: - ROTPK for CCA firmware (BL2, BL31, RMM). - ROTPK for secure firmware. - ROTPK for non-secure firmware.
Change-Id: I44c615588235cc797fdf38870b74b4c422be0a72 Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
show more ...
|
| 3393060c | 06-Jul-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "agilex5" into integration
* changes: feat(intel): platform enablement for Agilex5 SoC FPGA feat(intel): ccu driver for Agilex5 SoC FPGA feat(intel): vab support for A
Merge changes from topic "agilex5" into integration
* changes: feat(intel): platform enablement for Agilex5 SoC FPGA feat(intel): ccu driver for Agilex5 SoC FPGA feat(intel): vab support for Agilex5 SoC FPGA feat(intel): sdmmc/nand/combo-phy/qspi driver for Agilex5 SoC FPGA feat(intel): ddr driver for Agilex5 SoC FPGA feat(intel): power manager for Agilex5 SoC FPGA feat(intel): cold/warm reset and smp support for Agilex5 SoC FPGA feat(intel): reset manager support for Agilex5 SoC FPGA feat(intel): mailbox and SMC support for Agilex5 SoC FPGA feat(intel): system manager support for Agilex5 SoC FPGA feat(intel): memory controller support for Agilex5 SoC FPGA feat(intel): clock manager support for Agilex5 SoC FPGA feat(intel): mmc support for Agilex5 SoC FPGA feat(intel): uart support for Agilex5 SoC FPGA feat(intel): pinmux, peripheral and Handoff support for Agilex5 SoC FPGA
show more ...
|
| 0e74b661 | 06-Jul-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "imx93_basic_support" into integration
* changes: docs(imx9): add imx93 platform feat(imx93): add OPTEE support feat(imx93): protect OPTEE memory to secure access only
Merge changes from topic "imx93_basic_support" into integration
* changes: docs(imx9): add imx93 platform feat(imx93): add OPTEE support feat(imx93): protect OPTEE memory to secure access only feat(imx93): add cpuidle and basic suspend support feat(imx93): add reset & poweroff support feat(imx93): allow SoC masters access to system TCM feat(imx93): update the ocram trdc config for did10 feat(imx93): add the basic support feat(imx93): add the trdc driver build(changelog): add new scopes for nxp imx platform
show more ...
|
| ddaf02d1 | 17-May-2023 |
Jit Loon Lim <jit.loon.lim@intel.com> |
feat(intel): sdmmc/nand/combo-phy/qspi driver for Agilex5 SoC FPGA
This patch is used to implement sdmmc/nand/combo-phy driver to support Cadence IP for Agilex5 SoC FPGA. 1. Added SDMMC/NAND/COMBO-
feat(intel): sdmmc/nand/combo-phy/qspi driver for Agilex5 SoC FPGA
This patch is used to implement sdmmc/nand/combo-phy driver to support Cadence IP for Agilex5 SoC FPGA. 1. Added SDMMC/NAND/COMBO-PHY support. 2. Updated product name -> Agilex5 3. Updated QSPI base address
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Change-Id: I6db689d2b784c9f59a25701ab34517f6f6b0a0e6
show more ...
|
| 4085a02c | 27-Mar-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(amu): separate the EL2 and EL3 enablement code
Combining the EL2 and EL3 enablement code necessitates that it must be called at el3_exit, which is the only place with enough context to make
refactor(amu): separate the EL2 and EL3 enablement code
Combining the EL2 and EL3 enablement code necessitates that it must be called at el3_exit, which is the only place with enough context to make the decision of what needs to be set. Decouple them to allow them to be called from elsewhere. Also take some time to clarify and simplify AMU code.
The sanity check in the context_restore() is now wrong, as the cpu may turn off on suspend, thus resetting the value of the counter enables. Remove it.
Finally, this completes the migration to cm_manage_extensions_el3() and manage_extensions_nonsecure() so manage_extensions_nonsecure_mixed() is being removed.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I66399132364c32be66017506bb54cbadd8485577
show more ...
|
| 60d330dc | 16-Feb-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(cpufeat): separate the EL2 and EL3 enablement code
Combining the EL2 and EL3 enablement code necessitates that it must be called at el3_exit, which is the only place with enough context to
refactor(cpufeat): separate the EL2 and EL3 enablement code
Combining the EL2 and EL3 enablement code necessitates that it must be called at el3_exit, which is the only place with enough context to make the decision of what needs to be set. Decouple them to allow them to be called from elsewhere.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I147764c42771e7d4100699ec8fae98dac0a505c0
show more ...
|
| 36bcf10c | 16-Jun-2023 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(rss): make RSS driver standalone for Measured Boot
Currently, Measured Boot RSS driver gathers data from platform calls, specifically RSS metadata. Generally, the driver should use the leas
refactor(rss): make RSS driver standalone for Measured Boot
Currently, Measured Boot RSS driver gathers data from platform calls, specifically RSS metadata. Generally, the driver should use the least amount of platform calls possible, and the platform should provide the data directly to the driver via the driver interface.
For this purpose, RSS Measured Boot driver interface APIs were updated and platform calls were removed from RSS Measured Boot driver.
Change-Id: I6c797d9ac2d70215f32a084a7643884b399ee28c Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 29352910 | 25-May-2023 |
Jacky Bai <ping.bai@nxp.com> |
feat(imx93): add the trdc driver
Add the trdc driver that is used on NXP i.MX9 family
Signed-off-by: Jacky Bai <ping.bai@nxp.com> Change-Id: Ie1fd86b76564fa7e20d74d5b4dbfe7ea0ee851fc |
| e87102f3 | 29-Jun-2023 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "gr/cpu_rename" into integration
* changes: chore: rename hayes to a520 chore: rename hunter to a720 chore: rename hunter_elp to cortex-x4 |
| dea3d71e | 28-Jun-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
chore: rename hayes to a520
Rename Cortex-hayes to Cortes-A520
Change-Id: Ic574b55b1aaf11b5bf7b583e244245e7b54bdb22 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> |
| 31b39455 | 23-Jun-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
chore: rename hunter to a720
Rename cortex_hunter to cortex_a720
Change-Id: Id4e0e2cd47051c2e92b3f16373ea06ef4df1d75f Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> |
| 0bc2f3d2 | 29-Jun-2023 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "fix(fvp): adjust BL31 maximum size as per total SRAM size" into integration |
| 870fcb94 | 23-Jun-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
chore: rename hunter_elp to cortex-x4
Rename hunter_elp to cortex-x4
Change-Id: I78c8c009d7bee14b4793dc1d950ed81273216831 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> |
| 83a4dae1 | 16-Feb-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(pmu): convert FEAT_MTPMU to C and move to persistent register init
The FEAT_MTPMU feature disable runs very early after reset. This means, it needs to be written in assembly, since the C ru
refactor(pmu): convert FEAT_MTPMU to C and move to persistent register init
The FEAT_MTPMU feature disable runs very early after reset. This means, it needs to be written in assembly, since the C runtime has not been initialised yet.
However, there is no need for it to be initialised so soon. The PMU state is only relevant after TF-A has relinquished control. The code to do this is also very verbose and difficult to read. Delaying the initialisation allows for it to happen with the rest of the PMU. Align with FEAT_STATE in the process.
BREAKING CHANGE: This patch explicitly breaks the EL2 entry path. It is currently unsupported.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I2aa659d026fbdb75152469f6d19812ece3488c6f
show more ...
|
| c73686a1 | 15-Feb-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(pmu): introduce pmuv3 lib/extensions folder
The enablement code for the PMU is scattered and difficult to track down. Factor out the feature into its own lib/extensions folder and consolidate t
feat(pmu): introduce pmuv3 lib/extensions folder
The enablement code for the PMU is scattered and difficult to track down. Factor out the feature into its own lib/extensions folder and consolidate the implementation. Treat it is as an architecturally mandatory feature as it is currently.
Additionally, do some cleanup on AArch64. Setting overflow bits in PMCR_EL0 is irrelevant for firmware so don't do it. Then delay the PMU initialisation until the context management stage which simplifies the early environment assembly. One side effect is that the PMU might count before this happens so reset all counters to 0 to prevent any leakage.
Finally, add an enable to manage_extensions_realm() as realm world uses the pmu. This introduces the HPMN fixup to realm world.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ie13a8625820ecc5fbfa467dc6ca18025bf6a9cd3
show more ...
|
| 33815eb7 | 15-Jun-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(pmu): make MDCR_EL3.MTPME=1 out of reset
Make the default value for MTPME always be 1 to preserve the reset behaviour on newer revisions and on older revisions where the bit is RES0 it doesn't m
fix(pmu): make MDCR_EL3.MTPME=1 out of reset
Make the default value for MTPME always be 1 to preserve the reset behaviour on newer revisions and on older revisions where the bit is RES0 it doesn't matter.
Before its introduction MDCR_EL3.MTPME was RES0. Upon its introduction the field resets to 1, making the MTPMU architecturally "enabled". As such, the logical action on TF-A's part is to "disable" it, which led to the introduction of DISABLE_MTPMU.
This hinges on the assumption that MDCR_EL3.MTPME will always be 1 unless the above flag is set. Unfortunately this is not the case, as the reset value is overwritten at reset with a macro that sets this bit to 0.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ie570774972f246b3aa41dc016ecbcc6fc2f581f6
show more ...
|
| 24a70738 | 08-Mar-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(cm): introduce a real manage_extensions_nonsecure()
manage_extensions_nonsecure() is problematic because it updates both context and in-place registers (unlike its secure/realm counterparts
refactor(cm): introduce a real manage_extensions_nonsecure()
manage_extensions_nonsecure() is problematic because it updates both context and in-place registers (unlike its secure/realm counterparts). The in-place register updates make it particularly tricky, as those never change for the lifetime of TF-A. However, they are only set when exiting to NS world. As such, all of TF-A's execution before that operates under a different context. This is inconsistent and could cause problems.
This patch Introduce a real manage_extensions_nonsecure() which only operates on the context structure. It also introduces a cm_manage_extensions_el3() which only operates on register in-place that are not context switched. It is called in BL31's entrypoints so that all of TF-A executes with the same environment once all features have been converted.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ic579f86c41026d2054863ef44893e0ba4c591da9
show more ...
|
| 24e224b4 | 27-Jun-2023 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
fix(fvp): adjust BL31 maximum size as per total SRAM size
Adjusted BL31 maximum size as per total SRAM size.
Change-Id: Ifdfdedb8af3e001cebba8e60c973f3c72be11652 Signed-off-by: Manish V Badarkhe <M
fix(fvp): adjust BL31 maximum size as per total SRAM size
Adjusted BL31 maximum size as per total SRAM size.
Change-Id: Ifdfdedb8af3e001cebba8e60c973f3c72be11652 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| f339dfd6 | 27-Jun-2023 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge "feat(cpus): add support for hermes cpu" into integration |