2 * Startup code for use with the u-boot bootloader.
4 * Copyright (C) 2004-2006 Atmel Corporation
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
10 #include <asm/setup.h>
11 #include <asm/thread_info.h>
12 #include <asm/sysreg.h>
15 * The kernel is loaded where we want it to be and all caches
16 * have just been flushed. We get two parameters from u-boot:
18 * r12 contains a magic number (ATAG_MAGIC)
19 * r11 points to a tag table providing information about
22 .section .init.text,"ax"
26 lddpc r2, bss_start_addr
34 /* Initialize status register */
38 /* Set initial stack pointer */
42 #ifdef CONFIG_FRAME_POINTER
43 /* Mark last stack frame */
48 /* Check if the boot loader actually provided a tag table */
49 lddpc r0, magic_number
54 * Save the tag table address for later use. This must be done
55 * _after_ .bss has been initialized...
57 lddpc r0, tag_table_addr
60 /* Jump to loader-independent setup code */
73 .long 0x007f0000 /* Supervisor mode, everything masked */
75 .long init_thread_union
81 /* branch to panic() which can be far away with that construct */
83 2: .asciz "Boot loader didn't provide correct magic number\n"