aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/head.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/kernel/head.S')
-rw-r--r--arch/sh/kernel/head.S12
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/sh/kernel/head.S b/arch/sh/kernel/head.S
index f5f53d14f245..b5ff23264617 100644
--- a/arch/sh/kernel/head.S
+++ b/arch/sh/kernel/head.S
@@ -53,8 +53,10 @@ ENTRY(_stext)
53 ldc r0, sr 53 ldc r0, sr
54 ! Initialize global interrupt mask 54 ! Initialize global interrupt mask
55 mov #0, r0 55 mov #0, r0
56#ifdef CONFIG_CPU_HAS_SR_RB
56 ldc r0, r6_bank 57 ldc r0, r6_bank
57 58#endif
59
58 /* 60 /*
59 * Prefetch if possible to reduce cache miss penalty. 61 * Prefetch if possible to reduce cache miss penalty.
60 * 62 *
@@ -71,8 +73,10 @@ ENTRY(_stext)
71 mov #(THREAD_SIZE >> 8), r1 73 mov #(THREAD_SIZE >> 8), r1
72 shll8 r1 ! r1 = THREAD_SIZE 74 shll8 r1 ! r1 = THREAD_SIZE
73 sub r1, r0 ! 75 sub r1, r0 !
76#ifdef CONFIG_CPU_HAS_SR_RB
74 ldc r0, r7_bank ! ... and initial thread_info 77 ldc r0, r7_bank ! ... and initial thread_info
75 78#endif
79
76 ! Clear BSS area 80 ! Clear BSS area
77 mov.l 3f, r1 81 mov.l 3f, r1
78 add #4, r1 82 add #4, r1
@@ -95,7 +99,11 @@ ENTRY(_stext)
95 nop 99 nop
96 100
97 .balign 4 101 .balign 4
102#if defined(CONFIG_CPU_SH2)
1031: .long 0x000000F0 ! IMASK=0xF
104#else
981: .long 0x400080F0 ! MD=1, RB=0, BL=0, FD=1, IMASK=0xF 1051: .long 0x400080F0 ! MD=1, RB=0, BL=0, FD=1, IMASK=0xF
106#endif
992: .long init_thread_union+THREAD_SIZE 1072: .long init_thread_union+THREAD_SIZE
1003: .long __bss_start 1083: .long __bss_start
1014: .long _end 1094: .long _end