xref: /rk3399_ARM-atf/include/plat/arm/css/common/aarch64/css_macros.S (revision e3c36e35f8f92f817e537064d97a3816c339c704)
1/*
2 * Copyright (c) 2015-2025, Arm Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6#ifndef CSS_MACROS_S
7#define CSS_MACROS_S
8
9#include <arm_macros.S>
10#include <platform_def.h>
11
12	/* ---------------------------------------------
13	 * The below required platform porting macro
14	 * prints out relevant GIC registers whenever an
15	 * unhandled exception is taken in BL31.
16	 * Clobbers: x0 - x10, x16, x17, sp
17	 * ---------------------------------------------
18	 */
19	.macro css_print_gic_regs
20	mov_imm	x16, PLAT_ARM_GICD_BASE
21	/*
22	 * The ID registers will show GIC version, so it can safely be assumed
23	 * that no v2 operation will be attempted on v3. Don't require the
24	 * macro.
25	 */
26#if USE_GIC_DRIVER == 2
27	mov_imm	x17, PLAT_ARM_GICC_BASE
28#endif
29	arm_print_gic_regs
30	.endm
31
32#endif /* CSS_MACROS_S */
33