diff options
Diffstat (limited to 'arch/sh/kernel/cpu/sh5/entry.S')
-rw-r--r-- | arch/sh/kernel/cpu/sh5/entry.S | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/arch/sh/kernel/cpu/sh5/entry.S b/arch/sh/kernel/cpu/sh5/entry.S index 04c7da968146..e640c63d5811 100644 --- a/arch/sh/kernel/cpu/sh5/entry.S +++ b/arch/sh/kernel/cpu/sh5/entry.S | |||
@@ -2,7 +2,7 @@ | |||
2 | * arch/sh/kernel/cpu/sh5/entry.S | 2 | * arch/sh/kernel/cpu/sh5/entry.S |
3 | * | 3 | * |
4 | * Copyright (C) 2000, 2001 Paolo Alberelli | 4 | * Copyright (C) 2000, 2001 Paolo Alberelli |
5 | * Copyright (C) 2004 - 2007 Paul Mundt | 5 | * Copyright (C) 2004 - 2008 Paul Mundt |
6 | * Copyright (C) 2003, 2004 Richard Curnow | 6 | * Copyright (C) 2003, 2004 Richard Curnow |
7 | * | 7 | * |
8 | * This file is subject to the terms and conditions of the GNU General Public | 8 | * This file is subject to the terms and conditions of the GNU General Public |
@@ -923,6 +923,8 @@ ret_from_exception: | |||
923 | blink tr0, ZERO | 923 | blink tr0, ZERO |
924 | 924 | ||
925 | resume_kernel: | 925 | resume_kernel: |
926 | CLI() | ||
927 | |||
926 | pta restore_all, tr0 | 928 | pta restore_all, tr0 |
927 | 929 | ||
928 | getcon KCR0, r6 | 930 | getcon KCR0, r6 |
@@ -939,19 +941,11 @@ need_resched: | |||
939 | andi r7, 0xf0, r7 | 941 | andi r7, 0xf0, r7 |
940 | bne r7, ZERO, tr0 | 942 | bne r7, ZERO, tr0 |
941 | 943 | ||
942 | movi ((PREEMPT_ACTIVE >> 16) & 65535), r8 | 944 | movi preempt_schedule_irq, r7 |
943 | shori (PREEMPT_ACTIVE & 65535), r8 | ||
944 | st.l r6, TI_PRE_COUNT, r8 | ||
945 | |||
946 | STI() | ||
947 | movi schedule, r7 | ||
948 | ori r7, 1, r7 | 945 | ori r7, 1, r7 |
949 | ptabs r7, tr1 | 946 | ptabs r7, tr1 |
950 | blink tr1, LINK | 947 | blink tr1, LINK |
951 | 948 | ||
952 | st.l r6, TI_PRE_COUNT, ZERO | ||
953 | CLI() | ||
954 | |||
955 | pta need_resched, tr1 | 949 | pta need_resched, tr1 |
956 | blink tr1, ZERO | 950 | blink tr1, ZERO |
957 | #endif | 951 | #endif |