summaryrefslogtreecommitdiffstats
path: root/sys/ddb
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2006-10-10 07:26:54 +0000
committerbde <bde@FreeBSD.org>2006-10-10 07:26:54 +0000
commitf79090f0c4a3cd4d98c3317eb143fb7417b55e02 (patch)
treea85116de8ffcc81b9dafad7de3b1073f4959f00b /sys/ddb
parent11fc90bf2d239d83a33478bdb65d47f47e88c7d4 (diff)
downloadFreeBSD-src-f79090f0c4a3cd4d98c3317eb143fb7417b55e02.zip
FreeBSD-src-f79090f0c4a3cd4d98c3317eb143fb7417b55e02.tar.gz
The powerpc and sparc64 MD `reboot' commands should never have existed
since they just duplicated the MI `reset' command. Instead of removing them, make `reboot' an MI alias for `reboot' since this gives a better way of killing the `r' alias for `reset'. Remove the `registers' command that was used to kill the alias. Turn the powerpc and sparc64 MD `halt' command into an MI command. A copy of sparc64/db_interface.c grew in sun4v just after I found the extra reboot commands. It has not been changed, and is now not identical. Duplicated commands come out duplicated in ddb's online help, but cause large problems when used (e.g., on i386's with 2 halt's and an hwatch, typing h doesn' give the expected message about an ambiguous command, but hangs like the halt command or a looping parseri would).
Diffstat (limited to 'sys/ddb')
-rw-r--r--sys/ddb/db_command.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/ddb/db_command.c b/sys/ddb/db_command.c
index 36c5112..98fd39a 100644
--- a/sys/ddb/db_command.c
+++ b/sys/ddb/db_command.c
@@ -68,6 +68,7 @@ SET_DECLARE(db_show_cmd_set, struct command);
static db_cmdfcn_t db_fncall;
static db_cmdfcn_t db_gdb;
+static db_cmdfcn_t db_halt;
static db_cmdfcn_t db_kill;
static db_cmdfcn_t db_reset;
static db_cmdfcn_t db_stack_trace;
@@ -134,7 +135,8 @@ static struct command db_commands[] = {
{ "show", 0, 0, &db_show_table },
{ "ps", db_ps, 0, 0 },
{ "gdb", db_gdb, 0, 0 },
- { "registers", db_show_regs, 0, 0 },
+ { "halt", db_halt, 0, 0 },
+ { "reboot", db_reset, 0, 0 },
{ "reset", db_reset, 0, 0 },
{ "kill", db_kill, CS_OWN, 0 },
{ "watchdog", db_watchdog, 0, 0 },
@@ -538,6 +540,13 @@ db_fncall(dummy1, dummy2, dummy3, dummy4)
}
static void
+db_halt(db_expr_t dummy, boolean_t dummy2, db_expr_t dummy3, char *dummy4)
+{
+
+ cpu_halt();
+}
+
+static void
db_kill(dummy1, dummy2, dummy3, dummy4)
db_expr_t dummy1;
boolean_t dummy2;
OpenPOWER on IntegriCloud