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