diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-09-05 11:42:55 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-10-05 18:38:40 -0400 |
commit | c99d2abd9bc67fd0d578a483f9b82eaa0f61e5c5 (patch) | |
tree | 33190c5db366cc4ba342e2eb0b20f7f7ef65b13d | |
parent | 88dd4a748da7682966f3e52e5dde9a1b1c0bc9d8 (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.h | 2 | ||||
-rw-r--r-- | arch/sparc/include/asm/extable_64.h | 20 | ||||
-rw-r--r-- | arch/sparc/include/asm/uaccess_64.h | 18 |
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 | |||
16 | struct 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 | |||
97 | struct exception_table_entry { | ||
98 | unsigned int insn, fixup; | ||
99 | }; | ||
100 | |||
101 | void __ret_efault(void); | 85 | void __ret_efault(void); |
102 | void __retl_efault(void); | 86 | void __retl_efault(void); |
103 | 87 | ||