History log of /rk3399_ARM-atf/include/arch/ (Results 126 – 150 of 352)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
edebefbc11-Oct-2023 Arvind Ram Prakash <arvind.ramprakash@arm.com>

fix(mpam): refine MPAM initialization and enablement process

Restricts MPAM to only NS world and enables trap to EL3 for access of
MPAM registers from lower ELs of Secure and Realm world.

This patc

fix(mpam): refine MPAM initialization and enablement process

Restricts MPAM to only NS world and enables trap to EL3 for access of
MPAM registers from lower ELs of Secure and Realm world.

This patch removes MPAM enablement from global context and adds it to
EL3 State context which enables/disables MPAM during world switches.
Renamed ENABLE_MPAM_FOR_LOWER_ELS to ENABLE_FEAT_MPAM and
removed mpam_init_el3() as RESET behaviour is trapping.

Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com>
Change-Id: I131f9dba5df236a71959b2d425ee11af7f3c38c4

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31.mk
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/about/release-information.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/drivers/arm/dcc/dcc_console.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_common.mk
/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/fdts/stm32mp13-bl2.dtsi
/rk3399_ARM-atf/fdts/stm32mp13-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp131.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-bl2.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-bl32.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp151.dtsi
/rk3399_ARM-atf/fdts/stm32mp151a-prtt1a.dts
/rk3399_ARM-atf/fdts/stm32mp157a-dk1.dts
/rk3399_ARM-atf/fdts/stm32mp157c-dk2.dts
/rk3399_ARM-atf/fdts/stm32mp157c-ed1.dts
/rk3399_ARM-atf/fdts/stm32mp157c-ev1.dts
/rk3399_ARM-atf/fdts/stm32mp15xx-dhcom-som.dtsi
/rk3399_ARM-atf/fdts/stm32mp15xx-dhcor-som.dtsi
/rk3399_ARM-atf/fdts/stm32mp15xx-dkx.dtsi
/rk3399_ARM-atf/fdts/stm32mp25-bl2.dtsi
/rk3399_ARM-atf/fdts/stm32mp25-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp251.dtsi
/rk3399_ARM-atf/fdts/stm32mp257f-ev1.dts
aarch64/arch.h
aarch64/arch_features.h
/rk3399_ARM-atf/include/common/tbbr/cot_def.h
/rk3399_ARM-atf/include/drivers/auth/mbedtls/mbedtls_config-3.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/extensions/mpam.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
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a510.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/mpam/mpam.c
/rk3399_ARM-atf/make_helpers/arch_features.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/arm_fpga/platform.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/mediatek/drivers/emi_mpu/mt8188/emi_mpu.c
/rk3399_ARM-atf/plat/mediatek/mt8195/include/platform_def.h
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/renesas/common/include/registers/cpg_registers.h
/rk3399_ARM-atf/plat/st/common/common.mk
/rk3399_ARM-atf/plat/st/common/common_rules.mk
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_def.h
/rk3399_ARM-atf/plat/xilinx/common/include/plat_console.h
/rk3399_ARM-atf/plat/xilinx/common/plat_console.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
85bebe1811-Oct-2023 Sandrine Bailleux <sandrine.bailleux@arm.com>

refactor(console): disable getc() by default

The ability to read a character from the console constitutes an attack
vector into TF-A, as it gives attackers a means to inject arbitrary
data into TF-A

refactor(console): disable getc() by default

The ability to read a character from the console constitutes an attack
vector into TF-A, as it gives attackers a means to inject arbitrary
data into TF-A. It is dangerous to keep that feature enabled if not
strictly necessary, especially in production firmware builds.

Thus, we need a way to disable this feature. Moreover, when it is
disabled, all related code should be eliminated from the firmware
binaries, such that no remnant/dead getc() code remains in memory,
which could otherwise be used as a gadget as part of a bigger security
attack.

This patch disables getc() feature by default. For legitimate getc()
use cases [1], it can be explicitly enabled by building TF-A with
ENABLE_CONSOLE_GETC=1.

The following changes are introduced when getc() is disabled:

- The multi-console framework no longer provides the console_getc()
function.

- If the console driver selected by the platform attempts to register
a getc() callback into the multi-console framework then TF-A will
now fail to build.

If registered through the assembly function finish_console_register():
- On AArch64, you'll get:
Error: undefined symbol CONSOLE_T_GETC used as an immediate value.
- On AArch32, you'll get:
Error: internal_relocation (type: OFFSET_IMM) not fixed up

If registered through the C function console_register(), this requires
populating a struct console with a getc field, which will trigger:
error: 'console_t' {aka 'struct console'} has no member named 'getc'

- All console drivers which previously registered a getc() callback
have been modified to do so only when ENABLE_CONSOLE_GETC=1.

[1] Example of such use cases would be:
- Firmware recovery: retrieving a golden BL2 image over the console in
order to repair a broken firmware on a bricked board.
- Factory CLI tool: Drive some soak tests through the console.

Discussed on TF-A mailing list here:
https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.org/thread/YS7F6RCNTWBTEOBLAXIRTXWIOYINVRW7/

Change-Id: Icb412304cd23dbdd7662df7cf8992267b7975cc5
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Acked-by: Baruch Siach <baruch@tkos.co.il>

show more ...


/rk3399_ARM-atf/.versionrc.js
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/changelog.yaml
/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/faq.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/auth/mbedtls/mbedtls_crypto.mk
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_psa_crypto.c
/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/ti/uart/aarch32/16550_console.S
/rk3399_ARM-atf/drivers/ti/uart/aarch64/16550_console.S
aarch32/console_macros.S
aarch64/console_macros.S
/rk3399_ARM-atf/include/drivers/auth/mbedtls/psa_mbedtls_config.h
/rk3399_ARM-atf/include/drivers/console.h
/rk3399_ARM-atf/include/drivers/console_assertions.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x3.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/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/nvidia/tegra/drivers/spe/shared_console.S
/rk3399_ARM-atf/plat/socionext/uniphier/uniphier_console_setup.c
/rk3399_ARM-atf/plat/xilinx/common/plat_fdt.c
/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
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 ...

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 ...


/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/bl31/ehf.c
/rk3399_ARM-atf/bl31/interrupt_mgmt.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/docs/components/platform-interrupt-controller-API.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/trusted-board-boot.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/perf/psci-performance-instr.rst
/rk3399_ARM-atf/docs/perf/psci-performance-juno.rst
/rk3399_ARM-atf/docs/perf/psci-performance-n1sdp.rst
/rk3399_ARM-atf/docs/plat/ast2700.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/docs/threat_model/threat_model.rst
/rk3399_ARM-atf/docs/threat_model/threat_model_el3_spm.rst
/rk3399_ARM-atf/docs/threat_model/threat_model_spm.rst
/rk3399_ARM-atf/drivers/arm/dcc/dcc_console.c
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_big_fw.c
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_smc.c
/rk3399_ARM-atf/drivers/arm/gic/v2/gicv2_main.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/cadence/uart/aarch64/cdns_console.S
/rk3399_ARM-atf/drivers/mmc/mmc.c
/rk3399_ARM-atf/drivers/mtd/nand/raw_nand.c
/rk3399_ARM-atf/drivers/scmi-msg/clock.c
/rk3399_ARM-atf/drivers/st/clk/stm32mp_clkfunc.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_pka.c
/rk3399_ARM-atf/drivers/st/crypto/stm32_rng.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/drivers/ufs/ufs.c
/rk3399_ARM-atf/fdts/morello-fvp.dts
/rk3399_ARM-atf/fdts/morello-soc.dts
/rk3399_ARM-atf/fdts/stm32mp135f-dk.dts
/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
aarch64/el3_common_macros.S
/rk3399_ARM-atf/include/drivers/arm/dcc.h
/rk3399_ARM-atf/include/drivers/arm/ethosn.h
/rk3399_ARM-atf/include/drivers/arm/gicv2.h
/rk3399_ARM-atf/include/drivers/arm/gicv3.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_uart.h
/rk3399_ARM-atf/include/drivers/scmi-msg.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/lib/cpus/aarch64/cortex_x3.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v2.h
/rk3399_ARM-atf/include/lib/transfer_list.h
/rk3399_ARM-atf/include/lib/utils_def.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/el3_spmd_logical_sp.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78_ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/transfer_list/transfer_list.c
/rk3399_ARM-atf/lib/transfer_list/transfer_list.mk
/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/package-lock.json
/rk3399_ARM-atf/plat/arm/board/a5ds/platform.mk
/rk3399_ARM-atf/plat/arm/board/arm_fpga/platform.mk
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/corstone1000/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_spmd_logical_sp.c
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/morello/platform.mk
/rk3399_ARM-atf/plat/arm/css/common/css_pm.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/imx/imx7/picopi/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/ddr/clock.c
/rk3399_ARM-atf/plat/imx/imx8m/ddr/dram_retention.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/gpc.c
/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/drivers/apusys/apusys_rv/2.0/apusys_rv.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_power.c
/rk3399_ARM-atf/plat/mediatek/drivers/emi_mpu/emi_mpu_common.c
/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/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/qemu/qemu/qemu_bl1_measured_boot.c
/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/rpi/rpi3/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_dt.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/stm32cubeprogrammer_uart.c
/rk3399_ARM-atf/plat/st/common/stm32mp_common.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/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/stm32mp1/stm32mp1_scmi.c
/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/ti/k3/common/drivers/ti_sci/ti_sci.c
/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/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/include/versal_def.h
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/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/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/poetry.lock
/rk3399_ARM-atf/services/std_svc/errata_abi/cpu_errata_info.h
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
/rk3399_ARM-atf/services/std_svc/rmmd/rmmd_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
278beb8913-Sep-2023 Jacky Bai <ping.bai@nxp.com>

feat(cpufeat): add memory retention bit define for CLUSTERPWRDN

Bit1 in the CLUSTERPWRDN register is used to indicate on CLUSTERPACTIVE
that memory retention is required or not. It can be used for
L

feat(cpufeat): add memory retention bit define for CLUSTERPWRDN

Bit1 in the CLUSTERPWRDN register is used to indicate on CLUSTERPACTIVE
that memory retention is required or not. It can be used for
L3 cache memory retention support.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I1c53c90ae3dfbed3be7e5b2b79f2c3565db81012

show more ...


/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/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/perf/psci-performance-instr.rst
/rk3399_ARM-atf/docs/perf/psci-performance-juno.rst
/rk3399_ARM-atf/docs/perf/psci-performance-n1sdp.rst
/rk3399_ARM-atf/docs/threat_model/threat_model.rst
/rk3399_ARM-atf/docs/threat_model/threat_model_el3_spm.rst
/rk3399_ARM-atf/docs/threat_model/threat_model_spm.rst
/rk3399_ARM-atf/drivers/cadence/uart/aarch64/cdns_console.S
/rk3399_ARM-atf/drivers/scmi-msg/clock.c
/rk3399_ARM-atf/fdts/morello-fvp.dts
/rk3399_ARM-atf/fdts/morello-soc.dts
aarch32/arch.h
aarch64/arch.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_uart.h
/rk3399_ARM-atf/include/drivers/scmi-msg.h
/rk3399_ARM-atf/include/lib/bootmarker_capture.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x3.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/package-lock.json
/rk3399_ARM-atf/plat/arm/board/arm_fpga/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/morello/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/ddr/clock.c
/rk3399_ARM-atf/plat/imx/imx8m/ddr/dram_retention.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8mm/gpc.c
/rk3399_ARM-atf/plat/qemu/qemu/qemu_bl1_measured_boot.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_scmi.c
/rk3399_ARM-atf/plat/ti/k3/common/drivers/ti_sci/ti_sci.c
/rk3399_ARM-atf/plat/xilinx/common/plat_fdt.c
/rk3399_ARM-atf/plat/xilinx/versal/include/platform_def.h
/rk3399_ARM-atf/poetry.lock
/rk3399_ARM-atf/services/std_svc/errata_abi/cpu_errata_info.h
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
6a62ddff30-Aug-2023 Manish Pandey <manish.pandey2@arm.com>

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

0bbd432914-Aug-2023 Juan Pablo Conde <juanpablo.conde@arm.com>

fix(cpus): check for SME presence in Gelas

The original powerdown function for Gelas included SME disabling
instructions but did not check for the presence of SME before disabling.
This could lead t

fix(cpus): check for SME presence in Gelas

The original powerdown function for Gelas included SME disabling
instructions but did not check for the presence of SME before disabling.
This could lead to unexpected beaviors. This patch adds that check so
the feature is disabled only if it is present.

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

show more ...

29440a2f17-Aug-2023 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge "refactor(cm): move remaining EL2 save/restore into C" into integration

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

refactor(cm): move remaining EL2 save/restore into C

MTE and common system registers are the last remaining EL2 save/restores
in assembly. Convert them to C, like all the others.

Signed-off-by: Boy

refactor(cm): move remaining EL2 save/restore into C

MTE and common system registers are the last remaining EL2 save/restores
in assembly. Convert them to C, like all the others.

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

show more ...


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/.readthedocs.yaml
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/realm-management-extension.rst
/rk3399_ARM-atf/docs/conf.py
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot.rst
/rk3399_ARM-atf/docs/design_documents/rss.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/docs-build.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/npcm845x.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_npu.mk
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_smc.c
/rk3399_ARM-atf/drivers/arm/fvp/fvp_pwrc.c
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/measured_boot/rss/rss_measured_boot.c
/rk3399_ARM-atf/fdts/juno.dts
/rk3399_ARM-atf/fdts/morello-soc.dts
/rk3399_ARM-atf/fdts/morello.dtsi
aarch64/arch_helpers.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/bl_common.ld.h
/rk3399_ARM-atf/include/drivers/measured_boot/rss/rss_measured_boot.h
/rk3399_ARM-atf/include/drivers/nuvoton/npcm845x/npcm845x_clock.h
/rk3399_ARM-atf/include/drivers/nuvoton/npcm845x/npcm845x_gcr.h
/rk3399_ARM-atf/include/drivers/nuvoton/npcm845x/npcm845x_lpuart.h
/rk3399_ARM-atf/include/export/lib/bl_aux_params/bl_aux_params_exp.h
/rk3399_ARM-atf/include/export/lib/utils_def_exp.h
/rk3399_ARM-atf/include/lib/bakery_lock.h
/rk3399_ARM-atf/include/lib/bl_aux_params/bl_aux_params.h
/rk3399_ARM-atf/include/lib/cassert.h
/rk3399_ARM-atf/include/lib/coreboot.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/aem_generic.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a12.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a15.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a17.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a32.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a5.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a53.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a57.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a7.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a72.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a9.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/aem_generic.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a35.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a510.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a53.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a55.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a57.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a72.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a73.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a75.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a76.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a77.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a78.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a78_ae.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_gelas.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpuamu.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/denver.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_e1.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n1.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_poseidon.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v1.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/qemu_max.h
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/lib/cpus/wa_cve_2017_5715.h
/rk3399_ARM-atf/include/lib/cpus/wa_cve_2018_3639.h
/rk3399_ARM-atf/include/lib/cpus/wa_cve_2022_23960.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch32/context.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch64/context.h
/rk3399_ARM-atf/include/lib/el3_runtime/pubsub_events.h
/rk3399_ARM-atf/include/lib/extensions/amu.h
/rk3399_ARM-atf/include/lib/extensions/pauth.h
/rk3399_ARM-atf/include/lib/extensions/ras.h
/rk3399_ARM-atf/include/lib/extensions/ras_arch.h
/rk3399_ARM-atf/include/lib/fconf/fconf.h
/rk3399_ARM-atf/include/lib/fconf/fconf_tbbr_getter.h
/rk3399_ARM-atf/include/lib/libc/aarch32/endian_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/inttypes_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/limits_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/stddef_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/stdint_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/stdio_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/endian_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/inttypes_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/limits_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/setjmp_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/stddef_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/stdint_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/stdio_.h
/rk3399_ARM-atf/include/lib/libc/arm_acle.h
/rk3399_ARM-atf/include/lib/libc/assert.h
/rk3399_ARM-atf/include/lib/libc/cdefs.h
/rk3399_ARM-atf/include/lib/libc/endian.h
/rk3399_ARM-atf/include/lib/libc/errno.h
/rk3399_ARM-atf/include/lib/libc/inttypes.h
/rk3399_ARM-atf/include/lib/libc/limits.h
/rk3399_ARM-atf/include/lib/libc/setjmp.h
/rk3399_ARM-atf/include/lib/libc/stdarg.h
/rk3399_ARM-atf/include/lib/libc/stdbool.h
/rk3399_ARM-atf/include/lib/libc/stddef.h
/rk3399_ARM-atf/include/lib/libc/stdint.h
/rk3399_ARM-atf/include/lib/libc/stdio.h
/rk3399_ARM-atf/include/lib/libc/stdlib.h
/rk3399_ARM-atf/include/lib/libc/string.h
/rk3399_ARM-atf/include/lib/libc/time.h
/rk3399_ARM-atf/include/lib/mmio.h
/rk3399_ARM-atf/include/lib/object_pool.h
/rk3399_ARM-atf/include/lib/optee_utils.h
/rk3399_ARM-atf/include/lib/pmf/aarch64/pmf_asm_macros.S
/rk3399_ARM-atf/include/lib/pmf/pmf.h
/rk3399_ARM-atf/include/lib/pmf/pmf_helpers.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/runtime_instr.h
/rk3399_ARM-atf/include/lib/semihosting.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/lib/spinlock.h
/rk3399_ARM-atf/include/lib/utils.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/lib/xlat_mpu/xlat_mpu.h
/rk3399_ARM-atf/include/lib/xlat_tables/aarch32/xlat_tables_aarch32.h
/rk3399_ARM-atf/include/lib/xlat_tables/aarch64/xlat_tables_aarch64.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_mmu_helpers.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_arch.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_compat.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/lib/zlib/tf_gunzip.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/fconf_ethosn_getter.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/plat/nuvoton/common/npcm845x_arm_def.h
/rk3399_ARM-atf/include/plat/nuvoton/common/plat_macros.S
/rk3399_ARM-atf/include/plat/nuvoton/common/plat_npcm845x.h
/rk3399_ARM-atf/include/plat/nuvoton/npcm845x/platform_def.h
/rk3399_ARM-atf/include/services/el3_spmd_logical_sp.h
/rk3399_ARM-atf/include/services/ffa_svc.h
/rk3399_ARM-atf/include/tools_share/cca_oid.h
/rk3399_ARM-atf/include/tools_share/dualroot_oid.h
/rk3399_ARM-atf/include/tools_share/tbbr_oid.h
/rk3399_ARM-atf/include/tools_share/zero_oid.h
/rk3399_ARM-atf/lib/aarch32/arm32_aeabi_divmod.c
/rk3399_ARM-atf/lib/aarch32/arm32_aeabi_divmod_a32.S
/rk3399_ARM-atf/lib/aarch32/armclang_printf.S
/rk3399_ARM-atf/lib/aarch32/misc_helpers.S
/rk3399_ARM-atf/lib/aarch64/armclang_printf.S
/rk3399_ARM-atf/lib/bl_aux_params/bl_aux_params.c
/rk3399_ARM-atf/lib/compiler-rt/compiler-rt.mk
/rk3399_ARM-atf/lib/coreboot/coreboot.mk
/rk3399_ARM-atf/lib/coreboot/coreboot_table.c
/rk3399_ARM-atf/lib/cpus/aarch32/aem_generic.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a12.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a15.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a17.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a32.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a5.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a53.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a7.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a9.S
/rk3399_ARM-atf/lib/cpus/aarch32/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/aem_generic.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a35.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a510.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a520.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a55.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a65ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a715.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a72.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a73.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a75.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a75_pubsub.c
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a76.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a76ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a77.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78_ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78c.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_blackhawk.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_chaberton.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_gelas.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x1.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x2.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x4.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpuamu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/denver.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_e1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1_pubsub.c
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_poseidon.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/wa_cve_2017_5715_bpiall.S
/rk3399_ARM-atf/lib/cpus/aarch64/wa_cve_2017_5715_mmu.S
/rk3399_ARM-atf/lib/cpus/aarch64/wa_cve_2022_23960_bhb.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/debugfs/debugfs.mk
/rk3399_ARM-atf/lib/debugfs/debugfs_smc.c
/rk3399_ARM-atf/lib/el3_runtime/aarch32/cpu_data.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/cpu_data.S
/rk3399_ARM-atf/lib/el3_runtime/cpu_data_array.c
/rk3399_ARM-atf/lib/extensions/amu/aarch32/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch32/amu_helpers.S
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu_helpers.S
/rk3399_ARM-atf/lib/extensions/amu/amu_private.h
/rk3399_ARM-atf/lib/extensions/ras/ras_common.c
/rk3399_ARM-atf/lib/extensions/ras/std_err_record.c
/rk3399_ARM-atf/lib/fconf/fconf.c
/rk3399_ARM-atf/lib/fconf/fconf.mk
/rk3399_ARM-atf/lib/libc/aarch64/setjmp.S
/rk3399_ARM-atf/lib/libc/abort.c
/rk3399_ARM-atf/lib/libc/assert.c
/rk3399_ARM-atf/lib/libc/exit.c
/rk3399_ARM-atf/lib/libc/libc.mk
/rk3399_ARM-atf/lib/libc/memchr.c
/rk3399_ARM-atf/lib/libc/memcmp.c
/rk3399_ARM-atf/lib/libc/memcpy.c
/rk3399_ARM-atf/lib/libc/memcpy_s.c
/rk3399_ARM-atf/lib/libc/memmove.c
/rk3399_ARM-atf/lib/libc/memset.c
/rk3399_ARM-atf/lib/libc/putchar.c
/rk3399_ARM-atf/lib/libc/puts.c
/rk3399_ARM-atf/lib/libc/strchr.c
/rk3399_ARM-atf/lib/libc/strcmp.c
/rk3399_ARM-atf/lib/libc/strlen.c
/rk3399_ARM-atf/lib/libc/strncmp.c
/rk3399_ARM-atf/lib/libc/strnlen.c
/rk3399_ARM-atf/lib/libfdt/libfdt.mk
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_coherent.c
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_normal.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch32/spinlock.S
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.S
/rk3399_ARM-atf/lib/optee/optee_utils.c
/rk3399_ARM-atf/lib/pmf/pmf_main.c
/rk3399_ARM-atf/lib/pmf/pmf_smc.c
/rk3399_ARM-atf/lib/psci/aarch32/psci_helpers.S
/rk3399_ARM-atf/lib/psci/aarch64/psci_helpers.S
/rk3399_ARM-atf/lib/psci/aarch64/runtime_errata.S
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_mem_protect.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_stat.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/lib/romlib/Makefile
/rk3399_ARM-atf/lib/romlib/gen_combined_bl1_romlib.sh
/rk3399_ARM-atf/lib/romlib/init.s
/rk3399_ARM-atf/lib/romlib/jmptbl.i
/rk3399_ARM-atf/lib/romlib/romlib.ld.S
/rk3399_ARM-atf/lib/semihosting/aarch32/semihosting_call.S
/rk3399_ARM-atf/lib/semihosting/aarch64/semihosting_call.S
/rk3399_ARM-atf/lib/semihosting/semihosting.c
/rk3399_ARM-atf/lib/stack_protector/aarch32/asm_stack_protector.S
/rk3399_ARM-atf/lib/stack_protector/aarch64/asm_stack_protector.S
/rk3399_ARM-atf/lib/stack_protector/stack_protector.c
/rk3399_ARM-atf/lib/stack_protector/stack_protector.mk
/rk3399_ARM-atf/lib/utils/mem_region.c
/rk3399_ARM-atf/lib/xlat_mpu/aarch64/enable_mpu.S
/rk3399_ARM-atf/lib/xlat_mpu/aarch64/xlat_mpu_arch.c
/rk3399_ARM-atf/lib/xlat_mpu/ro_xlat_mpu.mk
/rk3399_ARM-atf/lib/xlat_mpu/xlat_mpu.mk
/rk3399_ARM-atf/lib/xlat_mpu/xlat_mpu_context.c
/rk3399_ARM-atf/lib/xlat_mpu/xlat_mpu_core.c
/rk3399_ARM-atf/lib/xlat_mpu/xlat_mpu_private.h
/rk3399_ARM-atf/lib/xlat_mpu/xlat_mpu_utils.c
/rk3399_ARM-atf/lib/xlat_tables/aarch32/xlat_tables.c
/rk3399_ARM-atf/lib/xlat_tables/aarch64/xlat_tables.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_common.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_private.h
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch32/enable_mmu.S
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch32/xlat_tables_arch.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/enable_mmu.S
/rk3399_ARM-atf/lib/xlat_tables_v2/ro_xlat_tables.mk
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables.mk
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_context.c
/rk3399_ARM-atf/lib/zlib/tf_gunzip.c
/rk3399_ARM-atf/lib/zlib/zlib.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/allwinner/common/sunxi_scpi_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_cpu_errata.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_spmd_logical_sp.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/cert_create_tbbr.mk
/rk3399_ARM-atf/plat/arm/board/juno/fdts/juno_tb_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/juno/fip/plat_def_fip_uuid.h
/rk3399_ARM-atf/plat/arm/board/juno/fip/plat_def_uuid_config.c
/rk3399_ARM-atf/plat/arm/board/juno/include/plat_tbbr_img_def.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_tbbr_cot_bl2.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn2/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn2/rdn2_ras.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_common_measured_boot.c
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_gicv3.c
/rk3399_ARM-atf/plat/arm/common/arm_sip_svc.c
/rk3399_ARM-atf/plat/arm/common/fconf/arm_fconf_io.c
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_ras.h
/rk3399_ARM-atf/plat/arm/css/sgi/ras/sgi_ras_cpu.c
/rk3399_ARM-atf/plat/brcm/board/stingray/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8m_ccm.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8m_measured_boot.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/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_ccm.h
/rk3399_ARM-atf/plat/nuvoton/common/nuvoton_helpers.S
/rk3399_ARM-atf/plat/nuvoton/common/nuvoton_pm.c
/rk3399_ARM-atf/plat/nuvoton/common/nuvoton_topology.c
/rk3399_ARM-atf/plat/nuvoton/common/plat_nuvoton_gic.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/npcm845x_bl31_setup.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/npcm845x_common.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/npcm845x_psci.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/npcm845x_serial_port.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/include/lib/profiler.h
/rk3399_ARM-atf/plat/nvidia/tegra/lib/debug/profiler.c
/rk3399_ARM-atf/plat/qemu/qemu/qemu_measured_boot.c
/rk3399_ARM-atf/plat/st/common/bl2_io_storage.c
/rk3399_ARM-atf/plat/st/common/stm32mp_fconf_io.c
/rk3399_ARM-atf/plat/st/stm32mp1/sp_min/sp_min-stm32mp1.mk
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_fip_def.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_svc_main.h
/rk3399_ARM-atf/plat/xilinx/common/plat_fdt.c
/rk3399_ARM-atf/plat/xilinx/common/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal/versal_ipi.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/std_svc/errata_abi/cpu_errata_info.h
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc.h
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd.mk
/rk3399_ARM-atf/services/std_svc/spmd/spmd_logical_sp.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_private.h
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/juno/plat_fiptool.mk
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
a8d5d3d518-Apr-2023 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): introduce wrapper macro for read_feat_...() functions

At the moment we have some elaborate, but very schematic functions to
allow checking for CPU feature enablement. Adding some

refactor(cpufeat): introduce wrapper macro for read_feat_...() functions

At the moment we have some elaborate, but very schematic functions to
allow checking for CPU feature enablement. Adding some more becomes
tedious and is also error-prone.

Provide two wrapper macros that reduce most of the features to a
single line:
- CREATE_FEATURE_FUNCS(name, idreg, idfield, guard)
creates two functions read_<name>_id_field() and is_<name>_supported(),
that check the 4-bit CPU ID field starting at bit <idfield> in <idreg>
for being not 0, and compares it against the build time <guard> symbol.
For the usual feature (like PAN) this looks like:
CREATE_FEATURE_FUNCS(feat_pan, id_aa64mmfr1_el1,
ID_AA64MMFR1_EL1_PAN_SHIFT, ENABLE_FEAT_PAN)

- CREATE_FEATURE_FUNCS_VER(name, read_func, idvalue, guard)
creates one function to check for a certain CPU ID field *value*, so
when "!= 0" is not sufficient. It's meant to be used in addition to
the above macro, since that generates the CPU ID field accessor
function:
CREATE_FEATURE_FUNCS(feat_amu, id_aa64pfr0_el1, ID_AA64PFR0_AMU_SHIFT,
ENABLE_FEAT_AMU)
CREATE_FEATURE_FUNCS_VER(feat_amuv1p1, read_feat_amu_id_field,
ID_AA64PFR0_AMU_V1P1, ENABLE_FEAT_AMUv1p1)

Describe the existing feature accessor functions using those new macros,
to reduce the size of the file, improve readability and decrease the
possibility of (copy&paste) bugs.

Change-Id: Ib136a875b4857058ff561c4635ace344006f29bf
Signed-off-by: Andre Przywara <andre.przywara@arm.com>

show more ...


/rk3399_ARM-atf/.gitignore
/rk3399_ARM-atf/.readthedocs.yaml
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl32/sp_min/aarch32/entrypoint.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.mk
/rk3399_ARM-atf/bl32/sp_min/sp_min_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/realm-management-extension.rst
/rk3399_ARM-atf/docs/conf.py
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot.rst
/rk3399_ARM-atf/docs/design_documents/rss.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/docs-build.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/npcm845x.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_npu.mk
/rk3399_ARM-atf/drivers/arm/ethosn/ethosn_smc.c
/rk3399_ARM-atf/drivers/arm/fvp/fvp_pwrc.c
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/measured_boot/rss/rss_measured_boot.c
/rk3399_ARM-atf/fdts/juno.dts
/rk3399_ARM-atf/fdts/morello-soc.dts
/rk3399_ARM-atf/fdts/morello.dtsi
aarch64/arch.h
aarch64/arch_features.h
/rk3399_ARM-atf/include/common/bl_common.h
/rk3399_ARM-atf/include/common/bl_common.ld.h
/rk3399_ARM-atf/include/drivers/measured_boot/rss/rss_measured_boot.h
/rk3399_ARM-atf/include/drivers/nuvoton/npcm845x/npcm845x_clock.h
/rk3399_ARM-atf/include/drivers/nuvoton/npcm845x/npcm845x_gcr.h
/rk3399_ARM-atf/include/drivers/nuvoton/npcm845x/npcm845x_lpuart.h
/rk3399_ARM-atf/include/export/lib/bl_aux_params/bl_aux_params_exp.h
/rk3399_ARM-atf/include/export/lib/utils_def_exp.h
/rk3399_ARM-atf/include/lib/bakery_lock.h
/rk3399_ARM-atf/include/lib/bl_aux_params/bl_aux_params.h
/rk3399_ARM-atf/include/lib/cassert.h
/rk3399_ARM-atf/include/lib/coreboot.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/aem_generic.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a12.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a15.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a17.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a32.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a5.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a53.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a57.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a7.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a72.h
/rk3399_ARM-atf/include/lib/cpus/aarch32/cortex_a9.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/aem_generic.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a35.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a510.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a53.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a55.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a57.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a72.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a73.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a75.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a76.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a77.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a78.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a78_ae.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_gelas.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpuamu.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/denver.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_e1.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n1.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_n2.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_poseidon.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_v1.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/qemu_max.h
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/lib/cpus/wa_cve_2017_5715.h
/rk3399_ARM-atf/include/lib/cpus/wa_cve_2018_3639.h
/rk3399_ARM-atf/include/lib/cpus/wa_cve_2022_23960.h
/rk3399_ARM-atf/include/lib/el3_runtime/aarch32/context.h
/rk3399_ARM-atf/include/lib/el3_runtime/pubsub_events.h
/rk3399_ARM-atf/include/lib/extensions/amu.h
/rk3399_ARM-atf/include/lib/extensions/pauth.h
/rk3399_ARM-atf/include/lib/extensions/ras.h
/rk3399_ARM-atf/include/lib/extensions/ras_arch.h
/rk3399_ARM-atf/include/lib/fconf/fconf.h
/rk3399_ARM-atf/include/lib/fconf/fconf_tbbr_getter.h
/rk3399_ARM-atf/include/lib/libc/aarch32/endian_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/inttypes_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/limits_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/stddef_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/stdint_.h
/rk3399_ARM-atf/include/lib/libc/aarch32/stdio_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/endian_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/inttypes_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/limits_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/setjmp_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/stddef_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/stdint_.h
/rk3399_ARM-atf/include/lib/libc/aarch64/stdio_.h
/rk3399_ARM-atf/include/lib/libc/arm_acle.h
/rk3399_ARM-atf/include/lib/libc/assert.h
/rk3399_ARM-atf/include/lib/libc/cdefs.h
/rk3399_ARM-atf/include/lib/libc/endian.h
/rk3399_ARM-atf/include/lib/libc/errno.h
/rk3399_ARM-atf/include/lib/libc/inttypes.h
/rk3399_ARM-atf/include/lib/libc/limits.h
/rk3399_ARM-atf/include/lib/libc/setjmp.h
/rk3399_ARM-atf/include/lib/libc/stdarg.h
/rk3399_ARM-atf/include/lib/libc/stdbool.h
/rk3399_ARM-atf/include/lib/libc/stddef.h
/rk3399_ARM-atf/include/lib/libc/stdint.h
/rk3399_ARM-atf/include/lib/libc/stdio.h
/rk3399_ARM-atf/include/lib/libc/stdlib.h
/rk3399_ARM-atf/include/lib/libc/string.h
/rk3399_ARM-atf/include/lib/libc/time.h
/rk3399_ARM-atf/include/lib/mmio.h
/rk3399_ARM-atf/include/lib/object_pool.h
/rk3399_ARM-atf/include/lib/optee_utils.h
/rk3399_ARM-atf/include/lib/pmf/aarch64/pmf_asm_macros.S
/rk3399_ARM-atf/include/lib/pmf/pmf.h
/rk3399_ARM-atf/include/lib/pmf/pmf_helpers.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/runtime_instr.h
/rk3399_ARM-atf/include/lib/semihosting.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/lib/spinlock.h
/rk3399_ARM-atf/include/lib/utils.h
/rk3399_ARM-atf/include/lib/utils_def.h
/rk3399_ARM-atf/include/lib/xlat_mpu/xlat_mpu.h
/rk3399_ARM-atf/include/lib/xlat_tables/aarch32/xlat_tables_aarch32.h
/rk3399_ARM-atf/include/lib/xlat_tables/aarch64/xlat_tables_aarch64.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_mmu_helpers.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_arch.h
/rk3399_ARM-atf/include/lib/xlat_tables/xlat_tables_compat.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/lib/zlib/tf_gunzip.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/plat/arm/common/fconf_ethosn_getter.h
/rk3399_ARM-atf/include/plat/common/platform.h
/rk3399_ARM-atf/include/plat/nuvoton/common/npcm845x_arm_def.h
/rk3399_ARM-atf/include/plat/nuvoton/common/plat_macros.S
/rk3399_ARM-atf/include/plat/nuvoton/common/plat_npcm845x.h
/rk3399_ARM-atf/include/plat/nuvoton/npcm845x/platform_def.h
/rk3399_ARM-atf/include/services/el3_spmd_logical_sp.h
/rk3399_ARM-atf/include/services/ffa_svc.h
/rk3399_ARM-atf/include/tools_share/cca_oid.h
/rk3399_ARM-atf/include/tools_share/dualroot_oid.h
/rk3399_ARM-atf/include/tools_share/tbbr_oid.h
/rk3399_ARM-atf/include/tools_share/zero_oid.h
/rk3399_ARM-atf/lib/aarch32/arm32_aeabi_divmod.c
/rk3399_ARM-atf/lib/aarch32/arm32_aeabi_divmod_a32.S
/rk3399_ARM-atf/lib/aarch32/armclang_printf.S
/rk3399_ARM-atf/lib/aarch32/misc_helpers.S
/rk3399_ARM-atf/lib/aarch64/armclang_printf.S
/rk3399_ARM-atf/lib/bl_aux_params/bl_aux_params.c
/rk3399_ARM-atf/lib/compiler-rt/compiler-rt.mk
/rk3399_ARM-atf/lib/coreboot/coreboot.mk
/rk3399_ARM-atf/lib/coreboot/coreboot_table.c
/rk3399_ARM-atf/lib/cpus/aarch32/aem_generic.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a12.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a15.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a17.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a32.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a5.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a53.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a7.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a9.S
/rk3399_ARM-atf/lib/cpus/aarch32/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/aem_generic.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a35.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a510.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a520.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a55.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a65ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a715.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a72.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a73.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a75.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a75_pubsub.c
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a76.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a76ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a77.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78_ae.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78c.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_blackhawk.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_chaberton.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_gelas.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x1.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x2.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x3.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x4.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpuamu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/denver.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_e1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n1_pubsub.c
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_n2.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_poseidon.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v1.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_v2.S
/rk3399_ARM-atf/lib/cpus/aarch64/wa_cve_2017_5715_bpiall.S
/rk3399_ARM-atf/lib/cpus/aarch64/wa_cve_2017_5715_mmu.S
/rk3399_ARM-atf/lib/cpus/aarch64/wa_cve_2022_23960_bhb.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/debugfs/debugfs.mk
/rk3399_ARM-atf/lib/debugfs/debugfs_smc.c
/rk3399_ARM-atf/lib/el3_runtime/aarch32/cpu_data.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/cpu_data.S
/rk3399_ARM-atf/lib/el3_runtime/cpu_data_array.c
/rk3399_ARM-atf/lib/extensions/amu/aarch32/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch32/amu_helpers.S
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu_helpers.S
/rk3399_ARM-atf/lib/extensions/amu/amu_private.h
/rk3399_ARM-atf/lib/extensions/ras/ras_common.c
/rk3399_ARM-atf/lib/extensions/ras/std_err_record.c
/rk3399_ARM-atf/lib/fconf/fconf.c
/rk3399_ARM-atf/lib/fconf/fconf.mk
/rk3399_ARM-atf/lib/libc/aarch64/setjmp.S
/rk3399_ARM-atf/lib/libc/abort.c
/rk3399_ARM-atf/lib/libc/assert.c
/rk3399_ARM-atf/lib/libc/exit.c
/rk3399_ARM-atf/lib/libc/libc.mk
/rk3399_ARM-atf/lib/libc/memchr.c
/rk3399_ARM-atf/lib/libc/memcmp.c
/rk3399_ARM-atf/lib/libc/memcpy.c
/rk3399_ARM-atf/lib/libc/memcpy_s.c
/rk3399_ARM-atf/lib/libc/memmove.c
/rk3399_ARM-atf/lib/libc/memset.c
/rk3399_ARM-atf/lib/libc/putchar.c
/rk3399_ARM-atf/lib/libc/puts.c
/rk3399_ARM-atf/lib/libc/strchr.c
/rk3399_ARM-atf/lib/libc/strcmp.c
/rk3399_ARM-atf/lib/libc/strlen.c
/rk3399_ARM-atf/lib/libc/strncmp.c
/rk3399_ARM-atf/lib/libc/strnlen.c
/rk3399_ARM-atf/lib/libfdt/libfdt.mk
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_coherent.c
/rk3399_ARM-atf/lib/locks/bakery/bakery_lock_normal.c
/rk3399_ARM-atf/lib/locks/exclusive/aarch32/spinlock.S
/rk3399_ARM-atf/lib/locks/exclusive/aarch64/spinlock.S
/rk3399_ARM-atf/lib/optee/optee_utils.c
/rk3399_ARM-atf/lib/pmf/pmf_main.c
/rk3399_ARM-atf/lib/pmf/pmf_smc.c
/rk3399_ARM-atf/lib/psci/aarch32/psci_helpers.S
/rk3399_ARM-atf/lib/psci/aarch64/psci_helpers.S
/rk3399_ARM-atf/lib/psci/aarch64/runtime_errata.S
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_mem_protect.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/psci/psci_stat.c
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/lib/romlib/Makefile
/rk3399_ARM-atf/lib/romlib/gen_combined_bl1_romlib.sh
/rk3399_ARM-atf/lib/romlib/init.s
/rk3399_ARM-atf/lib/romlib/jmptbl.i
/rk3399_ARM-atf/lib/romlib/romlib.ld.S
/rk3399_ARM-atf/lib/semihosting/aarch32/semihosting_call.S
/rk3399_ARM-atf/lib/semihosting/aarch64/semihosting_call.S
/rk3399_ARM-atf/lib/semihosting/semihosting.c
/rk3399_ARM-atf/lib/stack_protector/aarch32/asm_stack_protector.S
/rk3399_ARM-atf/lib/stack_protector/aarch64/asm_stack_protector.S
/rk3399_ARM-atf/lib/stack_protector/stack_protector.c
/rk3399_ARM-atf/lib/stack_protector/stack_protector.mk
/rk3399_ARM-atf/lib/utils/mem_region.c
/rk3399_ARM-atf/lib/xlat_mpu/aarch64/enable_mpu.S
/rk3399_ARM-atf/lib/xlat_mpu/aarch64/xlat_mpu_arch.c
/rk3399_ARM-atf/lib/xlat_mpu/ro_xlat_mpu.mk
/rk3399_ARM-atf/lib/xlat_mpu/xlat_mpu.mk
/rk3399_ARM-atf/lib/xlat_mpu/xlat_mpu_context.c
/rk3399_ARM-atf/lib/xlat_mpu/xlat_mpu_core.c
/rk3399_ARM-atf/lib/xlat_mpu/xlat_mpu_private.h
/rk3399_ARM-atf/lib/xlat_mpu/xlat_mpu_utils.c
/rk3399_ARM-atf/lib/xlat_tables/aarch32/xlat_tables.c
/rk3399_ARM-atf/lib/xlat_tables/aarch64/xlat_tables.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_common.c
/rk3399_ARM-atf/lib/xlat_tables/xlat_tables_private.h
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch32/enable_mmu.S
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch32/xlat_tables_arch.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/enable_mmu.S
/rk3399_ARM-atf/lib/xlat_tables_v2/ro_xlat_tables.mk
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables.mk
/rk3399_ARM-atf/lib/xlat_tables_v2/xlat_tables_context.c
/rk3399_ARM-atf/lib/zlib/tf_gunzip.c
/rk3399_ARM-atf/lib/zlib/zlib.mk
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/plat/allwinner/common/sunxi_scpi_pm.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_cpu_errata.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_spmd_logical_sp.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/cert_create_tbbr.mk
/rk3399_ARM-atf/plat/arm/board/juno/fdts/juno_tb_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/juno/fip/plat_def_fip_uuid.h
/rk3399_ARM-atf/plat/arm/board/juno/fip/plat_def_uuid_config.c
/rk3399_ARM-atf/plat/arm/board/juno/include/plat_tbbr_img_def.h
/rk3399_ARM-atf/plat/arm/board/juno/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/juno/juno_tbbr_cot_bl2.c
/rk3399_ARM-atf/plat/arm/board/juno/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn2/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn2/rdn2_ras.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_common_measured_boot.c
/rk3399_ARM-atf/plat/arm/common/aarch64/arm_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_gicv3.c
/rk3399_ARM-atf/plat/arm/common/arm_sip_svc.c
/rk3399_ARM-atf/plat/arm/common/fconf/arm_fconf_io.c
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_ras.h
/rk3399_ARM-atf/plat/arm/css/sgi/ras/sgi_ras_cpu.c
/rk3399_ARM-atf/plat/brcm/board/stingray/platform.mk
/rk3399_ARM-atf/plat/imx/imx8m/imx8m_ccm.c
/rk3399_ARM-atf/plat/imx/imx8m/imx8m_measured_boot.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/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_ccm.h
/rk3399_ARM-atf/plat/nuvoton/common/nuvoton_helpers.S
/rk3399_ARM-atf/plat/nuvoton/common/nuvoton_pm.c
/rk3399_ARM-atf/plat/nuvoton/common/nuvoton_topology.c
/rk3399_ARM-atf/plat/nuvoton/common/plat_nuvoton_gic.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/npcm845x_bl31_setup.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/npcm845x_common.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/npcm845x_psci.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/npcm845x_serial_port.c
/rk3399_ARM-atf/plat/nuvoton/npcm845x/platform.mk
/rk3399_ARM-atf/plat/nvidia/tegra/include/lib/profiler.h
/rk3399_ARM-atf/plat/nvidia/tegra/lib/debug/profiler.c
/rk3399_ARM-atf/plat/qemu/qemu/qemu_measured_boot.c
/rk3399_ARM-atf/plat/st/common/bl2_io_storage.c
/rk3399_ARM-atf/plat/st/common/stm32mp_fconf_io.c
/rk3399_ARM-atf/plat/st/stm32mp1/sp_min/sp_min-stm32mp1.mk
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_fip_def.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_svc_main.h
/rk3399_ARM-atf/plat/xilinx/common/plat_fdt.c
/rk3399_ARM-atf/plat/xilinx/common/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal/versal_ipi.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/services/std_svc/errata_abi/cpu_errata_info.h
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc.h
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd.mk
/rk3399_ARM-atf/services/std_svc/spmd/spmd_logical_sp.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_private.h
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/juno/plat_fiptool.mk
/rk3399_ARM-atf/tools/sptool/sp_mk_generator.py
4a530b4c10-Jul-2023 Juan Pablo Conde <juanpablo.conde@arm.com>

feat(cpufeat): initialize HFG*_EL2 registers

HFG*_EL2 registers control the fine-grained traps introduced by
FEAT_FGT. These traps come enabled by default so old systems unaware
of this feature can

feat(cpufeat): initialize HFG*_EL2 registers

HFG*_EL2 registers control the fine-grained traps introduced by
FEAT_FGT. These traps come enabled by default so old systems unaware
of this feature can be trapped to EL3, not being able to handle the
trap correctly. This patch disables all fine-grained traps by default
to prevent such unexpected behavior.

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

show more ...

ece8f7d713-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 ...

99506fac13-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 ...

4d0b663224-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 ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/common/feat_detect.c
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/design_documents/index.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot_poc.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/plat/arm/morello/index.rst
/rk3399_ARM-atf/docs/plat/arm/tc/index.rst
/rk3399_ARM-atf/docs/plat/imx9.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/qti-msm8916.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/process/code-review-guidelines.rst
/rk3399_ARM-atf/docs/resources/diagrams/Makefile
/rk3399_ARM-atf/docs/resources/diagrams/measured_boot_design.dia
/rk3399_ARM-atf/docs/resources/diagrams/measured_boot_design.png
/rk3399_ARM-atf/docs/security_advisories/security-advisory-tfv-9.rst
/rk3399_ARM-atf/drivers/cadence/combo_phy/cdns_combo_phy.c
/rk3399_ARM-atf/drivers/cadence/emmc/cdns_sdmmc.c
/rk3399_ARM-atf/drivers/cadence/nand/cdns_nand.c
/rk3399_ARM-atf/drivers/measured_boot/rss/rss_measured_boot.c
/rk3399_ARM-atf/drivers/nxp/trdc/imx_trdc.c
/rk3399_ARM-atf/drivers/st/uart/aarch32/stm32_console.S
/rk3399_ARM-atf/fdts/morello-coresight.dtsi
/rk3399_ARM-atf/fdts/morello-soc.dts
aarch64/arch.h
aarch64/arch_features.h
aarch64/arch_helpers.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_combo_phy.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_nand.h
/rk3399_ARM-atf/include/drivers/cadence/cdns_sdmmc.h
/rk3399_ARM-atf/include/drivers/measured_boot/rss/rss_measured_boot.h
/rk3399_ARM-atf/include/drivers/nxp/trdc/imx_trdc.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a520.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a720.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x4.h
/rk3399_ARM-atf/include/lib/extensions/amu.h
/rk3399_ARM-atf/include/lib/extensions/brbe.h
/rk3399_ARM-atf/include/lib/extensions/mpam.h
/rk3399_ARM-atf/include/lib/extensions/pmuv3.h
/rk3399_ARM-atf/include/lib/extensions/sme.h
/rk3399_ARM-atf/include/lib/extensions/spe.h
/rk3399_ARM-atf/include/lib/extensions/sve.h
/rk3399_ARM-atf/include/lib/extensions/sys_reg_trace.h
/rk3399_ARM-atf/include/lib/extensions/trbe.h
/rk3399_ARM-atf/include/lib/extensions/trf.h
/rk3399_ARM-atf/include/lib/psa/psa_manifest/sid.h
/rk3399_ARM-atf/include/lib/psa/rss_crypto_defs.h
/rk3399_ARM-atf/include/lib/psa/rss_platform_api.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a520.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a720.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a75.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x4.S
/rk3399_ARM-atf/lib/el3_runtime/aarch32/context_mgmt.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/extensions/amu/aarch64/amu.c
/rk3399_ARM-atf/lib/extensions/brbe/brbe.c
/rk3399_ARM-atf/lib/extensions/mpam/mpam.c
/rk3399_ARM-atf/lib/extensions/pmuv3/aarch32/pmuv3.c
/rk3399_ARM-atf/lib/extensions/pmuv3/aarch64/pmuv3.c
/rk3399_ARM-atf/lib/extensions/sme/sme.c
/rk3399_ARM-atf/lib/extensions/spe/spe.c
/rk3399_ARM-atf/lib/extensions/sve/sve.c
/rk3399_ARM-atf/lib/extensions/sys_reg_trace/aarch32/sys_reg_trace.c
/rk3399_ARM-atf/lib/extensions/sys_reg_trace/aarch64/sys_reg_trace.c
/rk3399_ARM-atf/lib/extensions/trbe/trbe.c
/rk3399_ARM-atf/lib/extensions/trf/aarch32/trf.c
/rk3399_ARM-atf/lib/extensions/trf/aarch64/trf.c
/rk3399_ARM-atf/lib/libc/printf.c
/rk3399_ARM-atf/lib/psa/rss_platform.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
/rk3399_ARM-atf/make_helpers/defaults.mk
/rk3399_ARM-atf/make_helpers/march.mk
/rk3399_ARM-atf/plat/arm/board/arm_fpga/platform.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common_measured_boot.c
/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/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/n1sdp/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/tc/include/tc_plat.h
/rk3399_ARM-atf/plat/arm/board/tc/nv_counter_test.c
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/platform_test.mk
/rk3399_ARM-atf/plat/arm/board/tc/region_defs.h
/rk3399_ARM-atf/plat/arm/board/tc/rotpk_test.c
/rk3399_ARM-atf/plat/arm/board/tc/rss_ap_tests.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl1_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl2_measured_boot.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_common_measured_boot.c
/rk3399_ARM-atf/plat/imx/imx93/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/imx/imx93/imx93_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx93/imx93_psci.c
/rk3399_ARM-atf/plat/imx/imx93/include/platform_def.h
/rk3399_ARM-atf/plat/imx/imx93/include/pwr_ctrl.h
/rk3399_ARM-atf/plat/imx/imx93/plat_topology.c
/rk3399_ARM-atf/plat/imx/imx93/platform.mk
/rk3399_ARM-atf/plat/imx/imx93/pwr_ctrl.c
/rk3399_ARM-atf/plat/imx/imx93/trdc.c
/rk3399_ARM-atf/plat/imx/imx93/trdc_config.h
/rk3399_ARM-atf/plat/intel/soc/agilex/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl2_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/bl31_plat_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/agilex5_clock_manager.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/agilex5_memory_controller.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/agilex5_mmc.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/agilex5_pinmux.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/agilex5_power_manager.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/agilex5_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/agilex5/platform.mk
/rk3399_ARM-atf/plat/intel/soc/agilex5/soc/agilex5_clock_manager.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/soc/agilex5_memory_controller.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/soc/agilex5_mmc.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/soc/agilex5_pinmux.c
/rk3399_ARM-atf/plat/intel/soc/agilex5/soc/agilex5_power_manager.c
/rk3399_ARM-atf/plat/intel/soc/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/intel/soc/common/drivers/ccu/ncore_ccu.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/ccu/ncore_ccu.h
/rk3399_ARM-atf/plat/intel/soc/common/drivers/combophy/combophy.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/combophy/combophy.h
/rk3399_ARM-atf/plat/intel/soc/common/drivers/ddr/ddr.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/ddr/ddr.h
/rk3399_ARM-atf/plat/intel/soc/common/drivers/nand/nand.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/nand/nand.h
/rk3399_ARM-atf/plat/intel/soc/common/drivers/qspi/cadence_qspi.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/qspi/cadence_qspi.h
/rk3399_ARM-atf/plat/intel/soc/common/drivers/sdmmc/sdmmc.c
/rk3399_ARM-atf/plat/intel/soc/common/drivers/sdmmc/sdmmc.h
/rk3399_ARM-atf/plat/intel/soc/common/drivers/wdt/watchdog.h
/rk3399_ARM-atf/plat/intel/soc/common/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_f2sdram_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_handoff.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_mailbox.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_noc.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_reset_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_vab.h
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_emac.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_firewall.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_handoff.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_reset_manager.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_storage.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_topology.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_vab.c
/rk3399_ARM-atf/plat/intel/soc/n5x/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/devapc/apusys_dapc_v1.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_devapc_def.h
/rk3399_ARM-atf/plat/mediatek/drivers/gic600/mt_gic_v3.c
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk
/rk3399_ARM-atf/plat/qti/common/src/qti_pm.c
/rk3399_ARM-atf/plat/qti/mdm9607/platform.mk
/rk3399_ARM-atf/plat/qti/mdm9607/sp_min/sp_min-mdm9607.mk
/rk3399_ARM-atf/plat/qti/msm8909/platform.mk
/rk3399_ARM-atf/plat/qti/msm8909/sp_min/sp_min-msm8909.mk
/rk3399_ARM-atf/plat/qti/msm8916/aarch32/msm8916_helpers.S
/rk3399_ARM-atf/plat/qti/msm8916/aarch64/msm8916_helpers.S
/rk3399_ARM-atf/plat/qti/msm8916/include/msm8916_mmap.h
/rk3399_ARM-atf/plat/qti/msm8916/include/platform_def.h
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_bl31_setup.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_config.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_config.h
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_cpu_boot.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_pm.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_pm.h
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_setup.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_topology.c
/rk3399_ARM-atf/plat/qti/msm8916/platform.mk
/rk3399_ARM-atf/plat/qti/msm8916/sp_min/msm8916_sp_min_setup.c
/rk3399_ARM-atf/plat/qti/msm8939/platform.mk
/rk3399_ARM-atf/plat/qti/msm8939/sp_min/sp_min-msm8939.mk
/rk3399_ARM-atf/plat/qti/msm8939/tsp/tsp-msm8939.mk
/rk3399_ARM-atf/plat/renesas/rcar/bl2_plat_setup.c
/rk3399_ARM-atf/plat/xilinx/common/include/plat_fdt.h
/rk3399_ARM-atf/plat/xilinx/common/include/plat_startup.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_ipi.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_node.h
/rk3399_ARM-atf/plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.c
/rk3399_ARM-atf/plat/xilinx/common/plat_fdt.c
/rk3399_ARM-atf/plat/xilinx/common/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/versal/aarch64/versal_helpers.S
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_ipi.h
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_pm_common.h
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/versal/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal/plat_versal.c
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_gicv3.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_ipi.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/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal_net/pm_service/pm_client.c
/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/plat_zynqmp.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ehf.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_sdei.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/tools/cert_create/Makefile
/rk3399_ARM-atf/tools/encrypt_fw/Makefile
/rk3399_ARM-atf/tools/fiptool/Makefile
83a4dae116-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 ...

c73686a115-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 ...

33815eb715-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 ...


/rk3399_ARM-atf/.versionrc.js
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2u/bl2u.ld.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl31/bl31_main.c
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/bl32/tsp/tsp_ffa_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/conf.py
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/design_documents/measured_boot_poc.rst
/rk3399_ARM-atf/docs/design_documents/psci_osi_mode.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/psci-lib-integration-guide.rst
/rk3399_ARM-atf/docs/getting_started/rt-svc-writers-guide.rst
/rk3399_ARM-atf/docs/index.rst
/rk3399_ARM-atf/docs/plat/arm/arm-build-options.rst
/rk3399_ARM-atf/docs/plat/arm/fvp/index.rst
/rk3399_ARM-atf/docs/plat/arm/juno/index.rst
/rk3399_ARM-atf/docs/plat/arm/tc/index.rst
/rk3399_ARM-atf/docs/plat/ast2700.rst
/rk3399_ARM-atf/docs/plat/index.rst
/rk3399_ARM-atf/docs/plat/qti-msm8916.rst
/rk3399_ARM-atf/docs/porting-guide.rst
/rk3399_ARM-atf/docs/process/coding-guidelines.rst
/rk3399_ARM-atf/docs/resources/diagrams/psci-osi-mode.png
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600_multichip.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gic600_multichip_private.h
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_helpers.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_crypto.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_x509_parser.c
aarch64/arch.h
/rk3399_ARM-atf/include/common/fdt_wrappers.h
/rk3399_ARM-atf/include/export/lib/utils_def_exp.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cpu_macros.S
/rk3399_ARM-atf/include/lib/cpus/aarch64/neoverse_hermes.h
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/lib/el3_runtime/context_mgmt.h
/rk3399_ARM-atf/include/lib/libc/string.h
/rk3399_ARM-atf/include/lib/psci/psci.h
/rk3399_ARM-atf/include/lib/smccc.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/services/el3_spmc_logical_sp.h
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a32.S
/rk3399_ARM-atf/lib/cpus/aarch32/cortex_a72.S
/rk3399_ARM-atf/lib/cpus/aarch64/dsu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/neoverse_hermes.S
/rk3399_ARM-atf/lib/cpus/aarch64/qemu_max.S
/rk3399_ARM-atf/lib/cpus/aarch64/rainier.S
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context_mgmt.c
/rk3399_ARM-atf/lib/libc/libc.mk
/rk3399_ARM-atf/lib/libc/memcpy_s.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_off.c
/rk3399_ARM-atf/lib/psci/psci_private.h
/rk3399_ARM-atf/lib/psci/psci_suspend.c
/rk3399_ARM-atf/make_helpers/armv7-a-cpus.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_el3_spmc_logical_sp.c
/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/fvp/jmptbl.i
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/board/juno/jmptbl.i
/rk3399_ARM-atf/plat/arm/board/morello/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/rdn2/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/rdn2/include/rdn2_ras.h
/rk3399_ARM-atf/plat/arm/board/rdn2/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn2/rdn2_plat.c
/rk3399_ARM-atf/plat/arm/board/rdn2/rdn2_ras.c
/rk3399_ARM-atf/plat/arm/board/rdn2/rdn2_security.c
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_base_platform_def.h
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_ras.h
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_soc_css_def_v2.h
/rk3399_ARM-atf/plat/arm/css/sgi/ras/sgi_ras_common.c
/rk3399_ARM-atf/plat/arm/css/sgi/ras/sgi_ras_sram.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi-common.mk
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_bl31_setup.c
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_plat_v2.c
/rk3399_ARM-atf/plat/aspeed/ast2700/include/plat_macros.S
/rk3399_ARM-atf/plat/aspeed/ast2700/include/platform_def.h
/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/plat_pm.c
/rk3399_ARM-atf/plat/aspeed/ast2700/plat_topology.c
/rk3399_ARM-atf/plat/aspeed/ast2700/platform.mk
/rk3399_ARM-atf/plat/common/aarch64/plat_ehf.c
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_sip_svc.h
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc_v2.c
/rk3399_ARM-atf/plat/qemu/common/qemu_sdei.c
/rk3399_ARM-atf/plat/qemu/qemu/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/sbsa_sip_svc.c
/rk3399_ARM-atf/plat/qti/common/src/qti_pm.c
/rk3399_ARM-atf/plat/qti/msm8916/aarch32/msm8916_helpers.S
/rk3399_ARM-atf/plat/qti/msm8916/aarch32/uartdm_console.S
/rk3399_ARM-atf/plat/qti/msm8916/aarch64/msm8916_helpers.S
/rk3399_ARM-atf/plat/qti/msm8916/include/msm8916_mmap.h
/rk3399_ARM-atf/plat/qti/msm8916/include/platform_def.h
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_bl31_setup.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_config.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_config.h
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_gicv2.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_gicv2.h
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_setup.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_setup.h
/rk3399_ARM-atf/plat/qti/msm8916/platform.mk
/rk3399_ARM-atf/plat/qti/msm8916/sp_min/msm8916_sp_min_setup.c
/rk3399_ARM-atf/plat/qti/msm8916/sp_min/sp_min-msm8916.mk
/rk3399_ARM-atf/plat/qti/msm8916/tsp/msm8916_tsp_setup.c
/rk3399_ARM-atf/plat/qti/msm8916/tsp/tsp-msm8916.mk
/rk3399_ARM-atf/plat/xilinx/common/include/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_common.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_defs.h
/rk3399_ARM-atf/plat/xilinx/common/ipi.c
/rk3399_ARM-atf/plat/xilinx/common/ipi_mailbox_service/ipi_mailbox_svc.c
/rk3399_ARM-atf/plat/xilinx/common/plat_startup.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_ipi.c
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/common/versal.c
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/versal/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_ipi.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/versal_net/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/versal_net/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_ipi.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/bl31_zynqmp_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_clock.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_ioctl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_api_pinctrl.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_defs.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_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/poetry.lock
/rk3399_ARM-atf/pyproject.toml
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc.h
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_pm.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
/rk3399_ARM-atf/tools/conventional-changelog-tf-a/index.js
/rk3399_ARM-atf/tools/memory/memory/buildparser.py
/rk3399_ARM-atf/tools/memory/memory/elfparser.py
/rk3399_ARM-atf/tools/memory/memory/mapparser.py
/rk3399_ARM-atf/tools/memory/memory/memmap.py
/rk3399_ARM-atf/tools/memory/memory/printer.py
c64681d008-Jun-2023 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge "feat(aarch64): add stack debug information to assembly routines" into integration

6e1ae30707-Jun-2023 Manish Pandey <manish.pandey2@arm.com>

Merge "fix(qemu): fix 32-bit builds with stack protector" into integration

e1c0a47206-Jun-2023 Manish Pandey <manish.pandey2@arm.com>

Merge changes from topic "dummy_feat_aa32" into integration

* changes:
feat(cpufeat): deny AArch64-only features when building for AArch32
feat(cpufeat): add AArch32 PAN detection support


/rk3399_ARM-atf/drivers/auth/cca/cot.c
/rk3399_ARM-atf/drivers/mtd/nand/spi_nand.c
/rk3399_ARM-atf/drivers/st/clk/clk-stm32mp13.c
/rk3399_ARM-atf/drivers/st/uart/aarch32/stm32_console.S
/rk3399_ARM-atf/fdts/stm32mp13-bl2.dtsi
/rk3399_ARM-atf/fdts/stm32mp13-pinctrl.dtsi
/rk3399_ARM-atf/fdts/stm32mp131.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-bl2.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-bl32.dtsi
/rk3399_ARM-atf/fdts/stm32mp15-pinctrl.dtsi
aarch32/arch.h
aarch32/arch_features.h
aarch32/arch_helpers.h
/rk3399_ARM-atf/include/drivers/spi_nand.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_a715.h
/rk3399_ARM-atf/include/tools_share/cca_oid.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a715.S
/rk3399_ARM-atf/make_helpers/tbbr/tbbr_tools.mk
/rk3399_ARM-atf/plat/arm/board/common/board_common.mk
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_trusted_boot.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/apusys_rv_mbox_mpu.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/apusys_rv/2.0/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/devapc/apusys_dapc_v1.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/devapc/apusys_dapc_v1.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/devapc/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_devapc.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_devapc.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_devapc_def.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_power.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_power.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_security_ctrl_plat.c
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_security_ctrl_plat.h
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/apusys/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/emi_mpu/emi_mpu.h
/rk3399_ARM-atf/plat/mediatek/drivers/emi_mpu/mt8188/emi_mpu.c
/rk3399_ARM-atf/plat/mediatek/drivers/emi_mpu/mt8188/emi_mpu_priv.h
/rk3399_ARM-atf/plat/mediatek/mt8188/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/common/qemu_bl31_setup.c
/rk3399_ARM-atf/plat/qemu/common/qemu_private.h
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/include/platform_def.h
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/sbsa_gic.c
/rk3399_ARM-atf/plat/qemu/qemu_sbsa/sbsa_sip_svc.c
/rk3399_ARM-atf/plat/st/common/stm32cubeprogrammer_uart.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_def.h
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_pm.c
/rk3399_ARM-atf/services/std_svc/errata_abi/cpu_errata_info.h
/rk3399_ARM-atf/services/std_svc/errata_abi/errata_abi_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
/rk3399_ARM-atf/tools/cert_create/include/cca/cca_cot.h
/rk3399_ARM-atf/tools/cert_create/include/ext.h
/rk3399_ARM-atf/tools/cert_create/src/cca/cot.c
/rk3399_ARM-atf/tools/fiptool/plat_fiptool/arm/board/juno/plat_fiptool.mk
f832885310-Mar-2023 Boyan Karatotev <boyan.karatotev@arm.com>

feat(aarch64): add stack debug information to assembly routines

Debugging assembly is painful as it is, and having no useful stack trace
does not help. Code must emit CFI directives whenever the sta

feat(aarch64): add stack debug information to assembly routines

Debugging assembly is painful as it is, and having no useful stack trace
does not help. Code must emit CFI directives whenever the stack moves to
enable stack traces. Otherwise, the layout of the stack frame is
ambiguous, the debugger gives up, and shows nothing. The compiler does
this automatically for C but not assembly.

Add this information to the (currently unused) func_prologue macro.

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

show more ...

bff074dd03-May-2023 Javier Almansa Sobrino <javier.almansasobrino@arm.com>

feat(xlat): detect 4KB and 16KB page support when FEAT_LPA2 is present

At the moment, TF-A does not need to access VAs or PAs larger than
48 bits, so this patch just enables proper detection of supp

feat(xlat): detect 4KB and 16KB page support when FEAT_LPA2 is present

At the moment, TF-A does not need to access VAs or PAs larger than
48 bits, so this patch just enables proper detection of support
for 4KB and 16KB granularity with 52 bits address support.

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: Iccebbd5acc21f09dbb234ef21a802300e290ec18

show more ...


/rk3399_ARM-atf/.versionrc.js
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/bl1.ld.S
/rk3399_ARM-atf/bl1/bl1_main.c
/rk3399_ARM-atf/bl2/bl2.ld.S
/rk3399_ARM-atf/bl2/bl2.mk
/rk3399_ARM-atf/bl2/bl2_el3.ld.S
/rk3399_ARM-atf/bl2u/bl2u.ld.S
/rk3399_ARM-atf/bl31/bl31.ld.S
/rk3399_ARM-atf/bl32/sp_min/sp_min.ld.S
/rk3399_ARM-atf/bl32/tsp/tsp.ld.S
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/index.rst
/rk3399_ARM-atf/docs/process/code-review-guidelines.rst
/rk3399_ARM-atf/docs/process/index.rst
/rk3399_ARM-atf/docs/process/maintenance.rst
/rk3399_ARM-atf/docs/tools/index.rst
/rk3399_ARM-atf/docs/tools/memory-layout-tool.rst
aarch64/arch.h
aarch64/arch_features.h
/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/cpus/cpu_ops.h
/rk3399_ARM-atf/include/lib/cpus/errata.h
/rk3399_ARM-atf/include/lib/psa/measured_boot.h
/rk3399_ARM-atf/lib/cpus/aarch32/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a53.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/dsu_helpers.S
/rk3399_ARM-atf/lib/cpus/errata_report.c
/rk3399_ARM-atf/lib/psa/measured_boot.c
/rk3399_ARM-atf/lib/psci/psci_setup.c
/rk3399_ARM-atf/lib/xlat_tables_v2/aarch64/xlat_tables_arch.c
/rk3399_ARM-atf/plat/arm/board/fvp_r/fvp_r_bl1_main.c
/rk3399_ARM-atf/plat/arm/board/fvp_r/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/fdts/tc_spmc_optee_sp_manifest.dts
/rk3399_ARM-atf/poetry.lock
/rk3399_ARM-atf/pyproject.toml
/rk3399_ARM-atf/services/arm_arch_svc/arm_arch_svc_setup.c
/rk3399_ARM-atf/tools/memory/__init__.py
/rk3399_ARM-atf/tools/memory/memory/__init__.py
/rk3399_ARM-atf/tools/memory/memory/buildparser.py
/rk3399_ARM-atf/tools/memory/memory/elfparser.py
/rk3399_ARM-atf/tools/memory/memory/memmap.py
/rk3399_ARM-atf/tools/memory/memory/printer.py
007433d825-Jan-2023 Boyan Karatotev <boyan.karatotev@arm.com>

refactor(cpus): move cpu_ops field defines to a header

The cpu_macros.S file is loaded with lots of definitions for the cpu_ops
structure. However, since they are defined as .equ directives they are

refactor(cpus): move cpu_ops field defines to a header

The cpu_macros.S file is loaded with lots of definitions for the cpu_ops
structure. However, since they are defined as .equ directives they are
inaccessible for C code. Convert them to #defines, put them into order,
refactor them for readability, and extract them to a separate file to
make this possible.

This has the benefit of removing some Aarch differences and a lot of
duplicate code.

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

show more ...


/rk3399_ARM-atf/.readthedocs.yaml
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl1/aarch64/bl1_exceptions.S
/rk3399_ARM-atf/bl31/aarch64/ea_delegate.S
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/bl32/tsp/tsp_main.c
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/features.rst
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/docs/change-log.md
/rk3399_ARM-atf/docs/components/rmm-el3-comms-spec.rst
/rk3399_ARM-atf/docs/components/secure-partition-manager.rst
/rk3399_ARM-atf/docs/design/firmware-design.rst
/rk3399_ARM-atf/docs/getting_started/prerequisites.rst
/rk3399_ARM-atf/docs/perf/index.rst
/rk3399_ARM-atf/docs/perf/psci-performance-instr.rst
/rk3399_ARM-atf/docs/perf/psci-performance-juno.rst
/rk3399_ARM-atf/docs/perf/psci-performance-methodology.rst
/rk3399_ARM-atf/docs/perf/psci-performance-n1sdp.rst
/rk3399_ARM-atf/docs/threat_model/threat_model_spm.rst
/rk3399_ARM-atf/drivers/st/crypto/stm32_pka.c
aarch32/asm_macros.S
/rk3399_ARM-atf/include/lib/coreboot.h
/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/cpus/cpu_ops.h
/rk3399_ARM-atf/include/plat/arm/common/arm_def.h
/rk3399_ARM-atf/include/services/el3_spmc_ffa_memory.h
/rk3399_ARM-atf/include/services/rmmd_svc.h
/rk3399_ARM-atf/lib/compiler-rt/builtins/assembly.h
/rk3399_ARM-atf/lib/compiler-rt/builtins/int_types.h
/rk3399_ARM-atf/lib/coreboot/coreboot_table.c
/rk3399_ARM-atf/lib/cpus/aarch32/cpu_helpers.S
/rk3399_ARM-atf/lib/cpus/aarch64/cpu_helpers.S
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/libc/printf.c
/rk3399_ARM-atf/lib/libc/snprintf.c
/rk3399_ARM-atf/lib/libfdt/fdt.c
/rk3399_ARM-atf/lib/psci/psci_common.c
/rk3399_ARM-atf/lib/psci/psci_on.c
/rk3399_ARM-atf/package-lock.json
/rk3399_ARM-atf/package.json
/rk3399_ARM-atf/plat/arm/board/arm_fpga/platform.mk
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/morello/morello_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/morello/morello_pm.c
/rk3399_ARM-atf/plat/arm/board/morello/morello_private.h
/rk3399_ARM-atf/plat/arm/board/morello/platform.mk
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_bl31_setup.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_pm.c
/rk3399_ARM-atf/plat/arm/board/n1sdp/n1sdp_private.h
/rk3399_ARM-atf/plat/arm/board/n1sdp/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/include/tc_plat.h
/rk3399_ARM-atf/plat/arm/board/tc/nv_counter_test.c
/rk3399_ARM-atf/plat/arm/board/tc/platform.mk
/rk3399_ARM-atf/plat/arm/board/tc/rss_ap_tests.c
/rk3399_ARM-atf/plat/arm/board/tc/tc_bl31_setup.c
/rk3399_ARM-atf/plat/brcm/board/stingray/include/scp_cmd.h
/rk3399_ARM-atf/plat/hisilicon/hikey960/hikey960_bl31_setup.c
/rk3399_ARM-atf/plat/intel/soc/agilex/include/agilex_memory_controller.h
/rk3399_ARM-atf/plat/intel/soc/agilex/include/agilex_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/agilex/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/agilex/soc/agilex_clock_manager.c
/rk3399_ARM-atf/plat/intel/soc/agilex/soc/agilex_pinmux.c
/rk3399_ARM-atf/plat/intel/soc/common/aarch64/plat_helpers.S
/rk3399_ARM-atf/plat/intel/soc/common/drivers/ccu/ncore_ccu.c
/rk3399_ARM-atf/plat/intel/soc/common/include/platform_def.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_fcs.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_mailbox.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_sip_svc.h
/rk3399_ARM-atf/plat/intel/soc/common/include/socfpga_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_ecc.c
/rk3399_ARM-atf/plat/intel/soc/common/sip/socfpga_sip_fcs.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_emac.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_handoff.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_mailbox.c
/rk3399_ARM-atf/plat/intel/soc/common/soc/socfpga_reset_manager.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_psci.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_sip_svc.c
/rk3399_ARM-atf/plat/intel/soc/common/socfpga_storage.c
/rk3399_ARM-atf/plat/intel/soc/n5x/include/n5x_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/n5x/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/intel/soc/n5x/soc/n5x_clock_manager.c
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/s10_clock_manager.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/s10_system_manager.h
/rk3399_ARM-atf/plat/intel/soc/stratix10/include/socfpga_plat_def.h
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t210/plat_sip_calls.c
/rk3399_ARM-atf/plat/qemu/common/qemu_common.c
/rk3399_ARM-atf/plat/qti/msm8916/aarch64/msm8916_helpers.S
/rk3399_ARM-atf/plat/qti/msm8916/aarch64/uartdm_console.S
/rk3399_ARM-atf/plat/qti/msm8916/include/msm8916_mmap.h
/rk3399_ARM-atf/plat/qti/msm8916/include/platform_def.h
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_bl31_setup.c
/rk3399_ARM-atf/plat/qti/msm8916/msm8916_pm.c
/rk3399_ARM-atf/plat/qti/msm8916/platform.mk
/rk3399_ARM-atf/plat/ti/k3/common/k3_bl31_setup.c
/rk3399_ARM-atf/plat/xilinx/common/include/plat_common.h
/rk3399_ARM-atf/plat/xilinx/common/include/pm_api_sys.h
/rk3399_ARM-atf/plat/xilinx/common/pm_service/pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/common/versal.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_ipi.h
/rk3399_ARM-atf/plat/xilinx/versal/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/versal/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/versal/include/versal_def.h
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_ipi.c
/rk3399_ARM-atf/plat/xilinx/versal_net/aarch64/versal_net_common.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/plat_ipi.h
/rk3399_ARM-atf/plat/xilinx/versal_net/include/platform_def.h
/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/versal_net/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/versal_net/versal_net_ipi.c
/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_ipi.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/plat_private.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/platform_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/include/zynqmp_def.h
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/pm_client.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.c
/rk3399_ARM-atf/pyproject.toml
/rk3399_ARM-atf/services/spd/opteed/opteed.mk
/rk3399_ARM-atf/services/spd/opteed/opteed_main.c
/rk3399_ARM-atf/services/std_svc/spm/el3_spmc/spmc_shared_mem.c
/rk3399_ARM-atf/tools/conventional-changelog-tf-a/package.json
e57ca89923-May-2023 Andre Przywara <andre.przywara@arm.com>

fix(qemu): fix 32-bit builds with stack protector

When using the ENABLE_STACK_PROTECTOR=strong build option, the QEMU code
will try to use the RNDR CPU instructions to initialise the stack
canary. S

fix(qemu): fix 32-bit builds with stack protector

When using the ENABLE_STACK_PROTECTOR=strong build option, the QEMU code
will try to use the RNDR CPU instructions to initialise the stack
canary. Since the instructions are defined for AArch64 only, this will
fail to build for AArch32.

And even though we now always return "false" when asked about the
availability of the RNDR instruction, the compiler will still leave the
reference to read_rdnr() in, if optimisations are turned off (-O0).

Avoid this by providing a dummy read_rndr() implementation, that makes
the linker happy in any case.

This fixes the QEMU build for AArch32 with ENABLE_STACK_PROTECTOR=strong

Change-Id: Ibf450ba4a46167fdf3a14a527d338350ced8b5ba
Signed-off-by: Andre Przywara <andre.przywara@arm.com>

show more ...

733d112f23-May-2023 Andre Przywara <andre.przywara@arm.com>

feat(cpufeat): deny AArch64-only features when building for AArch32

Many newer architecture features are defined for AArch64 only, so cannot
be used in an AArch32 build.

To avoid #ifdef-ing every s

feat(cpufeat): deny AArch64-only features when building for AArch32

Many newer architecture features are defined for AArch64 only, so cannot
be used in an AArch32 build.

To avoid #ifdef-ing every single user, just provide trivial
implementations of the feature check functions is_feat_xxx_supported(),
which always return "false" in AArch32. The compiler will then optimise
out the dependent code automatically.

Change-Id: I1e7d653fca0e676a11858efd953c2d623f2d5c9e
Signed-off-by: Andre Przywara <andre.przywara@arm.com>

show more ...

12345678910>>...15