1 #include <linux/module.h>
4 #include <asm/uaccess.h>
6 static inline unsigned long
9 return (
unsigned long)&x->
insn + x->
insn;
11 static inline unsigned long
26 pnp_bios_is_utter_crap = 1;
32 panic(
"do_trap: can't hit this");
38 new_ip = ex_fixup_addr(fixup);
40 if (fixup->
fixup - fixup->
insn >= 0x7ffffff0 - 4) {
60 new_ip = ex_fixup_addr(fixup);
62 if (fixup->
fixup - fixup->
insn >= 0x7ffffff0 - 4) {
86 while (first <= last) {
91 addr = ex_insn_addr(mid);
94 else if (addr > value)
109 static int cmp_ex(
const void *
a,
const void *
b)
120 return x->
insn - y->insn;
131 for (p = start; p < finish; p++) {
143 for (p = start; p < finish; p++) {
151 #ifdef CONFIG_MODULES
159 while (m->num_exentries &&
160 within_module_init(ex_insn_addr(&m->extable[0]), m)) {
165 while (m->num_exentries &&
166 within_module_init(ex_insn_addr(&m->extable[m->num_exentries-1]), m))