summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2003-09-26 17:42:45 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2003-09-26 17:42:45 +0000
commitd4c40786f6fc37c32fdc8927e7fc76288ba160c4 (patch)
treef257ff4713debcb6a335a4cfb1046b14a174f8f1
parent2003-09-26 Till Strauman <strauman@slac.stanford.edu> (diff)
downloadrtems-d4c40786f6fc37c32fdc8927e7fc76288ba160c4.tar.bz2
2003-09-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
PR 495/rtems_misc * capture/capture-cli.c, monitor/mon-command.c, monitor/mon-config.c, monitor/mon-monitor.c, monitor/mon-object.c, monitor/mon-symbols.c, monitor/monitor.h, shell/cmds.c: Move to making libmisc 16/32 bit clean.
-rw-r--r--cpukit/libmisc/ChangeLog8
-rw-r--r--cpukit/libmisc/capture/capture-cli.c32
-rw-r--r--cpukit/libmisc/monitor/mon-command.c6
-rw-r--r--cpukit/libmisc/monitor/mon-config.c4
-rw-r--r--cpukit/libmisc/monitor/mon-monitor.c54
-rw-r--r--cpukit/libmisc/monitor/mon-object.c6
-rw-r--r--cpukit/libmisc/monitor/mon-symbols.c4
-rw-r--r--cpukit/libmisc/monitor/monitor.h33
-rw-r--r--cpukit/libmisc/shell/cmds.c2
9 files changed, 82 insertions, 67 deletions
diff --git a/cpukit/libmisc/ChangeLog b/cpukit/libmisc/ChangeLog
index ad663bc58a..32b33ff669 100644
--- a/cpukit/libmisc/ChangeLog
+++ b/cpukit/libmisc/ChangeLog
@@ -1,3 +1,11 @@
+2003-09-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ PR 495/rtems_misc
+ * capture/capture-cli.c, monitor/mon-command.c, monitor/mon-config.c,
+ monitor/mon-monitor.c, monitor/mon-object.c, monitor/mon-symbols.c,
+ monitor/monitor.h, shell/cmds.c: Move to making libmisc 16/32 bit
+ clean.
+
2003-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* monitor/monitor.h:
diff --git a/cpukit/libmisc/capture/capture-cli.c b/cpukit/libmisc/capture/capture-cli.c
index 280133bf2c..3230091178 100644
--- a/cpukit/libmisc/capture/capture-cli.c
+++ b/cpukit/libmisc/capture/capture-cli.c
@@ -65,7 +65,7 @@ static void
rtems_capture_cli_open (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_unsigned32 size = 0;
@@ -137,7 +137,7 @@ static void
rtems_capture_cli_close (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -166,7 +166,7 @@ static void
rtems_capture_cli_enable (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -195,7 +195,7 @@ static void
rtems_capture_cli_disable (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -224,7 +224,7 @@ static void
rtems_capture_cli_task_list (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_task_priority ceiling = rtems_capture_watch_get_ceiling ();
@@ -460,7 +460,7 @@ static void
rtems_capture_cli_task_load (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -531,7 +531,7 @@ static void
rtems_capture_cli_watch_list (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_capture_control_t* control = rtems_capture_get_control_list ();
@@ -657,7 +657,7 @@ static void
rtems_capture_cli_watch_add (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -719,7 +719,7 @@ static void
rtems_capture_cli_watch_del (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -780,7 +780,7 @@ static void
rtems_capture_cli_watch_control (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -846,7 +846,7 @@ static void
rtems_capture_cli_watch_global (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -900,7 +900,7 @@ static void
rtems_capture_cli_watch_ceiling (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -951,7 +951,7 @@ static void
rtems_capture_cli_watch_floor (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -1002,7 +1002,7 @@ static void
rtems_capture_cli_trigger_set (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -1158,7 +1158,7 @@ static void
rtems_capture_cli_trace_records (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
@@ -1283,7 +1283,7 @@ static void
rtems_capture_cli_flush (
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose )
{
rtems_status_code sc;
diff --git a/cpukit/libmisc/monitor/mon-command.c b/cpukit/libmisc/monitor/mon-command.c
index 5812a1f3b5..7d14468fa8 100644
--- a/cpukit/libmisc/monitor/mon-command.c
+++ b/cpukit/libmisc/monitor/mon-command.c
@@ -572,7 +572,7 @@ rtems_monitor_command_lookup(
return 0;
}
-void
+static void
rtems_monitor_show_help (
rtems_monitor_command_entry_t *help_cmd,
int max_cmd_len
@@ -726,14 +726,14 @@ void
rtems_monitor_help_cmd(
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose
)
{
int arg;
rtems_monitor_command_entry_t *command;
- command = (rtems_monitor_command_entry_t *) command_arg;
+ command = command_arg->monitor_command_entry;
if (argc == 1)
rtems_monitor_command_usage(command, 0);
diff --git a/cpukit/libmisc/monitor/mon-config.c b/cpukit/libmisc/monitor/mon-config.c
index 1921e4ed8b..5a36f16c77 100644
--- a/cpukit/libmisc/monitor/mon-config.c
+++ b/cpukit/libmisc/monitor/mon-config.c
@@ -103,8 +103,8 @@ rtems_monitor_config_dump(
length = 0;
length += printf("WORKSPACE");
length += rtems_monitor_pad(DATACOL, length);
- length += printf("start: 0x%x; size: 0x%x\n",
- (unsigned32) monitor_config->work_space_start,
+ length += printf("start: %p; size: 0x%x\n",
+ monitor_config->work_space_start,
monitor_config->work_space_size);
length = 0;
diff --git a/cpukit/libmisc/monitor/mon-monitor.c b/cpukit/libmisc/monitor/mon-monitor.c
index 52d588e82f..7c9088aeb2 100644
--- a/cpukit/libmisc/monitor/mon-monitor.c
+++ b/cpukit/libmisc/monitor/mon-monitor.c
@@ -75,21 +75,21 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
"Show the system configuration.",
0,
rtems_monitor_object_cmd,
- (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_CONFIG,
+ { RTEMS_MONITOR_OBJECT_CONFIG },
&rtems_monitor_commands[1],
},
{ "itask",
"List init tasks for the system",
0,
rtems_monitor_object_cmd,
- (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_INIT_TASK,
+ { RTEMS_MONITOR_OBJECT_INIT_TASK },
&rtems_monitor_commands[2],
},
{ "mpci",
"Show the MPCI system configuration, if configured.",
0,
rtems_monitor_object_cmd,
- (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_MPCI,
+ { RTEMS_MONITOR_OBJECT_MPCI },
&rtems_monitor_commands[3],
},
{ "pause",
@@ -98,7 +98,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" pause [ticks]",
0,
rtems_monitor_pause_cmd,
- 0,
+ { 0 },
&rtems_monitor_commands[4],
},
{ "continue",
@@ -106,14 +106,14 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
"program running.\n",
0,
rtems_monitor_continue_cmd,
- 0,
+ { 0 },
&rtems_monitor_commands[5],
},
{ "go",
"Alias for 'continue'",
0,
rtems_monitor_continue_cmd,
- 0,
+ { 0 },
&rtems_monitor_commands[6],
},
{ "node",
@@ -121,7 +121,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" node [ node number ]",
0,
rtems_monitor_node_cmd,
- 0,
+ { 0 },
&rtems_monitor_commands[7],
},
{ "symbol",
@@ -130,7 +130,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" symbol [ symbolname [symbolname ... ] ]",
0,
rtems_monitor_symbol_cmd,
- (rtems_monitor_command_arg_t) &rtems_monitor_symbols,
+ { .symbol_table = &rtems_monitor_symbols },
&rtems_monitor_commands[8],
},
{ "extension",
@@ -139,7 +139,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" extension [id [id ...] ]",
0,
rtems_monitor_object_cmd,
- (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_EXTENSION,
+ { RTEMS_MONITOR_OBJECT_EXTENSION },
&rtems_monitor_commands[9],
},
{ "task",
@@ -148,7 +148,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" task [id [id ...] ]",
0,
rtems_monitor_object_cmd,
- (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_TASK,
+ { RTEMS_MONITOR_OBJECT_TASK },
&rtems_monitor_commands[10],
},
{ "queue",
@@ -157,7 +157,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" queue [id [id ... ] ]",
0,
rtems_monitor_object_cmd,
- (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_QUEUE,
+ { RTEMS_MONITOR_OBJECT_QUEUE },
&rtems_monitor_commands[11],
},
{ "object",
@@ -167,7 +167,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" object [id [id ...] ]",
0,
rtems_monitor_object_cmd,
- (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_INVALID,
+ { RTEMS_MONITOR_OBJECT_INVALID },
&rtems_monitor_commands[12],
},
{ "driver",
@@ -175,14 +175,14 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" driver [ major [ major ... ] ]",
0,
rtems_monitor_object_cmd,
- (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_DRIVER,
+ { RTEMS_MONITOR_OBJECT_DRIVER },
&rtems_monitor_commands[13],
},
{ "dname",
"Displays information about named drivers.\n",
0,
rtems_monitor_object_cmd,
- (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_DNAME,
+ { RTEMS_MONITOR_OBJECT_DNAME },
&rtems_monitor_commands[14],
},
{ "exit",
@@ -191,7 +191,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" exit [status]",
0,
rtems_monitor_fatal_cmd,
- (rtems_monitor_command_arg_t) RTEMS_SUCCESSFUL,
+ { .status_code = RTEMS_SUCCESSFUL },
&rtems_monitor_commands[15],
},
{ "fatal",
@@ -199,14 +199,14 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" fatal [status]",
0,
rtems_monitor_fatal_cmd,
- (rtems_monitor_command_arg_t) RTEMS_TASK_EXITTED, /* exit value */
+ { .status_code = RTEMS_TASK_EXITTED }, /* exit value */
&rtems_monitor_commands[16],
},
{ "quit",
"Alias for 'exit'\n",
0,
rtems_monitor_fatal_cmd,
- (rtems_monitor_command_arg_t) RTEMS_SUCCESSFUL, /* exit value */
+ { .status_code = RTEMS_SUCCESSFUL }, /* exit value */
&rtems_monitor_commands[17],
},
{ "help",
@@ -215,7 +215,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
"help [ command [ command ] ]",
0,
rtems_monitor_help_cmd,
- (rtems_monitor_command_arg_t) rtems_monitor_commands,
+ { .monitor_command_entry = rtems_monitor_commands },
&rtems_monitor_commands[18],
},
#ifdef CPU_INVOKE_DEBUGGER
@@ -224,11 +224,11 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
"A continue from the debugger will return to the monitor.\n",
0,
rtems_monitor_debugger_cmd,
- 0,
+ { 0 },
&rtems_monitor_commands[19],
},
#endif
- { 0, 0, 0, 0, 0, &rtems_registered_commands },
+ { 0, 0, 0, 0, { 0 }, &rtems_registered_commands },
};
@@ -257,7 +257,7 @@ void
rtems_monitor_debugger_cmd(
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t* command_arg,
boolean verbose
)
{
@@ -270,7 +270,7 @@ void
rtems_monitor_pause_cmd(
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t* command_arg,
boolean verbose
)
{
@@ -284,12 +284,12 @@ void
rtems_monitor_fatal_cmd(
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t* command_arg,
boolean verbose
)
{
if (argc == 1)
- rtems_fatal_error_occurred(command_arg);
+ rtems_fatal_error_occurred(command_arg->status_code);
else
rtems_fatal_error_occurred(strtoul(argv[1], 0, 0));
}
@@ -298,7 +298,7 @@ void
rtems_monitor_continue_cmd(
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t* command_arg,
boolean verbose
)
{
@@ -309,7 +309,7 @@ void
rtems_monitor_node_cmd(
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t* command_arg,
boolean verbose
)
{
@@ -530,7 +530,7 @@ rtems_monitor_task(
continue;
}
- command->command_function(argc, argv, command->command_arg, verbose);
+ command->command_function(argc, argv, &command->command_arg, verbose);
fflush(stdout);
}
diff --git a/cpukit/libmisc/monitor/mon-object.c b/cpukit/libmisc/monitor/mon-object.c
index 862efcf815..0e36e26b5e 100644
--- a/cpukit/libmisc/monitor/mon-object.c
+++ b/cpukit/libmisc/monitor/mon-object.c
@@ -315,16 +315,16 @@ void
rtems_monitor_object_cmd(
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose
)
{
int arg;
rtems_monitor_object_info_t *info = 0;
- rtems_monitor_object_type_t type = (rtems_monitor_object_type_t) command_arg;
+ rtems_monitor_object_type_t type ;
/* what is the default type? */
- type = (rtems_monitor_object_type_t) command_arg;
+ type = command_arg->monitor_object;
if (argc == 1)
{
diff --git a/cpukit/libmisc/monitor/mon-symbols.c b/cpukit/libmisc/monitor/mon-symbols.c
index 0b8560c4fc..ab953d8628 100644
--- a/cpukit/libmisc/monitor/mon-symbols.c
+++ b/cpukit/libmisc/monitor/mon-symbols.c
@@ -452,14 +452,14 @@ void
rtems_monitor_symbol_cmd(
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t* command_arg,
boolean verbose
)
{
int arg;
rtems_symbol_table_t *table;
- table = *(rtems_symbol_table_t **) command_arg;
+ table = *command_arg->symbol_table;
if (table == 0)
{
table = rtems_monitor_symbols;
diff --git a/cpukit/libmisc/monitor/monitor.h b/cpukit/libmisc/monitor/monitor.h
index 219ad7ecd2..4edc799ddf 100644
--- a/cpukit/libmisc/monitor/monitor.h
+++ b/cpukit/libmisc/monitor/monitor.h
@@ -284,18 +284,21 @@ extern unsigned32 rtems_monitor_default_node; /* current default for commands *
*/
typedef struct rtems_monitor_command_entry_s rtems_monitor_command_entry_t;
-
-/* FIXME: This should not be here */
-extern rtems_monitor_command_entry_t rtems_monitor_commands[];
+typedef union _rtems_monitor_command_arg_t rtems_monitor_command_arg_t;
typedef void ( *rtems_monitor_command_function_t )(
int argc,
char **argv,
- unsigned32 command_arg,
+ rtems_monitor_command_arg_t *command_arg,
boolean verbose
);
-typedef unsigned32 rtems_monitor_command_arg_t;
+union _rtems_monitor_command_arg_t {
+ rtems_monitor_object_type_t monitor_object ;
+ rtems_status_code status_code ;
+ rtems_symbol_table_t **symbol_table ;
+ rtems_monitor_command_entry_t *monitor_command_entry ;
+};
struct rtems_monitor_command_entry_s {
char *command; /* command name */
@@ -307,6 +310,7 @@ struct rtems_monitor_command_entry_s {
rtems_monitor_command_entry_t *next;
};
+
typedef void *(*rtems_monitor_object_next_fn)(void *, void *, rtems_id *);
typedef void (*rtems_monitor_object_canonical_fn)(void *, void *);
typedef void (*rtems_monitor_object_dump_header_fn)(boolean);
@@ -327,11 +331,11 @@ typedef struct {
void rtems_monitor_kill(void);
void rtems_monitor_init(unsigned32);
void rtems_monitor_wakeup(void);
-void rtems_monitor_pause_cmd(int, char **, unsigned32, boolean);
-void rtems_monitor_fatal_cmd(int, char **, unsigned32, boolean);
-void rtems_monitor_continue_cmd(int, char **, unsigned32, boolean);
-void rtems_monitor_debugger_cmd(int, char **, unsigned32, boolean);
-void rtems_monitor_node_cmd(int, char **, unsigned32, boolean);
+void rtems_monitor_pause_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
+void rtems_monitor_fatal_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
+void rtems_monitor_continue_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
+void rtems_monitor_debugger_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
+void rtems_monitor_node_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
void rtems_monitor_symbols_loadup(void);
int rtems_monitor_insert_cmd(rtems_monitor_command_entry_t *);
int rtems_monitor_erase_cmd(rtems_monitor_command_entry_t *);
@@ -350,7 +354,7 @@ int rtems_monitor_command_read(char *, int *, char **);
rtems_monitor_command_entry_t *rtems_monitor_command_lookup(
rtems_monitor_command_entry_t * table, int argc, char **argv);
void rtems_monitor_command_usage(rtems_monitor_command_entry_t *, char *);
-void rtems_monitor_help_cmd(int, char **, unsigned32, boolean);
+void rtems_monitor_help_cmd(int, char **, rtems_monitor_command_arg_t *, boolean);
/* prmisc.c */
void rtems_monitor_separator(void);
@@ -373,7 +377,7 @@ rtems_id rtems_monitor_object_canonical_get(rtems_monitor_object_type_t, rtems
rtems_id rtems_monitor_object_canonical_next(rtems_monitor_object_info_t *, rtems_id, void *);
void *rtems_monitor_object_next(void *, void *, rtems_id, rtems_id *);
rtems_id rtems_monitor_object_canonical(rtems_id, void *);
-void rtems_monitor_object_cmd(int, char **, unsigned32, boolean);
+void rtems_monitor_object_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
/* manager.c */
void *rtems_monitor_manager_next(void *, void *, rtems_id *);
@@ -438,11 +442,14 @@ void rtems_monitor_symbol_canonical(rtems_monitor_symbol_t *, rtems_symbol_t
void rtems_monitor_symbol_canonical_by_name(rtems_monitor_symbol_t *, char *);
void rtems_monitor_symbol_canonical_by_value(rtems_monitor_symbol_t *, void *);
unsigned32 rtems_monitor_symbol_dump(rtems_monitor_symbol_t *, boolean);
-void rtems_monitor_symbol_cmd(int, char **, unsigned32, boolean);
+void rtems_monitor_symbol_cmd(int, char **, rtems_monitor_command_arg_t*, boolean);
extern rtems_symbol_table_t *rtems_monitor_symbols;
+/* FIXME: This should not be here */
+extern rtems_monitor_command_entry_t rtems_monitor_commands[];
+
#define MONITOR_WAKEUP_EVENT RTEMS_EVENT_0
#ifdef __cplusplus
diff --git a/cpukit/libmisc/shell/cmds.c b/cpukit/libmisc/shell/cmds.c
index 9057345203..2c462007df 100644
--- a/cpukit/libmisc/shell/cmds.c
+++ b/cpukit/libmisc/shell/cmds.c
@@ -473,7 +473,7 @@ int main_monitor(int argc,char * argv[]) {
rtems_monitor_node = rtems_get_node(rtems_monitor_task_id);
rtems_monitor_default_node = rtems_monitor_node;
if ((command=rtems_monitor_command_lookup(rtems_monitor_commands,argc,argv)))
- command->command_function(argc, argv, command->command_arg, 0);
+ command->command_function(argc, argv, &command->command_arg, 0);
return 0;
}
/*-----------------------------------------------------------*/