blob: 857900a6eb7f4b1fe3aa8f7d490fb909bf410ab5 [file] [log] [blame]
Patrick Georgi40a3e322015-06-22 19:41:29 +02001/*
2 * Early initialization code for ARM architecture.
3 *
4 * This file is based off of the OMAP3530/ARM Cortex start.S file from Das
5 * U-Boot, which itself got the file from armboot.
6 *
7 * Copyright (c) 2004 Texas Instruments <r-woodruff2@ti.com>
8 * Copyright (c) 2001 Marius Gröger <mag@sysgo.de>
9 * Copyright (c) 2002 Alex Züpke <azu@sysgo.de>
10 * Copyright (c) 2002 Gary Jennejohn <garyj@denx.de>
11 * Copyright (c) 2003 Richard Woodruff <r-woodruff2@ti.com>
12 * Copyright (c) 2003 Kshitij <kshitij@ti.com>
13 * Copyright (c) 2006-2008 Syed Mohammed Khasim <x0khasim@ti.com>
14 * Copyright (c) 2013 The Chromium OS Authors
15 *
16 * This program is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License as
18 * published by the Free Software Foundation; version 2 of
19 * the License.
20 *
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
Patrick Georgi40a3e322015-06-22 19:41:29 +020025 */
26
27#include <arch/asm.h>
28
29#include "stack.S"
30
31ENTRY(_start)
32 /*
33 * Set the cpu to System mode with IRQ and FIQ disabled. Prefetch/Data
34 * aborts may happen early and crash before the abort handlers are
35 * installed, but at least the problem will show up near the code that
36 * causes it.
37 */
38 msr cpsr_cxf, #0xdf
39
40 stack_init stack_top=_estack stack_bottom=_stack seed=1 func=main
41ENDPROC(_start)