aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m32r
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m32r')
-rw-r--r--arch/m32r/kernel/entry.S16
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/m32r/kernel/entry.S b/arch/m32r/kernel/entry.S
index 42b08bfd46fe..d4eaa2fd1818 100644
--- a/arch/m32r/kernel/entry.S
+++ b/arch/m32r/kernel/entry.S
@@ -112,7 +112,7 @@
112#define nr_syscalls ((syscall_table_size)/4) 112#define nr_syscalls ((syscall_table_size)/4)
113 113
114#ifdef CONFIG_PREEMPT 114#ifdef CONFIG_PREEMPT
115#define preempt_stop(x) CLI(x) 115#define preempt_stop(x) DISABLE_INTERRUPTS(x)
116#else 116#else
117#define preempt_stop(x) 117#define preempt_stop(x)
118#define resume_kernel restore_all 118#define resume_kernel restore_all
@@ -144,7 +144,7 @@ ret_from_intr:
144#endif 144#endif
145 beqz r4, resume_kernel 145 beqz r4, resume_kernel
146ENTRY(resume_userspace) 146ENTRY(resume_userspace)
147 CLI(r4) ; make sure we don't miss an interrupt 147 DISABLE_INTERRUPTS(r4) ; make sure we don't miss an interrupt
148 ; setting need_resched or sigpending 148 ; setting need_resched or sigpending
149 ; between sampling and the iret 149 ; between sampling and the iret
150 GET_THREAD_INFO(r8) 150 GET_THREAD_INFO(r8)
@@ -168,11 +168,11 @@ need_resched:
168 beqz r4, restore_all 168 beqz r4, restore_all
169 LDIMM (r4, PREEMPT_ACTIVE) 169 LDIMM (r4, PREEMPT_ACTIVE)
170 st r4, @(TI_PRE_COUNT, r8) 170 st r4, @(TI_PRE_COUNT, r8)
171 STI(r4) 171 ENABLE_INTERRUPTS(r4)
172 bl schedule 172 bl schedule
173 ldi r4, #0 173 ldi r4, #0
174 st r4, @(TI_PRE_COUNT, r8) 174 st r4, @(TI_PRE_COUNT, r8)
175 CLI(r4) 175 DISABLE_INTERRUPTS(r4)
176 bra need_resched 176 bra need_resched
177#endif 177#endif
178 178
@@ -180,7 +180,7 @@ need_resched:
180ENTRY(system_call) 180ENTRY(system_call)
181 SWITCH_TO_KERNEL_STACK 181 SWITCH_TO_KERNEL_STACK
182 SAVE_ALL 182 SAVE_ALL
183 STI(r4) ; Enable interrupt 183 ENABLE_INTERRUPTS(r4) ; Enable interrupt
184 st sp, PTREGS(sp) ; implicit pt_regs parameter 184 st sp, PTREGS(sp) ; implicit pt_regs parameter
185 cmpui r7, #NR_syscalls 185 cmpui r7, #NR_syscalls
186 bnc syscall_badsys 186 bnc syscall_badsys
@@ -198,7 +198,7 @@ syscall_call:
198 jl r7 ; execute system call 198 jl r7 ; execute system call
199 st r0, R0(sp) ; save the return value 199 st r0, R0(sp) ; save the return value
200syscall_exit: 200syscall_exit:
201 CLI(r4) ; make sure we don't miss an interrupt 201 DISABLE_INTERRUPTS(r4) ; make sure we don't miss an interrupt
202 ; setting need_resched or sigpending 202 ; setting need_resched or sigpending
203 ; between sampling and the iret 203 ; between sampling and the iret
204 ld r9, @(TI_FLAGS, r8) 204 ld r9, @(TI_FLAGS, r8)
@@ -215,7 +215,7 @@ work_pending:
215 beqz r4, work_notifysig 215 beqz r4, work_notifysig
216work_resched: 216work_resched:
217 bl schedule 217 bl schedule
218 CLI(r4) ; make sure we don't miss an interrupt 218 DISABLE_INTERRUPTS(r4) ; make sure we don't miss an interrupt
219 ; setting need_resched or sigpending 219 ; setting need_resched or sigpending
220 ; between sampling and the iret 220 ; between sampling and the iret
221 ld r9, @(TI_FLAGS, r8) 221 ld r9, @(TI_FLAGS, r8)
@@ -257,7 +257,7 @@ syscall_exit_work:
257 ld r9, @(TI_FLAGS, r8) 257 ld r9, @(TI_FLAGS, r8)
258 and3 r4, r9, #_TIF_SYSCALL_TRACE 258 and3 r4, r9, #_TIF_SYSCALL_TRACE
259 beqz r4, work_pending 259 beqz r4, work_pending
260 STI(r4) ; could let do_syscall_trace() call 260 ENABLE_INTERRUPTS(r4) ; could let do_syscall_trace() call
261 ; schedule() instead 261 ; schedule() instead
262 bl do_syscall_trace 262 bl do_syscall_trace
263 bra resume_userspace 263 bra resume_userspace