HomeFreeBSD

arm64: handle watchpoint exceptions from EL0

Description

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)

Details

Provenance
mhorneAuthored on Feb 5 2021, 9:46 PM
Parents
rGce9bc83f9146: arm64: validate breakpoint registers
Branches
Unknown
Tags
Unknown