aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-09-05 11:42:55 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2016-10-05 18:38:40 -0400
commitc99d2abd9bc67fd0d578a483f9b82eaa0f61e5c5 (patch)
tree33190c5db366cc4ba342e2eb0b20f7f7ef65b13d
parent88dd4a748da7682966f3e52e5dde9a1b1c0bc9d8 (diff)
sparc64: separate extable_64.h, switch elf_64.h to it
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--arch/sparc/include/asm/elf_64.h2
-rw-r--r--arch/sparc/include/asm/extable_64.h20
-rw-r--r--arch/sparc/include/asm/uaccess_64.h18
3 files changed, 22 insertions, 18 deletions
diff --git a/arch/sparc/include/asm/elf_64.h b/arch/sparc/include/asm/elf_64.h
index 93310837c2df..3f2d403873bd 100644
--- a/arch/sparc/include/asm/elf_64.h
+++ b/arch/sparc/include/asm/elf_64.h
@@ -7,7 +7,7 @@
7 7
8#include <asm/ptrace.h> 8#include <asm/ptrace.h>
9#include <asm/processor.h> 9#include <asm/processor.h>
10#include <asm/uaccess.h> 10#include <asm/extable_64.h>
11#include <asm/spitfire.h> 11#include <asm/spitfire.h>
12 12
13/* 13/*
diff --git a/arch/sparc/include/asm/extable_64.h b/arch/sparc/include/asm/extable_64.h
new file mode 100644
index 000000000000..1121cb056ffb
--- /dev/null
+++ b/arch/sparc/include/asm/extable_64.h
@@ -0,0 +1,20 @@
1#ifndef __ASM_EXTABLE64_H
2#define __ASM_EXTABLE64_H
3/*
4 * The exception table consists of pairs of addresses: the first is the
5 * address of an instruction that is allowed to fault, and the second is
6 * the address at which the program should continue. No registers are
7 * modified, so it is entirely up to the continuation code to figure out
8 * what to do.
9 *
10 * All the routines below use bits of fixup code that are out of line
11 * with the main instruction path. This means when everything is well,
12 * we don't even have to jump over them. Further, they do not intrude
13 * on our cache or tlb entries.
14 */
15
16struct exception_table_entry {
17 unsigned int insn, fixup;
18};
19
20#endif
diff --git a/arch/sparc/include/asm/uaccess_64.h b/arch/sparc/include/asm/uaccess_64.h
index 37a315d0ddd4..b68acc563235 100644
--- a/arch/sparc/include/asm/uaccess_64.h
+++ b/arch/sparc/include/asm/uaccess_64.h
@@ -13,6 +13,7 @@
13#include <asm/asi.h> 13#include <asm/asi.h>
14#include <asm/spitfire.h> 14#include <asm/spitfire.h>
15#include <asm-generic/uaccess-unaligned.h> 15#include <asm-generic/uaccess-unaligned.h>
16#include <asm/extable_64.h>
16#endif 17#endif
17 18
18#ifndef __ASSEMBLY__ 19#ifndef __ASSEMBLY__
@@ -81,23 +82,6 @@ static inline int access_ok(int type, const void __user * addr, unsigned long si
81 return 1; 82 return 1;
82} 83}
83 84
84/*
85 * The exception table consists of pairs of addresses: the first is the
86 * address of an instruction that is allowed to fault, and the second is
87 * the address at which the program should continue. No registers are
88 * modified, so it is entirely up to the continuation code to figure out
89 * what to do.
90 *
91 * All the routines below use bits of fixup code that are out of line
92 * with the main instruction path. This means when everything is well,
93 * we don't even have to jump over them. Further, they do not intrude
94 * on our cache or tlb entries.
95 */
96
97struct exception_table_entry {
98 unsigned int insn, fixup;
99};
100
101void __ret_efault(void); 85void __ret_efault(void);
102void __retl_efault(void); 86void __retl_efault(void);
103 87