SVNews r322437

NOTE: This service is experimental and subject to change! Use at your own risk!

2017-08-12 18:42:54 - r322437 by jhb (John Baldwin)

Complete list of files affected by revision r322437:

(Note: At the moment, these links point to ViewVC on svn.freebsd.org. They are probably slow. Do not overuse.)

  History   Contents   Diff   MODIFY   /head/sys/arm64/arm64/debug_monitor.c  
  History   Contents   Diff   MODIFY   /head/sys/arm64/arm64/machdep.c  
  History   Contents   Diff   MODIFY   /head/sys/arm64/arm64/mp_machdep.c  
  History   Contents   Diff   MODIFY   /head/sys/arm64/include/machdep.h  

Commit message:

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

 


Powered by Python FreeBSD support by secnetix GmbH & Co. KG

Page generated in 23 ms, 4 files printed. Current time is 2017-12-17 08:03:24. All times are in UTC/GMT.