History log of /rk3399_ARM-atf/lib/ (Results 701 – 725 of 2323)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c814619a10-Oct-2023 Sona Mathew <sonarebecca.mathew@arm.com>

fix(cpus): update the rev-var for Cortex-A78AE

Update the revision and variant information in the
cortex_a78_ae.s and errata ABI file for erratum ID - 2376748
based on the latest SDEN.

SDEN documen

fix(cpus): update the rev-var for Cortex-A78AE

Update the revision and variant information in the
cortex_a78_ae.s and errata ABI file for erratum ID - 2376748
based on the latest SDEN.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1707912/latest

Change-Id: I082aac41adf717b0d5d59046a8933a3f5a3de94f
Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>

show more ...

2bf7939a10-Oct-2023 Sona Mathew <sonarebecca.mathew@arm.com>

fix(cpus): fix the rev-var for Cortex-A710

Update the revision and variant information in the
errata ABI file, cortex_A710.S file for erratum ID - 2058056
and erratum ID - 2055002 to match the revis

fix(cpus): fix the rev-var for Cortex-A710

Update the revision and variant information in the
errata ABI file, cortex_A710.S file for erratum ID - 2058056
and erratum ID - 2055002 to match the revision and variant
in the latest SDEN.

SDEN documentation:
https://developer.arm.com/documentation/SDEN-1775101/latest

Change-Id: Ie010dae90dabf8670f588a06f9a606cf41e22afa
Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/secure-partition-manager.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/process/security-hardening.rst
/rk3399_ARM-atf/drivers/amlogic/console/aarch64/meson_console.S
/rk3399_ARM-atf/drivers/arm/dcc/dcc_console.c
/rk3399_ARM-atf/drivers/arm/pl011/aarch32/pl011_console.S
/rk3399_ARM-atf/drivers/arm/pl011/aarch64/pl011_console.S
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.mk
/rk3399_ARM-atf/drivers/cadence/uart/aarch64/cdns_console.S
/rk3399_ARM-atf/drivers/console/aarch32/skeleton_console.S
/rk3399_ARM-atf/drivers/console/aarch64/skeleton_console.S
/rk3399_ARM-atf/drivers/console/multi_console.c
/rk3399_ARM-atf/drivers/marvell/uart/a3700_console.S
/rk3399_ARM-atf/drivers/nxp/console/16550_console.S
/rk3399_ARM-atf/drivers/renesas/common/ddr/ddr_b/boot_init_dram.c
/rk3399_ARM-atf/drivers/renesas/common/ddr/ddr_b/boot_init_dram_regdef.h
/rk3399_ARM-atf/drivers/renesas/common/ddr/ddr_b/init_dram_tbl_h3ver2.h
/rk3399_ARM-atf/drivers/renesas/common/ddr/ddr_b/init_dram_tbl_m3.h
/rk3399_ARM-atf/drivers/renesas/common/ddr/ddr_b/init_dram_tbl_m3n.h
/rk3399_ARM-atf/drivers/renesas/rcar/board/board.h
/rk3399_ARM-atf/drivers/ti/uart/aarch32/16550_console.S
/rk3399_ARM-atf/drivers/ti/uart/aarch64/16550_console.S
/rk3399_ARM-atf/include/arch/aarch32/console_macros.S
/rk3399_ARM-atf/include/arch/aarch64/console_macros.S
/rk3399_ARM-atf/include/common/tbbr/cot_def.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/mbedtls_config-3.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/drivers/console_assertions.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/arm_sip_svc.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
cpus/aarch64/cortex_a710.S
cpus/cpu-ops.mk
/rk3399_ARM-atf/make_helpers/build_macros.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/windows.mk
/rk3399_ARM-atf/plat/arm/board/common/board_arm_trusted_boot.c
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/common/rotpk/arm_full_dev_ecdsa_p256_rotpk.S
/rk3399_ARM-atf/plat/arm/board/common/rotpk/arm_full_dev_ecdsa_p384_rotpk.S
/rk3399_ARM-atf/plat/arm/board/common/rotpk/arm_full_dev_rsa_rotpk.S
/rk3399_ARM-atf/plat/arm/board/common/rotpk/arm_rotprivk_ecdsa_secp384r1.pem
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_spmc_manifest.dts
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn2/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/rdn2/rdn2_plat.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_sip_svc.c
/rk3399_ARM-atf/plat/arm/common/plat_arm_sip_svc.c
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_base_platform_def.h
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_plat_v2.c
/rk3399_ARM-atf/plat/common/aarch64/plat_ehf.c
/rk3399_ARM-atf/plat/imx/common/aarch32/imx_uart_console.S
/rk3399_ARM-atf/plat/imx/common/imx_uart_console.S
/rk3399_ARM-atf/plat/imx/common/lpuart_console.S
/rk3399_ARM-atf/plat/imx/imx8m/imx8m_snvs.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/imx8mm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mn/imx8mn_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mn/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx8m/imx8mn/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/imx8mp_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mp/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/include/imx8m_snvs.h
/rk3399_ARM-atf/plat/mediatek/drivers/emi_mpu/mt8188/emi_mpu.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/drivers/spe/shared_console.S
/rk3399_ARM-atf/plat/renesas/common/include/registers/cpg_registers.h
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_console_setup.c
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/common_rules.mk
/rk3399_ARM-atf/plat/xilinx/common/include/plat_console.h
/rk3399_ARM-atf/plat/xilinx/common/plat_console.c
/rk3399_ARM-atf/plat/xilinx/common/plat_fdt.c
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_common.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/versal_net/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
/rk3399_ARM-atf/services/std_svc/spm/common/aarch64/spm_shim_exceptions.S
/rk3399_ARM-atf/services/std_svc/spm/common/include/spm_common.h
/rk3399_ARM-atf/services/std_svc/spm/common/include/spm_shim_private.h
/rk3399_ARM-atf/services/std_svc/spm/common/spm.mk
/rk3399_ARM-atf/services/std_svc/spm/common/spm_xlat_common.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm.mk
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_private.h
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_setup.c
/rk3399_ARM-atf/services/std_svc/spm/spm_mm/spm_mm_xlat.c
/rk3399_ARM-atf/tools/cert_create/include/key.h
/rk3399_ARM-atf/tools/cert_create/src/key.c
/rk3399_ARM-atf/tools/cert_create/src/main.c
01582a7806-Oct-2023 Manish Pandey <manish.pandey2@arm.com>

Merge changes from topic "bk/context_refactor" into integration

* changes:
refactor(cm): enable S-EL2 globally for all contexts
refactor(cm): remove world differentiation for EL2 context restore

Merge changes from topic "bk/context_refactor" into integration

* changes:
refactor(cm): enable S-EL2 globally for all contexts
refactor(cm): remove world differentiation for EL2 context restore
fix(cm): make ICC_SRE_EL2 fixup generic to all worlds
refactor(cm): clean up SCR_EL3 and CPTR_EL3 initialization

show more ...

9f4b625922-Sep-2023 Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

refactor(cm): enable S-EL2 globally for all contexts

Currently, S-EL2 is being enabled specifically while we are in
secure context and gets toggled up when we exit secure world.
This behavior is not

refactor(cm): enable S-EL2 globally for all contexts

Currently, S-EL2 is being enabled specifically while we are in
secure context and gets toggled up when we exit secure world.
This behavior is not ideal and needs correction.

Enabling the S-EL2 via SCR_EL3.EEL2 register setting should be
global and this patch addresses it.

Change-Id: If6c39ca258f2fefa835c4b51e0f6b68165fd2e35
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

show more ...

5c52d7e522-May-2023 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(cm): remove world differentiation for EL2 context restore

The EL2 context save/restore functions have an optimisation to not
bother with the EL2 context when SEL2 is not in use. However, th

refactor(cm): remove world differentiation for EL2 context restore

The EL2 context save/restore functions have an optimisation to not
bother with the EL2 context when SEL2 is not in use. However, this
decision is made on the current value of SCR_EL3.EEL2, which is not
the value for the selected security state, but rather, for the
security state that came before it. This relies on the EEL2 bit's
value to propagate identically to all worlds.

This has an unintended side effect that for the first entry into
secure world, the restoring of the context is fully skipped, because
SCR_EL3 is only initialized after the call to the restoring routine
which means the EEL2 bit is not initialized (except when FEAT_RME
is present). This is inconsistent with normal and realm worlds which
always get their EL2 registers zeroed.

Remove this optimization to remove all the complexity with managing
the EEL2 bit's value. Instead unconditionally save/restore all
registers. It is worth noting that there is no performance penalty
in the case where SEL2 is empty with this change. This is because
SEL2 will never be entered, and as such no secure save/restore will
happen anyway, while normal world remains unchanged.

Removing the value management of the EEL2 bit causes the
CTX_ICC_SRE_EL2 register to be inaccessible in Secure world for some
configurations.
Make the SCR_EL3.NS workaround in cm_prepare_el3_exit_ns() generic
on every access to the register.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I1f56d85814c5897b468e82d4bd4a08e3a90a7f8f

show more ...

5e8cc72723-May-2023 Boyan Karatotev <boyan.karatotev@arm.com>

fix(cm): make ICC_SRE_EL2 fixup generic to all worlds

For ICC_SRE_EL2.SRE the Arm ARM specifies that "If software changes this
bit from 1 to 0, the results are UNPREDICTABLE". However, the
indiscrim

fix(cm): make ICC_SRE_EL2 fixup generic to all worlds

For ICC_SRE_EL2.SRE the Arm ARM specifies that "If software changes this
bit from 1 to 0, the results are UNPREDICTABLE". However, the
indiscriminate zeroing of the EL2 context does just that for Secure and
Realm worlds. Make this fixup generic to avoid the problem.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Change-Id: Iee21ace17faf10eae52a046e6dfafc5141fa7f85

show more ...

f0c96a2e20-Apr-2023 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(cm): clean up SCR_EL3 and CPTR_EL3 initialization

As with MDCR_EL3, setting some bits of these registers is redundant at
reset since they do not matter for EL3 execution and the registers g

refactor(cm): clean up SCR_EL3 and CPTR_EL3 initialization

As with MDCR_EL3, setting some bits of these registers is redundant at
reset since they do not matter for EL3 execution and the registers get
context switched so they get overwritten anyway.

The SCR_EL3.{TWE, TWI, SMD, API, APK} bits only affect lower ELs so
their place is in context management. The API and APK bits are a bit
special as they would get implicitly unset for secure world when
CTX_INCLUDE_PAUTH_REGS is unset. This is now explicit with their normal
world values being always set as PAuth defaults to enabled. The same
sequence is also added to realm world too. The reasoning is the same as
for Secure world - PAuth will be enabled for NS, and unless explicitly
handled by firmware, it should not leak to realm.

The CPTR_EL3.{ESM, EZ, TAM} bits are set by the relevant
feat_enable()s in lib/extensions so they can be skipped too.

CPTR_EL3.TFP is special as it's needed for access to generic floating
point registers even when SVE is not present. So keep it but move to
context management.

This leaves CPTR_EL3.TCPAC which affects several extensions. This bit
was set centrally at reset, however the earliest need for it is in BL2.
So set it in cm_setup_context_common(). However, this CPTR_EL3 is only
restored for BL31 which is clearly not the case. So always restore it.

Finally, setting CPTR_EL3 to a fresh RESET_VAL for each security state
prevents any bits from leaking between them.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
Change-Id: Ie7095e967bd4a6d6ca6acf314c7086d89fec8900

show more ...

2454316c03-Oct-2023 Sona Mathew <sonarebecca.mathew@arm.com>

fix(cpus): workaround for Cortex-X3 erratum 2070301

Cortex-X3 erratum 2070301 is a Cat B erratum that applies to all
revisions <= r1p2 and is still open.
The workaround is to write the value 4'b1001

fix(cpus): workaround for Cortex-X3 erratum 2070301

Cortex-X3 erratum 2070301 is a Cat B erratum that applies to all
revisions <= r1p2 and is still open.
The workaround is to write the value 4'b1001 to the PF_MODE bits
in the IMP_CPUECTLR2_EL1 register. This places the data prefetcher
in the most conservative mode instead of disabling it.

SDEN documentation:
https://developer.arm.com/documentation/2055130/latest

Change-Id: I337c4c7bb9221715aaf973a55d0154e1c7555768
Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/drivers/mtd/nand/raw_nand.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_pka.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_rng.c
/rk3399_ARM-atf/fdts/stm32mp135f-dk.dts
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x3.h
cpus/aarch64/cortex_x3.S
cpus/cpu-ops.mk
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_power.c
/rk3399_ARM-atf/plat/st/common/bl2_io_storage.c
/rk3399_ARM-atf/plat/st/common/include/stm32mp_dt.h
/rk3399_ARM-atf/plat/st/common/stm32cubeprogrammer_uart.c
/rk3399_ARM-atf/plat/st/common/stm32mp_crypto_lib.c
/rk3399_ARM-atf/plat/st/common/stm32mp_dt.c
/rk3399_ARM-atf/plat/st/common/stm32mp_trusted_boot.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/include/versal_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/versal_net_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/zynqmp_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_main.c
a1377a8902-Oct-2023 Manish Pandey <manish.pandey2@arm.com>

Merge changes from topic "rm/handoff" into integration

* changes:
feat(qemu): implement firmware handoff on qemu
feat(handoff): introduce firmware handoff library


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/ehf.c
/rk3399_ARM-atf/bl31/interrupt_mgmt.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/docs/components/platform-interrupt-controller-API.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/plat/ast2700.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/st/stm32mp1.rst
/rk3399_ARM-atf/drivers/arm/dcc/dcc_console.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/include/drivers/arm/dcc.h
/rk3399_ARM-atf/include/drivers/arm/gicv2.h
/rk3399_ARM-atf/include/drivers/arm/gicv3.h
/rk3399_ARM-atf/include/lib/transfer_list.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/services/el3_spmd_logical_sp.h
transfer_list/transfer_list.c
transfer_list/transfer_list.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/arm/board/corstone1000/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_spmd_logical_sp.c
/rk3399_ARM-atf/plat/aspeed/ast2700/include/platform_reg.h
/rk3399_ARM-atf/plat/aspeed/ast2700/plat_bl31_setup.c
/rk3399_ARM-atf/plat/aspeed/ast2700/plat_helpers.S
/rk3399_ARM-atf/plat/aspeed/ast2700/platform.mk
/rk3399_ARM-atf/plat/common/plat_gicv2.c
/rk3399_ARM-atf/plat/common/plat_gicv3.c
/rk3399_ARM-atf/plat/mediatek/drivers/emi_mpu/emi_mpu_common.c
/rk3399_ARM-atf/plat/qemu/common/qemu_bl2_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/qemu/common/qemu_image_load.c
/rk3399_ARM-atf/plat/qemu/common/qemu_private.h
/rk3399_ARM-atf/plat/qemu/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/rpi/rpi3/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal_net/bl31_versal_net_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/versal_net_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_logical_sp.c
/rk3399_ARM-atf/tools/cert_create/src/cca/cot.c
/rk3399_ARM-atf/tools/cert_create/src/dualroot/cot.c
/rk3399_ARM-atf/tools/cert_create/src/key.c
/rk3399_ARM-atf/tools/cert_create/src/tbbr/tbb_key.c
/rk3399_ARM-atf/tools/fiptool/Makefile
/rk3399_ARM-atf/tools/fiptool/fiptool.c
fcfa15d422-Sep-2023 Lauren Wehrmeister <lauren.wehrmeister@arm.com>

Merge changes from topic "errata" into integration

* changes:
fix(cpus): workaround for Neoverse V2 erratum 2743011
fix(cpus): workaround for Neoverse V2 erratum 2779510
fix(cpus): workaround

Merge changes from topic "errata" into integration

* changes:
fix(cpus): workaround for Neoverse V2 erratum 2743011
fix(cpus): workaround for Neoverse V2 erratum 2779510
fix(cpus): workaround for Neoverse V2 erratum 2719105
fix(cpus): workaround for Neoverse V2 erratum 2331132

show more ...

3ba2c15125-Jul-2023 Raymond Mao <raymond.mao@linaro.org>

feat(handoff): introduce firmware handoff library

Add transfer list APIs and firmware handoff build option.

Change-Id: I68a0ace22c7e50fcdacd101eb76b271d7b76d8ff
Signed-off-by: Raymond Mao <raymond.

feat(handoff): introduce firmware handoff library

Add transfer list APIs and firmware handoff build option.

Change-Id: I68a0ace22c7e50fcdacd101eb76b271d7b76d8ff
Signed-off-by: Raymond Mao <raymond.mao@linaro.org>

show more ...

67a2ad1720-Sep-2023 Varun Wadekar <vwadekar@nvidia.com>

fix(cpus): update the fix for Cortex-A78AE erratum 1941500

This patch fixes the mitigation for erratum 1941500 for the
Cortex-A78AE CPUs. The right fix is to set the bit 8, whereas
the current code

fix(cpus): update the fix for Cortex-A78AE erratum 1941500

This patch fixes the mitigation for erratum 1941500 for the
Cortex-A78AE CPUs. The right fix is to set the bit 8, whereas
the current code clears it.

Reported-by: matthias.rosenfelder@nio.io
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Change-Id: Ib7c3fddd567eeae6204756377e0f77a573c0a911

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.mk
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_main.c
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/rpi3.rst
/rk3399_ARM-atf/docs/plat/st/index.rst
/rk3399_ARM-atf/docs/plat/st/stm32mp1.rst
/rk3399_ARM-atf/docs/plat/st/stm32mp2.rst
/rk3399_ARM-atf/docs/plat/st/stm32mpus.rst
/rk3399_ARM-atf/docs/plat/stm32mp1.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_big_fw.c
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_smc.c
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/mmc/mmc.c
/rk3399_ARM-atf/drivers/st/clk/stm32mp_clkfunc.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp1_ram.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp_ddr_test.c
/rk3399_ARM-atf/drivers/st/ddr/stm32mp_ram.c
/rk3399_ARM-atf/drivers/st/mmc/stm32_sdmmc2.c
/rk3399_ARM-atf/drivers/st/regulator/regulator_fixed.c
/rk3399_ARM-atf/drivers/st/uart/aarch64/stm32_console.S
/rk3399_ARM-atf/fdts/stm32mp25-bl2.dtsi
/rk3399_ARM-atf/fdts/stm32mp25-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp251.dtsi
/rk3399_ARM-atf/fdts/stm32mp253.dtsi
/rk3399_ARM-atf/fdts/stm32mp255.dtsi
/rk3399_ARM-atf/fdts/stm32mp257.dtsi
/rk3399_ARM-atf/fdts/stm32mp257f-ev1.dts
/rk3399_ARM-atf/fdts/stm32mp25xc.dtsi
/rk3399_ARM-atf/fdts/stm32mp25xf.dtsi
/rk3399_ARM-atf/fdts/stm32mp25xxai-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp25xxak-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp25xxal-pinctrl.dtsi
/rk3399_ARM-atf/include/drivers/arm/ethosn.h
/rk3399_ARM-atf/include/drivers/st/stm32mp25_rcc.h
/rk3399_ARM-atf/include/drivers/st/stm32mp_ddr.h
/rk3399_ARM-atf/include/drivers/st/stm32mp_ddr_test.h
/rk3399_ARM-atf/include/dt-bindings/clock/stm32mp25-clks.h
/rk3399_ARM-atf/include/dt-bindings/clock/stm32mp25-clksrc.h
/rk3399_ARM-atf/include/dt-bindings/reset/stm32mp25-resets.h
/rk3399_ARM-atf/include/lib/bootmarker_capture.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
cpus/aarch64/cortex_a78_ae.S
/rk3399_ARM-atf/make_helpers/arch_features.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/plat/arm/board/a5ds/platform.mk
/rk3399_ARM-atf/plat/arm/board/common/board_common.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/css/common/css_pm.c
/rk3399_ARM-atf/plat/imx/imx7/picopi/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex5/platform.mk
/rk3399_ARM-atf/plat/intel/soc/n5x/platform.mk
/rk3399_ARM-atf/plat/mediatek/common/common_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8173/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8183/platform.mk
/rk3399_ARM-atf/plat/qemu/common/common.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk
/rk3399_ARM-atf/plat/qti/sc7180/platform.mk
/rk3399_ARM-atf/plat/qti/sc7280/platform.mk
/rk3399_ARM-atf/plat/renesas/common/common.mk
/rk3399_ARM-atf/plat/rockchip/px30/platform.mk
/rk3399_ARM-atf/plat/rockchip/rk3288/platform.mk
/rk3399_ARM-atf/plat/st/common/bl2_io_storage.c
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/include/stm32mp_common.h
/rk3399_ARM-atf/plat/st/common/include/stm32mp_io_storage.h
/rk3399_ARM-atf/plat/st/common/plat_image_load.c
/rk3399_ARM-atf/plat/st/common/stm32mp_common.c
/rk3399_ARM-atf/plat/st/stm32mp1/include/boot_api.h
/rk3399_ARM-atf/plat/st/stm32mp1/include/platform_def.h
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_def.h
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_fip_def.h
/rk3399_ARM-atf/plat/st/stm32mp2/aarch64/stm32mp2.S
/rk3399_ARM-atf/plat/st/stm32mp2/aarch64/stm32mp2.ld.S
/rk3399_ARM-atf/plat/st/stm32mp2/aarch64/stm32mp2_helper.S
/rk3399_ARM-atf/plat/st/stm32mp2/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp2/include/boot_api.h
/rk3399_ARM-atf/plat/st/stm32mp2/include/plat_macros.S
/rk3399_ARM-atf/plat/st/stm32mp2/include/platform_def.h
/rk3399_ARM-atf/plat/st/stm32mp2/plat_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/st/stm32mp2/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp2/stm32mp2_def.h
/rk3399_ARM-atf/plat/xilinx/common/plat_fdt.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
58dd153c19-Sep-2023 Bipin Ravi <bipin.ravi@arm.com>

fix(cpus): workaround for Neoverse V2 erratum 2743011

Neoverse V2 erratum 2743011 is a Cat B erratum that applies to
all revisions <= r0p1 and is fixed in r0p2. The workaround is to
set CPUACTLR5_EL

fix(cpus): workaround for Neoverse V2 erratum 2743011

Neoverse V2 erratum 2743011 is a Cat B erratum that applies to
all revisions <= r0p1 and is fixed in r0p2. The workaround is to
set CPUACTLR5_EL1[56:55] to 2'b01.

SDEN documentation:
https://developer.arm.com/documentation/SDEN2332927/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: I0e06ca723a1cce51fb027b7160f3dd06a4c93e64

show more ...

ff34264319-Sep-2023 Bipin Ravi <bipin.ravi@arm.com>

fix(cpus): workaround for Neoverse V2 erratum 2779510

Neoverse V2 erratum 2779510 is a Cat B erratum that applies to
all revisions <= r0p1 and is fixed in r0p2. The workaround is to
set bit[47] of C

fix(cpus): workaround for Neoverse V2 erratum 2779510

Neoverse V2 erratum 2779510 is a Cat B erratum that applies to
all revisions <= r0p1 and is fixed in r0p2. The workaround is to
set bit[47] of CPUACTLR3_EL1 which might have a small impact on
power and negligible impact on performance.

SDEN documentation:
https://developer.arm.com/documentation/SDEN2332927/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: I6d937747bdcbf2913a64c4037f99918cbc466e80

show more ...

b011402518-Sep-2023 Bipin Ravi <bipin.ravi@arm.com>

fix(cpus): workaround for Neoverse V2 erratum 2719105

Neoverse V2 erratum 2719105 is a Cat B erratum that applies to all
revisions <= r0p1 and is fixed in r0p2.

The erratum is avoided by setting CP

fix(cpus): workaround for Neoverse V2 erratum 2719105

Neoverse V2 erratum 2719105 is a Cat B erratum that applies to all
revisions <= r0p1 and is fixed in r0p2.

The erratum is avoided by setting CPUACTLR2_EL1[0] to 1 to force
PLDW/PFRM ST to behave like PLD/PRFM LD and not cause invalidations
to other PE caches. There might be a small performance degradation
to this workaround for certain workloads that share data.

SDEN documentation:
https://developer.arm.com/documentation/SDEN2332927/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: Id026edcb7ee1ca93371ce0001d18f5a8282c49ba

show more ...

8852fb5b18-Sep-2023 Bipin Ravi <bipin.ravi@arm.com>

fix(cpus): workaround for Neoverse V2 erratum 2331132

Neoverse V2 erratum 2331132 is a Cat B erratum that applies to all
revisions <= r0p2 and is still open. The workaround is to write the
value 4'b

fix(cpus): workaround for Neoverse V2 erratum 2331132

Neoverse V2 erratum 2331132 is a Cat B erratum that applies to all
revisions <= r0p2 and is still open. The workaround is to write the
value 4'b1001 to the PF_MODE bits in the IMP_CPUECTLR2_EL1 register
which will place the data prefetcher in the most conservative mode
instead of disabling it.

SDEN documentation:
https://developer.arm.com/documentation/SDEN2332927/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: Ic6c76375df465a4ad2e20dd7add7037477d973c1

show more ...

e99df5c208-Sep-2023 Bipin Ravi <bipin.ravi@arm.com>

Merge changes from topic "sm/errata_X3" into integration

* changes:
fix(cpus): workaround for Cortex-X3 erratum 2742421
feat(errata_abi): add support for Cortex-X3

5b0e443805-Sep-2023 Sona Mathew <sonarebecca.mathew@arm.com>

fix(cpus): workaround for Cortex-X3 erratum 2742421

Cortex-X3 erratum 2742421 is a Cat B erratum that applies to
all revisions <= r1p1 and is fixed in r1p2. The workaround is to
set CPUACTLR5_EL1[56

fix(cpus): workaround for Cortex-X3 erratum 2742421

Cortex-X3 erratum 2742421 is a Cat B erratum that applies to
all revisions <= r1p1 and is fixed in r1p2. The workaround is to
set CPUACTLR5_EL1[56:55] to 2'b01.

SDEN documentation:
https://developer.arm.com/documentation/2055130/latest

Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
Change-Id: Idadd323e419739fe909b9b68ea2dbe857846666b

show more ...

d2b66cc807-Sep-2023 Mark Dykes <mark.dykes@arm.com>

Merge "fix(cpus): workaround for Neoverse N2 erratum 2009478" into integration

6a62ddff30-Aug-2023 Manish Pandey <manish.pandey2@arm.com>

Merge "feat(cpufeat): initialize HFG*_EL2 registers" into integration

74bfe31f29-Aug-2023 Bipin Ravi <bipin.ravi@arm.com>

fix(cpus): workaround for Neoverse N2 erratum 2009478

Neoverse N2 erratum 2009478 is a Cat B erratum that applies to
revision r0p0 and is fixed in r0p1. The workaround is to clear
the ED bit for all

fix(cpus): workaround for Neoverse N2 erratum 2009478

Neoverse N2 erratum 2009478 is a Cat B erratum that applies to
revision r0p0 and is fixed in r0p1. The workaround is to clear
the ED bit for all core error records before setting the PWRDN_EN
bit in CPUPWRCTLR_EL1 to request a power down.

SDEN documentation:
https://developer.arm.com/documentation/SDEN1982442/latest

Signed-off-by: Bipin Ravi <bipin.ravi@arm.com>
Change-Id: Ic5ef58c9e795b90026af1d2b09edc0eea3ceee51

show more ...

38f7b43428-Aug-2023 Bipin Ravi <bipin.ravi@arm.com>

Merge "feat(cpus): add support for Nevis CPU" into integration

5497958906-Jul-2023 Juan Pablo Conde <juanpablo.conde@arm.com>

feat(cpus): add support for Nevis CPU

Adding basic CPU library code to support Nevis CPU

Change-Id: I399cc9b7b2d907b02b76ea2a3e5abb54e28fbf6c
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.co

feat(cpus): add support for Nevis CPU

Adding basic CPU library code to support Nevis CPU

Change-Id: I399cc9b7b2d907b02b76ea2a3e5abb54e28fbf6c
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com>

show more ...

fde15ecf28-Aug-2023 Bipin Ravi <bipin.ravi@arm.com>

Merge changes from topic "sm_bk/errata_refactor" into integration

* changes:
refactor(cpus): convert the Cortex-A57 to use cpu helpers
refactor(cpus): convert the Cortex-A57 to use the errata fr

Merge changes from topic "sm_bk/errata_refactor" into integration

* changes:
refactor(cpus): convert the Cortex-A57 to use cpu helpers
refactor(cpus): convert the Cortex-A57 to use the errata framework
refactor(cpus): reorder Cortex-A57 errata by ascending order
refactor(cpus): add Cortex-A57 errata framework information
refactor(cpus): convert the Cortex-A53 to use cpu helpers
refactor(cpus): convert the Cortex-A53 to use the errata framework
refactor(cpus): reorder Cortex-A53 errata by ascending order

show more ...

dbab05ef05-Apr-2023 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(cpus): convert the Cortex-A57 to use cpu helpers

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I1cc10fa91cb9c837386144249dafeb6178d5866e

1...<<21222324252627282930>>...93