13fc4124cSDan Handley/* 26355f234SVikram Kanigiri * Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved. 33fc4124cSDan Handley * 43fc4124cSDan Handley * Redistribution and use in source and binary forms, with or without 53fc4124cSDan Handley * modification, are permitted provided that the following conditions are met: 63fc4124cSDan Handley * 73fc4124cSDan Handley * Redistributions of source code must retain the above copyright notice, this 83fc4124cSDan Handley * list of conditions and the following disclaimer. 93fc4124cSDan Handley * 103fc4124cSDan Handley * Redistributions in binary form must reproduce the above copyright notice, 113fc4124cSDan Handley * this list of conditions and the following disclaimer in the documentation 123fc4124cSDan Handley * and/or other materials provided with the distribution. 133fc4124cSDan Handley * 143fc4124cSDan Handley * Neither the name of ARM nor the names of its contributors may be used 153fc4124cSDan Handley * to endorse or promote products derived from this software without specific 163fc4124cSDan Handley * prior written permission. 173fc4124cSDan Handley * 183fc4124cSDan Handley * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 193fc4124cSDan Handley * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 203fc4124cSDan Handley * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 213fc4124cSDan Handley * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 223fc4124cSDan Handley * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 233fc4124cSDan Handley * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 243fc4124cSDan Handley * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 253fc4124cSDan Handley * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 263fc4124cSDan Handley * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 273fc4124cSDan Handley * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 283fc4124cSDan Handley * POSSIBILITY OF SUCH DAMAGE. 293fc4124cSDan Handley */ 303fc4124cSDan Handley#ifndef __PLAT_MACROS_S__ 313fc4124cSDan Handley#define __PLAT_MACROS_S__ 323fc4124cSDan Handley 333fc4124cSDan Handley#include <arm_macros.S> 346355f234SVikram Kanigiri#include <cci_macros.S> 353fc4124cSDan Handley#include <v2m_def.h> 363fc4124cSDan Handley#include "../fvp_def.h" 373fc4124cSDan Handley 383fc4124cSDan Handley /* --------------------------------------------- 393fc4124cSDan Handley * The below required platform porting macro 40*9ff67fa6SGerald Lejeune * prints out relevant GIC and CCI registers 41*9ff67fa6SGerald Lejeune * whenever an unhandled exception is taken in 42*9ff67fa6SGerald Lejeune * BL31. 433fc4124cSDan Handley * Clobbers: x0 - x10, x16, x17, sp 443fc4124cSDan Handley * --------------------------------------------- 453fc4124cSDan Handley */ 46*9ff67fa6SGerald Lejeune .macro plat_crash_print_regs 473fc4124cSDan Handley /* 483fc4124cSDan Handley * Detect if we're using the base memory map or 493fc4124cSDan Handley * the legacy VE memory map 503fc4124cSDan Handley */ 513fc4124cSDan Handley mov_imm x0, (V2M_SYSREGS_BASE + V2M_SYS_ID) 523fc4124cSDan Handley ldr w16, [x0] 533fc4124cSDan Handley /* Extract BLD (12th - 15th bits) from the SYS_ID */ 543fc4124cSDan Handley ubfx x16, x16, #V2M_SYS_ID_BLD_SHIFT, #4 553fc4124cSDan Handley /* Check if VE mmap */ 563fc4124cSDan Handley cmp w16, #BLD_GIC_VE_MMAP 573fc4124cSDan Handley b.eq use_ve_mmap 58f14d1886SSoby Mathew /* Assume Base Cortex mmap */ 593fc4124cSDan Handley mov_imm x17, BASE_GICC_BASE 603fc4124cSDan Handley mov_imm x16, BASE_GICD_BASE 61f14d1886SSoby Mathew b print_gic_regs 623fc4124cSDan Handleyuse_ve_mmap: 633fc4124cSDan Handley mov_imm x17, VE_GICC_BASE 643fc4124cSDan Handley mov_imm x16, VE_GICD_BASE 65f14d1886SSoby Mathewprint_gic_regs: 663fc4124cSDan Handley arm_print_gic_regs 67*9ff67fa6SGerald Lejeune print_cci_regs 683fc4124cSDan Handley .endm 693fc4124cSDan Handley 703fc4124cSDan Handley#endif /* __PLAT_MACROS_S__ */ 71