2 * Xtensa Secondary Processors startup code.
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
8 * Copyright (C) 2001 - 2013 Tensilica Inc.
10 * Joe Taylor <joe@tensilica.com>
11 * Chris Zankel <chris@zankel.net>
12 * Marc Gauthier <marc@tensilica.com, marc@alumni.uwaterloo.ca>
13 * Pete Delaney <piet@tensilica.com>
16 #include <linux/linkage.h>
18 #include <asm/cacheasm.h>
19 #include <asm/initialize_mmu.h>
20 #include <asm/mxregs.h>
24 .section .SecondaryResetVector.text, "ax"
27 ENTRY(_SecondaryResetVector)
30 .begin no-absolute-literals
35 * Initialize WB, WS, and clear PS.EXCM (to allow loop instructions).
36 * Set Interrupt Level just below XCHAL_DEBUGLEVEL to allow
37 * xt-gdb to single step via DEBUG exceptions received directly
51 #ifdef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
56 * Start Secondary Processors with NULL pointer to boot params.
58 movi a2, 0 # a2 == NULL
62 .end no-absolute-literals