summaryrefslogtreecommitdiffstats
path: root/arch/sparc/include/asm/extable.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2021-03-08 22:01:58 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2021-03-08 22:01:58 -0800
commit987a08741d72c1f735e31bfe478dc2ac6be8fc7e (patch)
treeea1f17fd95a2123a504711209055c803126f34b6 /arch/sparc/include/asm/extable.h
parent144c79ef33536b4ecb4951e07dbc1f2b7fa99d32 (diff)
parentcf64c2a905e0dabcc473ca70baf275fb3a61fac4 (diff)
downloadlinux-987a08741d72c1f735e31bfe478dc2ac6be8fc7e.tar.bz2
Merge git://git.kernel.org:/pub/scm/linux/kernel/git/davem/sparc
Pull sparc updates from David Miller: "Just some more random bits from Al, including a conversion over to generic extables" * git://git.kernel.org:/pub/scm/linux/kernel/git/davem/sparc: sparc32: take ->thread.flags out sparc32: get rid of fake_swapper_regs sparc64: get rid of fake_swapper_regs sparc32: switch to generic extables sparc32: switch copy_user.S away from range exception table entries sparc32: get rid of range exception table entries in checksum_32.S sparc32: switch __bzero() away from range exception table entries sparc32: kill lookup_fault() sparc32: don't bother with lookup_fault() in __bzero()
Diffstat (limited to 'arch/sparc/include/asm/extable.h')
-rw-r--r--arch/sparc/include/asm/extable.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/extable.h b/arch/sparc/include/asm/extable.h
new file mode 100644
index 000000000000..554a9dc376fc
--- /dev/null
+++ b/arch/sparc/include/asm/extable.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_EXTABLE_H
+#define __ASM_EXTABLE_H
+/*
+ * The exception table consists of pairs of addresses: the first is the
+ * address of an instruction that is allowed to fault, and the second is
+ * the address at which the program should continue. No registers are
+ * modified, so it is entirely up to the continuation code to figure out
+ * what to do.
+ *
+ * All the routines below use bits of fixup code that are out of line
+ * with the main instruction path. This means when everything is well,
+ * we don't even have to jump over them. Further, they do not intrude
+ * on our cache or tlb entries.
+ */
+
+struct exception_table_entry {
+ unsigned int insn, fixup;
+};
+
+#endif