aboutsummaryrefslogtreecommitdiffstats
path: root/arch/csky/kernel/atomic.S
diff options
context:
space:
mode:
authorGuo Ren <guoren@linux.alibaba.com>2020-12-24 02:02:55 +0000
committerGuo Ren <guoren@linux.alibaba.com>2021-01-12 09:52:40 +0800
commitb0ae5e26b863f74aeaf73684d04dfb6fb72f836c (patch)
tree822975c71512edf8a85575b8f08fd745630d5e73 /arch/csky/kernel/atomic.S
parentcsky: Fixup PTE global for 2.5:1.5 virtual memory (diff)
downloadlinux-dev-b0ae5e26b863f74aeaf73684d04dfb6fb72f836c.tar.xz
linux-dev-b0ae5e26b863f74aeaf73684d04dfb6fb72f836c.zip
csky: Remove prologue of page fault handler in entry.S
There is a prologue on page fault handler which marking pages dirty and/or accessed in page attributes, but all of these have been handled in handle_pte_fault. - Add flush_tlb_one in vmalloc page fault instead of prologue. - Using cmxchg_fixup C codes in do_page_fault instead of ASM one. Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Diffstat (limited to 'arch/csky/kernel/atomic.S')
-rw-r--r--arch/csky/kernel/atomic.S20
1 files changed, 2 insertions, 18 deletions
diff --git a/arch/csky/kernel/atomic.S b/arch/csky/kernel/atomic.S
index f03db1d8d060..e73e548f7855 100644
--- a/arch/csky/kernel/atomic.S
+++ b/arch/csky/kernel/atomic.S
@@ -40,11 +40,11 @@ ENTRY(csky_cmpxchg)
2:
sync.is
#else
-1:
+GLOBAL(csky_cmpxchg_ldw)
ldw a3, (a2)
cmpne a0, a3
bt16 3f
-2:
+GLOBAL(csky_cmpxchg_stw)
stw a1, (a2)
3:
#endif
@@ -59,19 +59,3 @@ ENTRY(csky_cmpxchg)
KSPTOUSP
rte
END(csky_cmpxchg)
-
-#ifndef CONFIG_CPU_HAS_LDSTEX
-/*
- * Called from tlbmodified exception
- */
-ENTRY(csky_cmpxchg_fixup)
- mfcr a0, epc
- lrw a1, 2b
- cmpne a1, a0
- bt 1f
- subi a1, (2b - 1b)
- stw a1, (sp, LSAVE_PC)
-1:
- rts
-END(csky_cmpxchg_fixup)
-#endif