0d848afe11
There are no .bootstrap or .ResetVector.text sections linked to the vmlinux image, drop these sections from vmlinux.ld.S. Drop RESET_VECTOR_VADDR definition only used for .ResetVector.text. Drop remapped copies of primary and secondary reset vectors, as modern gdb don't have problems stepping through instructions at arbitrary locations. Drop corresponding sections from the corresponding linker scripts. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
63 lines
1.3 KiB
ArmAsm
63 lines
1.3 KiB
ArmAsm
/*
|
|
* Xtensa Secondary Processors startup code.
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU General Public
|
|
* License. See the file "COPYING" in the main directory of this archive
|
|
* for more details.
|
|
*
|
|
* Copyright (C) 2001 - 2013 Tensilica Inc.
|
|
*
|
|
* Joe Taylor <joe@tensilica.com>
|
|
* Chris Zankel <chris@zankel.net>
|
|
* Marc Gauthier <marc@tensilica.com, marc@alumni.uwaterloo.ca>
|
|
* Pete Delaney <piet@tensilica.com>
|
|
*/
|
|
|
|
#include <linux/linkage.h>
|
|
|
|
#include <asm/cacheasm.h>
|
|
#include <asm/initialize_mmu.h>
|
|
#include <asm/mxregs.h>
|
|
#include <asm/regs.h>
|
|
|
|
|
|
.section .SecondaryResetVector.text, "ax"
|
|
|
|
|
|
ENTRY(_SecondaryResetVector)
|
|
_j _SetupOCD
|
|
|
|
.begin no-absolute-literals
|
|
.literal_position
|
|
|
|
_SetupOCD:
|
|
/*
|
|
* Initialize WB, WS, and clear PS.EXCM (to allow loop instructions).
|
|
* Set Interrupt Level just below XCHAL_DEBUGLEVEL to allow
|
|
* xt-gdb to single step via DEBUG exceptions received directly
|
|
* by ocd.
|
|
*/
|
|
movi a1, 1
|
|
movi a0, 0
|
|
wsr a1, windowstart
|
|
wsr a0, windowbase
|
|
rsync
|
|
|
|
movi a1, LOCKLEVEL
|
|
wsr a1, ps
|
|
rsync
|
|
|
|
_SetupMMU:
|
|
#ifdef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
|
|
initialize_mmu
|
|
#endif
|
|
|
|
/*
|
|
* Start Secondary Processors with NULL pointer to boot params.
|
|
*/
|
|
movi a2, 0 # a2 == NULL
|
|
movi a3, _startup
|
|
jx a3
|
|
|
|
.end no-absolute-literals
|