freebsd-dev/sys
Zbigniew Bodek 232e189a56 Add support for branch instruction on armv7 with ptrace single step
Previous code supported only "continuous" code without any kind of
branch instructions. To change that, new function was implemented
which parses current instruction and returns an addres where
the jump might happen (alternative addr).
mdthread structure was extended to support two breakpoints
(one directly below current instruction and the second placed
at the alternative location).
One of them must trigger regardless the instruction has or has not been
executed due to condition field.
Upon cleanup, both software breakpoints are removed.

This implementation parses only the most common instructions
that are present in the code (like 99.99% of all), but there
is a chance there are some left, not covered by the parsing routine.
Parsing is done only for 32-bit instruction, no Thumb nor Thumb-2
support is provided.

Reviewed by:   kib
Submitted by:  Wojciech Macek <wma@semihalf.com>
Obtained from: Semihalf
Sponsored by:  Juniper Networks Inc.
Differential Revision: https://reviews.freebsd.org/D4021
2015-11-02 16:56:34 +00:00
..
amd64 pmap_change_attr: Only fixup DMAP for DMAPed ranges 2015-10-29 19:07:00 +00:00
arm Add support for branch instruction on armv7 with ptrace single step 2015-11-02 16:56:34 +00:00
arm64 Make the arm64_cpu driver quiet as it adds no new information. 2015-11-02 16:43:26 +00:00
boot Make vers.c creation atomic by using a temporary file, then moving 2015-10-24 21:59:58 +00:00
bsm
cam Don't try to replicate mode pages not present on this device. 2015-10-26 14:14:56 +00:00
cddl zfs: allow the lookup of extended attributes of an unlinked file 2015-11-02 10:07:21 +00:00
compat Finish process of moving the LinuxKPI module into the default kernel build. 2015-10-29 08:28:39 +00:00
conf Finish process of moving the LinuxKPI module into the default kernel build. 2015-10-29 08:28:39 +00:00
contrib Synchronize with latest upstream VCHI code: 2015-11-01 22:17:39 +00:00
crypto const'ify an arg that we don't update... 2015-07-29 23:37:15 +00:00
ddb Make kstack_pages a tunable on arm, x86, and powepc. On i386, the 2015-08-10 17:18:21 +00:00
dev drm/i915: Reduce diff with Linux 3.8 2015-11-01 19:55:32 +00:00
fs Ensure that when a blockable open of fifo returns success, a valid 2015-09-20 21:18:33 +00:00
gdb
geom Remove compatibility shims for legacy ATA device names. 2015-10-11 13:01:51 +00:00
gnu Fixing a memory leak on module unloading. 2015-09-11 22:43:35 +00:00
i386 The prefix for CLFLUSHOPT is 0x66. It was right on amd64. 2015-10-30 09:53:33 +00:00
isa
kern Define fhard in pps_event(..) only when PPS_SYNC is defined to mute 2015-11-02 03:14:37 +00:00
kgssapi
libkern libkern: ffs, fls: s/4/3/ the 3rd BSD clause 2015-10-22 21:04:47 +00:00
mips mips: rate limit the trap handler output; add pid/tid/program name. 2015-11-02 03:36:15 +00:00
modules Finish process of moving the LinuxKPI module into the default kernel build. 2015-10-29 08:28:39 +00:00
net Fix lladdr change propagation for on vlans on top of it. 2015-11-01 19:59:04 +00:00
net80211 net80211: add ieee80211_restart_all() call. 2015-10-27 20:40:57 +00:00
netgraph Bluetooth LE Security Management channel support. 2015-10-27 03:42:26 +00:00
netinet Set the proper direction to check for policies in this one case. 2015-10-29 21:26:32 +00:00
netinet6 Use m_cat() to reassembly IPv6 packets. 2015-10-27 22:11:09 +00:00
netipsec Turning on IPSEC used to introduce a slight amount of performance 2015-10-27 00:42:15 +00:00
netnatm
netpfil pf: Fix IPv6 checksums with route-to. 2015-10-29 20:45:53 +00:00
netsmb
nfs Wait up to 10 seconds for late-initializing network interfaces to arrive. 2015-09-26 13:55:55 +00:00
nfsclient
nfsserver
nlm
ofed Finish process of moving the LinuxKPI module into the default kernel build. 2015-10-29 08:28:39 +00:00
opencrypto Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
pc98 Remove compatibility shims for legacy ATA device names. 2015-10-11 13:01:51 +00:00
powerpc Print unsigned memory sizes, to handle >2GB RAM on 32-bit powerpc. 2015-10-31 02:08:39 +00:00
rpc Increase group limit for kerberized NFSv4 2015-09-26 16:30:16 +00:00
security
sparc64 Add support for weak symbols to the kernel linkers. It means that 2015-09-20 01:27:59 +00:00
sys Merge OpenSSL 1.0.2d. 2015-10-30 20:51:33 +00:00
teken Sync HPA and VPA implementations with CUP. 2015-08-24 07:49:27 +00:00
tools Rename the /usr/share/doc/legal files to driver.LICENSE to work around 2015-10-16 00:38:05 +00:00
ufs Do not perform read-ahead for BA_CLRBUF request when we are low on 2015-10-27 13:44:13 +00:00
vm Reduce the amount of calls to VOP_BMAP() made from the local vnode 2015-10-24 21:59:22 +00:00
x86 x86/dma_bounce: revert r289834 and r289836 2015-10-26 14:50:35 +00:00
xdr
xen xen: Code cleanup and small bug fixes 2015-10-21 10:44:07 +00:00
Makefile