History log of /rk3399_ARM-atf/include/ (Results 1251 – 1275 of 3957)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
e3df3ffa01-Feb-2023 Soby Mathew <soby.mathew@arm.com>

Merge changes I1b092bc1,Ifc2461b4,I5176caa5 into integration

* changes:
docs(rme): update RMM-EL3 Boot Manifest structure description
feat(rme): read DRAM information from FVP DTB
feat(rme): s

Merge changes I1b092bc1,Ifc2461b4,I5176caa5 into integration

* changes:
docs(rme): update RMM-EL3 Boot Manifest structure description
feat(rme): read DRAM information from FVP DTB
feat(rme): set DRAM information in Boot Manifest platform data

show more ...

05c69cf703-Oct-2022 Jeffrey Kardatzke <jkardatzke@google.com>

feat(optee): add loading OP-TEE image via an SMC

This adds the ability to load the OP-TEE image via an SMC called from
non-secure userspace rather than loading it during boot. This should
only be ut

feat(optee): add loading OP-TEE image via an SMC

This adds the ability to load the OP-TEE image via an SMC called from
non-secure userspace rather than loading it during boot. This should
only be utilized on platforms that can ensure security is maintained up
until the point the SMC is invoked as it breaks the normal barrier
between the secure and non-secure world.

Signed-off-by: Jeffrey Kardatzke <jkardatzke@google.com>
Change-Id: I21cfa9699617c493fa4190f01d1cbb714e7449cc

show more ...

8268590429-Dec-2022 AlexeiFedorov <Alexei.Fedorov@arm.com>

feat(rme): read DRAM information from FVP DTB

This patch builds on the previous patch by implementing
support for reading NS DRAM layout of FVP model from
HW_CONFIG Device tree.

Macro _RMMD_MANIFES

feat(rme): read DRAM information from FVP DTB

This patch builds on the previous patch by implementing
support for reading NS DRAM layout of FVP model from
HW_CONFIG Device tree.

Macro _RMMD_MANIFEST_VERSION is renamed to
SET_RMMD_MANIFEST_VERSION to suppress MISRA-C
"rule MC3R1.D4.5: (advisory) Identifiers in
the same name space with overlapping visibility
should be typographically unambiguous" warning

Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
Change-Id: Ifc2461b4441a1efdd4b7c656ab4d15e62479f77b

show more ...

aa61ff6c24-Jan-2023 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

Merge changes from topic "fix_misra_partition_mmc" into integration

* changes:
fix(mmc): align part config type
fix(mmc): do not modify r_data in mmc_send_cmd()
fix(mmc): explicitly check oper

Merge changes from topic "fix_misra_partition_mmc" into integration

* changes:
fix(mmc): align part config type
fix(mmc): do not modify r_data in mmc_send_cmd()
fix(mmc): explicitly check operators precedence
fix(partition): add U suffix for unsigned numbers
fix(partition): add missing curly braces

show more ...

ed80440611-Nov-2022 Rohit Mathew <rohit.mathew@arm.com>

fix(mpam): run-time checks for mpam save/restore routines

With "ENABLE_MPAM_FOR_LOWER_ELS" and "CTX_INCLUDE_EL2_REGS" build
options enabled, MPAM EL2 registers would be saved/restored as part of
con

fix(mpam): run-time checks for mpam save/restore routines

With "ENABLE_MPAM_FOR_LOWER_ELS" and "CTX_INCLUDE_EL2_REGS" build
options enabled, MPAM EL2 registers would be saved/restored as part of
context management. Context save/restore routines as of now would
proceed to access all of MPAM EL2 registers without any runtime checks.
MPAM specification states that MPAMHCR_EL2 should only be accessed if
MPAMIDR_EL1.HAS_HCR is "1". Likewise, MPAMIDR_EL1.VPMR_MAX has to be
probed to obtain the maximum supported MPAMVPM<x>_EL2 before accessing
corresponding MPAMVPM<x>_EL2 registers. Since runtime checks are not
being made, an exception would be raised if the platform under test
doesn't support one of the registers. On Neoverse reference design
platforms, an exception is being raised while MPAMVPM2_EL2 or above are
accessed. Neoverse reference design platforms support only registers
till MPAMVPM1_EL2 at this point.

To resolve this, add sufficient runtime checks in MPAM EL2 context
save/restore routines. As part of the new save/restore routines,
MPAMIDR_EL1.HAS_HCR and MPAMIDR_EL1.VPMR_MAX are probed for the right
set of registers to be saved and restored.

CC: Davidson Kumaresan <davidson.kumaresan@arm.com>
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I2e3affd23091023b287b2bd5057a4a549037b611

show more ...

982f8e1920-Jan-2023 Bipin Ravi <bipin.ravi@arm.com>

Merge changes from topic "srm/errata" into integration

* changes:
fix(cpus): workaround for Neoverse V1 errata 2779461
fix(cpus): workaround for Cortex-A78 erratum 2779479

acf455b420-Jan-2023 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

Merge changes from topic "fix_sparse_warnings" into integration

* changes:
fix(libc): remove __putchar alias
fix(console): correct scopes for console symbols
fix(auth): use NULL instead of 0 f

Merge changes from topic "fix_sparse_warnings" into integration

* changes:
fix(libc): remove __putchar alias
fix(console): correct scopes for console symbols
fix(auth): use NULL instead of 0 for pointer check
fix(io): compare function pointers with NULL
fix(fdt-wrappers): use correct prototypes

show more ...

2757da0611-Jan-2023 Sona Mathew <SonaRebecca.Mathew@arm.com>

fix(cpus): workaround for Neoverse V1 errata 2779461

Neoverse V1 erratum 2779461 is a Cat B erratum that applies to
all revisions <=r1p2 and is still open.

The workaround sets CPUACTLR3_EL1[47] bit

fix(cpus): workaround for Neoverse V1 errata 2779461

Neoverse V1 erratum 2779461 is a Cat B erratum that applies to
all revisions <=r1p2 and is still open.

The workaround sets CPUACTLR3_EL1[47] bit to 1. Setting this
bit might have a small impact on power and negligible impact
on performance.

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

Change-Id: I367cda1779684638063d7292fda20ca6734e6f10
Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>

show more ...

7d1700c411-Jan-2023 Sona Mathew <SonaRebecca.Mathew@arm.com>

fix(cpus): workaround for Cortex-A78 erratum 2779479

Cortex-A78 erratum 2779479 is a Cat B erratum that applies to
all revisions <= r1p2 and is still open.

The workaround is to set the CPUACTLR3_EL

fix(cpus): workaround for Cortex-A78 erratum 2779479

Cortex-A78 erratum 2779479 is a Cat B erratum that applies to
all revisions <= r1p2 and is still open.

The workaround is to set the CPUACTLR3_EL1[47] bit to 1. Setting this
bit might have a small impact on power and negligible impact
on performance.

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

Change-Id: I3779fd1eff3017c5961ffa101b357918070b3b36
Signed-off-by: Sona Mathew <SonaRebecca.Mathew@arm.com>

show more ...


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/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/porting-guide.rst
/rk3399_ARM-atf/docs/process/security-hardening.rst
/rk3399_ARM-atf/docs/security_advisories/index.rst
/rk3399_ARM-atf/docs/security_advisories/security-advisory-tfv-10.rst
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_x509_parser.c
/rk3399_ARM-atf/drivers/brcm/emmc/emmc_csl_sdcard.c
/rk3399_ARM-atf/drivers/brcm/emmc/emmc_pboot_hal_memory_drv.c
/rk3399_ARM-atf/drivers/imx/usdhc/imx_usdhc.c
/rk3399_ARM-atf/drivers/nxp/ddr/nxp-ddr/ddr.c
/rk3399_ARM-atf/drivers/nxp/ddr/phy-gen2/messages.h
/rk3399_ARM-atf/drivers/renesas/common/emmc/emmc_cmd.c
/rk3399_ARM-atf/drivers/renesas/common/rom/rom_api.c
/rk3399_ARM-atf/drivers/renesas/common/rom/rom_api.h
/rk3399_ARM-atf/drivers/st/usb/stm32mp1_usb.c
lib/cpus/aarch64/cortex_a78.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a78.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x2.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/libc/snprintf.c
/rk3399_ARM-atf/plat/arm/board/rdn2/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/rdn2/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn2/rdn2_topology.c
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_variant.h
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_bl31_setup.c
/rk3399_ARM-atf/plat/imx/common/imx_sip_handler.c
/rk3399_ARM-atf/plat/imx/imx8qm/imx8qm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8qm/imx8qm_psci.c
/rk3399_ARM-atf/plat/imx/imx8qx/imx8qx_psci.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_smc_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_memctrl.c
/rk3399_ARM-atf/plat/nxp/common/psci/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/common/ipi.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_ipi.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/versal_net_def.h
/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/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
344e5e8119-Jan-2023 Manish Pandey <manish.pandey2@arm.com>

Merge changes from topic "feat_state_rework" into integration

* changes:
feat(fvp): enable FEAT_HCX by default
refactor(context-mgmt): move FEAT_HCX save/restore into C
refactor(cpufeat): conv

Merge changes from topic "feat_state_rework" into integration

* changes:
feat(fvp): enable FEAT_HCX by default
refactor(context-mgmt): move FEAT_HCX save/restore into C
refactor(cpufeat): convert FEAT_HCX to new scheme
feat(fvp): enable FEAT_FGT by default
refactor(context-mgmt): move FEAT_FGT save/restore code into C
refactor(amu): convert FEAT_AMUv1 to new scheme
refactor(cpufeat): decouple FGT feature detection and build flags
refactor(cpufeat): check FEAT_FGT in a new way
refactor(cpufeat): move helpers into .c file, rename FEAT_STATE_
feat(aarch64): make ID system register reads non-volatile

show more ...

5c5ea61618-Jan-2023 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

Merge "fix: add parenthesis for tests in MIN, MAX and CLAMP macros" into integration


/rk3399_ARM-atf/fdts/stm32mp151.dtsi
/rk3399_ARM-atf/fdts/stm32mp157c-ed1.dts
lib/utils_def.h
/rk3399_ARM-atf/plat/mediatek/build_helpers/options.mk
/rk3399_ARM-atf/plat/mediatek/common/lpm/mt_lp_api.c
/rk3399_ARM-atf/plat/mediatek/common/lpm/mt_lp_rm.c
/rk3399_ARM-atf/plat/mediatek/common/lpm/mt_lp_rq.c
/rk3399_ARM-atf/plat/mediatek/common/lpm/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv3_2/mt_cpu_pm.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/mt_spm_rc_api.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/mt_spm_rc_api.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/mt_spm_rc_bus26m.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/mt_spm_rc_cpu_buck_ldo.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/mt_spm_rc_dram.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/mt_spm_rc_internal.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/mt_spm_rc_syspll.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_cond.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_cond.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_conservation.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_conservation.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_constraint.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_idle.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_idle.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_internal.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_internal.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_pmic_wrap.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_pmic_wrap.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_reg.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_suspend.c
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/mt_spm_suspend.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/pcm_def.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/sleep_def.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/rules.mk
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/notifier/inc/mt_spm_notifier.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/notifier/v1/mt_spm_sspm_intc.h
/rk3399_ARM-atf/plat/mediatek/drivers/spm/version/notifier/v1/mt_spm_sspm_notifier.c
/rk3399_ARM-atf/plat/mediatek/drivers/usb/mt8188/mt_usb.c
/rk3399_ARM-atf/plat/mediatek/drivers/usb/rules.mk
/rk3399_ARM-atf/plat/mediatek/include/drivers/spm/mt_spm_resource_req.h
/rk3399_ARM-atf/plat/mediatek/include/lpm/mt_lp_api.h
/rk3399_ARM-atf/plat/mediatek/include/lpm/mt_lp_rm.h
/rk3399_ARM-atf/plat/mediatek/include/lpm/mt_lp_rq.h
/rk3399_ARM-atf/plat/mediatek/include/lpm/mt_lp_rqm.h
/rk3399_ARM-atf/plat/mediatek/include/lpm/mt_lpm_smc.h
/rk3399_ARM-atf/plat/mediatek/mt8186/drivers/spm/mt_spm_cond.c
/rk3399_ARM-atf/plat/mediatek/mt8186/drivers/spm/mt_spm_cond.h
/rk3399_ARM-atf/plat/mediatek/mt8186/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8188/include/platform_def.h
/rk3399_ARM-atf/plat/mediatek/mt8188/plat_config.mk
/rk3399_ARM-atf/plat/mediatek/mt8188/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8192/drivers/spm/mt_spm_cond.c
/rk3399_ARM-atf/plat/mediatek/mt8192/drivers/spm/mt_spm_cond.h
/rk3399_ARM-atf/plat/mediatek/mt8192/platform.mk
/rk3399_ARM-atf/plat/mediatek/mt8195/drivers/spm/mt_spm_cond.c
/rk3399_ARM-atf/plat/mediatek/mt8195/drivers/spm/mt_spm_cond.h
/rk3399_ARM-atf/plat/mediatek/mt8195/platform.mk
/rk3399_ARM-atf/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
a97bfa5f14-Dec-2022 AlexeiFedorov <Alexei.Fedorov@arm.com>

feat(rme): set DRAM information in Boot Manifest platform data

This patch adds support for setting configuration of DRAM banks
for FVP model in RMM-EL3 Boot Manifest structure.
Structure 'rmm_manife

feat(rme): set DRAM information in Boot Manifest platform data

This patch adds support for setting configuration of DRAM banks
for FVP model in RMM-EL3 Boot Manifest structure.
Structure 'rmm_manifest' is extended with 'plat_dram' structure
which contains information about platform's DRAM layout:
- number of DRAM banks;
- pointer to 'dram_bank[]' array;
- check sum: two's complement 64-bit value of the sum of
data in 'plat_dram' and 'dram_bank[] array.
Each 'dram_bank' structure holds information about DRAM
bank base address and its size. This values must be aligned
to 4KB page size.
The patch increases Boot Manifest minor version to 2 and
removes 'typedef rmm_manifest_t' as per
"3.4.15.1. Avoid anonymous typedefs of structs/enums in headers" of
https://trustedfirmware-a.readthedocs.io/en/latest/process/coding-style.html

Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
Change-Id: I5176caa5780e27d1e0daeb5dea3e40cf6ad5fd12

show more ...

0185523916-Jan-2023 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

Merge changes from topic "ti-k3-checks-and-refactor" into integration

* changes:
fix(ti): fix typo in boot authentication message name
refactor(ti): remove empty validate_ns_entrypoint function

Merge changes from topic "ti-k3-checks-and-refactor" into integration

* changes:
fix(ti): fix typo in boot authentication message name
refactor(ti): remove empty validate_ns_entrypoint function
refactor(ti): use console_set_scope() rather than empty function hack
refactor(ti): factor out common board code into common files
feat(ti): add PSCI system_off support
feat(ti): do not handle EAs in EL3
feat(ti): set snoop-delayed exclusive handling on A72 cores
feat(ti): disable L2 dataless UniqueClean evictions
feat(ti): set L2 cache ECC and and parity on A72 cores
feat(ti): set L2 cache data ram latency on A72 cores to 4 cycles

show more ...

7f31629d16-Jan-2023 Manish Pandey <manish.pandey2@arm.com>

Merge changes from topic "deprecate_io_drivers" into integration

* changes:
refactor(st): remove unused io_mmc driver
docs: deprecate io_dummy driver


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/bl31/aarch64/runtime_exceptions.S
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/about/release-information.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/getting_started/porting-guide.rst
/rk3399_ARM-atf/docs/process/security-hardening.rst
/rk3399_ARM-atf/docs/security_advisories/index.rst
/rk3399_ARM-atf/docs/security_advisories/security-advisory-tfv-10.rst
/rk3399_ARM-atf/drivers/auth/auth_mod.c
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_x509_parser.c
/rk3399_ARM-atf/drivers/brcm/emmc/emmc_csl_sdcard.c
/rk3399_ARM-atf/drivers/brcm/emmc/emmc_pboot_hal_memory_drv.c
/rk3399_ARM-atf/drivers/imx/usdhc/imx_usdhc.c
/rk3399_ARM-atf/drivers/nxp/ddr/nxp-ddr/ddr.c
/rk3399_ARM-atf/drivers/nxp/ddr/phy-gen2/messages.h
/rk3399_ARM-atf/drivers/renesas/common/emmc/emmc_cmd.c
/rk3399_ARM-atf/drivers/renesas/common/rom/rom_api.c
/rk3399_ARM-atf/drivers/renesas/common/rom/rom_api.h
/rk3399_ARM-atf/drivers/st/usb/stm32mp1_usb.c
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x2.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/el3_runtime/aarch64/context.S
/rk3399_ARM-atf/lib/libc/snprintf.c
/rk3399_ARM-atf/plat/arm/board/rdn2/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/rdn2/platform.mk
/rk3399_ARM-atf/plat/arm/board/rdn2/rdn2_topology.c
/rk3399_ARM-atf/plat/arm/css/sgi/include/sgi_variant.h
/rk3399_ARM-atf/plat/arm/css/sgi/sgi_bl31_setup.c
/rk3399_ARM-atf/plat/imx/common/imx_sip_handler.c
/rk3399_ARM-atf/plat/imx/imx8qm/imx8qm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8qm/imx8qm_psci.c
/rk3399_ARM-atf/plat/imx/imx8qx/imx8qx_psci.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_smc_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_memctrl.c
/rk3399_ARM-atf/plat/nxp/common/psci/plat_psci.c
/rk3399_ARM-atf/plat/st/common/bl2_io_storage.c
/rk3399_ARM-atf/plat/st/common/include/stm32mp_common.h
/rk3399_ARM-atf/plat/st/common/stm32mp_common.c
/rk3399_ARM-atf/plat/st/common/stm32mp_gic.c
/rk3399_ARM-atf/plat/st/stm32mp1/bl2_plat_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/include/stm32mp1_private.h
/rk3399_ARM-atf/plat/st/stm32mp1/platform.mk
/rk3399_ARM-atf/plat/st/stm32mp1/sp_min/sp_min-stm32mp1.mk
/rk3399_ARM-atf/plat/st/stm32mp1/sp_min/sp_min_setup.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_def.h
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_pm.c
/rk3399_ARM-atf/plat/st/stm32mp1/stm32mp1_private.c
/rk3399_ARM-atf/plat/xilinx/common/ipi.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_ipi.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/versal_net_def.h
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/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/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
5668db7212-Jan-2023 Andrew Davis <afd@ti.com>

feat(ti): set snoop-delayed exclusive handling on A72 cores

Snoop requests should not be responded to during atomic operations. This
can be handled by the interconnect using its global monitor or by

feat(ti): set snoop-delayed exclusive handling on A72 cores

Snoop requests should not be responded to during atomic operations. This
can be handled by the interconnect using its global monitor or by the
core's SCU delaying to check for the corresponding atomic monitor state.

TI SoCs take the second approach. Set the snoop-delayed exclusive handling
bit to inform the core it needs to delay responses to perform this check.

As J784s4 is currently the only SoC with multiple A72 clusters, limit
this delay to only that device.

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I875f64e4f53d47a9a0ccbf3415edc565be7f84d9

show more ...

81858a3510-Jan-2023 Andrew Davis <afd@ti.com>

feat(ti): set L2 cache ECC and and parity on A72 cores

The Cortex-A72 based cores on K3 platforms have cache ECC and
parity protection, enable these.

Signed-off-by: Andrew Davis <afd@ti.com>
Change

feat(ti): set L2 cache ECC and and parity on A72 cores

The Cortex-A72 based cores on K3 platforms have cache ECC and
parity protection, enable these.

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: Icd00bc4aa9c1c48f0fb2a10ea66e75e0b146ef3c

show more ...

aee2f33a10-Jan-2023 Andrew Davis <afd@ti.com>

feat(ti): set L2 cache data ram latency on A72 cores to 4 cycles

The Cortex-A72 based cores on K3 platforms can be clocked fast
enough that an extra latency cycle is needed to ensure correct
L2 acce

feat(ti): set L2 cache data ram latency on A72 cores to 4 cycles

The Cortex-A72 based cores on K3 platforms can be clocked fast
enough that an extra latency cycle is needed to ensure correct
L2 access. Set the latency here for all A72 cores.

Signed-off-by: Andrew Davis <afd@ti.com>
Change-Id: I639091dd0d2de09572bf0f73ac404e306e336883

show more ...


/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/porting-guide.rst
/rk3399_ARM-atf/docs/process/security-hardening.rst
/rk3399_ARM-atf/drivers/brcm/emmc/emmc_csl_sdcard.c
/rk3399_ARM-atf/drivers/brcm/emmc/emmc_pboot_hal_memory_drv.c
/rk3399_ARM-atf/drivers/imx/usdhc/imx_usdhc.c
/rk3399_ARM-atf/drivers/nxp/ddr/nxp-ddr/ddr.c
/rk3399_ARM-atf/drivers/nxp/ddr/phy-gen2/messages.h
/rk3399_ARM-atf/drivers/renesas/common/emmc/emmc_cmd.c
/rk3399_ARM-atf/drivers/renesas/common/rom/rom_api.c
/rk3399_ARM-atf/drivers/renesas/common/rom/rom_api.h
/rk3399_ARM-atf/drivers/st/usb/stm32mp1_usb.c
lib/cpus/aarch32/cortex_a72.h
lib/cpus/aarch64/cortex_a72.h
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_a710.S
/rk3399_ARM-atf/lib/cpus/aarch64/cortex_x2.S
/rk3399_ARM-atf/lib/cpus/cpu-ops.mk
/rk3399_ARM-atf/lib/libc/snprintf.c
/rk3399_ARM-atf/plat/imx/common/imx_sip_handler.c
/rk3399_ARM-atf/plat/imx/imx8qm/imx8qm_bl31_setup.c
/rk3399_ARM-atf/plat/imx/imx8qm/imx8qm_psci.c
/rk3399_ARM-atf/plat/imx/imx8qx/imx8qx_psci.c
/rk3399_ARM-atf/plat/mediatek/common/mtk_smc_handlers.c
/rk3399_ARM-atf/plat/nvidia/tegra/soc/t186/plat_memctrl.c
/rk3399_ARM-atf/plat/nxp/common/psci/plat_psci.c
/rk3399_ARM-atf/plat/ti/k3/board/j784s4/board.mk
/rk3399_ARM-atf/plat/ti/k3/common/k3_helpers.S
/rk3399_ARM-atf/plat/xilinx/common/ipi.c
/rk3399_ARM-atf/plat/xilinx/versal/bl31_versal_setup.c
/rk3399_ARM-atf/plat/xilinx/versal/versal_ipi.c
/rk3399_ARM-atf/plat/xilinx/versal_net/include/versal_net_def.h
/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/zynqmp/pm_service/pm_svc_main.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/zynqmp_ipi.c
/rk3399_ARM-atf/services/std_svc/spmd/spmd_main.c
c5a3ebbd15-Nov-2022 Andre Przywara <andre.przywara@arm.com>

refactor(context-mgmt): move FEAT_HCX save/restore into C

At the moment we save and restore the HCRX_EL2 register in assembly, and
just depend on the build time flags.
To allow runtime checking, and

refactor(context-mgmt): move FEAT_HCX save/restore into C

At the moment we save and restore the HCRX_EL2 register in assembly, and
just depend on the build time flags.
To allow runtime checking, and to avoid too much code in assembly, move
that over to C, and use the new combined build/runtime feature check.

This also allows to drop the assert, since this should now be covered by
the different FEAT_STATE_x options.

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

show more ...

d242128c15-Nov-2022 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): convert FEAT_HCX to new scheme

Use the generic check function in feat_detect.c, and split the feature
check into two functions, as done for FEAT_FGT before.

Signed-off-by: Andre

refactor(cpufeat): convert FEAT_HCX to new scheme

Use the generic check function in feat_detect.c, and split the feature
check into two functions, as done for FEAT_FGT before.

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

show more ...

bb7b85a310-Nov-2022 Andre Przywara <andre.przywara@arm.com>

refactor(context-mgmt): move FEAT_FGT save/restore code into C

At the moment we do the EL2 context save/restore sequence in assembly,
where it is just guarded by #ifdef statement for the build time

refactor(context-mgmt): move FEAT_FGT save/restore code into C

At the moment we do the EL2 context save/restore sequence in assembly,
where it is just guarded by #ifdef statement for the build time flags.
This does not cover the FEAT_STATE_CHECK case, where we need to check
for the runtime availability of a feature.

To simplify this extension, and to avoid writing too much code in
assembly, move that sequence into C: it is called from C context
anyways.

This protects the C code with the new version of the is_xxx_present()
check, which combines both build time and runtime check, as necessary,
and allows the compiler to optimise the calls aways, if we don't need
them.

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

show more ...

f0deb4c810-Nov-2022 Andre Przywara <andre.przywara@arm.com>

refactor(amu): convert FEAT_AMUv1 to new scheme

For the FGT context save/restore operation, we need to look at the AMUv1
feature, so migrate this one over to the new scheme.
This uses the generic ch

refactor(amu): convert FEAT_AMUv1 to new scheme

For the FGT context save/restore operation, we need to look at the AMUv1
feature, so migrate this one over to the new scheme.
This uses the generic check function in feat_detect.c, and splits the
feature check into two functions, as was done before for FEAT_FGT.

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

show more ...

ce48595510-Nov-2022 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): decouple FGT feature detection and build flags

Split the feature check for FEAT_FGT into two parts:
- A boolean function that just evaluates whether the feature is usable.
This

refactor(cpufeat): decouple FGT feature detection and build flags

Split the feature check for FEAT_FGT into two parts:
- A boolean function that just evaluates whether the feature is usable.
This takes build time flags into account, and only evaluates the CPU
feature ID registers when the flexible FEAT_STATE_CHECK method is
used.
- A "raw" function that returns the unfiltered CPU feature ID register.

Change the callers where needed, to give them the version they actually
want.

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

show more ...

69c17f5214-Nov-2022 Andre Przywara <andre.przywara@arm.com>

refactor(cpufeat): move helpers into .c file, rename FEAT_STATE_

The FEATURE_DETECTION functionality had some definitions in a header
file, although they were only used internally in the .c file.
Mo

refactor(cpufeat): move helpers into .c file, rename FEAT_STATE_

The FEATURE_DETECTION functionality had some definitions in a header
file, although they were only used internally in the .c file.
Move them over there, since there are of no interest to other users.

Also use the opportuntiy to rename the less telling FEAT_STATE_[12]
names, and let the "0" case join the game. We use DISABLED, ALWAYS, and
CHECK now, so that the casual reader has some idea what those numbers
are supposed to mean.

feature_panic() becomes "static inline", since disabling all features
makes it unused, so the compiler complains otherwise.

Finally add a new category "cpufeat" to cover CPU feature related
changes.

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

show more ...

c2fb8ef614-Nov-2022 Andre Przywara <andre.przywara@arm.com>

feat(aarch64): make ID system register reads non-volatile

Our system register access function wrappers are using "volatile"
inline assembly instructions. On the first glance this is a good idea,
sin

feat(aarch64): make ID system register reads non-volatile

Our system register access function wrappers are using "volatile"
inline assembly instructions. On the first glance this is a good idea,
since many system registers have side effects, and we don't want the
compiler to optimise or reorder them (what "volatile" prevents).

However this also naturally limits the compiler's freedom to optimise
code better, and those volatile properties don't apply to every type of
system register. One example are the CPU ID registers, which have
constant values, are side-effect free and read-only.

Introduce a new wrapper type that drops the volatile keyword, and use
that for the wrappers instantiating ID register accessors.

This allows the compiler to freely optimise those instructions away, if
their result isn't actually used, which can trigger further
optimisations.

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

show more ...

03bd481009-Dec-2022 Yann Gautier <yann.gautier@st.com>

fix(console): correct scopes for console symbols

console_state is only used in multi_console.c, it is then declared as
static. console_list is used by several files, declare it as extern.
This corre

fix(console): correct scopes for console symbols

console_state is only used in multi_console.c, it is then declared as
static. console_list is used by several files, declare it as extern.
This corrects the 2 sparse warnings:
drivers/console/multi_console.c:13:11: warning: symbol 'console_list'
was not declared. Should it be static?
drivers/console/multi_console.c:14:9: warning: symbol 'console_state'
was not declared. Should it be static?

Signed-off-by: Yann Gautier <yann.gautier@st.com>
Change-Id: Id1891595906c258e8cb8aa325226f0a43723ca0e

show more ...

1...<<51525354555657585960>>...159