freebsd-nq/sys/arm64
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
..
acpica Add support to find the arm64 serial using the ACPI tables. This uses the 2016-11-21 19:26:58 +00:00
arm64 Reliably enable debug exceptions on all CPUs. 2017-08-12 18:42:54 +00:00
cavium If ofw_bus_msimap fails don't try to use the invalid MSI/MSI-X parent node. 2017-03-16 17:49:37 +00:00
cloudabi64 Move struct syscall_args syscall arguments parameters container into 2017-06-12 21:03:23 +00:00
conf arm64: Add Allwinner H5 SoC 2017-08-02 20:19:19 +00:00
include Reliably enable debug exceptions on all CPUs. 2017-08-12 18:42:54 +00:00