History log of /rk3399_ARM-atf/lib/ (Results 476 – 500 of 2323)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
6d5319af17-Jun-2024 Madhukar Pappireddy <madhukar.pappireddy@arm.com>

feat(simd): add routines to save, restore sve state

This adds assembly routines to save and restore SVE registers. In order
to share between FPU and SVE the code to save and restore FPCR and
FPSR, t

feat(simd): add routines to save, restore sve state

This adds assembly routines to save and restore SVE registers. In order
to share between FPU and SVE the code to save and restore FPCR and
FPSR, the patch converts code for those registers into macro.
Since we will be using simd_ctx_t to save and restore FPU also, we use
offsets in simd_ctx_t for FPSR and FPCR. Since simd_ctx_t has the same
structure at the beginning as fp_regs_t, those offsets should be the
same as CTX_FP_* offsets, when SVE is not enabled. Note that the code
also saves and restores FPEXC32 reg along with FPSR and FPCR.

Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
Signed-off-by: Okash Khawaja <okash@google.com>
Change-Id: I120c02359794aa6bb6376a464a9afe98bd84ae60

show more ...

553b70c319-Aug-2024 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge changes from topic "ar/asymmetricSupport" into integration

* changes:
feat(tc): enable trbe errata flags for Cortex-A520 and X4
feat(cm): asymmetric feature support for trbe
refactor(err

Merge changes from topic "ar/asymmetricSupport" into integration

* changes:
feat(tc): enable trbe errata flags for Cortex-A520 and X4
feat(cm): asymmetric feature support for trbe
refactor(errata-abi): move EXTRACT_PARTNUM to arch.h
feat(cpus): workaround for Cortex-A520(2938996) and Cortex-X4(2726228)
feat(tc): make SPE feature asymmetric
feat(cm): handle asymmetry for SPE feature
feat(cm): support for asymmetric feature among cores
feat(cpufeat): add new feature state for asymmetric features

show more ...

721249b005-Aug-2024 Arvind Ram Prakash <arvind.ramprakash@arm.com>

feat(cm): asymmetric feature support for trbe

This patch checks if the Errata 2938996(Cortex-A520) , 2726228(Cortex-X4)
applies to cores and if affected applies the errata workaround which
disables

feat(cm): asymmetric feature support for trbe

This patch checks if the Errata 2938996(Cortex-A520) , 2726228(Cortex-X4)
applies to cores and if affected applies the errata workaround which
disables TRBE.

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

show more ...

4a97ff5105-Aug-2024 Arvind Ram Prakash <arvind.ramprakash@arm.com>

feat(cpus): workaround for Cortex-A520(2938996) and Cortex-X4(2726228)

This patch implements errata functions for two errata, both of them
disable TRBE as a workaround. This patch doesn't have funct

feat(cpus): workaround for Cortex-A520(2938996) and Cortex-X4(2726228)

This patch implements errata functions for two errata, both of them
disable TRBE as a workaround. This patch doesn't have functions
that disable TRBE but only implemented helper functions that are
used to detect cores affected by Errata 2938996(Cortex-A520) & 2726228(Cortex-X4)

Cortex-X4 SDEN documentation:
https://developer.arm.com/documentation/SDEN2432808/latest

Cortex-A520 SDEN Documentation:
https://developer.arm.com/documentation/SDEN-2444153/latest

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

show more ...

188f8c4b18-Jul-2024 Manish Pandey <manish.pandey2@arm.com>

feat(cm): handle asymmetry for SPE feature

With introduction of FEAT_STATE_CHECK_ASYMMETRIC, the asymmetry of cores
can be handled. SPE is one of the features which can be asymmetric
across cores.

feat(cm): handle asymmetry for SPE feature

With introduction of FEAT_STATE_CHECK_ASYMMETRIC, the asymmetry of cores
can be handled. SPE is one of the features which can be asymmetric
across cores.

Add a function to handle this asymmetry by re-visting the feature
presence on running core.
There are two possible cases:
- If the primary has the feature and secondary does not have it then,
the feature needs to be disabled.
- If the primary does not have the feature and secondary has it then,
the feature need to be enabled

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: Ibb2b88b5ef63b3efcb80801898ae8d8967e5c271

show more ...

2f41c9a712-Jul-2024 Manish Pandey <manish.pandey2@arm.com>

feat(cm): support for asymmetric feature among cores

TF-A assumes that all the cores in a platform has architecture feature
parity, this is evident by the fact that primary sets up the
Non-secure co

feat(cm): support for asymmetric feature among cores

TF-A assumes that all the cores in a platform has architecture feature
parity, this is evident by the fact that primary sets up the
Non-secure context of secondary cores.

With changing landscape of platforms (e.g. big/little/mid cores), we are
seeing more and more platforms which has feature asymmetry among cores.
There is also a scenario where certain CPU erratum only applies to one
type of cores and requires a feature to be disabled even it supports
the feature.

To handle these scenarios, introduce a hook in warmboot path which would
be called on the running CPU to override any feature disparity in the
NS context stashed up by primary. Note that, re-checking of feature for
Secure/Realm context is not required as the context is created on
running core itself.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I5a01dbda528fa8481a00fdd098b58a7463ed0e22

show more ...

43d1d95118-Jul-2024 Manish Pandey <manish.pandey2@arm.com>

feat(cpufeat): add new feature state for asymmetric features

Introduce a new feature state CHECK_ASYMMETRIC to cater for the features
which are asymmetric across cores. This state is useful for plat

feat(cpufeat): add new feature state for asymmetric features

Introduce a new feature state CHECK_ASYMMETRIC to cater for the features
which are asymmetric across cores. This state is useful for platforms
which has architectural asymmetric cores (A feature is only present in
one type of core e.g. big).
This state is similar to FEAT_STATE_CHECK (dynamic detection) except
that feature state is also checked on each core during warmboot path and
override the context (just for asymmetric features) which was setup by
core executing CPU_ON call.

Only Non-secure context will be re-checked as secure and realm context
is created on same core.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: Ic78a0b6ca996e0d7881c43da1a6a0c422f528ef3

show more ...

2d4f264b17-Aug-2024 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge changes from topic "romlib-fixes" into integration

* changes:
fix(romlib): wrap indirectly included functions
fix(arm): remove duplicate jumptable entry

abeb8ad616-Aug-2024 Mark Dykes <mark.dykes@arm.com>

Merge "fix(cpus): workaround for Cortex-A720 erratum 2844092" into integration

28e4ec1b16-Aug-2024 Mark Dykes <mark.dykes@arm.com>

Merge "fix(cpus): workaround for Cortex-X4 erratum 2816013" into integration


/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/docs/about/maintainers.rst
/rk3399_ARM-atf/docs/components/cot-binding.rst
/rk3399_ARM-atf/docs/components/ffa-manifest-binding.rst
/rk3399_ARM-atf/docs/components/secure-partition-manager.rst
/rk3399_ARM-atf/docs/design/cpu-specific-build-macros.rst
/rk3399_ARM-atf/docs/getting_started/build-options.rst
/rk3399_ARM-atf/docs/license.rst
/rk3399_ARM-atf/docs/plat/xilinx-versal-net.rst
/rk3399_ARM-atf/docs/plat/xilinx-versal.rst
/rk3399_ARM-atf/docs/tools/cot-dt2c.rst
/rk3399_ARM-atf/docs/tools/index.rst
/rk3399_ARM-atf/drivers/arm/gic/v3/arm_gicv3_common.c
/rk3399_ARM-atf/drivers/arm/gic/v3/gicv3_main.c
/rk3399_ARM-atf/drivers/auth/cca/bl1_cot.c
/rk3399_ARM-atf/drivers/auth/dualroot/bl1_cot.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/include/s32cc-clk-regs.h
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_clk_drv.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_clk_modules.c
/rk3399_ARM-atf/drivers/nxp/clk/s32cc/s32cc_early_clks.c
/rk3399_ARM-atf/drivers/nxp/gpio/nxp_gpio.c
/rk3399_ARM-atf/fdts/cca_cot_descriptors.dtsi
/rk3399_ARM-atf/fdts/dualroot_cot_descriptors.dtsi
/rk3399_ARM-atf/fdts/stm32mp1-cot-descriptors.dtsi
/rk3399_ARM-atf/fdts/tbbr_cot_descriptors.dtsi
/rk3399_ARM-atf/include/arch/aarch32/arch_features.h
/rk3399_ARM-atf/include/arch/aarch64/arch_features.h
/rk3399_ARM-atf/include/drivers/arm/gicv3.h
/rk3399_ARM-atf/include/drivers/nxp/clk/s32cc/s32cc-clk-ids.h
/rk3399_ARM-atf/include/drivers/nxp/clk/s32cc/s32cc-clk-modules.h
/rk3399_ARM-atf/include/lib/cpus/aarch64/cortex_x4.h
cpus/aarch64/cortex_x4.S
cpus/cpu-ops.mk
/rk3399_ARM-atf/plat/amd/versal2/include/def.h
/rk3399_ARM-atf/plat/amd/versal2/include/versal2-scmi.h
/rk3399_ARM-atf/plat/amd/versal2/plat_psci.c
/rk3399_ARM-atf/plat/amd/versal2/scmi.c
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_spmc_manifest.dts
/rk3399_ARM-atf/plat/arm/board/fvp/fdts/fvp_tb_fw_config.dts
/rk3399_ARM-atf/plat/arm/board/neoverse_rd/platform/rdv3/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/aspeed/ast2700/plat_bl31_setup.c
/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/include/pm_svc_main.h
/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/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/include/versal_def.h
/rk3399_ARM-atf/plat/xilinx/versal/plat_psci.c
/rk3399_ARM-atf/plat/xilinx/versal/platform.mk
/rk3399_ARM-atf/plat/xilinx/versal/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/versal_net/plat_psci_pm.c
/rk3399_ARM-atf/plat/xilinx/versal_net/sip_svc_setup.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_api_sys.c
/rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/zynqmp_pm_svc_main.c
/rk3399_ARM-atf/tools/cot_dt2c/Makefile
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/LICENSE
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/__init__.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/__main__.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/cli.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/cot_dt2c.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/cot_parser.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/dt_validator.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/pydevicetree/__init__.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/pydevicetree/ast/__init__.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/pydevicetree/ast/directive.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/pydevicetree/ast/helpers.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/pydevicetree/ast/node.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/pydevicetree/ast/property.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/pydevicetree/ast/reference.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/pydevicetree/source/__init__.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/pydevicetree/source/grammar.py
/rk3399_ARM-atf/tools/cot_dt2c/cot_dt2c/pydevicetree/source/parser.py
/rk3399_ARM-atf/tools/cot_dt2c/pyproject.toml
/rk3399_ARM-atf/tools/cot_dt2c/requirements.txt
/rk3399_ARM-atf/tools/cot_dt2c/tests/test.dtsi
/rk3399_ARM-atf/tools/cot_dt2c/tests/test2.dtsi
/rk3399_ARM-atf/tools/cot_dt2c/tests/test_invalid_bracket.dtsi
/rk3399_ARM-atf/tools/cot_dt2c/tests/test_invalid_ifdef.dtsi
/rk3399_ARM-atf/tools/cot_dt2c/tests/test_invalid_ifdef2.dtsi
/rk3399_ARM-atf/tools/cot_dt2c/tests/test_invalid_missing_attribute.dtsi
/rk3399_ARM-atf/tools/cot_dt2c/tests/test_invalid_missing_attribute2.dtsi
/rk3399_ARM-atf/tools/cot_dt2c/tests/test_invalid_missing_ctr.dtsi
/rk3399_ARM-atf/tools/cot_dt2c/tests/test_invalid_missing_root.dtsi
/rk3399_ARM-atf/tools/cot_dt2c/tests/test_invalid_undefined_parent.dtsi
/rk3399_ARM-atf/tools/cot_dt2c/tests/test_util.py
d95d56bd22-Jul-2024 Jimmy Brisson <jimmy.brisson@arm.com>

fix(romlib): wrap indirectly included functions

The problem that this resolves is a bit involved; the following
must be met at the same time for some function <to_be_wrapped>:

* to_be_wrapped must

fix(romlib): wrap indirectly included functions

The problem that this resolves is a bit involved; the following
must be met at the same time for some function <to_be_wrapped>:

* to_be_wrapped must be specified as part of the romlib
* to_be_wrapped must _not_ be referenced by any translation unit
in TF-A
* to_be_wrapped must be referenced by a translation unit in a
dependent library, mbedtls for example.

Under these circumstances, to_be_wrapped will not be wrapped, and
will instead reference its original definition while simultaneously
residing in romlib.

This is a side effect of two issues with romlib prior to this patch:

1 to_be_wrapped is expected to wrap by duplicating its definition.
This causes any condition that links against both the base and
wrapper functions to be a link error (duplicate symbol definition).
2 to_be_wrapped is in its own translation unit
This causes the wrappers to be used by TF-A in an as needed.

The duplicate function definitions can be worked around using the
linker's `--wrap` flag, which redirects all references to a symbol
to resolve to `__wrap_<symbol>` and the original symbol to be
available as `__real_<symbol>`. Most of the changes handle creating
this arguments and passing them to the linker.

Further, once you use the linker's wrap, you will encounter another
issue: if TF-A does not use a function, its wrapper is not present.
This causes link issues when a library and not TF-A uses the wrapper.
Note that this issue would have been resolved previously by ignoring
the wrapper and using the base definition.

This further issue is worked around by concatenating the assembly for
all of the wrappers into a single translation unit. It's possible to
work around this issue in a few other ways, including reordering the
libraries passed to the linker to place libwrapper.a last or grouping
the libraries so that symbols from later libraries may be resolved
with prior libraries.

I chose the translation unit concatenation approach as it revealed
that a jumptable has duplicate symbols within it.

Change-Id: Ie57b5ae69bde2fc8705bdc7a93fae3ddb5341ed9
Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>

show more ...

01959a1617-Oct-2023 Charlie Bareham <charlie.bareham@arm.com>

fix(psci): fix parent parsing in psci_is_last_cpu_to_idle_at_pwrlvl

The function always checks the first parent of the current core
instead parse the tree topology to find the parent at parent level

fix(psci): fix parent parsing in psci_is_last_cpu_to_idle_at_pwrlvl

The function always checks the first parent of the current core
instead parse the tree topology to find the parent at parent level
of the CPU. It is because the current loop has no effect as it uses
a fixed parameter 'my_idx' and returns the FIRST parent of CPU.
Also, it looks for the parent nodes in the array of CPU nodes, but
actually they are in a separate array.

This update allows to parse the PSCI topology tree to find
the parent at parent level of the CPU identified by my_idx.

Fixes: 606b7430077c ("feat(psci): add support for OS-initiated mode")
Change-Id: I96fb5ecc154a76b16adca5b5055217b8626c9e66
Signed-off-by: Charlie Bareham <charlie.bareham@arm.com>

show more ...

1baf624605-Aug-2024 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge changes from topic "ar/asymmetricSupport" into integration

* changes:
feat(trbe): introduce trbe_disable() function
feat(spe): introduce spe_disable() function
chore(spe): rename spe_dis

Merge changes from topic "ar/asymmetricSupport" into integration

* changes:
feat(trbe): introduce trbe_disable() function
feat(spe): introduce spe_disable() function
chore(spe): rename spe_disable() to spe_stop()

show more ...


/rk3399_ARM-atf/.readthedocs.yaml
/rk3399_ARM-atf/Makefile
/rk3399_ARM-atf/changelog.yaml
/rk3399_ARM-atf/docs/tools/index.rst
/rk3399_ARM-atf/docs/tools/transfer-list-compiler.rst
/rk3399_ARM-atf/drivers/auth/mbedtls/mbedtls_psa_crypto.c
/rk3399_ARM-atf/include/lib/extensions/spe.h
/rk3399_ARM-atf/include/lib/extensions/trbe.h
/rk3399_ARM-atf/include/plat/arm/common/plat_arm.h
extensions/spe/spe.c
extensions/trbe/trbe.c
psci/psci_common.c
/rk3399_ARM-atf/plat/allwinner/sun50i_h616/sunxi_h616_dtb.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_bl2_mem_params_desc.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_plat.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/corstone1000_pm.c
/rk3399_ARM-atf/plat/arm/board/corstone1000/common/include/platform_def.h
/rk3399_ARM-atf/plat/arm/board/fvp/fvp_common.c
/rk3399_ARM-atf/plat/arm/board/fvp/platform.mk
/rk3399_ARM-atf/plat/arm/common/arm_bl2_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_bl31_setup.c
/rk3399_ARM-atf/plat/arm/common/arm_common.mk
/rk3399_ARM-atf/plat/arm/common/arm_transfer_list.c
/rk3399_ARM-atf/poetry.lock
/rk3399_ARM-atf/pyproject.toml
/rk3399_ARM-atf/tools/tlc/Makefile
/rk3399_ARM-atf/tools/tlc/assets/images/coverage.svg
/rk3399_ARM-atf/tools/tlc/poetry.lock
/rk3399_ARM-atf/tools/tlc/pyproject.toml
/rk3399_ARM-atf/tools/tlc/setup.cfg
/rk3399_ARM-atf/tools/tlc/tests/conftest.py
/rk3399_ARM-atf/tools/tlc/tests/test_cli.py
/rk3399_ARM-atf/tools/tlc/tests/test_transfer_list.py
/rk3399_ARM-atf/tools/tlc/tlc/__init__.py
/rk3399_ARM-atf/tools/tlc/tlc/__main__.py
/rk3399_ARM-atf/tools/tlc/tlc/cli.py
/rk3399_ARM-atf/tools/tlc/tlc/te.py
/rk3399_ARM-atf/tools/tlc/tlc/tl.py
1214090819-Jul-2024 Sona Mathew <sonarebecca.mathew@arm.com>

fix(cpus): workaround for Cortex-A720 erratum 2844092

Cortex-A720 erratum 2844092 is a Cat B erratum that is present
in revisions r0p0, r0p1 and is fixed in r0p2.

The workaround is to set bit[11] o

fix(cpus): workaround for Cortex-A720 erratum 2844092

Cortex-A720 erratum 2844092 is a Cat B erratum that is present
in revisions r0p0, r0p1 and is fixed in r0p2.

The workaround is to set bit[11] of CPUACTLR4_EL1 register.

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

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

show more ...

1e4480bb16-Jul-2024 Sona Mathew <sonarebecca.mathew@arm.com>

fix(cpus): workaround for Cortex-X4 erratum 2816013

Cortex-X4 erratum 2816013 is a Cat B erratum that applies
to all revisions <= r0p1 and is fixed in r0p2. This erratum
is only present when memory

fix(cpus): workaround for Cortex-X4 erratum 2816013

Cortex-X4 erratum 2816013 is a Cat B erratum that applies
to all revisions <= r0p1 and is fixed in r0p2. This erratum
is only present when memory tagging is enabled.

The workaround is to set CPUACTLR5_EL1[14] to 1.

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

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

show more ...

b36e975e19-Jul-2024 Arvind Ram Prakash <arvind.ramprakash@arm.com>

feat(trbe): introduce trbe_disable() function

This patch adds trbe_disable() which disables Trace buffer access
from lower ELs in all security state. This function makes Secure
state the owner of Tr

feat(trbe): introduce trbe_disable() function

This patch adds trbe_disable() which disables Trace buffer access
from lower ELs in all security state. This function makes Secure
state the owner of Trace buffer and access from EL2/EL1 generate
trap exceptions to EL3.

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

show more ...

651fe50718-Jul-2024 Manish Pandey <manish.pandey2@arm.com>

feat(spe): introduce spe_disable() function

Introduce a function to disable SPE feature for Non-secure state and do
the default setting of making Secure state the owner of profiling
buffers and trap

feat(spe): introduce spe_disable() function

Introduce a function to disable SPE feature for Non-secure state and do
the default setting of making Secure state the owner of profiling
buffers and trap access of profiling and profiling buffer control
registers from lower ELs to EL3.

This functionality is required to handle asymmetric cores where SPE has
to disabled at runtime.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I2f99e922e8df06bfc900c153137aef7c9dcfd759

show more ...

4de07b4b18-Jul-2024 Manish Pandey <manish.pandey2@arm.com>

chore(spe): rename spe_disable() to spe_stop()

During CPU power down, we stop the profiling by calling spe_disable()
function. From TF-A point of view, enable/disable means the avaibility
of the fea

chore(spe): rename spe_disable() to spe_stop()

During CPU power down, we stop the profiling by calling spe_disable()
function. From TF-A point of view, enable/disable means the avaibility
of the feature for lower EL. In this case we are not actully disabling
the feautre but stoping it before power down.

Signed-off-by: Manish Pandey <manish.pandey2@arm.com>
Change-Id: I6e3b39c5c35d330c51e7ac715446a8b36bf9531f

show more ...

4bcf5b8429-Jul-2024 Manish V Badarkhe <manish.badarkhe@arm.com>

Merge changes from topic "jc/refact_el1_ctx" into integration

* changes:
refactor(cm): convert el1-ctx assembly offset entries to c structure
feat(cm): add explicit context entries for ERRATA_SP

Merge changes from topic "jc/refact_el1_ctx" into integration

* changes:
refactor(cm): convert el1-ctx assembly offset entries to c structure
feat(cm): add explicit context entries for ERRATA_SPECULATIVE_AT

show more ...

0195bac129-Jul-2024 Manish Pandey <manish.pandey2@arm.com>

Merge "build: consolidate directory creation rules" into integration

42e35d2f11-Apr-2024 Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

refactor(cm): convert el1-ctx assembly offset entries to c structure

Currently the EL1 part of the context structure (el1_sysregs_t),
is coupled with feature flags reducing the context memory alloca

refactor(cm): convert el1-ctx assembly offset entries to c structure

Currently the EL1 part of the context structure (el1_sysregs_t),
is coupled with feature flags reducing the context memory allocation
for platforms, that don't enable/support all the architectural
features at once.

Similar to the el2 context optimization commit-"d6af234" this patch
further improves this section by converting the assembly context-offset
entries into a c structure. It relies on garbage collection of the
linker removing unreferenced structures from memory, as well as aiding
in readability and future maintenance. Additionally, it eliminates
the #ifs usage in 'context_mgmt.c' source file.

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

show more ...

59b7c0a005-Jun-2024 Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>

feat(cm): add explicit context entries for ERRATA_SPECULATIVE_AT

* Currently, "ERRATA_SPECUALTIVE_AT" errata is enabled by default
for few cores and they need context entries for saving and
rest

feat(cm): add explicit context entries for ERRATA_SPECULATIVE_AT

* Currently, "ERRATA_SPECUALTIVE_AT" errata is enabled by default
for few cores and they need context entries for saving and
restoring EL1 regs "SCTLR_EL1 and TCR_EL1" registers at all times.

* This prevents the mechanism of decoupling EL1 and EL2 registers,
as EL3 firmware shouldn't be handling both simultaneously.

* Depending on the build configuration either EL1 or EL2 context
structures need to included, which would result in saving a good
amount of context memory.

* In order to achieve this it's essential to have explicit context
entries for registers supporting "ERRATA_SPECULATIVE_AT".

* This patch adds two context entries under "errata_speculative_at"
structure to assist this errata and thereby allows decoupling
EL1 and EL2 context structures.

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

show more ...

3fb52e4114-May-2024 Ryan Everett <ryan.everett@arm.com>

refactor(cpus): remove cpu specific errata funcs

Errata printing is done directly via generic_errata_report.
This commit removes the unused \_cpu\()_errata_report
functions for all cores, and remove

refactor(cpus): remove cpu specific errata funcs

Errata printing is done directly via generic_errata_report.
This commit removes the unused \_cpu\()_errata_report
functions for all cores, and removes errata_func from cpu_ops.

Change-Id: I04fefbde5f0ff63b1f1cd17c864557a14070d68c
Signed-off-by: Ryan Everett <ryan.everett@arm.com>

show more ...


/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
cpus/aarch32/aem_generic.S
cpus/aarch32/cortex_a12.S
cpus/aarch32/cortex_a15.S
cpus/aarch32/cortex_a17.S
cpus/aarch32/cortex_a32.S
cpus/aarch32/cortex_a5.S
cpus/aarch32/cortex_a53.S
cpus/aarch32/cortex_a57.S
cpus/aarch32/cortex_a7.S
cpus/aarch32/cortex_a72.S
cpus/aarch32/cortex_a9.S
cpus/aarch64/a64fx.S
cpus/aarch64/aem_generic.S
cpus/aarch64/cortex_a35.S
cpus/aarch64/cortex_a510.S
cpus/aarch64/cortex_a520.S
cpus/aarch64/cortex_a53.S
cpus/aarch64/cortex_a55.S
cpus/aarch64/cortex_a57.S
cpus/aarch64/cortex_a65.S
cpus/aarch64/cortex_a65ae.S
cpus/aarch64/cortex_a710.S
cpus/aarch64/cortex_a715.S
cpus/aarch64/cortex_a72.S
cpus/aarch64/cortex_a720.S
cpus/aarch64/cortex_a725.S
cpus/aarch64/cortex_a73.S
cpus/aarch64/cortex_a75.S
cpus/aarch64/cortex_a76.S
cpus/aarch64/cortex_a76ae.S
cpus/aarch64/cortex_a77.S
cpus/aarch64/cortex_a78.S
cpus/aarch64/cortex_a78_ae.S
cpus/aarch64/cortex_a78c.S
cpus/aarch64/cortex_gelas.S
cpus/aarch64/cortex_x1.S
cpus/aarch64/cortex_x2.S
cpus/aarch64/cortex_x3.S
cpus/aarch64/cortex_x4.S
cpus/aarch64/cortex_x925.S
cpus/aarch64/denver.S
cpus/aarch64/generic.S
cpus/aarch64/neoverse_e1.S
cpus/aarch64/neoverse_n1.S
cpus/aarch64/neoverse_n2.S
cpus/aarch64/neoverse_n3.S
cpus/aarch64/neoverse_v1.S
cpus/aarch64/neoverse_v2.S
cpus/aarch64/neoverse_v3.S
cpus/aarch64/nevis.S
cpus/aarch64/qemu_max.S
cpus/aarch64/rainier.S
cpus/aarch64/travis.S
/rk3399_ARM-atf/plat/qti/common/src/aarch64/qti_kryo4_gold.S
/rk3399_ARM-atf/plat/qti/common/src/aarch64/qti_kryo4_silver.S
/rk3399_ARM-atf/plat/qti/common/src/aarch64/qti_kryo6_gold.S
/rk3399_ARM-atf/plat/qti/common/src/aarch64/qti_kryo6_silver.S
1c20f05c10-May-2024 Ryan Everett <ryan.everett@arm.com>

refactor(cpus): directly invoke errata reporter

In all non-trivial cases the CPU specific errata functions
already call generic_errata_report, this cuts out the middleman
by directly calling generic

refactor(cpus): directly invoke errata reporter

In all non-trivial cases the CPU specific errata functions
already call generic_errata_report, this cuts out the middleman
by directly calling generic_errata_report from
print_errata_status.

The CPU specific errata functions (cpu_ops->errata_func)
can now be removed from all cores, and this field can be
removed from cpu_ops.

Also removes the now unused old errata reporting
function and macros.

Change-Id: Ie4a4fd60429aca37cf434e79c0ce2992a5ff5d68
Signed-off-by: Ryan Everett <ryan.everett@arm.com>

show more ...

a3939b1b24-Jul-2024 Manish Pandey <manish.pandey2@arm.com>

Merge "feat(handoff): fix register convention r1/x1 value on transfer list" into integration

1...<<11121314151617181920>>...93