diff options
Diffstat (limited to 'arch/avr32/boot/u-boot/head.S')
-rw-r--r-- | arch/avr32/boot/u-boot/head.S | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/arch/avr32/boot/u-boot/head.S b/arch/avr32/boot/u-boot/head.S deleted file mode 100644 index 2ffc298f061b..000000000000 --- a/arch/avr32/boot/u-boot/head.S +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Startup code for use with the u-boot bootloader. - * - * Copyright (C) 2004-2006 Atmel Corporation - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ -#include <asm/setup.h> -#include <asm/thread_info.h> -#include <asm/sysreg.h> - - /* - * The kernel is loaded where we want it to be and all caches - * have just been flushed. We get two parameters from u-boot: - * - * r12 contains a magic number (ATAG_MAGIC) - * r11 points to a tag table providing information about - * the system. - */ - .section .init.text,"ax" - .global _start -_start: - /* Initialize .bss */ - lddpc r2, bss_start_addr - lddpc r3, end_addr - mov r0, 0 - mov r1, 0 -1: st.d r2++, r0 - cp r2, r3 - brlo 1b - - /* Initialize status register */ - lddpc r0, init_sr - mtsr SYSREG_SR, r0 - - /* Set initial stack pointer */ - lddpc sp, stack_addr - sub sp, -THREAD_SIZE - -#ifdef CONFIG_FRAME_POINTER - /* Mark last stack frame */ - mov lr, 0 - mov r7, 0 -#endif - - /* Check if the boot loader actually provided a tag table */ - lddpc r0, magic_number - cp.w r12, r0 - brne no_tag_table - - /* - * Save the tag table address for later use. This must be done - * _after_ .bss has been initialized... - */ - lddpc r0, tag_table_addr - st.w r0[0], r11 - - /* Jump to loader-independent setup code */ - rjmp kernel_entry - - .align 2 -magic_number: - .long ATAG_MAGIC -tag_table_addr: - .long bootloader_tags -bss_start_addr: - .long __bss_start -end_addr: - .long _end -init_sr: - .long 0x007f0000 /* Supervisor mode, everything masked */ -stack_addr: - .long init_thread_union -panic_addr: - .long panic - -no_tag_table: - sub r12, pc, (. - 2f) - /* branch to panic() which can be far away with that construct */ - lddpc pc, panic_addr -2: .asciz "Boot loader didn't provide correct magic number\n" |