From 72c440eea7bbd60c9402611053653d377d648e4b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 17 Jan 1996 20:13:45 +0000 Subject: Update from Tony Bennett (tbennett@divnc.com) --- cpukit/libmisc/monitor/mon-dname.c | 4 +-- cpukit/libmisc/monitor/mon-itask.c | 4 +-- cpukit/libmisc/monitor/mon-manager.c | 9 +++--- cpukit/libmisc/monitor/mon-monitor.c | 21 +++++++------ cpukit/libmisc/monitor/mon-object.c | 61 ++++++++++++++++-------------------- cpukit/libmisc/monitor/mon-server.c | 8 ++--- cpukit/libmisc/monitor/monitor.h | 44 ++++++++++++++------------ 7 files changed, 75 insertions(+), 76 deletions(-) (limited to 'cpukit') diff --git a/cpukit/libmisc/monitor/mon-dname.c b/cpukit/libmisc/monitor/mon-dname.c index b9907eb42b..230e88e7bb 100644 --- a/cpukit/libmisc/monitor/mon-dname.c +++ b/cpukit/libmisc/monitor/mon-dname.c @@ -1,5 +1,5 @@ /* - * @(#)dname.c 1.3 - 95/07/31 + * @(#)dname.c 1.5 - 96/01/03 * * * RTEMS monitor driver names support. @@ -54,7 +54,7 @@ rtems_monitor_dname_next( ) { int n = rtems_get_index(*next_id); - rtems_driver_name_t *table = object_information; + rtems_driver_name_t *table = _IO_Driver_name_table; rtems_driver_name_t *np = 0; /* XXX should we be using _IO_Number_of_devices */ diff --git a/cpukit/libmisc/monitor/mon-itask.c b/cpukit/libmisc/monitor/mon-itask.c index 451f642037..9fd9523950 100644 --- a/cpukit/libmisc/monitor/mon-itask.c +++ b/cpukit/libmisc/monitor/mon-itask.c @@ -1,8 +1,8 @@ /* - * @(#)itask.c 1.4 - 95/08/02 + * @(#)itask.c 1.6 - 96/01/03 * * - * RTEMS Monitor init task support + * RTEMS Monitor init task support * * $Id$ */ diff --git a/cpukit/libmisc/monitor/mon-manager.c b/cpukit/libmisc/monitor/mon-manager.c index 955eaa3b56..d36ec926b6 100644 --- a/cpukit/libmisc/monitor/mon-manager.c +++ b/cpukit/libmisc/monitor/mon-manager.c @@ -1,9 +1,10 @@ /* - * @(#)manager.c 1.2 - 95/07/31 + * @(#)manager.c 1.4 - 96/01/03 * * - * RTEMS Monitor "manager" support. - * Used to traverse object (chain) lists and print them out. + * RTEMS Monitor "manager" support. + * Used to traverse object (chain) lists and print them out. + * * $Id$ */ @@ -43,7 +44,7 @@ rtems_monitor_manager_next( { copy = (rtems_monitor_generic_t *) canonical; copy->id = object->id; - copy->name = table->name_table[rtems_get_index(copy->id)]; + _Objects_Copy_name_raw(object->name, ©->name, sizeof(copy->name)); } done: diff --git a/cpukit/libmisc/monitor/mon-monitor.c b/cpukit/libmisc/monitor/mon-monitor.c index 98b4234c00..7cf666f78e 100644 --- a/cpukit/libmisc/monitor/mon-monitor.c +++ b/cpukit/libmisc/monitor/mon-monitor.c @@ -1,5 +1,5 @@ /* - * @(#)monitor.c 1.22 - 95/11/02 + * @(#)monitor.c 1.23 - 96/01/03 * * * @@ -80,6 +80,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = { " queue -- show message queue information\n" " extension -- user extensions\n" " driver -- show information about named drivers\n" + " dname -- show information about named drivers\n" " object -- generic object information\n" " node -- specify default node for commands that take id's\n" #ifdef CPU_INVOKE_DEBUGGER @@ -95,21 +96,21 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = { " Show the system configuration.\n", 0, rtems_monitor_object_cmd, - RTEMS_OBJECT_CONFIG, + RTEMS_MONITOR_OBJECT_CONFIG, }, { "itask", "itask\n" " List init tasks for the system\n", 0, rtems_monitor_object_cmd, - RTEMS_OBJECT_INIT_TASK, + RTEMS_MONITOR_OBJECT_INIT_TASK, }, { "mpci", "mpci\n" " Show the MPCI system configuration, if configured.\n", 0, rtems_monitor_object_cmd, - RTEMS_OBJECT_MPCI, + RTEMS_MONITOR_OBJECT_MPCI, }, { "pause", "pause [ticks]\n" @@ -155,7 +156,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = { " Default is to display information about all extensions on this node\n", 0, rtems_monitor_object_cmd, - RTEMS_OBJECT_EXTENSION, + RTEMS_MONITOR_OBJECT_EXTENSION, }, { "task", "task [id [id ...] ]\n" @@ -163,7 +164,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = { " Default is to display information about all tasks on this node\n", 0, rtems_monitor_object_cmd, - RTEMS_OBJECT_TASK, + RTEMS_MONITOR_OBJECT_TASK, }, { "queue", "queue [id [id ... ] ]\n" @@ -171,7 +172,7 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = { " Default is to display information about all queues on this node\n", 0, rtems_monitor_object_cmd, - RTEMS_OBJECT_QUEUE, + RTEMS_MONITOR_OBJECT_QUEUE, }, { "object", "object [id [id ...] ]\n" @@ -180,21 +181,21 @@ rtems_monitor_command_entry_t rtems_monitor_commands[] = { " (which may normally be defaulted)\n", 0, rtems_monitor_object_cmd, - RTEMS_OBJECT_INVALID, + RTEMS_MONITOR_OBJECT_INVALID, }, { "driver", "driver [ major [ major ... ] ]\n" " Display the RTEMS device driver table.\n", 0, rtems_monitor_object_cmd, - RTEMS_OBJECT_DRIVER, + RTEMS_MONITOR_OBJECT_DRIVER, }, { "dname", "dname\n" " Displays information about named drivers.\n", 0, rtems_monitor_object_cmd, - RTEMS_OBJECT_DNAME, + RTEMS_MONITOR_OBJECT_DNAME, }, { "exit", "exit [status]\n" diff --git a/cpukit/libmisc/monitor/mon-object.c b/cpukit/libmisc/monitor/mon-object.c index 7aef850141..f2cecbda4c 100644 --- a/cpukit/libmisc/monitor/mon-object.c +++ b/cpukit/libmisc/monitor/mon-object.c @@ -1,5 +1,5 @@ /* - * @(#)object.c 1.7 - 95/08/02 + * @(#)object.c 1.9 - 96/01/03 * * * RTEMS Monitor "object" support. @@ -35,7 +35,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] = { - { RTEMS_OBJECT_CONFIG, + { RTEMS_MONITOR_OBJECT_CONFIG, (void *) 0, sizeof(rtems_monitor_config_t), (rtems_monitor_object_next_fn) rtems_monitor_config_next, @@ -43,7 +43,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] = (rtems_monitor_object_dump_header_fn) rtems_monitor_config_dump_header, (rtems_monitor_object_dump_fn) rtems_monitor_config_dump, }, - { RTEMS_OBJECT_MPCI, + { RTEMS_MONITOR_OBJECT_MPCI, (void *) 0, sizeof(rtems_monitor_mpci_t), (rtems_monitor_object_next_fn) rtems_monitor_mpci_next, @@ -51,7 +51,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] = (rtems_monitor_object_dump_header_fn) rtems_monitor_mpci_dump_header, (rtems_monitor_object_dump_fn) rtems_monitor_mpci_dump, }, - { RTEMS_OBJECT_INIT_TASK, + { RTEMS_MONITOR_OBJECT_INIT_TASK, (void *) 0, sizeof(rtems_monitor_init_task_t), (rtems_monitor_object_next_fn) rtems_monitor_init_task_next, @@ -59,7 +59,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] = (rtems_monitor_object_dump_header_fn) rtems_monitor_init_task_dump_header, (rtems_monitor_object_dump_fn) rtems_monitor_init_task_dump, }, - { RTEMS_OBJECT_TASK, + { RTEMS_MONITOR_OBJECT_TASK, (void *) &_RTEMS_tasks_Information, sizeof(rtems_monitor_task_t), (rtems_monitor_object_next_fn) rtems_monitor_manager_next, @@ -67,7 +67,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] = (rtems_monitor_object_dump_header_fn) rtems_monitor_task_dump_header, (rtems_monitor_object_dump_fn) rtems_monitor_task_dump, }, - { RTEMS_OBJECT_QUEUE, + { RTEMS_MONITOR_OBJECT_QUEUE, (void *) &_Message_queue_Information, sizeof(rtems_monitor_queue_t), (rtems_monitor_object_next_fn) rtems_monitor_manager_next, @@ -75,7 +75,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] = (rtems_monitor_object_dump_header_fn) rtems_monitor_queue_dump_header, (rtems_monitor_object_dump_fn) rtems_monitor_queue_dump, }, - { RTEMS_OBJECT_EXTENSION, + { RTEMS_MONITOR_OBJECT_EXTENSION, (void *) &_Extension_Information, sizeof(rtems_monitor_extension_t), (rtems_monitor_object_next_fn) rtems_monitor_manager_next, @@ -83,7 +83,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] = (rtems_monitor_object_dump_header_fn) rtems_monitor_extension_dump_header, (rtems_monitor_object_dump_fn) rtems_monitor_extension_dump, }, - { RTEMS_OBJECT_DRIVER, + { RTEMS_MONITOR_OBJECT_DRIVER, (void *) 0, sizeof(rtems_monitor_driver_t), (rtems_monitor_object_next_fn) rtems_monitor_driver_next, @@ -91,7 +91,7 @@ rtems_monitor_object_info_t rtems_monitor_object_info[] = (rtems_monitor_object_dump_header_fn) rtems_monitor_driver_dump_header, (rtems_monitor_object_dump_fn) rtems_monitor_driver_dump, }, - { RTEMS_OBJECT_DNAME, + { RTEMS_MONITOR_OBJECT_DNAME, /* XXX now that the driver name table is allocated from the */ /* XXX Workspace, this does not work */ (void *) 0, @@ -113,7 +113,7 @@ rtems_id rtems_monitor_id_fixup( rtems_id id, unsigned32 default_node, - rtems_object_type_t type + rtems_monitor_object_type_t type ) { unsigned32 node; @@ -121,19 +121,10 @@ rtems_monitor_id_fixup( node = rtems_get_node(id); if (node == 0) { -#if 0 - /* XXX Uncomment this when types are added to id's */ if (rtems_get_class(id) != OBJECTS_NO_CLASS) type = rtems_get_class(id); id = _Objects_Build_id(type, default_node, rtems_get_index(id)); -#else -#warning "TONY... FIX ME!!!!!" -#if defined(hppa1_1) -#warning "TONY... I SAID TO FIX ME!!!!! " -#endif - id = _Objects_Build_id(0, default_node, rtems_get_index(id)); -#endif } return id; } @@ -141,7 +132,7 @@ rtems_monitor_id_fixup( rtems_monitor_object_info_t * rtems_monitor_object_lookup( - rtems_object_type_t type + rtems_monitor_object_type_t type ) { rtems_monitor_object_info_t *p; @@ -157,7 +148,7 @@ rtems_monitor_object_lookup( rtems_id rtems_monitor_object_canonical_next_remote( - rtems_object_type_t type, + rtems_monitor_object_type_t type, rtems_id id, void *canonical ) @@ -233,7 +224,7 @@ rtems_monitor_object_canonical_next( rtems_id rtems_monitor_object_canonical_get( - rtems_object_type_t type, + rtems_monitor_object_type_t type, rtems_id id, void *canonical, unsigned32 *size_p @@ -299,7 +290,7 @@ rtems_monitor_object_dump_all( rtems_id next_id; rtems_monitor_union_t canonical; - next_id = RTEMS_OBJECT_ID_INITIAL(rtems_monitor_default_node); + next_id = RTEMS_OBJECT_ID_INITIAL(info->type, rtems_monitor_default_node); while ((next_id = rtems_monitor_object_canonical_next( info, @@ -320,14 +311,14 @@ rtems_monitor_object_cmd( { int arg; rtems_monitor_object_info_t *info = 0; - rtems_object_type_t type = (rtems_object_type_t) command_arg; + rtems_monitor_object_type_t type = (rtems_monitor_object_type_t) command_arg; /* what is the default type? */ - type = (rtems_object_type_t) command_arg; + type = (rtems_monitor_object_type_t) command_arg; if (argc == 1) { - if (type == RTEMS_OBJECT_INVALID) + if (type == RTEMS_MONITOR_OBJECT_INVALID) { printf("A type must be specified to \"dump all\"\n"); goto done; @@ -344,16 +335,15 @@ rtems_monitor_object_cmd( else { unsigned32 default_node = rtems_monitor_default_node; - rtems_object_type_t last_type = RTEMS_OBJECT_INVALID; + rtems_monitor_object_type_t last_type = RTEMS_MONITOR_OBJECT_INVALID; rtems_id id; for (arg=1; argv[arg]; arg++) { id = (rtems_id) strtoul(argv[arg], 0, 0); id = rtems_monitor_id_fixup(id, default_node, type); -#if 0 - type = rtems_get_type(id); -#endif + type = (rtems_monitor_object_type_t) rtems_get_class(id); + /* * Allow the item type to change in the middle * of the command. If the type changes, then @@ -363,15 +353,18 @@ rtems_monitor_object_cmd( { info = rtems_monitor_object_lookup(type); if (info == 0) - { -not_found: printf("Invalid or unsupported type %d\n", type); - goto done; - } + goto not_found; if (info->dump_header) info->dump_header(verbose); } + if (info == 0) + { +not_found: printf("Invalid or unsupported type %d\n", type); + goto done; + } + rtems_monitor_object_dump_1(info, id, verbose); default_node = rtems_get_node(id); diff --git a/cpukit/libmisc/monitor/mon-server.c b/cpukit/libmisc/monitor/mon-server.c index 5ff5688c9c..d492c5e9a2 100644 --- a/cpukit/libmisc/monitor/mon-server.c +++ b/cpukit/libmisc/monitor/mon-server.c @@ -1,8 +1,8 @@ /* - * @(#)server.c 1.3 - 95/08/02 + * @(#)server.c 1.5 - 96/01/03 * * - * RTEMS monitor server (handles requests for info from RTEMS monitors + * RTEMS monitor server (handles requests for info from RTEMS monitors * running on other nodes) * * $Id$ @@ -144,11 +144,11 @@ rtems_monitor_server_task( { case RTEMS_MONITOR_SERVER_CANONICAL: { - rtems_object_type_t object_type; + rtems_monitor_object_type_t object_type; rtems_id id; rtems_id next_id; - object_type = (rtems_object_type_t) request.argument0; + object_type = (rtems_monitor_object_type_t) request.argument0; id = (rtems_id) request.argument1; next_id = rtems_monitor_object_canonical_get(object_type, id, diff --git a/cpukit/libmisc/monitor/monitor.h b/cpukit/libmisc/monitor/monitor.h index 2f20bd2937..6379254158 100644 --- a/cpukit/libmisc/monitor/monitor.h +++ b/cpukit/libmisc/monitor/monitor.h @@ -1,8 +1,8 @@ /* - * @(#)monitor.h 1.20 - 95/12/12 + * @(#)monitor.h 1.21 - 96/01/03 * * - * $Id$ + * monitor.h,v 1.3 1995/09/29 17:19:02 joel Exp */ /* @@ -29,21 +29,25 @@ extern "C" { */ typedef enum { - RTEMS_OBJECT_INVALID = 0, - RTEMS_OBJECT_TASK = 1, - RTEMS_OBJECT_EXTENSION = 2, - RTEMS_OBJECT_QUEUE = 3, - RTEMS_OBJECT_SEMAPHORE = 4, - RTEMS_OBJECT_DRIVER = 5, - RTEMS_OBJECT_DNAME = 6, - RTEMS_OBJECT_CONFIG = 7, - RTEMS_OBJECT_INIT_TASK = 8, - RTEMS_OBJECT_MPCI = 9, - RTEMS_OBJECT_PARTITION = 10, - RTEMS_OBJECT_REGION = 11, - RTEMS_OBJECT_PORT = 12, - RTEMS_OBJECT_SYMBOL = 13, -} rtems_object_type_t; + RTEMS_MONITOR_OBJECT_INVALID = OBJECTS_NO_CLASS, + RTEMS_MONITOR_OBJECT_TASK = OBJECTS_RTEMS_TASKS, + RTEMS_MONITOR_OBJECT_EXTENSION = OBJECTS_RTEMS_EXTENSIONS, + RTEMS_MONITOR_OBJECT_QUEUE = OBJECTS_RTEMS_MESSAGE_QUEUES, + RTEMS_MONITOR_OBJECT_SEMAPHORE = OBJECTS_RTEMS_SEMAPHORES, + RTEMS_MONITOR_OBJECT_PARTITION = OBJECTS_RTEMS_PARTITIONS, + RTEMS_MONITOR_OBJECT_REGION = OBJECTS_RTEMS_REGIONS, + RTEMS_MONITOR_OBJECT_PORT = OBJECTS_RTEMS_PORTS, + + /* 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_DNAME, + RTEMS_MONITOR_OBJECT_CONFIG, + RTEMS_MONITOR_OBJECT_INIT_TASK, + RTEMS_MONITOR_OBJECT_MPCI, + RTEMS_MONITOR_OBJECT_SYMBOL, +} rtems_monitor_object_type_t; /* * rtems_monitor_init() flags @@ -302,7 +306,7 @@ typedef void (*rtems_monitor_object_dump_header_fn)(boolean); typedef void (*rtems_monitor_object_dump_fn)(void *, boolean); typedef struct { - rtems_object_type_t type; + rtems_monitor_object_type_t type; void *object_information; int size; /* of canonical object */ rtems_monitor_object_next_fn next; @@ -354,8 +358,8 @@ unsigned32 rtems_monitor_dump_events(rtems_event_set events); unsigned32 rtems_monitor_dump_notepad(unsigned32 *notepad); /* object.c */ -rtems_id rtems_monitor_id_fixup(rtems_id, unsigned32, rtems_object_type_t); -rtems_id rtems_monitor_object_canonical_get(rtems_object_type_t, rtems_id, void *, unsigned32 *size_p); +rtems_id rtems_monitor_id_fixup(rtems_id, unsigned32, rtems_monitor_object_type_t); +rtems_id rtems_monitor_object_canonical_get(rtems_monitor_object_type_t, rtems_id, void *, unsigned32 *size_p); 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 *); -- cgit v1.2.3