]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
arm64: handle watchpoint exceptions from EL0
authorMitchell Horne <mhorne@FreeBSD.org>
Fri, 5 Feb 2021 21:46:48 +0000 (17:46 -0400)
committerMitchell Horne <mhorne@FreeBSD.org>
Wed, 17 Feb 2021 16:05:00 +0000 (12:05 -0400)
commitbd012c71592323d957b409bb5e0cf7940729650e
tree65829cb67a1b9e2401ec726650e196f557fc7259
parentde2b9422807586d376ec7ffa7b660cd492464bdf
arm64: handle watchpoint exceptions from EL0

This is a prerequisite to allowing the use of hardware watchpoints for
userspace debuggers.

This is also a slight departure from the x86 behaviour, since `si_addr`
returns the data address that triggered the watchpoint, not the
address of the instruction that was executed. Otherwise, there is no
straightforward way for the application to determine which watchpoint
was triggered. Make a note of this in the siginfo(3) man page.

Reviewed by: jhb, markj (earlier version)
Tested by: Michał Górny (mgorny@gentoo.org)
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D28561
share/man/man3/siginfo.3
sys/arm64/arm64/trap.c
sys/arm64/include/armreg.h