summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-07-01 22:19:33 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-07-01 22:19:33 +0000
commit63977bb4d3d7dc0d556d63a386ac74c21ec4ebd3 (patch)
tree4c3a4ea9678d027e769f0e5ab2d3a48f5c52b625 /c/src
parent2002-07-01 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-63977bb4d3d7dc0d556d63a386ac74c21ec4ebd3.tar.bz2
2002-07-01 Joel Sherrill <joel@OARcorp.com>
* capture/capture-cli.c, cpuuse/cpuuse.c, monitor/mon-monitor.c, monitor/mon-object.c, monitor/monitor.h: Corrected use of _Objects_Information_table now that it is a two dimensional array based upon API and class. In addition, in the monitor, corrected an error which occured when a target has 64 bit pointers.
Diffstat (limited to 'c/src')
-rw-r--r--c/src/libmisc/ChangeLog8
-rw-r--r--c/src/libmisc/capture/capture-cli.c8
-rw-r--r--c/src/libmisc/cpuuse/cpuuse.c40
-rw-r--r--c/src/libmisc/monitor/mon-monitor.c28
-rw-r--r--c/src/libmisc/monitor/mon-object.c5
-rw-r--r--c/src/libmisc/monitor/monitor.h10
6 files changed, 58 insertions, 41 deletions
diff --git a/c/src/libmisc/ChangeLog b/c/src/libmisc/ChangeLog
index 347754fb94..4a186b2275 100644
--- a/c/src/libmisc/ChangeLog
+++ b/c/src/libmisc/ChangeLog
@@ -1,5 +1,13 @@
2002-07-01 Joel Sherrill <joel@OARcorp.com>
+ * capture/capture-cli.c, cpuuse/cpuuse.c, monitor/mon-monitor.c,
+ monitor/mon-object.c, monitor/monitor.h: Corrected use of
+ _Objects_Information_table now that it is a two dimensional
+ array based upon API and class. In addition, in the monitor,
+ corrected an error which occured when a target has 64 bit pointers.
+
+2002-07-01 Joel Sherrill <joel@OARcorp.com>
+
* stackchk/check.c: Corrected use of
_Objects_Information_table now that it is a two dimensional
array based upon API and class.
diff --git a/c/src/libmisc/capture/capture-cli.c b/c/src/libmisc/capture/capture-cli.c
index 0ed145fafc..fd48323bfc 100644
--- a/c/src/libmisc/capture/capture-cli.c
+++ b/c/src/libmisc/capture/capture-cli.c
@@ -573,7 +573,7 @@ rtems_capture_cli_get_name_id (char* arg,
rtems_name* name,
rtems_id* id)
{
- Objects_Classes objclass;
+ unsigned32 objclass;
int l;
int i;
@@ -597,11 +597,7 @@ rtems_capture_cli_get_name_id (char* arg,
objclass = _Objects_Get_class (*id);
- if ((i == l) && (l > 4) &&
- ((objclass == OBJECTS_INTERNAL_THREADS) ||
- (objclass == OBJECTS_RTEMS_TASKS) ||
- (objclass == OBJECTS_POSIX_THREADS) ||
- (objclass == OBJECTS_ITRON_TASKS)))
+ if ((i == l))
*valid_id = 1;
else
{
diff --git a/c/src/libmisc/cpuuse/cpuuse.c b/c/src/libmisc/cpuuse/cpuuse.c
index 66c006e3d3..833681f4a0 100644
--- a/c/src/libmisc/cpuuse/cpuuse.c
+++ b/c/src/libmisc/cpuuse/cpuuse.c
@@ -31,18 +31,20 @@ unsigned32 CPU_usage_Ticks_at_last_reset;
void CPU_usage_Dump( void )
{
unsigned32 i;
- unsigned32 class_index;
+ unsigned32 api_index;
Thread_Control *the_thread;
Objects_Information *information;
unsigned32 u32_name;
char name[5];
unsigned32 total_units = 0;
- for ( class_index = OBJECTS_CLASSES_FIRST ;
- class_index <= OBJECTS_CLASSES_LAST ;
- class_index++ ) {
- information = _Objects_Information_table[ class_index ];
- if ( information && information->is_thread ) {
+ for ( api_index = 1 ;
+ api_index <= OBJECTS_APIS_LAST ;
+ api_index++ ) {
+ if ( !_Objects_Information_table[ api_index ] )
+ continue;
+ information = _Objects_Information_table[ api_index ][ 1 ];
+ if ( information ) {
for ( i=1 ; i <= information->maximum ; i++ ) {
the_thread = (Thread_Control *)information->local_table[ i ];
@@ -59,11 +61,13 @@ void CPU_usage_Dump( void )
printf( " ID NAME TICKS\n" );
#endif
- for ( class_index = OBJECTS_CLASSES_FIRST ;
- class_index <= OBJECTS_CLASSES_LAST ;
- class_index++ ) {
- information = _Objects_Information_table[ class_index ];
- if ( information && information->is_thread ) {
+ for ( api_index = 1 ;
+ api_index <= OBJECTS_APIS_LAST ;
+ api_index++ ) {
+ if ( !_Objects_Information_table[ api_index ] )
+ continue;
+ information = _Objects_Information_table[ api_index ][ 1 ];
+ if ( information ) {
for ( i=1 ; i <= information->maximum ; i++ ) {
the_thread = (Thread_Control *)information->local_table[ i ];
@@ -113,17 +117,19 @@ void CPU_usage_Dump( void )
void CPU_usage_Reset( void )
{
unsigned32 i;
- unsigned32 class_index;
+ unsigned32 api_index;
Thread_Control *the_thread;
Objects_Information *information;
CPU_usage_Ticks_at_last_reset = _Watchdog_Ticks_since_boot;
- for ( class_index = OBJECTS_CLASSES_FIRST ;
- class_index <= OBJECTS_CLASSES_LAST ;
- class_index++ ) {
- information = _Objects_Information_table[ class_index ];
- if ( information && information->is_thread ) {
+ for ( api_index = 1 ;
+ api_index <= OBJECTS_APIS_LAST ;
+ api_index++ ) {
+ if ( !_Objects_Information_table[ api_index ] )
+ continue;
+ information = _Objects_Information_table[ api_index ][ 1 ];
+ if ( information ) {
for ( i=1 ; i <= information->maximum ; i++ ) {
the_thread = (Thread_Control *)information->local_table[ i ];
diff --git a/c/src/libmisc/monitor/mon-monitor.c b/c/src/libmisc/monitor/mon-monitor.c
index c1b5794430..c63ae52be2 100644
--- a/c/src/libmisc/monitor/mon-monitor.c
+++ b/c/src/libmisc/monitor/mon-monitor.c
@@ -69,21 +69,21 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
"Show the system configuration.",
0,
rtems_monitor_object_cmd,
- RTEMS_MONITOR_OBJECT_CONFIG,
+ (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_CONFIG,
&rtems_monitor_commands[1],
},
{ "itask",
"List init tasks for the system",
0,
rtems_monitor_object_cmd,
- RTEMS_MONITOR_OBJECT_INIT_TASK,
+ (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_INIT_TASK,
&rtems_monitor_commands[2],
},
{ "mpci",
"Show the MPCI system configuration, if configured.",
0,
rtems_monitor_object_cmd,
- RTEMS_MONITOR_OBJECT_MPCI,
+ (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_MPCI,
&rtems_monitor_commands[3],
},
{ "pause",
@@ -127,7 +127,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
#if defined(RTEMS_CPU_HAS_16_BIT_ADDRESSES)
0, /* XXX find a way to fix the compile time error on h8 */
#else
- (unsigned32) &rtems_monitor_symbols,
+ (rtems_monitor_command_arg_t) &rtems_monitor_symbols,
#endif
&rtems_monitor_commands[8],
},
@@ -137,7 +137,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" extension [id [id ...] ]",
0,
rtems_monitor_object_cmd,
- RTEMS_MONITOR_OBJECT_EXTENSION,
+ (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_EXTENSION,
&rtems_monitor_commands[9],
},
{ "task",
@@ -146,7 +146,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" task [id [id ...] ]",
0,
rtems_monitor_object_cmd,
- RTEMS_MONITOR_OBJECT_TASK,
+ (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_TASK,
&rtems_monitor_commands[10],
},
{ "queue",
@@ -155,7 +155,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" queue [id [id ... ] ]",
0,
rtems_monitor_object_cmd,
- RTEMS_MONITOR_OBJECT_QUEUE,
+ (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_QUEUE,
&rtems_monitor_commands[11],
},
{ "object",
@@ -165,7 +165,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" object [id [id ...] ]",
0,
rtems_monitor_object_cmd,
- RTEMS_MONITOR_OBJECT_INVALID,
+ (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_INVALID,
&rtems_monitor_commands[12],
},
{ "driver",
@@ -173,14 +173,14 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" driver [ major [ major ... ] ]",
0,
rtems_monitor_object_cmd,
- RTEMS_MONITOR_OBJECT_DRIVER,
+ (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_DRIVER,
&rtems_monitor_commands[13],
},
{ "dname",
"Displays information about named drivers.\n",
0,
rtems_monitor_object_cmd,
- RTEMS_MONITOR_OBJECT_DNAME,
+ (rtems_monitor_command_arg_t) RTEMS_MONITOR_OBJECT_DNAME,
&rtems_monitor_commands[14],
},
{ "exit",
@@ -189,7 +189,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" exit [status]",
0,
rtems_monitor_fatal_cmd,
- RTEMS_SUCCESSFUL,
+ (rtems_monitor_command_arg_t) RTEMS_SUCCESSFUL,
&rtems_monitor_commands[15],
},
{ "fatal",
@@ -197,14 +197,14 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
" fatal [status]",
0,
rtems_monitor_fatal_cmd,
- RTEMS_TASK_EXITTED, /* exit value */
+ (rtems_monitor_command_arg_t) RTEMS_TASK_EXITTED, /* exit value */
&rtems_monitor_commands[16],
},
{ "quit",
"Alias for 'exit'\n",
0,
rtems_monitor_fatal_cmd,
- RTEMS_SUCCESSFUL, /* exit value */
+ (rtems_monitor_command_arg_t) RTEMS_SUCCESSFUL, /* exit value */
&rtems_monitor_commands[17],
},
{ "help",
@@ -216,7 +216,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = {
#if defined(RTEMS_CPU_HAS_16_BIT_ADDRESSES)
0, /* XXX find a way to fix the compile time error on h8 */
#else
- (unsigned32) rtems_monitor_commands,
+ (rtems_monitor_command_arg_t) rtems_monitor_commands,
#endif
&rtems_monitor_commands[18],
},
diff --git a/c/src/libmisc/monitor/mon-object.c b/c/src/libmisc/monitor/mon-object.c
index 8112372d86..73a5979da5 100644
--- a/c/src/libmisc/monitor/mon-object.c
+++ b/c/src/libmisc/monitor/mon-object.c
@@ -129,7 +129,8 @@ rtems_monitor_id_fixup(
if (rtems_get_class(id) != OBJECTS_NO_CLASS)
type = rtems_get_class(id);
- id = _Objects_Build_id(type, default_node, rtems_get_index(id));
+ id = _Objects_Build_id(
+ OBJECTS_CLASSIC_API, type, default_node, rtems_get_index(id));
}
return id;
}
@@ -295,7 +296,7 @@ rtems_monitor_object_dump_all(
rtems_id next_id;
rtems_monitor_union_t canonical;
- next_id = RTEMS_OBJECT_ID_INITIAL(info->type, rtems_monitor_default_node);
+ next_id = RTEMS_OBJECT_ID_INITIAL(OBJECTS_CLASSIC_API, info->type, rtems_monitor_default_node);
while ((next_id = rtems_monitor_object_canonical_next(
info,
diff --git a/c/src/libmisc/monitor/monitor.h b/c/src/libmisc/monitor/monitor.h
index ef0e099ac7..c6eb3c5cfe 100644
--- a/c/src/libmisc/monitor/monitor.h
+++ b/c/src/libmisc/monitor/monitor.h
@@ -36,7 +36,7 @@ typedef enum {
/* following monitor objects are not known to RTEMS, but
* we like to have "types" for them anyway */
- RTEMS_MONITOR_OBJECT_DRIVER = OBJECTS_CLASSES_LAST+1,
+ RTEMS_MONITOR_OBJECT_DRIVER = OBJECTS_RTEMS_CLASSES_LAST+1,
RTEMS_MONITOR_OBJECT_DNAME,
RTEMS_MONITOR_OBJECT_CONFIG,
RTEMS_MONITOR_OBJECT_INIT_TASK,
@@ -289,13 +289,19 @@ typedef void ( *rtems_monitor_command_function_t )(
boolean verbose
);
+#if defined(__mips64)
+ typedef unsigned64 rtems_monitor_command_arg_t;
+#else
+ typedef unsigned32 rtems_monitor_command_arg_t;
+#endif
+
struct rtems_monitor_command_entry_s {
char *command; /* command name */
char *usage; /* usage string for the command */
unsigned32 arguments_required; /* # of required args */
rtems_monitor_command_function_t command_function;
/* Some argument for the command */
- unsigned32 command_arg;
+ rtems_monitor_command_arg_t command_arg;
struct rtems_monitor_command_entry_s *next;
};