diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2017-03-07 04:08:46 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2017-03-28 18:23:19 -0400 |
commit | ca282f69738161ca1ac2e13b2c1b283be82ffb4b (patch) | |
tree | 7d6cf95a85ea889c0f9a9e35c5b11163d8fdbec8 /arch/alpha/lib/csum_partial_copy.c | |
parent | c9df6025a6ecc5b4d243d1469a4697e03c371a88 (diff) |
alpha: add a helper for emitting exception table entries
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/alpha/lib/csum_partial_copy.c')
-rw-r--r-- | arch/alpha/lib/csum_partial_copy.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/alpha/lib/csum_partial_copy.c b/arch/alpha/lib/csum_partial_copy.c index 5dfb7975895f..ab42afba1720 100644 --- a/arch/alpha/lib/csum_partial_copy.c +++ b/arch/alpha/lib/csum_partial_copy.c | |||
@@ -45,10 +45,7 @@ __asm__ __volatile__("insqh %1,%2,%0":"=r" (z):"r" (x),"r" (y)) | |||
45 | __asm__ __volatile__( \ | 45 | __asm__ __volatile__( \ |
46 | "1: ldq_u %0,%2\n" \ | 46 | "1: ldq_u %0,%2\n" \ |
47 | "2:\n" \ | 47 | "2:\n" \ |
48 | ".section __ex_table,\"a\"\n" \ | 48 | EXC(1b,2b,%0,%1) \ |
49 | " .long 1b - .\n" \ | ||
50 | " lda %0,2b-1b(%1)\n" \ | ||
51 | ".previous" \ | ||
52 | : "=r"(x), "=r"(__guu_err) \ | 49 | : "=r"(x), "=r"(__guu_err) \ |
53 | : "m"(__m(ptr)), "1"(0)); \ | 50 | : "m"(__m(ptr)), "1"(0)); \ |
54 | __guu_err; \ | 51 | __guu_err; \ |
@@ -60,10 +57,7 @@ __asm__ __volatile__("insqh %1,%2,%0":"=r" (z):"r" (x),"r" (y)) | |||
60 | __asm__ __volatile__( \ | 57 | __asm__ __volatile__( \ |
61 | "1: stq_u %2,%1\n" \ | 58 | "1: stq_u %2,%1\n" \ |
62 | "2:\n" \ | 59 | "2:\n" \ |
63 | ".section __ex_table,\"a\"\n" \ | 60 | EXC(1b,2b,$31,%0) \ |
64 | " .long 1b - ." \ | ||
65 | " lda $31,2b-1b(%0)\n" \ | ||
66 | ".previous" \ | ||
67 | : "=r"(__puu_err) \ | 61 | : "=r"(__puu_err) \ |
68 | : "m"(__m(addr)), "rJ"(x), "0"(0)); \ | 62 | : "m"(__m(addr)), "rJ"(x), "0"(0)); \ |
69 | __puu_err; \ | 63 | __puu_err; \ |