xref: /arm-trusted-firmware/lib/cpus/aarch64/a64fx.S (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu/*
2*91f16700Schasinglulu * Copyright (c) 2022, Fujitsu Limited and Contributors. All rights reserved.
3*91f16700Schasinglulu *
4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu */
6*91f16700Schasinglulu#include <arch.h>
7*91f16700Schasinglulu#include <asm_macros.S>
8*91f16700Schasinglulu#include <assert_macros.S>
9*91f16700Schasinglulu#include <a64fx.h>
10*91f16700Schasinglulu#include <cpu_macros.S>
11*91f16700Schasinglulu#include <plat_macros.S>
12*91f16700Schasinglulu
13*91f16700Schasinglulufunc a64fx_core_pwr_dwn
14*91f16700Schasingluluendfunc a64fx_core_pwr_dwn
15*91f16700Schasinglulu
16*91f16700Schasinglulufunc a64fx_cluster_pwr_dwn
17*91f16700Schasingluluendfunc a64fx_cluster_pwr_dwn
18*91f16700Schasinglulu
19*91f16700Schasinglulu#if REPORT_ERRATA
20*91f16700Schasinglulu/*
21*91f16700Schasinglulu * Errata printing function for A64FX. Must follow AAPCS.
22*91f16700Schasinglulu */
23*91f16700Schasinglulufunc a64fx_errata_report
24*91f16700Schasinglulu        ret
25*91f16700Schasingluluendfunc a64fx_errata_report
26*91f16700Schasinglulu#endif
27*91f16700Schasinglulu
28*91f16700Schasinglulu        /* ---------------------------------------------
29*91f16700Schasinglulu         * This function provides cpu specific
30*91f16700Schasinglulu         * register information for crash reporting.
31*91f16700Schasinglulu         * It needs to return with x6 pointing to
32*91f16700Schasinglulu         * a list of register names in ascii and
33*91f16700Schasinglulu         * x8 - x15 having values of registers to be
34*91f16700Schasinglulu         * reported.
35*91f16700Schasinglulu         * ---------------------------------------------
36*91f16700Schasinglulu         */
37*91f16700Schasinglulu.section .rodata.a64fx_regs, "aS"
38*91f16700Schasinglulua64fx_regs:  /* The ascii list of register names to be reported */
39*91f16700Schasinglulu        .asciz  ""
40*91f16700Schasinglulu
41*91f16700Schasinglulufunc a64fx_cpu_reg_dump
42*91f16700Schasinglulu        adr     x6, a64fx_regs
43*91f16700Schasinglulu        ret
44*91f16700Schasingluluendfunc a64fx_cpu_reg_dump
45*91f16700Schasinglulu
46*91f16700Schasingluludeclare_cpu_ops a64fx, A64FX_MIDR, CPU_NO_RESET_FUNC \
47*91f16700Schasinglulu                a64fx_core_pwr_dwn, \
48*91f16700Schasinglulu                a64fx_cluster_pwr_dwn
49*91f16700Schasinglulu
50