diff options
Diffstat (limited to 'arch/avr32/kernel/head.S')
| -rw-r--r-- | arch/avr32/kernel/head.S | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/arch/avr32/kernel/head.S b/arch/avr32/kernel/head.S index 6163bd0acb95..59eae6dfbed2 100644 --- a/arch/avr32/kernel/head.S +++ b/arch/avr32/kernel/head.S | |||
| @@ -10,33 +10,13 @@ | |||
| 10 | #include <linux/linkage.h> | 10 | #include <linux/linkage.h> |
| 11 | 11 | ||
| 12 | #include <asm/page.h> | 12 | #include <asm/page.h> |
| 13 | #include <asm/thread_info.h> | ||
| 14 | #include <asm/sysreg.h> | ||
| 15 | 13 | ||
| 16 | .section .init.text,"ax" | 14 | .section .init.text,"ax" |
| 17 | .global kernel_entry | 15 | .global kernel_entry |
| 18 | kernel_entry: | 16 | kernel_entry: |
| 19 | /* Initialize status register */ | ||
| 20 | lddpc r0, init_sr | ||
| 21 | mtsr SYSREG_SR, r0 | ||
| 22 | |||
| 23 | /* Set initial stack pointer */ | ||
| 24 | lddpc sp, stack_addr | ||
| 25 | sub sp, -THREAD_SIZE | ||
| 26 | |||
| 27 | #ifdef CONFIG_FRAME_POINTER | ||
| 28 | /* Mark last stack frame */ | ||
| 29 | mov lr, 0 | ||
| 30 | mov r7, 0 | ||
| 31 | #endif | ||
| 32 | |||
| 33 | /* Start the show */ | 17 | /* Start the show */ |
| 34 | lddpc pc, kernel_start_addr | 18 | lddpc pc, kernel_start_addr |
| 35 | 19 | ||
| 36 | .align 2 | 20 | .align 2 |
| 37 | init_sr: | ||
| 38 | .long 0x007f0000 /* Supervisor mode, everything masked */ | ||
| 39 | stack_addr: | ||
| 40 | .long init_thread_union | ||
| 41 | kernel_start_addr: | 21 | kernel_start_addr: |
| 42 | .long start_kernel | 22 | .long start_kernel |
