History log of /rk3399_ARM-atf/lib/ (Results 1951 – 1975 of 2323)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
0d3a27e719-Jan-2018 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1200 from robertovargas-arm/bl2-el3

Add BL2_AT_EL3 build option


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_exceptions.S
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_exceptions.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl2/bl2_private.h
/rk3399_ARM-atf/docs/firmware-design.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.mk
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.mk
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_x509.mk
/rk3399_ARM-atf/drivers/synopsys/emmc/dw_mmc.c
/rk3399_ARM-atf/include/common/aarch32/el3_common_macros.S
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/asm_macros_common.S
/rk3399_ARM-atf/include/lib/cpus/aarch32/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/utils.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/mm_svc.h
/rk3399_ARM-atf/include/services/spm_svc.h
cpus/aarch32/cpu_helpers.S
cpus/aarch64/cpu_helpers.S
cpus/errata_report.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_el3_setup.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl2_el3_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/common/plat_bl2_el3_common.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/aarch64/hikey960_helpers.S
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/platform_def.h
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
2dc80e4919-Jan-2018 Manoj Kumar <manoj.kumar3@arm.com>

lib/cpus: fix branching in reset function for cortex-a72 AARCH32 mode

In AARCH32 mode, cortex_a72_reset_func branches to address in lr
register instead of r5 register. This leads to linux boot failu

lib/cpus: fix branching in reset function for cortex-a72 AARCH32 mode

In AARCH32 mode, cortex_a72_reset_func branches to address in lr
register instead of r5 register. This leads to linux boot failure
of Cortex-A72 cores in AARCH32 mode on Juno-R2 board.

This patch fixes the branching of cortex_a72_reset_func to r5
register as in cortex_a57_reset_func implementation.

Signed-off-by: Manoj Kumar <manoj.kumar3@arm.com>

show more ...

e4b34efa03-Jan-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Workaround for CVE-2017-5715 for Cortex A9, A15 and A17

A per-cpu vbar is installed that implements the workaround by
invalidating the branch target buffer (BTB) directly in the case of A9
and A17 a

Workaround for CVE-2017-5715 for Cortex A9, A15 and A17

A per-cpu vbar is installed that implements the workaround by
invalidating the branch target buffer (BTB) directly in the case of A9
and A17 and indirectly by invalidating the icache in the case of A15.

For Cortex A57 and A72 there is currently no workaround implemented
when EL3 is in AArch32 mode so report it as missing.

For other vulnerable CPUs (e.g. Cortex A73 and Cortex A75), there are
no changes since there is currently no upstream AArch32 EL3 support
for these CPUs.

Change-Id: Ib42c6ef0b3c9ff2878a9e53839de497ff736258f
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

eec9e7d116-Jan-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Print erratum application report for CVE-2017-5715

Even though the workaround for CVE-2017-5715 is not a CPU erratum, the
code is piggybacking on the errata framework to print whether the
workaround

Print erratum application report for CVE-2017-5715

Even though the workaround for CVE-2017-5715 is not a CPU erratum, the
code is piggybacking on the errata framework to print whether the
workaround was applied, missing or not needed.

Change-Id: I821197a4b8560c73fd894cd7cd9ecf9503c72fa3
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

c0ca14d616-Jan-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Change the default errata format string

As we are using the errata framework to handle workarounds in a more
general sense, change the default string to reflect that.

Change-Id: I2e266af2392c9d95e1

Change the default errata format string

As we are using the errata framework to handle workarounds in a more
general sense, change the default string to reflect that.

Change-Id: I2e266af2392c9d95e18fe4e965f9a1d46fd0e95e
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

b1d27b4830-Oct-2017 Roberto Vargas <roberto.vargas@arm.com>

bl2-el3: Add BL2_EL3 image

This patch enables BL2 to execute at the highest exception level
without any dependancy on TF BL1. This enables platforms which already
have a non-TF Boot ROM to directly

bl2-el3: Add BL2_EL3 image

This patch enables BL2 to execute at the highest exception level
without any dependancy on TF BL1. This enables platforms which already
have a non-TF Boot ROM to directly load and execute BL2 and subsequent BL
stages without need for BL1. This is not currently possible because
BL2 executes at S-EL1 and cannot jump straight to EL3.

Change-Id: Ief1efca4598560b1b8c8e61fbe26d1f44e929d69
Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/aarch32/bl2_el3_exceptions.S
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_entrypoint.S
/rk3399_ARM-atf/bl2/aarch64/bl2_el3_exceptions.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl2/bl2_private.h
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_sp.png
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_tos.png
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/secure-partition-manager-design.rst
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/include/common/aarch32/el3_common_macros.S
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch32/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
cpus/aarch32/cpu_helpers.S
cpus/aarch64/cpu_helpers.S
cpus/errata_report.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_sdei.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/common/plat_bl2_el3_common.c
/rk3399_ARM-atf/plat/hisilicon/poplar/aarch64/platform_common.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl31_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/include/hi3798cv200.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/poplar_layout.h
/rk3399_ARM-atf/plat/hisilicon/poplar/plat_storage.c
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
246b456916-Jan-2018 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1218 from antonio-nino-diaz-arm/an/xlat-fix

xlat v2: Correctly unmap regions on map error

c6cc9ac315-Jan-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

AMU: Remove unnecessary WARN()

If AMU is not supported by the hardware but it is enabled in Trusted
Firmware, the console will be spammed with warnings every time a CPU
is brought up with a CPU ON c

AMU: Remove unnecessary WARN()

If AMU is not supported by the hardware but it is enabled in Trusted
Firmware, the console will be spammed with warnings every time a CPU
is brought up with a CPU ON call.

Remove the warning message as this is more in line with how other
extensions like SPE and SVE are handled.

Change-Id: Iba6d367e4d1375ab554d23d2eaceab3ae1362c5a
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

5f3c7ce412-Jan-2018 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1197 from dp-arm/dp/amu

AMUv1 support

53bfb94e11-Dec-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

Add hooks to save/restore AMU context for Cortex A75

Change-Id: I504d3f65ca5829bc1f4ebadb764931f8379ee81f
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

b6eb393228-Nov-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

AMU: Add hooks to save/restore AMU context

On some systems, the AMU counters might reset to 0 when a CPU
powerdown happens. This behaviour conflicts with the intended
use-case of AMU as lower ELs a

AMU: Add hooks to save/restore AMU context

On some systems, the AMU counters might reset to 0 when a CPU
powerdown happens. This behaviour conflicts with the intended
use-case of AMU as lower ELs are only expected to see non-decreasing
counter values.

Change-Id: If25519965d4e6e47e09225d0e732947986cbb5ec
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

0767d50e13-Nov-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

AMU: Add configuration helpers for aarch64

Add some AMU helper functions to allow configuring, reading and
writing of the Group 0 and Group 1 counters. Documentation for these
helpers will come in

AMU: Add configuration helpers for aarch64

Add some AMU helper functions to allow configuring, reading and
writing of the Group 0 and Group 1 counters. Documentation for these
helpers will come in a separate patch.

Change-Id: I656e070d2dae830c22414f694aa655341d4e2c40
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

59902b7c13-Dec-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

AMU: Add plat interface to select which group 1 counters to enable

A new platform macro `PLAT_AMU_GROUP1_COUNTERS_MASK` controls which
group 1 counters should be enabled. The maximum number of group

AMU: Add plat interface to select which group 1 counters to enable

A new platform macro `PLAT_AMU_GROUP1_COUNTERS_MASK` controls which
group 1 counters should be enabled. The maximum number of group 1
counters supported by AMUv1 is 16 so the mask can be at most 0xffff.
If the platform does not define this mask, no group 1 counters are
enabled.

A related platform macro `PLAT_AMU_GROUP1_NR_COUNTERS` is used by
generic code to allocate an array to save and restore the counters on
CPU suspend.

Change-Id: I6d135badf4846292de931a43bb563077f42bb47b
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

7593252c28-Nov-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

Add PubSub events for CPU powerdown/powerup

The suspend hook is published at the start of a CPU powerdown
operation. The resume hook is published at the end of a CPU powerup
operation.

Change-Id:

Add PubSub events for CPU powerdown/powerup

The suspend hook is published at the start of a CPU powerdown
operation. The resume hook is published at the end of a CPU powerup
operation.

Change-Id: I50c05e2dde0d33834095ac41b4fcea4c161bb434
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_sp.png
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_tos.png
/rk3399_ARM-atf/docs/firmware-design.rst
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/secure-partition-manager-design.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/include/lib/el3_runtime/pubsub_events.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
psci/psci_suspend.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_sdei.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/hisilicon/poplar/aarch64/platform_common.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl31_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/include/hi3798cv200.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/poplar_layout.h
/rk3399_ARM-atf/plat/hisilicon/poplar/plat_storage.c
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/ipi_mailbox_service/ipi_mailbox_svc.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/ipi_mailbox_service/ipi_mailbox_svc.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_common.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_ipi.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.h
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_private.h
/rk3399_ARM-atf/tools/fiptool/fiptool.c
780edd8602-Jan-2018 Dimitris Papastamos <dimitris.papastamos@arm.com>

Use PFR0 to identify need for mitigation of CVE-2017-5915

If the CSV2 field reads as 1 then branch targets trained in one
context cannot affect speculative execution in a different context.
In that

Use PFR0 to identify need for mitigation of CVE-2017-5915

If the CSV2 field reads as 1 then branch targets trained in one
context cannot affect speculative execution in a different context.
In that case skip the workaround on Cortex A75.

Change-Id: I4d5504cba516a67311fb5f0657b08f72909cbd38
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

a1781a2118-Dec-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

Workaround for CVE-2017-5715 on Cortex A73 and A75

Invalidate the Branch Target Buffer (BTB) on entry to EL3 by
temporarily dropping into AArch32 Secure-EL1 and executing the
`BPIALL` instruction.

Workaround for CVE-2017-5715 on Cortex A73 and A75

Invalidate the Branch Target Buffer (BTB) on entry to EL3 by
temporarily dropping into AArch32 Secure-EL1 and executing the
`BPIALL` instruction.

This is achieved by using 3 vector tables. There is the runtime
vector table which is used to handle exceptions and 2 additional
tables which are required to implement this workaround. The
additional tables are `vbar0` and `vbar1`.

The sequence of events for handling a single exception is
as follows:

1) Install vector table `vbar0` which saves the CPU context on entry
to EL3 and sets up the Secure-EL1 context to execute in AArch32 mode
with the MMU disabled and I$ enabled. This is the default vector table.

2) Before doing an ERET into Secure-EL1, switch vbar to point to
another vector table `vbar1`. This is required to restore EL3 state
when returning from the workaround, before proceeding with normal EL3
exception handling.

3) While in Secure-EL1, the `BPIALL` instruction is executed and an
SMC call back to EL3 is performed.

4) On entry to EL3 from Secure-EL1, the saved context from step 1) is
restored. The vbar is switched to point to `vbar0` in preparation to
handle further exceptions. Finally a branch to the runtime vector
table entry is taken to complete the handling of the original
exception.

This workaround is enabled by default on the affected CPUs.

NOTE
====

There are 4 different stubs in Secure-EL1. Each stub corresponds to
an exception type such as Sync/IRQ/FIQ/SError. Each stub will move a
different value in `R0` before doing an SMC call back into EL3.
Without this piece of information it would not be possible to know
what the original exception type was as we cannot use `ESR_EL3` to
distinguish between IRQs and FIQs.

Change-Id: I90b32d14a3735290b48685d43c70c99daaa4b434
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

f62ad32230-Nov-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

Workaround for CVE-2017-5715 on Cortex A57 and A72

Invalidate the Branch Target Buffer (BTB) on entry to EL3 by disabling
and enabling the MMU. To achieve this without performing any branch
instruc

Workaround for CVE-2017-5715 on Cortex A57 and A72

Invalidate the Branch Target Buffer (BTB) on entry to EL3 by disabling
and enabling the MMU. To achieve this without performing any branch
instruction, a per-cpu vbar is installed which executes the workaround
and then branches off to the corresponding vector entry in the main
vector table. A side effect of this change is that the main vbar is
configured before any reset handling. This is to allow the per-cpu
reset function to override the vbar setting.

This workaround is enabled by default on the affected CPUs.

Change-Id: I97788d38463a5840a410e3cea85ed297a1678265
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_sp.png
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_tos.png
/rk3399_ARM-atf/docs/firmware-design.rst
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/secure-partition-manager-design.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
cpus/aarch64/cortex_a57.S
cpus/aarch64/cortex_a72.S
cpus/aarch64/workaround_cve_2017_5715_mmu.S
cpus/cpu-ops.mk
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_sdei.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/hisilicon/poplar/aarch64/platform_common.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl31_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/include/hi3798cv200.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/poplar_layout.h
/rk3399_ARM-atf/plat/hisilicon/poplar/plat_storage.c
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/ipi_mailbox_service/ipi_mailbox_svc.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/ipi_mailbox_service/ipi_mailbox_svc.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_common.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_ipi.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.h
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_private.h
/rk3399_ARM-atf/tools/fiptool/fiptool.c
96abc22b05-Jan-2018 Antonio Nino Diaz <antonio.ninodiaz@arm.com>

xlat v2: Correctly unmap regions on map error

`mm_cursor` doesn't have the needed data because the `memmove()` that
is called right before it overwrites that information. In order to get
the informa

xlat v2: Correctly unmap regions on map error

`mm_cursor` doesn't have the needed data because the `memmove()` that
is called right before it overwrites that information. In order to get
the information of the region that was being mapped, `mm` has to be used
instead (like it is done to fill the fields of `unmap_mm`).

If the incorrect information is read, this check isn't reliable and
`xlat_tables_unmap_region` may be requested to unmap memory that isn't
mapped at all, triggering assertions.

Change-Id: I602d4ac83095d4e5dac9deb34aa5d00d00e6c289
Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/common/tf_printf.c
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_sp.png
/rk3399_ARM-atf/docs/diagrams/secure_sw_stack_tos.png
/rk3399_ARM-atf/docs/firmware-design.rst
/rk3399_ARM-atf/docs/plat/socionext-uniphier.rst
/rk3399_ARM-atf/docs/secure-partition-manager-design.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/drivers/io/io_block.c
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
xlat_tables_v2/xlat_tables_internal.c
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_sdei.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl1_setup.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/hisilicon/poplar/aarch64/platform_common.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/bl31_plat_setup.c
/rk3399_ARM-atf/plat/hisilicon/poplar/include/hi3798cv200.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/poplar/include/poplar_layout.h
/rk3399_ARM-atf/plat/hisilicon/poplar/plat_storage.c
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/socionext/uniphier/include/platform_def.h
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
/rk3399_ARM-atf/services/std_svc/spm/spm_private.h
/rk3399_ARM-atf/tools/fiptool/fiptool.c
211d307c11-Dec-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1178 from davidcunado-arm/dc/enable_sve

Enable SVE for Non-secure world


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2u/bl2u.ld.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/common/bl_common.c
/rk3399_ARM-atf/docs/plat/poplar.rst
/rk3399_ARM-atf/docs/plat/rpi3.rst
/rk3399_ARM-atf/docs/user-guide.rst
/rk3399_ARM-atf/include/common/aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/lib/aarch64/arch.h
/rk3399_ARM-atf/include/lib/aarch64/arch_helpers.h
/rk3399_ARM-atf/include/lib/extensions/sve.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_v2_helpers.h
/rk3399_ARM-atf/include/plat/arm/board/common/board_arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_common.ld.S
/rk3399_ARM-atf/include/plat/arm/common/arm_spm_def.h
/rk3399_ARM-atf/include/services/spm_svc.h
el3_runtime/aarch64/context_mgmt.c
extensions/sve/sve.c
/rk3399_ARM-atf/maintainers.rst
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_tzc400.c
/rk3399_ARM-atf/plat/compat/plat_compat.mk
/rk3399_ARM-atf/plat/hisilicon/hikey/platform.mk
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_pm.c
/rk3399_ARM-atf/plat/hisilicon/hikey960/include/platform_def.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/platform.mk
/rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt6795/bl31.ld.S
/rk3399_ARM-atf/plat/mediatek/mt6795/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/platform.mk
/rk3399_ARM-atf/plat/qemu/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3328/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3368/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3399/include/plat.ld.S
/rk3399_ARM-atf/plat/rockchip/rk3399/plat_sip_calls.c
/rk3399_ARM-atf/plat/rockchip/rk3399/platform.mk
/rk3399_ARM-atf/plat/rpi3/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/rpi3/aarch64/rpi3_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/rpi3/include/plat_macros.S
/rk3399_ARM-atf/plat/rpi3/include/platform_def.h
/rk3399_ARM-atf/plat/rpi3/platform.mk
/rk3399_ARM-atf/plat/rpi3/rpi3_bl1_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_bl2_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_bl31_setup.c
/rk3399_ARM-atf/plat/rpi3/rpi3_common.c
/rk3399_ARM-atf/plat/rpi3/rpi3_hw.h
/rk3399_ARM-atf/plat/rpi3/rpi3_image_load.c
/rk3399_ARM-atf/plat/rpi3/rpi3_io_storage.c
/rk3399_ARM-atf/plat/rpi3/rpi3_pm.c
/rk3399_ARM-atf/plat/rpi3/rpi3_private.h
/rk3399_ARM-atf/plat/rpi3/rpi3_topology.c
/rk3399_ARM-atf/plat/socionext/uniphier/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/services/std_svc/sdei/sdei_main.c
/rk3399_ARM-atf/services/std_svc/spm/secure_partition_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_main.c
a852ec4604-Dec-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1168 from matt2048/master

Replace macro ASM_ASSERTION with macro ENABLE_ASSERTIONS

1a85337020-Oct-2017 David Cunado <david.cunado@arm.com>

Enable SVE for Non-secure world

This patch adds a new build option, ENABLE_SVE_FOR_NS, which when set
to one EL3 will check to see if the Scalable Vector Extension (SVE) is
implemented when entering

Enable SVE for Non-secure world

This patch adds a new build option, ENABLE_SVE_FOR_NS, which when set
to one EL3 will check to see if the Scalable Vector Extension (SVE) is
implemented when entering and exiting the Non-secure world.

If SVE is implemented, EL3 will do the following:

- Entry to Non-secure world: SIMD, FP and SVE functionality is enabled.

- Exit from Non-secure world: SIMD, FP and SVE functionality is
disabled. As SIMD and FP registers are part of the SVE Z-registers
then any use of SIMD / FP functionality would corrupt the SVE
registers.

The build option default is 1. The SVE functionality is only supported
on AArch64 and so the build option is set to zero when the target
archiecture is AArch32.

This build option is not compatible with the CTX_INCLUDE_FPREGS - an
assert will be raised on platforms where SVE is implemented and both
ENABLE_SVE_FOR_NS and CTX_INCLUDE_FPREGS are set to 1.

Also note this change prevents secure world use of FP&SIMD registers on
SVE-enabled platforms. Existing Secure-EL1 Payloads will not work on
such platforms unless ENABLE_SVE_FOR_NS is set to 0.

Additionally, on the first entry into the Non-secure world the SVE
functionality is enabled and the SVE Z-register length is set to the
maximum size allowed by the architecture. This includes the use case
where EL2 is implemented but not used.

Change-Id: Ie2d733ddaba0b9bef1d7c9765503155188fe7dae
Signed-off-by: David Cunado <david.cunado@arm.com>

show more ...

ef69e1ea17-Oct-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

AMU: Implement support for aarch32

The `ENABLE_AMU` build option can be used to enable the
architecturally defined AMU counters. At present, there is no support
for the auxiliary counter group.

Ch

AMU: Implement support for aarch32

The `ENABLE_AMU` build option can be used to enable the
architecturally defined AMU counters. At present, there is no support
for the auxiliary counter group.

Change-Id: Ifc7532ef836f83e629f2a146739ab61e75c4abc8
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

380559c112-Oct-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

AMU: Implement support for aarch64

The `ENABLE_AMU` build option can be used to enable the
architecturally defined AMU counters. At present, there is no support
for the auxiliary counter group.

Ch

AMU: Implement support for aarch64

The `ENABLE_AMU` build option can be used to enable the
architecturally defined AMU counters. At present, there is no support
for the auxiliary counter group.

Change-Id: I7ea0c0a00327f463199d1b0a481f01dadb09d312
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

0319a97716-Oct-2017 Dimitris Papastamos <dimitris.papastamos@arm.com>

Implement support for the Activity Monitor Unit on Cortex A75

The Cortex A75 has 5 AMU counters. The first three counters are fixed
and the remaining two are programmable.

A new build option is in

Implement support for the Activity Monitor Unit on Cortex A75

The Cortex A75 has 5 AMU counters. The first three counters are fixed
and the remaining two are programmable.

A new build option is introduced, `ENABLE_AMU`. When set, the fixed
counters will be enabled for use by lower ELs. The programmable
counters are currently disabled.

Change-Id: I4bd5208799bb9ed7d2596e8b0bfc87abbbe18740
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>

show more ...

71f8a6a923-Nov-2017 davidcunado-arm <david.cunado@arm.com>

Merge pull request #1145 from etienne-lms/rfc-armv7-2

Support ARMv7 architectures

1...<<71727374757677787980>>...93