freebsd-nq/sys/arm64/include
John Baldwin 992029ba10 Reliably enable debug exceptions on all CPUs.
Previously, debug exceptions were only enabled on the boot CPU if
DDB was enabled in the dbg_monitor_init() function.  APs also called
this function, but since mp_machdep.c doesn't include opt_ddb.h, the
APs ended up calling an empty stub defined in <machine/debug_monitor.h>
instead of the real function.  Also, if DDB was not enabled in the kernel,
the boot CPU would not enable debug exceptions.

Fix this by adding a new dbg_init() function that always clears the OS
lock to enable debug exceptions which the boot CPU and the APs call.
This function also calls dbg_monitor_init() to enable hardware breakpoints
from DDB on all CPUs if DDB is enabled.  Eventually base support for
hardware breakpoints/watchpoints will need to move out of the DDB-only
debug_monitor.c for use by userland debuggers.

Reviewed by:	andrew
Differential Revision:	https://reviews.freebsd.org/D12001
2017-08-12 18:42:54 +00:00
..
_align.h
_bus.h
_inttypes.h
_limits.h
_stdint.h
_types.h Define the vm_ooffset_t and vm_pindex_t types as machine-independend. 2017-02-04 12:26:38 +00:00
acpica_machdep.h Add support to find the arm64 serial using the ACPI tables. This uses the 2016-11-21 19:26:58 +00:00
armreg.h Allocate a cacheline when reading or writing to write through memory. The 2017-05-13 13:03:20 +00:00
asm.h In ARMv8.1 ARM has added a process state bit to disable access to userspace 2017-04-13 13:46:01 +00:00
atomic.h Remove a blank line accidentally added in r320403. 2017-06-30 14:45:43 +00:00
bus_dma_impl.h Clean up MD pollution of bus_dma.h: 2017-07-01 05:35:29 +00:00
bus_dma.h Clean up MD pollution of bus_dma.h: 2017-07-01 05:35:29 +00:00
bus.h
clock.h
counter.h Remove trailing whitespace from r317061 2017-04-17 18:57:26 +00:00
cpu.h Use the yield instruction in the arm64 cpu_spinwait. This instruction is 2016-04-25 17:32:08 +00:00
cpufunc.h In ARMv8.1 ARM has added a process state bit to disable access to userspace 2017-04-13 13:46:01 +00:00
db_machdep.h Fix printing of negative offsets (typically from frame pointers) again. 2017-03-26 18:46:35 +00:00
debug_monitor.h Fix the arm64 kernel build when DDB is disabled, debug_monitor.c depends on 2016-09-13 15:45:22 +00:00
disassem.h Framework for ARM64 instruction disassembler 2016-01-29 13:06:30 +00:00
dump.h
efi.h Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
elf.h
endian.h Add parentheses missed in r320388 2017-06-27 16:30:01 +00:00
exec.h
float.h Rationalize BSD license on sys/*/include/float.h 2015-08-05 17:05:35 +00:00
floatingpoint.h
frame.h Push reading of ESR_EL1 to assembly. Among other uses this will allow us 2017-02-07 18:19:11 +00:00
hypervisor.h
ieeefp.h
in_cksum.h Rationalize BSD license on sys/*/include/in_cksum.h 2015-08-05 19:05:12 +00:00
intr.h Finish removing the non-INTRNG support from sys/arm64. 2016-07-14 17:31:29 +00:00
iodev.h
kdb.h Implement kdb_cpu_sync_icache on arm64. 2016-02-05 15:38:28 +00:00
machdep.h Reliably enable debug exceptions on all CPUs. 2017-08-12 18:42:54 +00:00
md_var.h Implement userspace gettimeofday(2) with HPET timecounter. 2016-08-17 09:52:09 +00:00
memdev.h Add memmmap on arm64 so we can mmap /dev/mem and /dev/kmem. 2016-07-13 23:03:34 +00:00
metadata.h
minidump.h Add the arm64 minidump header. This was missed from r286953. 2015-08-20 11:26:26 +00:00
ofw_machdep.h Make using the #address-cells property on the interrupt parent in device 2016-01-02 19:28:35 +00:00
param.h Mark each cpu in the appropriate cpuset_domain set. This allows devices to 2017-08-05 20:57:34 +00:00
pcb.h Add support for passing FPU_KERN_NOCTX to fpu_kern_enter on arm64. This 2017-07-18 16:36:32 +00:00
pci_cfgreg.h Implement stubs for ACPI PCI routines 2015-07-12 17:28:31 +00:00
pcpu.h - Remove 'struct vmmeter' from 'struct pcpu', leaving only global vmmeter 2017-04-17 17:34:47 +00:00
pmap.h Teach the parts of the arm64 pmap that need to iterate over pages to also 2016-08-24 12:32:18 +00:00
pmc_mdep.h
proc.h Make struct syscall_args visible to userspace compilation environment 2017-06-12 20:53:44 +00:00
profile.h
psl.h
pte.h Start to use the User and Privileged execute-never bits in the arm64 2017-04-12 16:28:40 +00:00
ptrace.h
reg.h
reloc.h
resource.h Define PCI_RES_BUS for NEW_PCIB 2016-05-19 14:00:18 +00:00
runq.h
setjmp.h Move the stored signal mask later in the jump buf. It was being clobbered 2016-12-06 13:46:12 +00:00
sf_buf.h
signal.h
smp.h Rename COUNT_IPI to INTR_IPI_COUNT to reduce the diff with intrng. 2016-03-18 16:29:58 +00:00
stack.h
stdarg.h
sysarch.h
trap.h
ucontext.h Clean up the types used in <machine/ucontext.h> on arm64. As some ports 2015-07-09 12:51:50 +00:00
vdso.h Implement userspace gettimeofday(2) with HPET timecounter. 2016-08-17 09:52:09 +00:00
vfp.h Add support for passing FPU_KERN_NOCTX to fpu_kern_enter on arm64. This 2017-07-18 16:36:32 +00:00
vm.h Add the VM_MEMATTR_WRITE_THROUGH memory type to arm64 and use it to support 2017-05-13 13:01:15 +00:00
vmparam.h ARM64: fix DMAP calculation 2016-06-30 04:58:19 +00:00