13fc4124cSDan Handley/* 26355f234SVikram Kanigiri * Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved. 33fc4124cSDan Handley * 4*82cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause 53fc4124cSDan Handley */ 63fc4124cSDan Handley#ifndef __PLAT_MACROS_S__ 73fc4124cSDan Handley#define __PLAT_MACROS_S__ 83fc4124cSDan Handley 93fc4124cSDan Handley#include <arm_macros.S> 106355f234SVikram Kanigiri#include <cci_macros.S> 113fc4124cSDan Handley#include <v2m_def.h> 123fc4124cSDan Handley#include "../fvp_def.h" 133fc4124cSDan Handley 143fc4124cSDan Handley /* --------------------------------------------- 153fc4124cSDan Handley * The below required platform porting macro 169ff67fa6SGerald Lejeune * prints out relevant GIC and CCI registers 179ff67fa6SGerald Lejeune * whenever an unhandled exception is taken in 189ff67fa6SGerald Lejeune * BL31. 193fc4124cSDan Handley * Clobbers: x0 - x10, x16, x17, sp 203fc4124cSDan Handley * --------------------------------------------- 213fc4124cSDan Handley */ 229ff67fa6SGerald Lejeune .macro plat_crash_print_regs 233fc4124cSDan Handley /* 243fc4124cSDan Handley * Detect if we're using the base memory map or 253fc4124cSDan Handley * the legacy VE memory map 263fc4124cSDan Handley */ 273fc4124cSDan Handley mov_imm x0, (V2M_SYSREGS_BASE + V2M_SYS_ID) 283fc4124cSDan Handley ldr w16, [x0] 293fc4124cSDan Handley /* Extract BLD (12th - 15th bits) from the SYS_ID */ 303fc4124cSDan Handley ubfx x16, x16, #V2M_SYS_ID_BLD_SHIFT, #4 313fc4124cSDan Handley /* Check if VE mmap */ 323fc4124cSDan Handley cmp w16, #BLD_GIC_VE_MMAP 333fc4124cSDan Handley b.eq use_ve_mmap 34f14d1886SSoby Mathew /* Assume Base Cortex mmap */ 353fc4124cSDan Handley mov_imm x17, BASE_GICC_BASE 363fc4124cSDan Handley mov_imm x16, BASE_GICD_BASE 37f14d1886SSoby Mathew b print_gic_regs 383fc4124cSDan Handleyuse_ve_mmap: 393fc4124cSDan Handley mov_imm x17, VE_GICC_BASE 403fc4124cSDan Handley mov_imm x16, VE_GICD_BASE 41f14d1886SSoby Mathewprint_gic_regs: 423fc4124cSDan Handley arm_print_gic_regs 4371237876SSoby Mathew#if FVP_INTERCONNECT_DRIVER == FVP_CCI 449ff67fa6SGerald Lejeune print_cci_regs 4571237876SSoby Mathew#endif 463fc4124cSDan Handley .endm 473fc4124cSDan Handley 483fc4124cSDan Handley#endif /* __PLAT_MACROS_S__ */ 49