From ff3f8c85c3f2098af3ffc8330b3a6cf636035edf Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 28 May 2007 15:51:01 +0000 Subject: 2007-05-28 Joel Sherrill * libmisc/Makefile.am, libmisc/monitor/mon-object.c, libmisc/monitor/monitor.h, sapi/include/confdefs.h, sapi/include/rtems/config.h, sapi/include/rtems/io.h, sapi/src/exinit.c, sapi/src/io.c: Eliminate maximum_drivers configuration parameter since it was used to configure a no longer used feature. Device names are now part of the filesystem not in a table. This also eliminated the variables _IO_Number_of_devices and _IO_Driver_name_table from RTEMS as well as the memory allocation used to populate _IO_Driver_name_table. * libmisc/monitor/mon-dname.c: Removed. --- cpukit/ChangeLog | 13 ++++ cpukit/libmisc/Makefile.am | 6 +- cpukit/libmisc/monitor/mon-dname.c | 116 ------------------------------------ cpukit/libmisc/monitor/mon-object.c | 11 ---- cpukit/libmisc/monitor/monitor.h | 16 ----- cpukit/sapi/include/confdefs.h | 12 ++-- cpukit/sapi/include/rtems/config.h | 29 +++++---- cpukit/sapi/include/rtems/io.h | 5 +- cpukit/sapi/src/exinit.c | 3 +- cpukit/sapi/src/io.c | 71 +--------------------- 10 files changed, 38 insertions(+), 244 deletions(-) delete mode 100644 cpukit/libmisc/monitor/mon-dname.c diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 0f96dd7d0f..eea3f4faf9 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,16 @@ +2007-05-28 Joel Sherrill + + * libmisc/Makefile.am, libmisc/monitor/mon-object.c, + libmisc/monitor/monitor.h, sapi/include/confdefs.h, + sapi/include/rtems/config.h, sapi/include/rtems/io.h, + sapi/src/exinit.c, sapi/src/io.c: Eliminate maximum_drivers + configuration parameter since it was used to configure a no longer + used feature. Device names are now part of the filesystem not in a + table. This also eliminated the variables _IO_Number_of_devices and + _IO_Driver_name_table from RTEMS as well as the memory allocation + used to populate _IO_Driver_name_table. + * libmisc/monitor/mon-dname.c: Removed. + 2007-05-23 Joel Sherrill * sapi/include/confdefs.h: Add CONFIGURE_MESSAGE_BUFFER_MEMORY so there diff --git a/cpukit/libmisc/Makefile.am b/cpukit/libmisc/Makefile.am index 33ee30182d..32a2f6abce 100644 --- a/cpukit/libmisc/Makefile.am +++ b/cpukit/libmisc/Makefile.am @@ -42,9 +42,9 @@ noinst_LIBRARIES += libmonitor.a libmonitor_a_SOURCES = monitor/mon-command.c monitor/mon-symbols.c \ monitor/mon-prmisc.c monitor/mon-monitor.c monitor/mon-object.c \ monitor/mon-server.c monitor/mon-task.c monitor/mon-queue.c \ - monitor/mon-driver.c monitor/mon-dname.c monitor/mon-itask.c \ - monitor/mon-extension.c monitor/mon-manager.c monitor/mon-config.c \ - monitor/symbols.h monitor/monitor.h + monitor/mon-driver.c monitor/mon-itask.c monitor/mon-extension.c \ + monitor/mon-manager.c monitor/mon-config.c monitor/symbols.h \ + monitor/monitor.h if HAS_MP libmonitor_a_SOURCES += monitor/mon-mpci.c endif diff --git a/cpukit/libmisc/monitor/mon-dname.c b/cpukit/libmisc/monitor/mon-dname.c deleted file mode 100644 index 4f9cc1aef2..0000000000 --- a/cpukit/libmisc/monitor/mon-dname.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - * RTEMS monitor driver names support. - * - * There are 2 "driver" things the monitor knows about. - * - * 1. Regular RTEMS drivers. - * This is a table indexed by major device number and - * containing driver entry points only. - * - * 2. Driver name table. - * A separate table of names for drivers. - * The table converts driver names to a major number - * as index into the driver table and a minor number - * for an argument to driver. - * - * Drivers are displayed with 'driver' command. - * Names are displayed with 'dname' command. - * - * $Id$ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include - -#include - -#include -#include /* strtoul() */ -#include /* strncpy() */ - -#define DATACOL 15 -#define CONTCOL DATACOL /* continued col */ - -void -rtems_monitor_dname_canonical( - rtems_monitor_dname_t *canonical_dname, - void *dname_void -) -{ - rtems_driver_name_t *np = (rtems_driver_name_t *) dname_void; - - (void) strncpy(canonical_dname->name_string, np->device_name, sizeof(canonical_dname->name_string)); - canonical_dname->major = np->major; - canonical_dname->minor = np->minor; -} - -void * -rtems_monitor_dname_next( - void *object_information, - rtems_monitor_dname_t *canonical_dname, - rtems_id *next_id -) -{ - uint32_t n = rtems_get_index(*next_id); - rtems_driver_name_t *table = _IO_Driver_name_table; - rtems_driver_name_t *np = 0; - -/* XXX should we be using _IO_Number_of_devices */ - for (np = table + n ; n<_IO_Number_of_devices; n++, np++) - if (np->device_name) - goto done; - - *next_id = RTEMS_OBJECT_ID_FINAL; - return 0; - -done: - _Thread_Disable_dispatch(); - - /* - * dummy up a fake id and name for this item - */ - - canonical_dname->id = n; - canonical_dname->name = rtems_build_name('-', '-', '-', '-'); - - *next_id += 1; - return np; -} - -void -rtems_monitor_dname_dump_header( - boolean verbose -) -{ - fprintf(stdout,"\ - Major:Minor Name\n"); -/*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 -0 1 2 3 4 5 6 7 */ - rtems_monitor_separator(); -} - -void -rtems_monitor_dname_dump( - rtems_monitor_dname_t *monitor_dname, - boolean verbose -) -{ - uint32_t length = 0; - - length += rtems_monitor_pad(6, length); - length += rtems_monitor_dump_hex(monitor_dname->major); - length += fprintf(stdout,":"); - length += rtems_monitor_dump_hex(monitor_dname->minor); - - length += rtems_monitor_pad(16, length); - length += fprintf(stdout,"%.*s", - (int) sizeof(monitor_dname->name_string), - (char *) monitor_dname->name_string); - - length += fprintf(stdout,"\n"); - length = 0; -} diff --git a/cpukit/libmisc/monitor/mon-object.c b/cpukit/libmisc/monitor/mon-object.c index 026dfefb33..472b5c2d88 100644 --- a/cpukit/libmisc/monitor/mon-object.c +++ b/cpukit/libmisc/monitor/mon-object.c @@ -100,17 +100,6 @@ 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_MONITOR_OBJECT_DNAME, - /* XXX now that the driver name table is allocated from the */ - /* XXX Workspace, this does not work */ - (void *) 0, - /* (void *) _IO_Driver_name_table, */ - sizeof(rtems_monitor_dname_t), - (rtems_monitor_object_next_fn) rtems_monitor_dname_next, - (rtems_monitor_object_canonical_fn) rtems_monitor_dname_canonical, - (rtems_monitor_object_dump_header_fn) rtems_monitor_dname_dump_header, - (rtems_monitor_object_dump_fn) rtems_monitor_dname_dump, - }, }; /* diff --git a/cpukit/libmisc/monitor/monitor.h b/cpukit/libmisc/monitor/monitor.h index 81c533f877..581ebc286c 100644 --- a/cpukit/libmisc/monitor/monitor.h +++ b/cpukit/libmisc/monitor/monitor.h @@ -168,15 +168,6 @@ typedef struct { rtems_monitor_symbol_t control; /* special functions procedure */ } rtems_monitor_driver_t; -typedef struct { - rtems_id id; /* not used for drivers (yet) */ - rtems_name name; /* not used for drivers (yet) */ - /* end of common portion */ - uint32_t major; - uint32_t minor; - char name_string[64]; -} rtems_monitor_dname_t; - /* * System config */ @@ -229,7 +220,6 @@ typedef union { rtems_monitor_queue_t queue; rtems_monitor_extension_t extension; rtems_monitor_driver_t driver; - rtems_monitor_dname_t dname; rtems_monitor_config_t config; #if defined(RTEMS_MULTIPROCESSING) rtems_monitor_mpci_t mpci; @@ -422,12 +412,6 @@ void rtems_monitor_driver_canonical(rtems_monitor_driver_t *, void *); void rtems_monitor_driver_dump_header(boolean); void rtems_monitor_driver_dump(rtems_monitor_driver_t *, boolean); -/* dname.c */ -void *rtems_monitor_dname_next(void *, rtems_monitor_dname_t *, rtems_id *); -void rtems_monitor_dname_canonical(rtems_monitor_dname_t *, void *); -void rtems_monitor_dname_dump_header(boolean); -void rtems_monitor_dname_dump(rtems_monitor_dname_t *, boolean); - /* symbols.c */ rtems_symbol_table_t *rtems_symbol_table_create(); void rtems_symbol_table_destroy(rtems_symbol_table_t *table); diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 900e3af759..13f1946128 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -340,10 +340,13 @@ rtems_driver_address_table Device_drivers[] = { /* * Default the number of devices per device driver. This value may be * overridden by the user. + * + * NOTE: This configuration parameter is obsolete. Thus we will warn the + * user that it is obsolete. */ -#ifndef CONFIGURE_MAXIMUM_DEVICES -#define CONFIGURE_MAXIMUM_DEVICES 20 +#ifdef CONFIGURE_MAXIMUM_DEVICES +#warning "CONFIGURE_MAXIMUM_DEVICES is obsolete. Do not use any longer." #endif #ifdef CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER @@ -974,9 +977,6 @@ itron_initialization_tasks_table ITRON_Initialization_tasks[] = { ( (_extensions) * \ ( sizeof(Extension_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) -#define CONFIGURE_MEMORY_FOR_DEVICES(_devices) \ - (((_devices) + 1) * ( sizeof(rtems_driver_name_t) ) ) - #ifdef CONFIGURE_MP_APPLICATION #ifndef CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE @@ -1079,7 +1079,6 @@ itron_initialization_tasks_table ITRON_Initialization_tasks[] = { CONFIGURE_MEMORY_FOR_USER_EXTENSIONS( \ CONFIGURE_MAXIMUM_USER_EXTENSIONS + CONFIGURE_NEWLIB_EXTENSION + \ CONFIGURE_STACK_CHECKER_EXTENSION ) + \ - CONFIGURE_MEMORY_FOR_DEVICES(CONFIGURE_MAXIMUM_DEVICES) + \ CONFIGURE_MEMORY_FOR_MP + \ CONFIGURE_MEMORY_FOR_SYSTEM_OVERHEAD + \ CONFIGURE_MESSAGE_BUFFER_MEMORY + \ @@ -1175,7 +1174,6 @@ rtems_configuration_table Configuration = { CONFIGURE_STACK_CHECKER_EXTENSION, CONFIGURE_MICROSECONDS_PER_TICK, CONFIGURE_TICKS_PER_TIMESLICE, - CONFIGURE_MAXIMUM_DEVICES, CONFIGURE_MAXIMUM_DRIVERS, CONFIGURE_NUMBER_OF_DRIVERS, /* number of device drivers */ Device_drivers, /* pointer to driver table */ diff --git a/cpukit/sapi/include/rtems/config.h b/cpukit/sapi/include/rtems/config.h index 598f293ff9..2a0f5b4bae 100644 --- a/cpukit/sapi/include/rtems/config.h +++ b/cpukit/sapi/include/rtems/config.h @@ -101,21 +101,20 @@ typedef struct { */ typedef struct { - void *work_space_start; - uint32_t work_space_size; - uint32_t maximum_extensions; - uint32_t microseconds_per_tick; - uint32_t ticks_per_timeslice; - uint32_t maximum_devices; - uint32_t maximum_drivers; - uint32_t number_of_device_drivers; - rtems_driver_address_table *Device_driver_table; - uint32_t number_of_initial_extensions; - rtems_extensions_table *User_extension_table; - rtems_multiprocessing_table *User_multiprocessing_table; - rtems_api_configuration_table *RTEMS_api_configuration; - posix_api_configuration_table *POSIX_api_configuration; - itron_api_configuration_table *ITRON_api_configuration; + void *work_space_start; + uint32_t work_space_size; + uint32_t maximum_extensions; + uint32_t microseconds_per_tick; + uint32_t ticks_per_timeslice; + uint32_t maximum_drivers; + uint32_t number_of_device_drivers; + rtems_driver_address_table *Device_driver_table; + uint32_t number_of_initial_extensions; + rtems_extensions_table *User_extension_table; + rtems_multiprocessing_table *User_multiprocessing_table; + rtems_api_configuration_table *RTEMS_api_configuration; + posix_api_configuration_table *POSIX_api_configuration; + itron_api_configuration_table *ITRON_api_configuration; } rtems_configuration_table; /* diff --git a/cpukit/sapi/include/rtems/io.h b/cpukit/sapi/include/rtems/io.h index 66d6360dd0..ace50f0459 100644 --- a/cpukit/sapi/include/rtems/io.h +++ b/cpukit/sapi/include/rtems/io.h @@ -90,8 +90,6 @@ typedef struct { SAPI_EXTERN uint32_t _IO_Number_of_drivers; SAPI_EXTERN rtems_driver_address_table *_IO_Driver_address_table; -SAPI_EXTERN uint32_t _IO_Number_of_devices; -SAPI_EXTERN rtems_driver_name_t *_IO_Driver_name_table; /* * _IO_Manager_initialization @@ -104,8 +102,7 @@ SAPI_EXTERN rtems_driver_name_t *_IO_Driver_name_table; void _IO_Manager_initialization( rtems_driver_address_table *driver_table, uint32_t drivers_in_table, - uint32_t number_of_drivers, - uint32_t number_of_devices + uint32_t number_of_drivers ); /* diff --git a/cpukit/sapi/src/exinit.c b/cpukit/sapi/src/exinit.c index e9be0b9534..c7c6e18552 100644 --- a/cpukit/sapi/src/exinit.c +++ b/cpukit/sapi/src/exinit.c @@ -198,8 +198,7 @@ rtems_interrupt_level rtems_initialize_executive_early( _IO_Manager_initialization( configuration_table->Device_driver_table, configuration_table->number_of_device_drivers, - configuration_table->maximum_drivers, - configuration_table->maximum_devices + configuration_table->maximum_drivers ); #ifdef RTEMS_POSIX_API diff --git a/cpukit/sapi/src/io.c b/cpukit/sapi/src/io.c index 62f058563b..3c943285bf 100644 --- a/cpukit/sapi/src/io.c +++ b/cpukit/sapi/src/io.c @@ -37,35 +37,14 @@ void _IO_Manager_initialization( rtems_driver_address_table *driver_table, uint32_t drivers_in_table, - uint32_t number_of_drivers, - uint32_t number_of_devices + uint32_t number_of_drivers ) { - void *tmp; - uint32_t index; - rtems_driver_name_t *np; - if ( number_of_drivers < drivers_in_table ) number_of_drivers = drivers_in_table; _IO_Driver_address_table = driver_table; _IO_Number_of_drivers = number_of_drivers; - _IO_Number_of_devices = number_of_devices; - - tmp = _Workspace_Allocate_or_fatal_error( - sizeof( rtems_driver_name_t ) * ( number_of_devices + 1 ) - ); - - _IO_Driver_name_table = (rtems_driver_name_t *) tmp; - - for( index=0, np = _IO_Driver_name_table ; - index < _IO_Number_of_devices ; - index++, np++ ) { - np->device_name = 0; - np->device_name_length = 0; - np->major = 0; - np->minor = 0; - } } /*PAGE @@ -174,54 +153,6 @@ rtems_status_code rtems_io_unregister_driver( return RTEMS_UNSATISFIED; } -/*PAGE - * - * rtems_io_register_name - * - * Associate a name with a driver - * - * Input Paramters: - * device_name - pointer to name string to associate with device - * major - device major number to receive name - * minor - device minor number to receive name - * - * Output Parameters: - * RTEMS_SUCCESSFUL - if successful - * error code - if unsuccessful - */ - -#if 0 -rtems_status_code rtems_io_register_name( - const char *device_name, - rtems_device_major_number major, - rtems_device_minor_number minor - ) -{ - rtems_driver_name_t *np; - uint32_t level; - uint32_t index; - - /* find an empty slot */ - for( index=0, np = _IO_Driver_name_table ; - index < _IO_Number_of_devices ; - index++, np++ ) { - - _ISR_Disable(level); - if (np->device_name == 0) { - np->device_name = device_name; - np->device_name_length = strlen(device_name); - np->major = major; - np->minor = minor; - _ISR_Enable(level); - - return RTEMS_SUCCESSFUL; - } - _ISR_Enable(level); - } - return RTEMS_TOO_MANY; -} -#endif - /*PAGE * * rtems_io_initialize -- cgit v1.2.3