diff options
Diffstat (limited to 'arch/sh/kernel/cpu/sh3/entry.S')
-rw-r--r-- | arch/sh/kernel/cpu/sh3/entry.S | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S index f94f25e666cc..aebd33d18ff7 100644 --- a/arch/sh/kernel/cpu/sh3/entry.S +++ b/arch/sh/kernel/cpu/sh3/entry.S | |||
@@ -265,7 +265,7 @@ restore_all: | |||
265 | ! | 265 | ! |
266 | ! Calculate new SR value | 266 | ! Calculate new SR value |
267 | mov k3, k2 ! original SR value | 267 | mov k3, k2 ! original SR value |
268 | mov #0xf0, k1 | 268 | mov #0xfffffff0, k1 |
269 | extu.b k1, k1 | 269 | extu.b k1, k1 |
270 | not k1, k1 | 270 | not k1, k1 |
271 | and k1, k2 ! Mask original SR value | 271 | and k1, k2 ! Mask original SR value |
@@ -516,6 +516,8 @@ ENTRY(handle_interrupt) | |||
516 | bsr save_regs ! needs original pr value in k3 | 516 | bsr save_regs ! needs original pr value in k3 |
517 | mov #-1, k2 ! default vector kept in k2 | 517 | mov #-1, k2 ! default vector kept in k2 |
518 | 518 | ||
519 | setup_frame_reg | ||
520 | |||
519 | stc sr, r0 ! get status register | 521 | stc sr, r0 ! get status register |
520 | shlr2 r0 | 522 | shlr2 r0 |
521 | and #0x3c, r0 | 523 | and #0x3c, r0 |