2 * arch/xtensa/boot/boot-elf/bootstrap.S
4 * Low-level exception handling
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
10 * Copyright (C) 2004 - 2013 by Tensilica Inc.
12 * Chris Zankel <chris@zankel.net>
13 * Marc Gauthier <marc@tensilica.com>
14 * Piet Delaney <piet@tensilica.com>
17 #include <asm/bootparam.h>
18 #include <asm/processor.h>
19 #include <asm/pgtable.h>
21 #include <asm/cacheasm.h>
22 #include <asm/initialize_mmu.h>
23 #include <linux/linkage.h>
25 .section .ResetVector.text, "ax"
32 .begin no-absolute-literals
37 #if defined(CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX) && \
38 XCHAL_HAVE_PTP_MMU && XCHAL_HAVE_SPANNING_WAY
65 Offset = _SetupMMU - _ResetVector
67 #ifndef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
71 .end no-absolute-literals
73 rsil a0, XCHAL_DEBUGLEVEL-1
84 .section .ResetVector.remapped_text, "x"
85 .global _RemappedResetVector
87 /* Do org before literals */
91 .begin no-absolute-literals
96 /* Position Remapped code at the same location as the original code */
97 . = _RemappedResetVector + Offset
100 #ifndef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
104 .end no-absolute-literals