diff options
author | Wolfgang Denk <wd@denx.de> | 2013-07-08 09:37:19 +0200 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-07-24 09:44:38 -0400 |
commit | 1a4596601fd395f3afb8f82f3f840c5e00bdd57a (patch) | |
tree | 1151312d295249d78e3e70833dd47584534dd3f3 /arch/sparc/cpu/leon3/start.S | |
parent | eca3aeb352c964bdb28b8e191d6326370245e03f (diff) | |
download | u-boot-imx-1a4596601fd395f3afb8f82f3f840c5e00bdd57a.zip u-boot-imx-1a4596601fd395f3afb8f82f3f840c5e00bdd57a.tar.gz u-boot-imx-1a4596601fd395f3afb8f82f3f840c5e00bdd57a.tar.bz2 |
Add GPL-2.0+ SPDX-License-Identifier to source files
Signed-off-by: Wolfgang Denk <wd@denx.de>
[trini: Fixup common/cmd_io.c]
Signed-off-by: Tom Rini <trini@ti.com>
Diffstat (limited to 'arch/sparc/cpu/leon3/start.S')
-rw-r--r-- | arch/sparc/cpu/leon3/start.S | 77 |
1 files changed, 27 insertions, 50 deletions
diff --git a/arch/sparc/cpu/leon3/start.S b/arch/sparc/cpu/leon3/start.S index 1e393a5..70aee78 100644 --- a/arch/sparc/cpu/leon3/start.S +++ b/arch/sparc/cpu/leon3/start.S @@ -1,54 +1,31 @@ -/* This is where the SPARC/LEON3 starts - * Copyright (C) 2007, - * Daniel Hellstrom, daniel@gaisler.com - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ +TRAP ta 0; nop; nop; nop; + +/* Software trap. Treat as BAD_TRAP for the time being... */ +#define SOFT_TRAP TRAP(_hwerr) + +#define PSR_INIT 0x1FC0 /* Disable traps, set s and ps */ +#define WIM_INIT 2 + +/* All traps low-level code here must end with this macro. */ +#define RESTORE_ALL b ret_trap_entry; clr %l6; + +#define WRITE_PAUSE nop;nop;nop + +WINDOWSIZE = (16 * 4) +ARGPUSHSIZE = (6 * 4) +ARGPUSH = (WINDOWSIZE + 4) +MINFRAME = (WINDOWSIZE + ARGPUSHSIZE + 4) -#include <asm-offsets.h> -#include <config.h> -#include <asm/asmmacro.h> -#include <asm/winmacro.h> -#include <asm/psr.h> -#include <asm/stack.h> -#include <asm/leon.h> -#include <version.h> - -/* Entry for traps which jump to a programmer-specified trap handler. */ -#define TRAPR(H) \ - wr %g0, 0xfe0, %psr; \ - mov %g0, %tbr; \ - ba (H); \ - mov %g0, %wim; - -#define TRAP(H) \ - mov %psr, %l0; \ - ba (H); \ - nop; nop; - -#define TRAPI(ilevel) \ - mov ilevel, %l7; \ - mov %psr, %l0; \ - b _irq_entry; \ - mov %wim, %l3 - -/* Unexcpected trap will halt the processor by forcing it to error state */ +/* Number of register windows */ +#ifndef CONFIG_SYS_SPARC_NWINDOWS +#error Must define number of SPARC register windows, default is 8 +#endif + +#define STACK_ALIGN 8 +#define SA(X) (((X)+(STACK_ALIGN-1)) & ~(STACK_ALIGN-1)) + + .section ".start", "ax" + .globl _starttate */ #undef BAD_TRAP #define BAD_TRAP ta 0; nop; nop; nop; |