[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220801201347.1255392-1-Ben.Wolsieffer@hefring.com>
Date: Mon, 1 Aug 2022 16:13:37 -0400
From: Ben Wolsieffer <ben.wolsieffer@...ring.com>
To: unlisted-recipients:; (no To-header on input)
Cc: Ben Wolsieffer <Ben.Wolsieffer@...ring.com>,
Russell King <linux@...linux.org.uk>,
Vladimir Murzin <vladimir.murzin@....com>,
Arnd Bergmann <arnd@...db.de>,
Ard Biesheuvel <ardb@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Marc Zyngier <maz@...nel.org>,
"Russell King (Oracle)" <rmk+kernel@...linux.org.uk>,
"Steven Rostedt (Google)" <rostedt@...dmis.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Linus Walleij <linus.walleij@...aro.org>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: [PATCH 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.0
Powered by blists - more mailing lists