]> 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>
Thu, 25 Feb 2021 21:31:17 +0000 (17:31 -0400)
commit8f686c0f29f094eba305d7911195bd629c3954bb
tree8930c2c240ba0af9d004b78c341c12861e06b839
parentce9bc83f914623a2f2309b10786bafc0d481054c
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)
Sponsored by: The FreeBSD Foundation
Approved by: re (gjb)

(cherry picked from commit bd012c71592323d957b409bb5e0cf7940729650e)
(cherry picked from commit 9372df63ad5b814440732d171c8f04f0e1c26b87)
share/man/man3/siginfo.3
sys/arm64/arm64/trap.c
sys/arm64/include/armreg.h