freebsd-nq/sys
Zbigniew Bodek 595f8a5905 Introduce support for HW watchpoints and single stepping for ARMv6/v7
Allows for using hardware watchpoints for 1, 2, 4, 8 byte long addresses.
The default configuration of watchpoint is RW but code allows to select
RO or WO and X.
Since debugging registers are per-CPU (CP14) the watchpoint is set on
the CPU that was lucky (or not) to enter DDB.

HW breakpoints are used to perform single step in KDB.
When HW breakpoint is enabled all watchpoints are temporary disabled
to avoid recursive abort on both watchpoint and breakpoint.
In case of branch, the breakpoint is set to both - next instruction
and possible branch address. This requires at least 2 breakpoints
supported in the CPU however this is a must for ARMv6/v7 CPUs.

Reviewed by:   imp
Submitted by:  Zbigniew Bodek <zbb@semihalf.com>
Obtained from: Semihalf
Sponsored by:  Juniper Networks Inc.
Differential Revision: https://reviews.freebsd.org/D4037
2016-01-25 18:02:28 +00:00
..
amd64 Remove obsolete comment. 2016-01-23 08:08:06 +00:00
arm Introduce support for HW watchpoints and single stepping for ARMv6/v7 2016-01-25 18:02:28 +00:00
arm64 Simplify GICv3 related drivers' naming 2016-01-25 15:18:32 +00:00
boot Use MAN= to specify that no man page is provided 2016-01-22 21:33:27 +00:00
bsm Merge from contrib/openbsm to bring the kernel audit bits up to date with OpenBSM 1.2 alpha 4: 2015-12-20 23:22:04 +00:00
cam Hide "soconnect() error" messages under bootverbose. 2016-01-22 09:32:19 +00:00
cddl Fix ru_oublocks accounting for ZFS. There are two code paths that can be 2016-01-23 12:13:09 +00:00
compat Implement 64-bit atomic operations for the LinuxKPI. 2016-01-21 17:56:23 +00:00
conf Introduce support for HW watchpoints and single stepping for ARMv6/v7 2016-01-25 18:02:28 +00:00
contrib Fix order of last two arguments of mtx_init 2016-01-14 20:25:22 +00:00
crypto Break up opencrypto/xform.c so it can be reused piecemeal 2015-12-30 22:43:07 +00:00
ddb Add helper to catch single step debug event and distinguish it from bkpt 2015-11-27 19:03:59 +00:00
dev Fix ixgbe compliation with DBG 1 2016-01-25 16:18:53 +00:00
fs ext2fs: passthrough any extra timestamps to the dinode struct. 2016-01-24 23:24:47 +00:00
gdb
geom Teach the flashmap code about the SPI flash. 2016-01-23 05:26:29 +00:00
gnu
i386 Adjust i386 comment to match amd64 one after r294311. 2016-01-19 08:09:09 +00:00
isa
kern Don't allow opening the callout device when the callin device is already 2016-01-25 16:47:20 +00:00
kgssapi Unset the gss kernel state when gssd exits 2016-01-01 17:06:16 +00:00
libkern libkern: ffs, fls: s/4/3/ the 3rd BSD clause 2015-10-22 21:04:47 +00:00
mips Stop calling fdt_immr_addr from the xlp startup code. It's used to set 2016-01-22 12:00:56 +00:00
modules ext2fs: Bring back the htree dir_index implementation. 2016-01-21 14:50:28 +00:00
net Fix flowtable part missed in r294706. 2016-01-25 09:31:32 +00:00
net80211 net80211: reduce stack usage for ieee80211_ioctl*() methods. 2016-01-24 23:35:20 +00:00
netgraph Make ng_netflow(9) use new routing KPI. 2016-01-14 13:14:12 +00:00
netinet Convert TCP mtu checks to the new routing KPI. 2016-01-25 10:06:49 +00:00
netinet6 MFP r287070,r287073: split radix implementation and route table structure. 2016-01-25 06:33:15 +00:00
netipsec Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
netnatm
netpfil MFP r287070,r287073: split radix implementation and route table structure. 2016-01-25 06:33:15 +00:00
netsmb The problem report was for a crash that happened when smbfs was 2015-11-18 23:04:01 +00:00
nfs MFP r287070,r287073: split radix implementation and route table structure. 2016-01-25 06:33:15 +00:00
nfsclient
nfsserver
nlm
ofed Fix for iWARP servers that listen on INADDR_ANY. 2016-01-22 23:33:34 +00:00
opencrypto Break up opencrypto/xform.c so it can be reused piecemeal 2015-12-30 22:43:07 +00:00
pc98 Add asynchronous command support to the pass(4) driver, and the new 2015-12-03 20:54:55 +00:00
powerpc Revert a printf change from r294307. 2016-01-19 23:35:12 +00:00
riscv/include Correct RISC-V exception types. 2016-01-18 17:49:32 +00:00
rpc Improve locking of sg_threadcount. 2015-11-19 08:04:05 +00:00
security Busy the mount point which is the owner of the audit vnode, around 2016-01-16 10:06:33 +00:00
sparc64 Add an atomic_fetchadd_64() wrapper on sparc64. 2016-01-22 00:29:11 +00:00
sys Update comment to note the function, prison_priv_check(), that needs to 2016-01-21 20:52:20 +00:00
teken
tests Style 9 changes. 2015-11-12 10:31:14 +00:00
tools
ufs Recheck curthread->td_su after the VFS_SYNC() call, and re-sync if the 2015-12-21 11:50:32 +00:00
vm Typo in comment. 2016-01-24 13:38:41 +00:00
x86 hyperv: use x86 generic code to do the hypervisor detection 2016-01-14 02:50:13 +00:00
xdr
xen xenbus: add a comment with the names of the generated accessors 2016-01-15 14:34:31 +00:00
Makefile