freebsd-skq/sys/conf
zbb 030d8a98be 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
..
config.mk Populate new KERN_OPTS from all the opt_*.h files in 2015-02-18 15:25:19 +00:00
dtb.mk Do as r289391 did for share/mk and make installing to a non-existent directory 2015-10-17 05:49:07 +00:00
files Add reset framework, a second part of new 'extended resources' family of 2016-01-24 11:03:35 +00:00
files.amd64 Remove fdt_fixup_table from architectures where it's unneeded. We only make 2016-01-21 16:48:01 +00:00
files.arm Introduce support for HW watchpoints and single stepping for ARMv6/v7 2016-01-25 18:02:28 +00:00
files.arm64 Remove fdt_fixup_table from architectures where it's unneeded. We only make 2016-01-21 16:48:01 +00:00
files.i386 Remove fdt_fixup_table from architectures where it's unneeded. We only make 2016-01-21 16:48:01 +00:00
files.mips Remove fdt_fixup_table from architectures where it's unneeded. We only make 2016-01-21 16:48:01 +00:00
files.pc98 Add libkern ffsll() for parity with flsll() 2015-10-22 20:28:37 +00:00
files.powerpc Implement OF_decode_addr() for arm. Move most of powerpc's implementation 2015-12-21 18:07:32 +00:00
files.sparc64 Add libkern ffsll() for parity with flsll() 2015-10-22 20:28:37 +00:00
kern.mk Revert this change. It broke the trampoline build. Until I'm sure 2015-12-21 20:36:01 +00:00
kern.opts.mk DTrace is known to work on armv6, enable building it as a module. 2015-11-20 16:18:27 +00:00
kern.post.mk FAST_DEPEND: Fix incremental builds leading to kernel panics. 2016-01-15 22:08:58 +00:00
kern.pre.mk Restore cleaning of auto-generated kobj files after the recent MFILES 2015-12-01 21:19:16 +00:00
kmod_syms.awk
kmod.mk Revert r294352. 2016-01-19 23:25:25 +00:00
ldscript.amd64 amd64: set the correct LMA values 2015-06-26 07:12:17 +00:00
ldscript.arm Remove STARTUP_PAGETABLE_ADDR from the ARM configs and replace it with 2014-01-28 09:12:04 +00:00
ldscript.arm64 Bring in the start of the arm64 kernel. 2015-04-13 14:43:10 +00:00
ldscript.i386
ldscript.mips
ldscript.mips.cfe
ldscript.mips.mips64
ldscript.mips.octeon1
ldscript.powerpc Refactor PowerPC (especially AIM) init sequence to be less baroque. 2015-01-18 18:32:43 +00:00
ldscript.powerpc64 Fix build with new binutils. This gets a working kernel with GCC 5.2 and 2015-11-29 06:40:09 +00:00
ldscript.sparc64
Makefile.amd64 Clang's 3.5 integrated assembler now handles these files correctly (it 2015-01-05 12:28:22 +00:00
Makefile.arm Change md(4) to use weak symbols as start, end and size for the embedded 2015-08-13 15:16:34 +00:00
Makefile.arm64 Build changes that allow the modules on arm64. 2015-10-08 17:42:08 +00:00
Makefile.i386 Clang's 3.5 integrated assembler now handles these files correctly (it 2015-01-05 12:28:22 +00:00
Makefile.mips Revert this change. It broke the trampoline build. Until I'm sure 2015-12-21 20:36:01 +00:00
Makefile.pc98 Fix kernel build ${MACHINE} path 2015-04-16 22:34:10 +00:00
Makefile.powerpc Make 32-bit PowerPC kernels, like 64-bit PowerPC kernels, position-independent 2015-03-07 20:14:46 +00:00
Makefile.sparc64 Bump the version of config to the latest (3 year old, so upgrade 2014-02-04 18:24:25 +00:00
makeLINT.mk
makeLINT.sed
newvers.sh newvers.sh: put variable assignments on separate lines 2015-12-31 19:25:35 +00:00
NOTES Document etherswitch and drivers using this framework. 2016-01-12 10:19:56 +00:00
options Add clock framework, a first part of new 'extended resources' family of 2016-01-24 11:00:38 +00:00
options.amd64 Microsoft vmbus, storage and other related driver enhancements for HyperV. 2015-04-29 10:12:34 +00:00
options.arm Introduce initial support for Marvell Armada38x 2016-01-20 13:14:36 +00:00
options.arm64 Add the SOC_HISI_HI6220 option. This will be used to enable drivers for 2015-08-26 18:09:17 +00:00
options.i386 Remove support for Xen PV domU kernels. Support for HVM domU kernels 2015-04-30 15:48:48 +00:00
options.mips Flesh out some build time configuration options for the realtek/mediatek 2015-12-24 15:58:33 +00:00
options.pc98 Reduce diffs against i386. 2014-10-04 05:03:39 +00:00
options.powerpc Add support for new LAW registers in QorIQ SoCs. 2015-11-18 01:54:19 +00:00
options.sparc64
systags.sh
WITHOUT_SOURCELESS
WITHOUT_SOURCELESS_HOST Retire the nve(4) driver; nfe(4) has been the default driver for NVIDIA 2014-02-16 12:22:43 +00:00
WITHOUT_SOURCELESS_UCODE Add nodevice iwmfw to WITHOUT_SOURCELESS_UCODE. 2015-08-08 20:45:47 +00:00