Changeset 3a4ae6c in rtems for c/src/libmisc


Ignore:
Timestamp:
09/11/95 19:35:39 (28 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
ced11f99
Parents:
5072b07
Message:

The word "RTEMS" almost completely removed from the core.

Configuration Table Template file added and all tests
modified to use this. All gvar.h and conftbl.h files
removed from test directories.

Configuration parameter maximum_devices added.

Core semaphore and mutex handlers added and RTEMS API Semaphore
Manager updated to reflect this.

Initialization sequence changed to invoke API specific initialization
routines. Initialization tasks table now owned by RTEMS Tasks Manager.

Added user extension for post-switch.

Utilized user extensions to implement API specific functionality
like signal dispatching.

Added extensions to the System Initialization Thread so that an
API can register a function to be invoked while the system
is being initialized. These are largely equivalent to the
pre-driver and post-driver hooks.

Added the Modules file oar-go32_p5, modified oar-go32, and modified
the file make/custom/go32.cfg to look at an environment varable which
determines what CPU model is being used.

All BSPs updated to reflect named devices and clock driver's IOCTL
used by the Shared Memory Driver. Also merged clock isr into
main file and removed ckisr.c where possible.

Updated spsize to reflect new and moved variables.

Makefiles for the executive source and include files updated to show
break down of files into Core, RTEMS API, and Neither.

Header and inline files installed into subdirectory based on whether
logically in the Core or a part of the RTEMS API.

Location:
c/src/libmisc
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • c/src/libmisc/error/error.c

    r5072b07 r3a4ae6c  
    9292    { "directive not implemented",          RTEMS_NOT_IMPLEMENTED, },
    9393    { "RTEMS inconsistency detected",       RTEMS_INTERNAL_ERROR, },
    94     { "internal multiprocessing only",      RTEMS_PROXY_BLOCKING, },
    9594    { "could not get enough memory",        RTEMS_NO_MEMORY, },
     95    { "internal multiprocessing only",      THREAD_STATUS_PROXY_BLOCKING, },
    9696    { 0, 0, 0 },
    9797};
     
    135135        local_errno = errno;
    136136
    137     if (_Configuration_Is_multiprocessing())
     137    if (_System_state_Is_multiprocessing)
    138138        fprintf(stderr, "[%d] ", _Configuration_MP_table->node);
    139139   
  • c/src/libmisc/monitor/mon-dname.c

    r5072b07 r3a4ae6c  
    5858    rtems_driver_name_t    *np = 0;
    5959
    60     for (np = table + n ; n<RTEMS_MAX_DRIVER_NAMES; n++, np++)
     60/* XXX should we be using _IO_Number_of_devices */
     61    for (np = table + n ; n<_IO_Number_of_devices; n++, np++)
    6162        if (np->device_name)
    6263            goto done;
  • c/src/libmisc/monitor/mon-extension.c

    r5072b07 r3a4ae6c  
    2323
    2424    rtems_monitor_symbol_canonical_by_value(&canonical_extension->create,
    25                                             e->rtems_task_create);
     25                                            e->thread_create);
    2626
    2727    rtems_monitor_symbol_canonical_by_value(&canonical_extension->start,
    28                                             e->rtems_task_start);
     28                                            e->thread_start);
    2929    rtems_monitor_symbol_canonical_by_value(&canonical_extension->restart,
    30                                             e->rtems_task_restart);
     30                                            e->thread_restart);
    3131    rtems_monitor_symbol_canonical_by_value(&canonical_extension->delete,
    32                                             e->rtems_task_delete);
     32                                            e->thread_delete);
    3333    rtems_monitor_symbol_canonical_by_value(&canonical_extension->tswitch,
    34                                             e->task_switch);
     34                                            e->thread_switch);
    3535    rtems_monitor_symbol_canonical_by_value(&canonical_extension->begin,
    36                                             e->task_begin);
     36                                            e->thread_begin);
    3737    rtems_monitor_symbol_canonical_by_value(&canonical_extension->exitted,
    38                                             e->task_exitted);
     38                                            e->thread_exitted);
    3939    rtems_monitor_symbol_canonical_by_value(&canonical_extension->fatal,
    4040                                            e->fatal);
  • c/src/libmisc/monitor/mon-object.c

    r5072b07 r3a4ae6c  
    9393    },
    9494    { RTEMS_OBJECT_DNAME,
    95       (void *) &rtems_driver_name_table[0],
     95      /* XXX now that the driver name table is allocated from the */
     96      /* XXX Workspace, this does not work */
     97      (void *) 0,
     98      /* (void *) _IO_Driver_name_table, */
    9699      sizeof(rtems_monitor_dname_t),
    97100      (rtems_monitor_object_next_fn)        rtems_monitor_dname_next,
  • c/src/libmisc/monitor/mon-server.c

    r5072b07 r3a4ae6c  
    220220    rtems_status_code status;
    221221   
    222     if (_Configuration_Is_multiprocessing()    &&
     222    if (_System_state_Is_multiprocessing    &&
    223223        (_Configuration_MP_table->maximum_nodes > 1))
    224224    {
  • c/src/libmisc/monitor/mon-task.c

    r5072b07 r3a4ae6c  
    2020{
    2121    Thread_Control       *rtems_thread = (Thread_Control *) thread_void;
     22    RTEMS_API_Control    *api;
     23
     24    api = rtems_thread->API_Extensions[ THREAD_API_RTEMS ];
    2225   
    2326    canonical_task->entry = rtems_thread->Start.entry_point;
     
    2831    canonical_task->state = rtems_thread->current_state;
    2932    canonical_task->wait_id = rtems_thread->Wait.id;
    30     canonical_task->events = rtems_thread->RTEMS_API->pending_events;
    31     canonical_task->modes = rtems_thread->current_modes;
    32     canonical_task->attributes = 0 /* XXX FIX ME rtems_thread->RTEMS_API->attribute_set */;
    33     (void) memcpy(canonical_task->notepad, rtems_thread->RTEMS_API->Notepads, sizeof(canonical_task->notepad));
     33    canonical_task->events = api->pending_events;
     34
     35/* XXX modes and attributes only exist in the RTEMS API .. */
     36/* XXX not directly in the core thread.. they will have to be derived */
     37/* XXX if they are important enough to include anymore.   */
     38    canonical_task->modes = 0; /* XXX FIX ME.... rtems_thread->current_modes; */
     39    canonical_task->attributes = 0 /* XXX FIX ME rtems_thread->API_Extensions[ THREAD_API_RTEMS ]->attribute_set */;
     40    (void) memcpy(canonical_task->notepad, api ->Notepads, sizeof(canonical_task->notepad));
     41/* XXX more to fix */
     42/*
    3443    (void) memcpy(&canonical_task->wait_args, &rtems_thread->Wait.Extra, sizeof(canonical_task->wait_args));
     44*/
    3545}
    3646
  • c/src/libmisc/stackchk/check.c

    r5072b07 r3a4ae6c  
    1919 */
    2020
    21 #include <rtems/system.h>
    22 #include <rtems/extension.h>
    23 #include <rtems/fatal.h>
    24 #include <rtems/heap.h>
    25 #include <rtems/stack.h>
    26 #include <rtems/thread.h>
    27 #ifdef XXX_RTEMS_H_FIXED
    28 #include <bsp.h>
    29 #else
    30 #include <rtems/config.h>
     21#include <rtems.h>
     22
    3123extern rtems_configuration_table BSP_Configuration;
    32 #endif
    3324
    3425#include <assert.h>
     
    5748  0,                                /* rtems_task_delete  */
    5849  Stack_check_Switch_extension,     /* task_switch  */
     50  0,                                /* task_post_switch  */
    5951  Stack_check_Begin_extension,      /* task_begin   */
    6052  0,                                /* task_exitted */
     
    134126void Stack_check_Initialize( void )
    135127{
    136   rtems_status_code status;
    137   Objects_Id   id_ignored;
    138   unsigned32  *p;
     128  rtems_status_code    status;
     129  Objects_Id           id_ignored;
     130  unsigned32          *p;
     131  unsigned32           i;
     132  unsigned32           class_index;
     133  Thread_Control      *the_thread;
     134  Objects_Information *information;
    139135
    140136  if (stack_check_initialized)
     
    172168   */
    173169
     170  /* XXX
     171   *
     172   *  Technically this has not been done for any task created before this
     173   *  happened.  So just run through them and fix the situation.
     174   */
     175#if 0
    174176  if (_Thread_Executing)
    175177  {
    176178      Stack_check_Create_extension(_Thread_Executing, _Thread_Executing);
    177179  }
     180#endif
     181
     182#if 0
     183  for ( class_index = OBJECTS_CLASSES_FIRST ;
     184        class_index <= OBJECTS_CLASSES_LAST ;
     185        class_index++ ) {
     186    information = _Objects_Information_table[ class_index ];
     187    if ( information && information->is_thread ) {
     188      for ( i=1 ; i <= information->maximum ; i++ ) {
     189        the_thread = (Thread_Control *)information->local_table[ i ];
     190        Stack_check_Create_extension( the_thread, the_thread );
     191      }
     192    }
     193  }
     194#endif
    178195
    179196  /*
     
    198215 */
    199216
    200 void Stack_check_Create_extension(
     217boolean Stack_check_Create_extension(
    201218  Thread_Control *running,
    202219  Thread_Control *the_thread
    203220)
    204221{
    205     if (the_thread && (the_thread != _Thread_Executing))
     222    if (the_thread /* XXX && (the_thread != _Thread_Executing) */ )
    206223        stack_check_dope_stack(&the_thread->Start.Initial_stack);
     224
     225    return TRUE;
    207226}
    208227
  • c/src/libmisc/stackchk/internal.h

    r5072b07 r3a4ae6c  
    5151 */
    5252
    53 void Stack_check_Create_extension(
     53boolean Stack_check_Create_extension(
    5454  Thread_Control *running,
    5555  Thread_Control *the_thread
Note: See TracChangeset for help on using the changeset viewer.