This series enables real exception handlers on no-MMU systems,
increasing robustness in the face of buggy user- or kernel-space
software. Previously, any fault would trigger the invalid exception
handler, which would hang the system. With this series, faults only
kill the offending process and allow the rest of the system to
continue operating.
The second patch in this series adds support for undefined instruction
hooks, enabling software breakpoints through ptrace. Using this
functionality currently requires a patch to gdb.
This series has been tested on an STM32F746 (Cortex-M7).
I would appreciate feedback in particular on the following questions:
* Is the fault table formatting acceptable? Or should the lines be
wrapped/shortened?
* Does my chosen mapping between faults and signals make sense?
This time around this series has been sent to linux-stm32 as well, as I was
previously unaware of that list.
Ben Wolsieffer (2):
ARM: v7m: handle faults
ARM: v7m: support undefined instruction hooks
arch/arm/include/asm/traps.h | 2 +
arch/arm/include/asm/v7m.h | 29 +++++++
arch/arm/kernel/Makefile | 2 +-
arch/arm/kernel/entry-v7m.S | 68 ++++++++++++++-
arch/arm/kernel/traps-v7m.c | 162 +++++++++++++++++++++++++++++++++++
5 files changed, 258 insertions(+), 5 deletions(-)
create mode 100644 arch/arm/kernel/traps-v7m.c
--
2.38.1