diff options
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/boot/compressed/head_32.S | 2 | ||||
-rw-r--r-- | arch/sh/include/asm/entry-macros.S | 2 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh3/entry.S | 2 | ||||
-rw-r--r-- | arch/sh/kernel/entry-common.S | 5 | ||||
-rw-r--r-- | arch/sh/lib/clear_page.S | 2 |
5 files changed, 7 insertions, 6 deletions
diff --git a/arch/sh/boot/compressed/head_32.S b/arch/sh/boot/compressed/head_32.S index 06ac31f3be88..02a30935f0b9 100644 --- a/arch/sh/boot/compressed/head_32.S +++ b/arch/sh/boot/compressed/head_32.S | |||
@@ -22,7 +22,7 @@ startup: | |||
22 | bt clear_bss | 22 | bt clear_bss |
23 | sub r0, r2 | 23 | sub r0, r2 |
24 | mov.l bss_start_addr, r0 | 24 | mov.l bss_start_addr, r0 |
25 | mov #0xe0, r1 | 25 | mov #0xffffffe0, r1 |
26 | and r1, r0 ! align cache line | 26 | and r1, r0 ! align cache line |
27 | mov.l text_start_addr, r3 | 27 | mov.l text_start_addr, r3 |
28 | mov r0, r1 | 28 | mov r0, r1 |
diff --git a/arch/sh/include/asm/entry-macros.S b/arch/sh/include/asm/entry-macros.S index 64fd0de24daf..cc43a55e1fcf 100644 --- a/arch/sh/include/asm/entry-macros.S +++ b/arch/sh/include/asm/entry-macros.S | |||
@@ -7,7 +7,7 @@ | |||
7 | .endm | 7 | .endm |
8 | 8 | ||
9 | .macro sti | 9 | .macro sti |
10 | mov #0xf0, r11 | 10 | mov #0xfffffff0, r11 |
11 | extu.b r11, r11 | 11 | extu.b r11, r11 |
12 | not r11, r11 | 12 | not r11, r11 |
13 | stc sr, r10 | 13 | stc sr, r10 |
diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S index 8c19e21847d7..9421ec715fd2 100644 --- a/arch/sh/kernel/cpu/sh3/entry.S +++ b/arch/sh/kernel/cpu/sh3/entry.S | |||
@@ -257,7 +257,7 @@ restore_all: | |||
257 | ! | 257 | ! |
258 | ! Calculate new SR value | 258 | ! Calculate new SR value |
259 | mov k3, k2 ! original SR value | 259 | mov k3, k2 ! original SR value |
260 | mov #0xf0, k1 | 260 | mov #0xfffffff0, k1 |
261 | extu.b k1, k1 | 261 | extu.b k1, k1 |
262 | not k1, k1 | 262 | not k1, k1 |
263 | and k1, k2 ! Mask original SR value | 263 | and k1, k2 ! Mask original SR value |
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index 700477601c6f..68d9223b145e 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S | |||
@@ -98,8 +98,9 @@ need_resched: | |||
98 | 98 | ||
99 | mov #OFF_SR, r0 | 99 | mov #OFF_SR, r0 |
100 | mov.l @(r0,r15), r0 ! get status register | 100 | mov.l @(r0,r15), r0 ! get status register |
101 | and #0xf0, r0 ! interrupts off (exception path)? | 101 | shlr r0 |
102 | cmp/eq #0xf0, r0 | 102 | and #(0xf0>>1), r0 ! interrupts off (exception path)? |
103 | cmp/eq #(0xf0>>1), r0 | ||
103 | bt noresched | 104 | bt noresched |
104 | mov.l 3f, r0 | 105 | mov.l 3f, r0 |
105 | jsr @r0 ! call preempt_schedule_irq | 106 | jsr @r0 ! call preempt_schedule_irq |
diff --git a/arch/sh/lib/clear_page.S b/arch/sh/lib/clear_page.S index 8342bfbde64c..c92244d4ff9d 100644 --- a/arch/sh/lib/clear_page.S +++ b/arch/sh/lib/clear_page.S | |||
@@ -57,7 +57,7 @@ ENTRY(clear_page) | |||
57 | ENTRY(__clear_user) | 57 | ENTRY(__clear_user) |
58 | ! | 58 | ! |
59 | mov #0, r0 | 59 | mov #0, r0 |
60 | mov #0xe0, r1 ! 0xffffffe0 | 60 | mov #0xffffffe0, r1 |
61 | ! | 61 | ! |
62 | ! r4..(r4+31)&~32 -------- not aligned [ Area 0 ] | 62 | ! r4..(r4+31)&~32 -------- not aligned [ Area 0 ] |
63 | ! (r4+31)&~32..(r4+r5)&~32 -------- aligned [ Area 1 ] | 63 | ! (r4+31)&~32..(r4+r5)&~32 -------- aligned [ Area 1 ] |