From d4c40786f6fc37c32fdc8927e7fc76288ba160c4 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 26 Sep 2003 17:42:45 +0000 Subject: 2003-09-26 Ralf Corsepius 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. --- cpukit/libmisc/ChangeLog | 8 ++++++ cpukit/libmisc/capture/capture-cli.c | 32 ++++++++++----------- cpukit/libmisc/monitor/mon-command.c | 6 ++-- cpukit/libmisc/monitor/mon-config.c | 4 +-- cpukit/libmisc/monitor/mon-monitor.c | 54 ++++++++++++++++++------------------ cpukit/libmisc/monitor/mon-object.c | 6 ++-- cpukit/libmisc/monitor/mon-symbols.c | 4 +-- cpukit/libmisc/monitor/monitor.h | 33 +++++++++++++--------- cpukit/libmisc/shell/cmds.c | 2 +- 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 + + 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 * 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; } /*-----------------------------------------------------------*/ -- cgit v1.2.3