diff options
author | rwatson <rwatson@FreeBSD.org> | 2007-12-25 17:52:02 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2007-12-25 17:52:02 +0000 |
commit | bdee30611dab246a5227856892385a02c7352f12 (patch) | |
tree | ae45f86ab6fb75519ba2d9dbc206616dba84cc13 /sys/dev | |
parent | e3b63ab4174a215e3a606c591d7a3f41490e75e6 (diff) | |
download | FreeBSD-src-bdee30611dab246a5227856892385a02c7352f12.zip FreeBSD-src-bdee30611dab246a5227856892385a02c7352f12.tar.gz |
Add a new 'why' argument to kdb_enter(), and a set of constants to use
for that argument. This will allow DDB to detect the broad category of
reason why the debugger has been entered, which it can use for the
purposes of deciding which DDB script to run.
Assign approximate why values to all current consumers of the
kdb_enter() interface.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/acpica/Osd/OsdDebug.c | 4 | ||||
-rw-r--r-- | sys/dev/dcons/dcons_os.c | 6 | ||||
-rw-r--r-- | sys/dev/ofw/ofw_console.c | 2 | ||||
-rw-r--r-- | sys/dev/sio/sio.c | 6 | ||||
-rw-r--r-- | sys/dev/syscons/syscons.c | 2 | ||||
-rw-r--r-- | sys/dev/uart/uart_core.c | 5 |
6 files changed, 15 insertions, 10 deletions
diff --git a/sys/dev/acpica/Osd/OsdDebug.c b/sys/dev/acpica/Osd/OsdDebug.c index b127181..27b94a0 100644 --- a/sys/dev/acpica/Osd/OsdDebug.c +++ b/sys/dev/acpica/Osd/OsdDebug.c @@ -73,13 +73,13 @@ AcpiOsSignal(UINT32 Function, void *Info) printf("ACPI fatal signal, type 0x%x code 0x%x argument 0x%x", fatal->Type, fatal->Code, fatal->Argument); #ifdef ACPI_DEBUG - kdb_enter("AcpiOsSignal"); + kdb_enter(KDB_WHY_ACPI, "AcpiOsSignal"); #endif break; case ACPI_SIGNAL_BREAKPOINT: #ifdef ACPI_DEBUG - kdb_enter((char *)Info); + kdb_enter(KDB_WHY_ACPI, (char *)Info); #endif break; diff --git a/sys/dev/dcons/dcons_os.c b/sys/dev/dcons/dcons_os.c index d47515c..7eb89aa 100644 --- a/sys/dev/dcons/dcons_os.c +++ b/sys/dev/dcons/dcons_os.c @@ -207,11 +207,13 @@ dcons_check_break(struct dcons_softc *dc, int c) #ifdef GDB if (gdb_cur == &dcons_gdb_dbgport) { kdb_dbbe_select("gdb"); - kdb_enter("Break sequence on dcons gdb port"); + kdb_enter(KDB_WHY_BREAK, + "Break sequence on dcons gdb port"); } #endif } else - kdb_enter("Break sequence on dcons console port"); + kdb_enter(KDB_WHY_BREAK, + "Break sequence on dcons console port"); } #else switch (dc->brk_state) { diff --git a/sys/dev/ofw/ofw_console.c b/sys/dev/ofw/ofw_console.c index 0d1133f..7d6f5eb 100644 --- a/sys/dev/ofw/ofw_console.c +++ b/sys/dev/ofw/ofw_console.c @@ -282,7 +282,7 @@ ofw_cngetc(struct consdev *cp) if (OF_read(stdin, &ch, 1) > 0) { #if defined(KDB) && defined(ALT_BREAK_TO_DEBUGGER) if (kdb_alt_break(ch, &alt_break_state)) - kdb_enter("Break sequence on console"); + kdb_enter(KDB_WHY_BREAK, "Break sequence on console"); #endif return (ch); } diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index 3db7f59..a62b411 100644 --- a/sys/dev/sio/sio.c +++ b/sys/dev/sio/sio.c @@ -1502,7 +1502,8 @@ siointr1(com) #ifdef ALT_BREAK_TO_DEBUGGER if (com->unit == comconsole && kdb_alt_break(recv_data, &com->alt_brk_state) != 0) - kdb_enter("Break sequence on console"); + kdb_enter(KDB_WHY_BREAK, + "Break sequence on console"); #endif /* ALT_BREAK_TO_DEBUGGER */ #endif /* KDB */ if (line_status & (LSR_BI | LSR_FE | LSR_PE)) { @@ -1521,7 +1522,8 @@ siointr1(com) if (line_status & LSR_BI) { #if defined(KDB) && defined(BREAK_TO_DEBUGGER) if (com->unit == comconsole) { - kdb_enter("Line break on console"); + kdb_enter(KDB_WHY_BREAK, + "Line break on console"); goto cont; } #endif diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index 04ad041..b749895 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -3373,7 +3373,7 @@ next_code: case DBG: #ifndef SC_DISABLE_KDBKEY if (enable_kdbkey) - kdb_enter("manual escape to debugger"); + kdb_enter(KDB_WHY_BREAK, "manual escape to debugger"); #endif break; diff --git a/sys/dev/uart/uart_core.c b/sys/dev/uart/uart_core.c index f991278..b4730418 100644 --- a/sys/dev/uart/uart_core.c +++ b/sys/dev/uart/uart_core.c @@ -122,7 +122,7 @@ uart_intr_break(void *arg) #if defined(KDB) && defined(BREAK_TO_DEBUGGER) if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) { - kdb_enter("Line break on console"); + kdb_enter(KDB_WHY_BREAK, "Line break on console"); return (0); } #endif @@ -176,7 +176,8 @@ uart_intr_rxready(void *arg) if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) { while (rxp != sc->sc_rxput) { if (kdb_alt_break(sc->sc_rxbuf[rxp++], &sc->sc_altbrk)) - kdb_enter("Break sequence on console"); + kdb_enter(KDB_WHY_BREAK, + "Break sequence on console"); if (rxp == sc->sc_rxbufsz) rxp = 0; } |