| 1d791530 | 05-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARMv7: division support for missing __aeabi_*divmod
ARMv7-A architectures that do not support the Virtualization extensions do not support instructions for the 32bit division. This change provides a
ARMv7: division support for missing __aeabi_*divmod
ARMv7-A architectures that do not support the Virtualization extensions do not support instructions for the 32bit division. This change provides a software implementation for 32bit division.
The division implementation is dumped from the OP-TEE project http://github.com/OP-TEE/optee_os. The code was slightly modified to pass trusted firmware checkpatch requirements and copyright is given to the ARM trusted firmware initiative and its contributors.
Change-Id: Idae0c7b80a0d75eac9bd41ae121921d4c5af3fa3 Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 86e26835 | 08-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARMv7 may not support Generic Timer Extension
If ARMv7 based platform does not set ARM_CORTEX_Ax=yes, platform shall define ARMV7_SUPPORTS_GENERIC_TIMER to enable generic timer support.
Signed-off-
ARMv7 may not support Generic Timer Extension
If ARMv7 based platform does not set ARM_CORTEX_Ax=yes, platform shall define ARMV7_SUPPORTS_GENERIC_TIMER to enable generic timer support.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 51b992ec | 08-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARMv7 may not support large page addressing
ARCH_SUPPORTS_LARGE_PAGE_ADDRESSING allows build environment to handle specific case when target ARMv7 core only supports 32bit MMU descriptor mode.
If A
ARMv7 may not support large page addressing
ARCH_SUPPORTS_LARGE_PAGE_ADDRESSING allows build environment to handle specific case when target ARMv7 core only supports 32bit MMU descriptor mode.
If ARMv7 based platform does not set ARM_CORTEX_Ax=yes, platform shall define ARMV7_SUPPORTS_LARGE_PAGE_ADDRESSING to enable large page addressing support.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 1ca8d023 | 05-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARMv7: introduce Cortex-A12
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> |
| 778e411d | 05-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARMv7: introduce Cortex-A17
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> |
| 6ff43c26 | 05-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARMv7: introduce Cortex-A7
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> |
| d56a8461 | 05-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARMv7: introduce Cortex-A5
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> |
| e3148c2b | 05-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARMv7: introduce Cortex-A9
As Cortex-A9 needs to manually enable program flow prediction, do not reset SCTLR[Z] at entry. Platform should enable it only once MMU is enabled.
Change-Id: I34e1ee2da73
ARMv7: introduce Cortex-A9
As Cortex-A9 needs to manually enable program flow prediction, do not reset SCTLR[Z] at entry. Platform should enable it only once MMU is enabled.
Change-Id: I34e1ee2da73221903f7767f23bc6fc10ad01e3de Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 10922e7a | 05-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARMv7: introduce Cortex-A15
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> |
| 0147bef5 | 05-Nov-2017 |
Etienne Carriere <etienne.carriere@linaro.org> |
ARMv7 does not support STL instruction
Also need to add a SEV instruction in ARMv7 spin_unlock which is implicit in ARMv8.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org> |
| bfc87a8d | 16-Oct-2017 |
Soby Mathew <soby.mathew@arm.com> |
Fix PSCI STAT time stamp collection
This patch includes various fixes for PSCI STAT functionality relating to timestamp collection:
1. The PSCI stat accounting for retention states for higher level
Fix PSCI STAT time stamp collection
This patch includes various fixes for PSCI STAT functionality relating to timestamp collection:
1. The PSCI stat accounting for retention states for higher level power domains were done outside the locks which could lead to spurious values in some race conditions. This is moved inside the locks. Also, the call to start the stat accounting was redundant which is now removed.
2. The timestamp wrap-around case when calculating residency did not cater for AArch32. This is now fixed.
3. In the warm boot path, `plat_psci_stat_accounting_stop()` was getting invoked prior to population of target power states. This is now corrected.
Change-Id: I851526455304fb74ff0a724f4d5318cd89e19589 Signed-off-by: Soby Mathew <soby.mathew@arm.com>
show more ...
|
| 17b4c0dd | 13-Oct-2017 |
Dimitris Papastamos <dimitris.papastamos@arm.com> |
aarch64: Add PubSub events to capture security state transitions
Add events that trigger before entry to normal/secure world. The events trigger after the normal/secure context has been restored.
aarch64: Add PubSub events to capture security state transitions
Add events that trigger before entry to normal/secure world. The events trigger after the normal/secure context has been restored.
Similarly add events that trigger after leaving normal/secure world. The events trigger after the normal/secure context has been saved.
Change-Id: I1b48a7ea005d56b1f25e2b5313d77e67d2f02bc5 Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
show more ...
|
| bd0c3477 | 22-Sep-2017 |
Jeenu Viswambharan <jeenu.viswambharan@arm.com> |
PSCI: Publish CPU ON event
This allows other EL3 components to subscribe to CPU on events.
Update Firmware Design guide to list psci_cpu_on_finish as an available event.
Change-Id: Ida774afe0f9cdc
PSCI: Publish CPU ON event
This allows other EL3 components to subscribe to CPU on events.
Update Firmware Design guide to list psci_cpu_on_finish as an available event.
Change-Id: Ida774afe0f9cdce4021933fcc33a9527ba7aaae2 Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
show more ...
|
| 8b9f419e | 20-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1136 from antonio-nino-diaz-arm/an/xlat-get-set-attr
Add APIs to get and modify attributes of memory regions |
| ccd0c24c | 17-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1127 from davidcunado-arm/dc/pmrc_init
Init and save / restore of PMCR_EL0 / PMCR |
| 5d2f87e8 | 17-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1126 from robertovargas-arm/psci-v1.1
Update PSCI to v1.1 |
| ec0c8fda | 05-Oct-2017 |
Antonio Nino Diaz <antonio.ninodiaz@arm.com> |
Introduce functions to disable the MMU in EL1
The implementation is the same as those used to disable it in EL3.
Change-Id: Ibfe7e69034a691fbf57477c5a76a8cdca28f6b26 Signed-off-by: Antonio Nino Dia
Introduce functions to disable the MMU in EL1
The implementation is the same as those used to disable it in EL3.
Change-Id: Ibfe7e69034a691fbf57477c5a76a8cdca28f6b26 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
show more ...
|
| 996d6b39 | 17-Oct-2017 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
xlat: Introduce API to change memory attributes of a region
This patch introduces a new API in the translation tables library (v2), that allows to change the memory attributes of a memory region. It
xlat: Introduce API to change memory attributes of a region
This patch introduces a new API in the translation tables library (v2), that allows to change the memory attributes of a memory region. It may be used to change its execution permissions and data access permissions.
As a prerequisite, the memory must be already mapped. Moreover, it must be mapped at the finest granularity (currently 4 KB).
Change-Id: I242a8c6f0f3ef2b0a81a61e28706540462faca3c 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 ...
|
| 1be910bb | 13-Oct-2017 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
xlat: Introduce API to get memory attributes of a region
This patch introduces a new API in the translation tables library (v2), that allows to query the memory attributes of a memory block or a mem
xlat: Introduce API to get memory attributes of a region
This patch introduces a new API in the translation tables library (v2), that allows to query the memory attributes of a memory block or a memory page.
Change-Id: I45a8b39a53da39e7617cbac4bff5658dc1b20a11 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 ...
|
| 44684429 | 16-Oct-2017 |
davidcunado-arm <david.cunado@arm.com> |
Merge pull request #1123 from robertovargas-arm/reset2
Integration of reset2 PSCI v1.1 functionality |
| 4ce9b8ea | 12-Oct-2017 |
Roberto Vargas <roberto.vargas@arm.com> |
mem_protect: Fix PSCI FEATURES API for MEM_PROTECT_CHECK
With this patch the PSCI_FEATURES API correctly reports availability of the PSCI_MEM_PROTECT_CHECK API - PSCI_MEM_CHK_RANGE_AARCH64 is added
mem_protect: Fix PSCI FEATURES API for MEM_PROTECT_CHECK
With this patch the PSCI_FEATURES API correctly reports availability of the PSCI_MEM_PROTECT_CHECK API - PSCI_MEM_CHK_RANGE_AARCH64 is added to the PSCI capabilities mask, PSCI_CAP_64BIT_MASK
Change-Id: Ic90ee804deaadf0f948dc2d46ac5fe4121ef77ae Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
show more ...
|
| 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 ...
|
| 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 ...
|
| 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 |
| 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 ...
|