[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220917041403.4191780-1-benwolsieffer@gmail.com>
Date: Sat, 17 Sep 2022 00:13:50 -0400
From: Ben Wolsieffer <benwolsieffer@...il.com>
To: linux-arm-kernel@...ts.infradead.org
Cc: Ben Wolsieffer <benwolsieffer@...il.com>,
Russell King <linux@...linux.org.uk>,
Ard Biesheuvel <ardb@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Marc Zyngier <maz@...nel.org>, Arnd Bergmann <arnd@...db.de>,
Vladimir Murzin <vladimir.murzin@....com>,
"Russell King (Oracle)" <rmk+kernel@...linux.org.uk>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Catalin Marinas <catalin.marinas@....com>,
"Steven Rostedt (Google)" <rostedt@...dmis.org>,
Linus Walleij <linus.walleij@...aro.org>,
linux-kernel@...r.kernel.org
Subject: [PATCH RESEND 0/2] ARM: v7m: handle faults and enable debugging
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?
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.37.2
Powered by blists - more mailing lists