Merge branch 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6...
[deliverable/linux.git] / arch / xtensa / kernel / mxhead.S
1 /*
2 * Xtensa Secondary Processors startup code.
3 *
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
6 * for more details.
7 *
8 * Copyright (C) 2001 - 2013 Tensilica Inc.
9 *
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>
14 */
15
16 #include <linux/linkage.h>
17
18 #include <asm/cacheasm.h>
19 #include <asm/initialize_mmu.h>
20 #include <asm/mxregs.h>
21 #include <asm/regs.h>
22
23
24 .section .SecondaryResetVector.text, "ax"
25
26
27 ENTRY(_SecondaryResetVector)
28 _j _SetupOCD
29
30 .begin no-absolute-literals
31 .literal_position
32
33 _SetupOCD:
34 /*
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
38 * by ocd.
39 */
40 movi a1, 1
41 movi a0, 0
42 wsr a1, windowstart
43 wsr a0, windowbase
44 rsync
45
46 movi a1, LOCKLEVEL
47 wsr a1, ps
48 rsync
49
50 _SetupMMU:
51 Offset = _SetupMMU - _SecondaryResetVector
52
53 #ifdef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
54 initialize_mmu
55 #endif
56
57 /*
58 * Start Secondary Processors with NULL pointer to boot params.
59 */
60 movi a2, 0 # a2 == NULL
61 movi a3, _startup
62 jx a3
63
64 .end no-absolute-literals
65
66
67 .section .SecondaryResetVector.remapped_text, "ax"
68 .global _RemappedSecondaryResetVector
69
70 .org 0 # Need to do org before literals
71
72 _RemappedSecondaryResetVector:
73 .begin no-absolute-literals
74 .literal_position
75
76 _j _RemappedSetupMMU
77 . = _RemappedSecondaryResetVector + Offset
78
79 _RemappedSetupMMU:
80
81 #ifdef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
82 initialize_mmu
83 #endif
84
85 .end no-absolute-literals
This page took 0.040756 seconds and 5 git commands to generate.