summaryrefslogtreecommitdiff
path: root/arch/riscv/include/asm/futex.h
diff options
context:
space:
mode:
authorJisheng Zhang <jszhang@kernel.org>2021-11-18 14:22:27 +0300
committerPalmer Dabbelt <palmer@rivosinc.com>2022-01-06 04:52:15 +0300
commitf8f2ad02ee438b7dbceaac947077eaf77c823646 (patch)
tree6ce8926e9235be84320e183c129d00aa1243d485 /arch/riscv/include/asm/futex.h
parentddad0b88d5032e1c4a2a94b46aeadada4e4d8a72 (diff)
downloadlinux-f8f2ad02ee438b7dbceaac947077eaf77c823646.tar.xz
riscv: consolidate __ex_table construction
Consolidate all the __ex_table constuction code with a _ASM_EXTABLE helper. There should be no functional change as a result of this patch. Signed-off-by: Jisheng Zhang <jszhang@kernel.org> Reviewed-by: Kefeng Wang <wangkefeng.wang@huawei.com> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'arch/riscv/include/asm/futex.h')
-rw-r--r--arch/riscv/include/asm/futex.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/arch/riscv/include/asm/futex.h b/arch/riscv/include/asm/futex.h
index 1b00badb9f87..3191574e135c 100644
--- a/arch/riscv/include/asm/futex.h
+++ b/arch/riscv/include/asm/futex.h
@@ -30,10 +30,7 @@
"3: li %[r],%[e] \n" \
" jump 2b,%[t] \n" \
" .previous \n" \
- " .section __ex_table,\"a\" \n" \
- " .balign " RISCV_SZPTR " \n" \
- " " RISCV_PTR " 1b, 3b \n" \
- " .previous \n" \
+ _ASM_EXTABLE(1b, 3b) \
: [r] "+r" (ret), [ov] "=&r" (oldval), \
[u] "+m" (*uaddr), [t] "=&r" (tmp) \
: [op] "Jr" (oparg), [e] "i" (-EFAULT) \
@@ -103,11 +100,8 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
"4: li %[r],%[e] \n"
" jump 3b,%[t] \n"
" .previous \n"
- " .section __ex_table,\"a\" \n"
- " .balign " RISCV_SZPTR " \n"
- " " RISCV_PTR " 1b, 4b \n"
- " " RISCV_PTR " 2b, 4b \n"
- " .previous \n"
+ _ASM_EXTABLE(1b, 4b) \
+ _ASM_EXTABLE(2b, 4b) \
: [r] "+r" (ret), [v] "=&r" (val), [u] "+m" (*uaddr), [t] "=&r" (tmp)
: [ov] "Jr" (oldval), [nv] "Jr" (newval), [e] "i" (-EFAULT)
: "memory");