···11+#ifndef __S390_EXTABLE_H22+#define __S390_EXTABLE_H33+/*44+ * The exception table consists of pairs of addresses: the first is the55+ * address of an instruction that is allowed to fault, and the second is66+ * the address at which the program should continue. No registers are77+ * modified, so it is entirely up to the continuation code to figure out88+ * what to do.99+ *1010+ * All the routines below use bits of fixup code that are out of line1111+ * with the main instruction path. This means when everything is well,1212+ * we don't even have to jump over them. Further, they do not intrude1313+ * on our cache or tlb entries.1414+ */1515+1616+struct exception_table_entry1717+{1818+ int insn, fixup;1919+};2020+2121+static inline unsigned long extable_fixup(const struct exception_table_entry *x)2222+{2323+ return (unsigned long)&x->fixup + x->fixup;2424+}2525+2626+#define ARCH_HAS_RELATIVE_EXTABLE2727+2828+#endif
+1-25
arch/s390/include/asm/uaccess.h
···1414 */1515#include <asm/processor.h>1616#include <asm/ctl_reg.h>1717+#include <asm/extable.h>171818191920/*···5958})60596160#define access_ok(type, addr, size) __access_ok(addr, size)6262-6363-/*6464- * The exception table consists of pairs of addresses: the first is the6565- * address of an instruction that is allowed to fault, and the second is6666- * the address at which the program should continue. No registers are6767- * modified, so it is entirely up to the continuation code to figure out6868- * what to do.6969- *7070- * All the routines below use bits of fixup code that are out of line7171- * with the main instruction path. This means when everything is well,7272- * we don't even have to jump over them. Further, they do not intrude7373- * on our cache or tlb entries.7474- */7575-7676-struct exception_table_entry7777-{7878- int insn, fixup;7979-};8080-8181-static inline unsigned long extable_fixup(const struct exception_table_entry *x)8282-{8383- return (unsigned long)&x->fixup + x->fixup;8484-}8585-8686-#define ARCH_HAS_RELATIVE_EXTABLE87618862/**8963 * __copy_from_user: - Copy a block of data from user space, with less checking.