summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2008-09-25 19:50:14 +0000
committerjhb <jhb@FreeBSD.org>2008-09-25 19:50:14 +0000
commita87bfbe313ff337a63706aaefb95e607c7192367 (patch)
treee8c244b2d81b93da1c8896870f96435db68adb09 /sys
parentb0ece4017cb072dbde84dc14a09b61258fcaca6e (diff)
downloadFreeBSD-src-a87bfbe313ff337a63706aaefb95e607c7192367.zip
FreeBSD-src-a87bfbe313ff337a63706aaefb95e607c7192367.tar.gz
Initialize the DDB command list when initializing DDB so that the basic
commands are available from 'boot -d'. Suggested by: dfr
Diffstat (limited to 'sys')
-rw-r--r--sys/ddb/db_command.c5
-rw-r--r--sys/ddb/db_command.h1
-rw-r--r--sys/ddb/db_main.c1
3 files changed, 4 insertions, 3 deletions
diff --git a/sys/ddb/db_command.c b/sys/ddb/db_command.c
index bac7803..1e34016 100644
--- a/sys/ddb/db_command.c
+++ b/sys/ddb/db_command.c
@@ -181,8 +181,8 @@ static void db_command(struct command **last_cmdp,
/*
* Initialize the command lists from the static tables.
*/
-static void
-db_cmd_init(void)
+void
+db_command_init(void)
{
#define N(a) (sizeof(a) / sizeof(a[0]))
int i;
@@ -195,7 +195,6 @@ db_cmd_init(void)
db_command_register(&db_show_all_table, &db_show_all_cmds[i]);
#undef N
}
-SYSINIT(_cmd_init, SI_SUB_KLD, SI_ORDER_FIRST, db_cmd_init, NULL);
/*
* Register a command.
diff --git a/sys/ddb/db_command.h b/sys/ddb/db_command.h
index db9f495..7d9370c 100644
--- a/sys/ddb/db_command.h
+++ b/sys/ddb/db_command.h
@@ -37,6 +37,7 @@
* Command loop declarations.
*/
+void db_command_init(void);
void db_command_loop(void);
void db_command_script(const char *command);
diff --git a/sys/ddb/db_main.c b/sys/ddb/db_main.c
index e63b4fc0..8375108 100644
--- a/sys/ddb/db_main.c
+++ b/sys/ddb/db_main.c
@@ -172,6 +172,7 @@ db_init(void)
uintptr_t symtab, strtab;
Elf_Size tabsz, strsz;
+ db_command_init();
if (ksym_end > ksym_start && ksym_start != 0) {
symtab = ksym_start;
tabsz = *((Elf_Size*)symtab);
OpenPOWER on IntegriCloud