/*
 * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

.section .rodata.gic_reg_name, "aS"
	.macro plat_crash_print_regs
	nop
	.endm
