aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>2006-10-10 07:26:54 +0000
committerBruce Evans <bde@FreeBSD.org>2006-10-10 07:26:54 +0000
commite4b732cff16955dfb4f191c87c4ae54e64b4dd18 (patch)
treea85116de8ffcc81b9dafad7de3b1073f4959f00b
parent57e72b9534a3e547d7b6a9e9a200d6e032d0245a (diff)
downloadsrc-e4b732cff16955dfb4f191c87c4ae54e64b4dd18.tar.gz
src-e4b732cff16955dfb4f191c87c4ae54e64b4dd18.zip
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).
Notes
Notes: svn path=/head/; revision=163192
-rw-r--r--sys/ddb/db_command.c11
-rw-r--r--sys/powerpc/powerpc/db_interface.c14
-rw-r--r--sys/sparc64/sparc64/db_interface.c11
3 files changed, 10 insertions, 26 deletions
diff --git a/sys/ddb/db_command.c b/sys/ddb/db_command.c
index 36c511206320..98fd39a486c0 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;
diff --git a/sys/powerpc/powerpc/db_interface.c b/sys/powerpc/powerpc/db_interface.c
index 9ea90463e76e..a46ead6ad66a 100644
--- a/sys/powerpc/powerpc/db_interface.c
+++ b/sys/powerpc/powerpc/db_interface.c
@@ -8,7 +8,6 @@
#include <sys/cons.h>
#include <sys/kdb.h>
#include <sys/ktr.h>
-#include <sys/linker_set.h>
#include <sys/lock.h>
#include <sys/pcpu.h>
#include <sys/proc.h>
@@ -84,16 +83,3 @@ void
db_show_mdpcpu(struct pcpu *pc)
{
}
-
-/*
- * PowerPC-specific ddb commands:
- */
-DB_COMMAND(reboot, db_reboot)
-{
- cpu_reset();
-}
-
-DB_COMMAND(halt, db_halt)
-{
- cpu_halt();
-}
diff --git a/sys/sparc64/sparc64/db_interface.c b/sys/sparc64/sparc64/db_interface.c
index 77e1493652eb..95bea8a51657 100644
--- a/sys/sparc64/sparc64/db_interface.c
+++ b/sys/sparc64/sparc64/db_interface.c
@@ -32,7 +32,6 @@
#include <sys/cons.h>
#include <sys/kdb.h>
#include <sys/ktr.h>
-#include <sys/linker_set.h>
#include <sys/lock.h>
#include <sys/pcpu.h>
#include <sys/proc.h>
@@ -94,13 +93,3 @@ void
db_show_mdpcpu(struct pcpu *pc)
{
}
-
-DB_COMMAND(reboot, db_reboot)
-{
- cpu_reset();
-}
-
-DB_COMMAND(halt, db_halt)
-{
- cpu_halt();
-}