summaryrefslogtreecommitdiff
path: root/lib/psci
diff options
context:
space:
mode:
authorChris Kay <chris.kay@arm.com>2023-03-28 17:38:02 +0100
committerChris Kay <chris.kay@arm.com>2023-05-03 15:36:08 +0200
commit11ccf5d99a8248911ac2c13ab2e62802c64a3884 (patch)
tree1ebc72a2830a5150712956cd6bea1fc28e6cd5b4 /lib/psci
parenta123cb143ffa0c4ada46e05f85cbd42bd1bf7c6c (diff)
build(psci): move `runtime_errata.S` to PSCI
Move the runtime errata source file into the PSCI library, as PSCI is the only component directly dependent on it, and it doesn't require internal access to the CPUs library. Change-Id: I92826714d49b1b0131f62c158543b4c167ab9aa8 Signed-off-by: Chris Kay <chris.kay@arm.com>
Diffstat (limited to 'lib/psci')
-rw-r--r--lib/psci/aarch64/runtime_errata.S27
-rw-r--r--lib/psci/psci_lib.mk2
2 files changed, 28 insertions, 1 deletions
diff --git a/lib/psci/aarch64/runtime_errata.S b/lib/psci/aarch64/runtime_errata.S
new file mode 100644
index 000000000..8d466914e
--- /dev/null
+++ b/lib/psci/aarch64/runtime_errata.S
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <asm_macros.S>
+#include <cortex_a510.h>
+#include <cpu_macros.S>
+
+/*
+ * void apply_cpu_pwr_dwn_errata(void);
+ *
+ * This function applies various CPU errata during power down.
+ */
+ .globl apply_cpu_pwr_dwn_errata
+func apply_cpu_pwr_dwn_errata
+ mov x19, x30
+ bl cpu_get_rev_var
+ mov x18, x0
+
+#if ERRATA_A510_2684597
+ bl errata_cortex_a510_2684597_wa
+#endif
+
+ ret x19
+endfunc apply_cpu_pwr_dwn_errata
diff --git a/lib/psci/psci_lib.mk b/lib/psci/psci_lib.mk
index 6864202d8..c71580f95 100644
--- a/lib/psci/psci_lib.mk
+++ b/lib/psci/psci_lib.mk
@@ -22,7 +22,7 @@ PSCI_LIB_SOURCES := lib/el3_runtime/cpu_data_array.c \
ifeq (${ARCH}, aarch64)
PSCI_LIB_SOURCES += lib/el3_runtime/aarch64/context.S \
- lib/cpus/aarch64/runtime_errata.S
+ lib/psci/aarch64/runtime_errata.S
endif
ifeq (${USE_COHERENT_MEM}, 1)