| 3e61b2b5 | 02-Oct-2017 |
David Cunado <david.cunado@arm.com> |
Init and save / restore of PMCR_EL0 / PMCR
Currently TF does not initialise the PMCR_EL0 register in the secure context or save/restore the register.
In particular, the DP field may not be set to o
Init and save / restore of PMCR_EL0 / PMCR
Currently TF does not initialise the PMCR_EL0 register in the secure context or save/restore the register.
In particular, the DP field may not be set to one to prohibit cycle counting in the secure state, even though event counting generally is prohibited via the default setting of MDCR_EL3.SMPE to 0.
This patch initialises PMCR_EL0.DP to one in the secure state to prohibit cycle counting and also initialises other fields that have an architectually UNKNOWN reset value.
Additionally, PMCR_EL0 is added to the list of registers that are saved and restored during a world switch.
Similar changes are made for PMCR for the AArch32 execution state.
NOTE: secure world code at lower ELs that assume other values in PMCR_EL0 will be impacted.
Change-Id: Iae40e8c0a196d74053accf97063ebc257b4d2f3a Signed-off-by: David Cunado <david.cunado@arm.com>
show more ...
|
| b48ae263 | 16-Aug-2017 |
Roberto Vargas <roberto.vargas@arm.com> |
reset2: Add css_system_reset2()
This function implements the platform dependant part of PSCI system reset2 for CSS platforms using SCMI.
Change-Id: I724389decab484043cadf577aeed96b349c1466d Signed-
reset2: Add css_system_reset2()
This function implements the platform dependant part of PSCI system reset2 for CSS platforms using SCMI.
Change-Id: I724389decab484043cadf577aeed96b349c1466d Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| ed3c0ef8 | 31-Jul-2017 |
Roberto Vargas <roberto.vargas@arm.com> |
scp: Introduce css_scp_system_off() function
The common implementation of css_scp_sys_shutdown and css_scp_warm_reset is refactored into a new function, css_scp_system_off() that allows the desired
scp: Introduce css_scp_system_off() function
The common implementation of css_scp_sys_shutdown and css_scp_warm_reset is refactored into a new function, css_scp_system_off() that allows the desired power state to be specified.
The css_scp_system_off can be used in the implementation of SYSTEM_RESET2 for PSCI v1.1.
Change-Id: I161e62354d3d75f969b8436d794335237520a9a4 Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| 36a8f8fd | 26-Jul-2017 |
Roberto Vargas <roberto.vargas@arm.com> |
reset2: Add PSCI system_reset2 function
This patch implements PSCI_SYSTEM_RESET2 API as defined in PSCI v1.1 specification. The specification allows architectural and vendor-specific resets via this
reset2: Add PSCI system_reset2 function
This patch implements PSCI_SYSTEM_RESET2 API as defined in PSCI v1.1 specification. The specification allows architectural and vendor-specific resets via this API. In the current specification, there is only one architectural reset, the warm reset. This reset is intended to provide a fast reboot path that guarantees not to reset system main memory.
Change-Id: I057bb81a60cd0fe56465dbb5791d8e1cca025bd3 Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| 96851114 | 25-May-2017 |
Evan Lloyd <evan.lloyd@arm.com> |
fiptool: Precursor changes for Visual Studio
In order to compile the source of Fiptool using Visual Studio a number of adjustments are required to the source. This commit modifies the source with c
fiptool: Precursor changes for Visual Studio
In order to compile the source of Fiptool using Visual Studio a number of adjustments are required to the source. This commit modifies the source with changes that will be required, but makes no functional modification. The intent is to allow confirmation that the GCC build is unaffected.
Change-Id: I4055bd941c646dd0a1aa2e24b940a1db3bf629ce Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
show more ...
|
| e35a3fb5 | 11-Oct-2017 |
Soby Mathew <soby.mathew@arm.com> |
ARM platforms: enable GICv3 state save/restore
Provides GICv3 save/restore feature to arm_system_pwr_domain_resume and arm_system_pwr_domain_save functions.
Introduce FVP PSCI power level 3 (System
ARM platforms: enable GICv3 state save/restore
Provides GICv3 save/restore feature to arm_system_pwr_domain_resume and arm_system_pwr_domain_save functions.
Introduce FVP PSCI power level 3 (System level) support. This is solely done to provide example code on how to use the GICv3 save and restore helpers.
Also make CSS GICv3 platforms power off the Redistributor on SYSTEM SUSPEND as its state is saved and restored.
Change-Id: I0d852f3af8824edee1a17c085cf593ddd33a4e77 Signed-off-by: Soby Mathew <soby.mathew@arm.com> Co-Authored-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| a22dffc6 | 05-Oct-2017 |
Soby Mathew <soby.mathew@arm.com> |
ARM platforms: Add support for EL3 TZC memory region
Some recent enhancements to EL3 runtime firmware like support for save and restoring GICv3 register context during system_suspend necessitates ad
ARM platforms: Add support for EL3 TZC memory region
Some recent enhancements to EL3 runtime firmware like support for save and restoring GICv3 register context during system_suspend necessitates additional data memory for the firmware. This patch introduces support for creating a TZC secured DDR carveout for use by ARM reference platforms. A new linker section `el3_tzc_dram` is created using platform supplied linker script and data marked with the attribute `arm_el3_tzc_dram` will be placed in this section. The FVP makefile now defines the `PLAT_EXTRA_LD_SCRIPT` variable to allow inclusion of the platform linker script by the top level BL31 linker script.
Change-Id: I0e7f4a75a6ac51419c667875ff2677043df1585d Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| 9679297f | 11-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1120 from michpappas/tf-issues#521_cert_tool_does_not_build_with_openssl_v1.1
cert_tool: update for compatibility with OpenSSL v1.1 |
| 7efc390d | 11-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1100 from ajs-sun/master
trusty: save/restore FPU registers in world switch |
| 0f49d496 | 09-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1117 from antonio-nino-diaz-arm/an/xlat-improvements
Improvements to the translation tables library v2 |
| 4d415c11 | 09-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1121 from geesun/qx/cert_ecdsa_fix
cert_tool: Fix ECDSA certificates create failure |
| 1727de0e | 22-Sep-2017 |
Qixiang Xu <qixiang.xu@arm.com> |
cert_tool: Fix ECDSA certificates create failure
Commit a8eb286adaa73e86305317b9cae15d41c57de8e7 introduced the following error when creating ECDSA certificates. ERROR: Error creating key 'Tru
cert_tool: Fix ECDSA certificates create failure
Commit a8eb286adaa73e86305317b9cae15d41c57de8e7 introduced the following error when creating ECDSA certificates. ERROR: Error creating key 'Trusted World key' Makefile:634: recipe for target 'certificates' failed make: *** [certificates] Error 1
this patch adds the function to create PKCS#1 v1.5.
Change-Id: Ief96d55969d5e9877aeb528c6bb503b560563537 Signed-off-by: Qixiang Xu <qixiang.xu@arm.com>
show more ...
|
| 742c4e14 | 06-Oct-2017 |
Michalis Pappas <mpappas@aminocom.com> |
cert_tool: update for compatibility with OpenSSL v1.1
This patch fixes incompatibility issues that prevent building the cert_tool with OpenSSL >= v1.1.0. The changes introduced are still backwards c
cert_tool: update for compatibility with OpenSSL v1.1
This patch fixes incompatibility issues that prevent building the cert_tool with OpenSSL >= v1.1.0. The changes introduced are still backwards compatible with OpenSSL v1.0.2.
Fixes arm-software/trusted-fw#521
Signed-off-by: Michalis Pappas <mpappas@fastmail.fm>
show more ...
|
| d9066b42 | 06-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1119 from soby-mathew/sm/fix_its_assertion
Fix assertion in GIC ITS helper |
| c1bbeb5f | 06-Oct-2017 |
Soby Mathew <soby.mathew@arm.com> |
Fix assertion in GIC ITS helper
This patch fixes an assertion check in the GICv3 ITS helper function.
Change-Id: I75f50d7bf6d87c12c6e24a07c9a9889e5facf4a5 Signed-off-by: Soby Mathew <soby.mathew@ar
Fix assertion in GIC ITS helper
This patch fixes an assertion check in the GICv3 ITS helper function.
Change-Id: I75f50d7bf6d87c12c6e24a07c9a9889e5facf4a5 Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| 8e838d66 | 06-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1118 from davidcunado-arm/dc/fix_coverity
Increase PLAT_ARM_MMAP_ENTRIES and MAX_XLAT_TABLES |
| 2e421ad2 | 05-Oct-2017 |
David Cunado <david.cunado@arm.com> |
Increase PLAT_ARM_MMAP_ENTRIES and MAX_XLAT_TABLES
The MEM_PROTECT support adds a MMAP region for DRAM2, which when building with TBBR support and OP-TEE tsp requires an additional entry in the MMAP
Increase PLAT_ARM_MMAP_ENTRIES and MAX_XLAT_TABLES
The MEM_PROTECT support adds a MMAP region for DRAM2, which when building with TBBR support and OP-TEE tsp requires an additional entry in the MMAP region array in BL2 - PLAT_ARM_MMAP_ENTRIES is increased.
The MEM_PROTECT support also adds a new region in BL31, and when BL31 is placed in DRAM, the memory mappings require an additional translation table - MAX_XLAT_TABLES is increased.
Change-Id: I0b76260da817dcfd0b8f73a7193c36efda977625 Signed-off-by: David Cunado <david.cunado@arm.com>
show more ...
|
| a368922f | 06-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1116 from soby-mathew/sm/gicv3_save_restore
GICv3 context save and restore |
| c5229f8c | 02-Aug-2017 |
Douglas Raillard <douglas.raillard@arm.com> |
GICv3: Document GICv3 save/restore helpers
Give hints on how to use the GICv3 save/restore helpers in the implementation of the PSCI handlers.
Change-Id: I86de1c27417b64c7ce290974964ef97ff678f676 S
GICv3: Document GICv3 save/restore helpers
Give hints on how to use the GICv3 save/restore helpers in the implementation of the PSCI handlers.
Change-Id: I86de1c27417b64c7ce290974964ef97ff678f676 Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| b258278e | 18-Jul-2017 |
Soby Mathew <soby.mathew@arm.com> |
GICv3: ITS architectural save and restore helpers
This patch adds functions to save and restore GICv3 ITS registers during system suspend. Please note that the power management of GIC ITS is impleme
GICv3: ITS architectural save and restore helpers
This patch adds functions to save and restore GICv3 ITS registers during system suspend. Please note that the power management of GIC ITS is implementation defined. These functions only implements the architectural part of the ITS power management and they do not restore memory structures or register content required to support ITS. Even if the ITS implementation stores structures in memory, an implementation defined power down sequence is likely to be required to flush some internal ITS caches to memory. If such implementation defined sequence is not followed, the platform must ensure that the ITS is not power gated during system suspend.
Change-Id: I5f31e5541975aa7dcaab69b0b7f67583c0e27678 Signed-off-by: Soby Mathew <soby.mathew@arm.com> Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| ebf1ca10 | 13-Jul-2017 |
Soby Mathew <soby.mathew@arm.com> |
GICv3: add functions for save and restore
During system suspend, the GICv3 Distributor and Redistributor context can be lost due to power gating of the system power domain. This means that the GICv3
GICv3: add functions for save and restore
During system suspend, the GICv3 Distributor and Redistributor context can be lost due to power gating of the system power domain. This means that the GICv3 context needs to be saved prior to system suspend and restored on wakeup. Currently the consensus is that the Firmware should be in charge of this. See tf-issues#464 for more details.
This patch introduces helper APIs in the GICv3 driver to save and restore the Distributor and Redistributor contexts. The GICv3 ITS context is not considered in this patch because the specification says that the details of ITS power management is implementation-defined. These APIs are expected to be appropriately invoked by the platform layer during system suspend.
Fixes ARM-software/tf-issues#464
Change-Id: Iebb9c6770ab8c4d522546f161fa402d2fe02ec00 Signed-off-by: Soby Mathew <soby.mathew@arm.com> Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| a64b4e62 | 26-Jul-2017 |
Douglas Raillard <douglas.raillard@arm.com> |
GICv3: turn some macros into inline functions
Tidy up the code a bit by turning some macros into inline functions which allows to remove the do/while(0) idiom and backslashes at the end of the line.
GICv3: turn some macros into inline functions
Tidy up the code a bit by turning some macros into inline functions which allows to remove the do/while(0) idiom and backslashes at the end of the line.
Change-Id: Ie41a4ea4a4da507f7b925247b53e85019101d717 Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| b50bdcea | 03-Aug-2017 |
Douglas Raillard <douglas.raillard@arm.com> |
GICv3: Fix gic600.c indentation
Reindent the file using tabs as the mix of spaces and tabs confuses some editors and leads them to use spaces instead of tabs for new code although the coding style m
GICv3: Fix gic600.c indentation
Reindent the file using tabs as the mix of spaces and tabs confuses some editors and leads them to use spaces instead of tabs for new code although the coding style mandates tabs.
Change-Id: I87fa4a5d368a048340054b9b3622325f3f7befba Signed-off-by: Douglas Raillard <douglas.raillard@arm.com>
show more ...
|
| 609c9191 | 04-Oct-2017 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
xlat: Add support for EL0 and EL1 mappings
This patch introduces the ability of the xlat tables library to manage EL0 and EL1 mappings from a higher exception level.
Attributes MT_USER and MT_PRIVI
xlat: Add support for EL0 and EL1 mappings
This patch introduces the ability of the xlat tables library to manage EL0 and EL1 mappings from a higher exception level.
Attributes MT_USER and MT_PRIVILEGED have been added to allow the user specify the target EL in the translation regime EL1&0.
REGISTER_XLAT_CONTEXT2 macro is introduced to allow creating a xlat_ctx_t that targets a given translation regime (EL1&0 or EL3).
A new member is added to xlat_ctx_t to represent the translation regime the xlat_ctx_t manages. The execute_never mask member is removed as it is computed from existing information.
Change-Id: I95e14abc3371d7a6d6a358cc54c688aa9975c110 Co-authored-by: Douglas Raillard <douglas.raillard@arm.com> Co-authored-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Co-authored-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com> Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| b4ae615b | 25-Sep-2017 |
Douglas Raillard <douglas.raillard@arm.com> |
xlat: Introduce function xlat_arch_tlbi_va_regime()
Introduce a variant of the TLB invalidation helper function that allows the targeted translation regime to be specified, rather than defaulting to
xlat: Introduce function xlat_arch_tlbi_va_regime()
Introduce a variant of the TLB invalidation helper function that allows the targeted translation regime to be specified, rather than defaulting to the current one.
This new function is useful in the context of EL3 software managing translation tables for the S-EL1&0 translation regime, as then it might need to invalidate S-EL1&0 TLB entries rather than EL3 ones.
Define a new enumeration to be able to represent translation regimes in the xlat tables library.
Change-Id: Ibe4438dbea2d7a6e7470bfb68ff805d8bf6b07e5 Co-authored-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Co-authored-by: Douglas Raillard <douglas.raillard@arm.com> Co-authored-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com> Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|