entry.S (c9f289701540baeef9ac7c9977d67a7259f404db) entry.S (000591f1ca3312d9a29e15a9e3fe5c4171f75586)
1/* SPDX-License-Identifier: GPL-2.0 */
2// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
3
4#include <linux/linkage.h>
5#include <abi/entry.h>
6#include <abi/pgtable-bits.h>
7#include <asm/errno.h>
8#include <asm/setup.h>

--- 114 unchanged lines hidden (view full) ---

123#ifndef CONFIG_CPU_HAS_LDSTEX
124jbsr csky_cmpxchg_fixup
125#endif
126tlbop_end 1
127
128ENTRY(csky_systemcall)
129 SAVE_ALL TRAP0_SIZE
130 zero_fp
1/* SPDX-License-Identifier: GPL-2.0 */
2// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
3
4#include <linux/linkage.h>
5#include <abi/entry.h>
6#include <abi/pgtable-bits.h>
7#include <asm/errno.h>
8#include <asm/setup.h>

--- 114 unchanged lines hidden (view full) ---

123#ifndef CONFIG_CPU_HAS_LDSTEX
124jbsr csky_cmpxchg_fixup
125#endif
126tlbop_end 1
127
128ENTRY(csky_systemcall)
129 SAVE_ALL TRAP0_SIZE
130 zero_fp
131
131#ifdef CONFIG_RSEQ_DEBUG
132 mov a0, sp
133 jbsr rseq_syscall
134#endif
132 psrset ee, ie
133
134 lrw r11, __NR_syscalls
135 cmphs syscallid, r11 /* Check nr of syscall */
136 bt ret_from_exception
137
138 lrw r13, sys_call_table
139 ixw r13, syscallid

--- 77 unchanged lines hidden (view full) ---

217 bmaski r10, THREAD_SHIFT
218 andn r9, r10
219
220 ldw r12, (r9, TINFO_FLAGS)
221 andi r12, (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | _TIF_NEED_RESCHED)
222 cmpnei r12, 0
223 bt exit_work
2241:
135 psrset ee, ie
136
137 lrw r11, __NR_syscalls
138 cmphs syscallid, r11 /* Check nr of syscall */
139 bt ret_from_exception
140
141 lrw r13, sys_call_table
142 ixw r13, syscallid

--- 77 unchanged lines hidden (view full) ---

220 bmaski r10, THREAD_SHIFT
221 andn r9, r10
222
223 ldw r12, (r9, TINFO_FLAGS)
224 andi r12, (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | _TIF_NEED_RESCHED)
225 cmpnei r12, 0
226 bt exit_work
2271:
228#ifdef CONFIG_TRACE_IRQFLAGS
229 ld r10, (sp, LSAVE_PSR)
230 btsti r10, 6
231 bf 2f
232 jbsr trace_hardirqs_on
2332:
234#endif
225 RESTORE_ALL
226
227exit_work:
228 lrw syscallid, ret_from_exception
229 mov lr, syscallid
230
231 btsti r12, TIF_NEED_RESCHED
232 bt work_resched

--- 39 unchanged lines hidden (view full) ---

272 KSPTOUSP
273 rte
274
275ENTRY(csky_irq)
276 SAVE_ALL 0
277 zero_fp
278 psrset ee
279
235 RESTORE_ALL
236
237exit_work:
238 lrw syscallid, ret_from_exception
239 mov lr, syscallid
240
241 btsti r12, TIF_NEED_RESCHED
242 bt work_resched

--- 39 unchanged lines hidden (view full) ---

282 KSPTOUSP
283 rte
284
285ENTRY(csky_irq)
286 SAVE_ALL 0
287 zero_fp
288 psrset ee
289
290#ifdef CONFIG_TRACE_IRQFLAGS
291 jbsr trace_hardirqs_off
292#endif
293
280#ifdef CONFIG_PREEMPTION
281 mov r9, sp /* Get current stack pointer */
282 bmaski r10, THREAD_SHIFT
283 andn r9, r10 /* Get thread_info */
284
285 /*
286 * Get task_struct->stack.preempt_count for current,
287 * and increase 1.

--- 58 unchanged lines hidden ---
294#ifdef CONFIG_PREEMPTION
295 mov r9, sp /* Get current stack pointer */
296 bmaski r10, THREAD_SHIFT
297 andn r9, r10 /* Get thread_info */
298
299 /*
300 * Get task_struct->stack.preempt_count for current,
301 * and increase 1.

--- 58 unchanged lines hidden ---