extable.h 802 B

12345678910111213141516171819202122232425262728
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __ASM_GENERIC_EXTABLE_H
  3. #define __ASM_GENERIC_EXTABLE_H
  4. /*
  5. * The exception table consists of pairs of addresses: the first is the
  6. * address of an instruction that is allowed to fault, and the second is
  7. * the address at which the program should continue. No registers are
  8. * modified, so it is entirely up to the continuation code to figure out
  9. * what to do.
  10. *
  11. * All the routines below use bits of fixup code that are out of line
  12. * with the main instruction path. This means when everything is well,
  13. * we don't even have to jump over them. Further, they do not intrude
  14. * on our cache or tlb entries.
  15. */
  16. struct exception_table_entry
  17. {
  18. unsigned long insn, fixup;
  19. };
  20. struct pt_regs;
  21. extern int fixup_exception(struct pt_regs *regs);
  22. #endif