Changeset 97e2729d in rtems


Ignore:
Timestamp:
11/23/98 17:38:09 (24 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
6e46f4e1
Parents:
967f3aaa
Message:

Added --disable-multiprocessing flag and modified a lot of files to make
it work.

Files:
154 edited

Legend:

Unmodified
Added
Removed
  • aclocal.m4

    r967f3aaa r97e2729d  
    324324      AC_MSG_RESULT("no")
    325325      AC_MSG_ERROR([***]
    326         [Environment variable $1 should ether]
     326        [Environment variable $1 should either]
    327327        [be unset (preferred) or contain an absolute path])
    328328    ;;
     
    355355      AC_MSG_ERROR([***]
    356356        [Can't figure out how to build a library index]
    357         [Nether ranlib nor ar -s seem to be available] )
     357        [Neither ranlib nor ar -s seem to be available] )
    358358    fi
    359359  fi
  • c/src/exec/posix/headers/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
    11 H_PIECES= cond condmp config key mutex mutexmp posixapi \
    12     priority psignal pthread pthreadmp seterr threadsup time
    13 #H_PIECES= cancel cond condmp intr key mqueue mqueuemp mutex \
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = condmp mutexmp pthreadmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
     15H_PIECES= cond config key mutex posixapi \
     16    priority psignal pthread seterr threadsup time
     17#H_PIECES= cancel cond intr key mqueue mqueuemp mutex \
    1418#    mutexmp pthread pthreadmp priority semaphore semaphoremp threadsup \
    1519#    time
  • c/src/exec/posix/headers/cond.h

    r967f3aaa r97e2729d  
    120120
    121121#include <rtems/posix/cond.inl>
     122#if defined(RTEMS_MULTIPROCESSING)
    122123#include <rtems/posix/condmp.h>
     124#endif
    123125
    124126#ifdef __cplusplus
  • c/src/exec/posix/headers/mqueue.h

    r967f3aaa r97e2729d  
    176176
    177177#include <rtems/posix/mqueue.inl>
     178#if defined(RTEMS_MULTIPROCESSING)
    178179#include <rtems/posix/mqueuemp.h>
     180#endif
    179181
    180182#ifdef __cplusplus
  • c/src/exec/posix/headers/mutex.h

    r967f3aaa r97e2729d  
    110110
    111111#include <rtems/posix/mutex.inl>
     112#if defined(RTEMS_MULTIPROCESSING)
    112113#include <rtems/posix/mutexmp.h>
     114#endif
    113115
    114116#ifdef __cplusplus
  • c/src/exec/posix/headers/pthread.h

    r967f3aaa r97e2729d  
    113113
    114114#include <rtems/posix/pthread.inl>
     115#if defined(RTEMS_MULTIPROCESSING)
    115116#include <rtems/posix/pthreadmp.h>
     117#endif
    116118
    117119#ifdef __cplusplus
  • c/src/exec/posix/headers/semaphore.h

    r967f3aaa r97e2729d  
    125125
    126126#include <rtems/posix/semaphore.inl>
     127#if defined(RTEMS_MULTIPROCESSING)
    127128#include <rtems/posix/semaphoremp.h>
     129#endif
    128130
    129131#ifdef __cplusplus
  • c/src/exec/posix/include/rtems/posix/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
    11 H_PIECES= cond condmp config key mutex mutexmp posixapi \
    12     priority psignal pthread pthreadmp seterr threadsup time
    13 #H_PIECES= cancel cond condmp intr key mqueue mqueuemp mutex \
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = condmp mutexmp pthreadmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
     15H_PIECES= cond config key mutex posixapi \
     16    priority psignal pthread seterr threadsup time
     17#H_PIECES= cancel cond intr key mqueue mqueuemp mutex \
    1418#    mutexmp pthread pthreadmp priority semaphore semaphoremp threadsup \
    1519#    time
  • c/src/exec/posix/include/rtems/posix/cond.h

    r967f3aaa r97e2729d  
    120120
    121121#include <rtems/posix/cond.inl>
     122#if defined(RTEMS_MULTIPROCESSING)
    122123#include <rtems/posix/condmp.h>
     124#endif
    123125
    124126#ifdef __cplusplus
  • c/src/exec/posix/include/rtems/posix/mqueue.h

    r967f3aaa r97e2729d  
    176176
    177177#include <rtems/posix/mqueue.inl>
     178#if defined(RTEMS_MULTIPROCESSING)
    178179#include <rtems/posix/mqueuemp.h>
     180#endif
    179181
    180182#ifdef __cplusplus
  • c/src/exec/posix/include/rtems/posix/mutex.h

    r967f3aaa r97e2729d  
    110110
    111111#include <rtems/posix/mutex.inl>
     112#if defined(RTEMS_MULTIPROCESSING)
    112113#include <rtems/posix/mutexmp.h>
     114#endif
    113115
    114116#ifdef __cplusplus
  • c/src/exec/posix/include/rtems/posix/pthread.h

    r967f3aaa r97e2729d  
    113113
    114114#include <rtems/posix/pthread.inl>
     115#if defined(RTEMS_MULTIPROCESSING)
    115116#include <rtems/posix/pthreadmp.h>
     117#endif
    116118
    117119#ifdef __cplusplus
  • c/src/exec/posix/include/rtems/posix/semaphore.h

    r967f3aaa r97e2729d  
    125125
    126126#include <rtems/posix/semaphore.inl>
     127#if defined(RTEMS_MULTIPROCESSING)
    127128#include <rtems/posix/semaphoremp.h>
     129#endif
    128130
    129131#ifdef __cplusplus
  • c/src/exec/posix/src/cond.c

    r967f3aaa r97e2729d  
    1818 */
    1919
     20
     21#if defined(RTEMS_MULTIPROCESSING)
    2022void _POSIX_Condition_variables_MP_Send_process_packet (
    2123  POSIX_Condition_variables_MP_Remote_operations  operation,
     
    3436  (void) POSIX_MP_NOT_IMPLEMENTED();
    3537}
     38#endif
    3639
    3740/*
     
    191194  }
    192195 
     196#if defined(RTEMS_MULTIPROCESSING)
    193197  if ( the_attr->process_shared == PTHREAD_PROCESS_SHARED &&
    194198     !( _Objects_MP_Allocate_and_open( &_POSIX_Condition_variables_Information,
     
    198202    return EAGAIN;
    199203  }
     204#endif
    200205 
    201206  the_cond->process_shared  = the_attr->process_shared;
     
    209214    THREAD_QUEUE_DISCIPLINE_FIFO,
    210215    STATES_WAITING_FOR_CONDITION_VARIABLE,
     216#if defined(RTEMS_MULTIPROCESSING)
    211217    _POSIX_Condition_variables_MP_Send_extract_proxy,
     218#else
     219    NULL,
     220#endif
    212221    ETIMEDOUT
    213222  );
     
    221230  *cond = the_cond->Object.id;
    222231 
     232#if defined(RTEMS_MULTIPROCESSING)
    223233  if ( the_attr->process_shared == PTHREAD_PROCESS_SHARED )
    224234    _POSIX_Condition_variables_MP_Send_process_packet(
     
    228238      0                          /* Not used */
    229239    );
     240#endif
    230241 
    231242  _Thread_Enable_dispatch();
     
    249260  the_cond = _POSIX_Condition_variables_Get( cond, &location );
    250261  switch ( location ) {
    251     case OBJECTS_ERROR:
    252       return EINVAL;
    253262    case OBJECTS_REMOTE:
     263#if defined(RTEMS_MULTIPROCESSING)
    254264      _Thread_Dispatch();
    255265      return POSIX_MP_NOT_IMPLEMENTED();
    256266      return EINVAL;
     267#endif
     268
     269    case OBJECTS_ERROR:
     270      return EINVAL;
     271
     272
    257273    case OBJECTS_LOCAL:
    258274 
     
    269285      _POSIX_Condition_variables_Free( the_cond );
    270286 
     287#if defined(RTEMS_MULTIPROCESSING)
    271288      if ( the_cond->process_shared == PTHREAD_PROCESS_SHARED ) {
    272289 
     
    283300        );
    284301      }
     302#endif
    285303      _Thread_Enable_dispatch();
    286304      return 0;
     
    308326  the_cond = _POSIX_Condition_variables_Get( cond, &location );
    309327  switch ( location ) {
    310     case OBJECTS_ERROR:
    311       return EINVAL;
    312328    case OBJECTS_REMOTE:
     329#if defined(RTEMS_MULTIPROCESSING)
    313330      _Thread_Dispatch();
    314331      return POSIX_MP_NOT_IMPLEMENTED();
     332      return EINVAL;
     333#endif
     334
     335    case OBJECTS_ERROR:
    315336      return EINVAL;
    316337    case OBJECTS_LOCAL:
     
    381402  the_cond = _POSIX_Condition_variables_Get( cond, &location );
    382403  switch ( location ) {
    383     case OBJECTS_ERROR:
    384       return EINVAL;
    385404    case OBJECTS_REMOTE:
     405#if defined(RTEMS_MULTIPROCESSING)
    386406      _Thread_Dispatch();
    387407      return POSIX_MP_NOT_IMPLEMENTED();
     408      return EINVAL;
     409#endif
     410    case OBJECTS_ERROR:
    388411      return EINVAL;
    389412    case OBJECTS_LOCAL:
  • c/src/exec/posix/src/mutex.c

    r967f3aaa r97e2729d  
    1010#include <rtems/score/coremutex.h>
    1111#include <rtems/score/watchdog.h>
     12#if defined(RTEMS_MULTIPROCESSING)
    1213#include <rtems/score/mpci.h>
     14#endif
    1315#include <rtems/posix/mutex.h>
    1416#include <rtems/posix/priority.h>
     
    1921 */
    2022
     23#if defined(RTEMS_MULTIPROCESSING)
    2124void _POSIX_Mutex_MP_Send_process_packet (
    2225  POSIX_Mutex_MP_Remote_operations  operation,
     
    5356  (void) POSIX_MP_NOT_IMPLEMENTED();   /* XXX: should never get here */
    5457}
     58#endif
    5559
    5660/*
     
    239243    mutex_in_use = _POSIX_Mutex_Get( mutex, &location );
    240244    switch ( location ) {
     245      case OBJECTS_REMOTE:
    241246      case OBJECTS_ERROR:
    242247        break;
    243       case OBJECTS_REMOTE:
    244248      case OBJECTS_LOCAL:
    245249        _Thread_Enable_dispatch();
     
    257261  assert( the_attr->process_shared == PTHREAD_PROCESS_PRIVATE );
    258262
     263#if defined(RTEMS_MULTIPROCESSING)
    259264  if ( the_attr->process_shared == PTHREAD_PROCESS_SHARED )
    260265    return POSIX_MP_NOT_IMPLEMENTED();
     266#endif
    261267 
    262268  /*
     
    290296  }
    291297
     298#if defined(RTEMS_MULTIPROCESSING)
    292299  if ( the_attr->process_shared == PTHREAD_PROCESS_SHARED &&
    293300       !( _Objects_MP_Allocate_and_open( &_POSIX_Mutex_Information, 0,
     
    297304    return EAGAIN;
    298305  }
     306#endif
    299307
    300308  the_mutex->process_shared = the_attr->process_shared;
     
    323331  *mutex = the_mutex->Object.id;
    324332
     333#if defined(RTEMS_MULTIPROCESSING)
    325334  if ( the_attr->process_shared == PTHREAD_PROCESS_SHARED )
    326335    _POSIX_Mutex_MP_Send_process_packet(
     
    330339      0                          /* Not used */
    331340    );
     341#endif
    332342
    333343  _Thread_Enable_dispatch();
     
    349359  the_mutex = _POSIX_Mutex_Get( mutex, &location );
    350360  switch ( location ) {
    351     case OBJECTS_ERROR:
    352       return EINVAL;
    353361    case OBJECTS_REMOTE:
     362#if defined(RTEMS_MULTIPROCESSING)
    354363      _Thread_Dispatch();
    355364      return POSIX_MP_NOT_IMPLEMENTED();
     365      return EINVAL;
     366#endif
     367    case OBJECTS_ERROR:
    356368      return EINVAL;
    357369    case OBJECTS_LOCAL:
     
    370382      _CORE_mutex_Flush(
    371383        &the_mutex->Mutex,
     384#if defined(RTEMS_MULTIPROCESSING)
    372385        _POSIX_Mutex_MP_Send_object_was_deleted,
     386#else
     387        NULL,
     388#endif
    373389        EINVAL
    374390      );
     
    376392      _POSIX_Mutex_Free( the_mutex );
    377393 
     394#if defined(RTEMS_MULTIPROCESSING)
    378395      if ( the_mutex->process_shared == PTHREAD_PROCESS_SHARED ) {
    379396 
     
    387404        );
    388405      }
     406#endif
    389407      _Thread_Enable_dispatch();
    390408      return 0;
     
    412430  the_mutex = _POSIX_Mutex_Get( mutex, &location );
    413431  switch ( location ) {
    414     case OBJECTS_ERROR:
    415       return EINVAL;
    416432    case OBJECTS_REMOTE:
     433#if defined(RTEMS_MULTIPROCESSING)
    417434      return _POSIX_Mutex_MP_Send_request_packet(
    418435          POSIX_MUTEX_MP_OBTAIN_REQUEST,
     
    421438          WATCHDOG_NO_TIMEOUT
    422439      );
     440#endif
     441    case OBJECTS_ERROR:
     442      return EINVAL;
    423443    case OBJECTS_LOCAL:
    424444      _CORE_mutex_Seize(
     
    481501  the_mutex = _POSIX_Mutex_Get( mutex, &location );
    482502  switch ( location ) {
    483     case OBJECTS_ERROR:
    484       return EINVAL;
    485503    case OBJECTS_REMOTE:
     504#if defined(RTEMS_MULTIPROCESSING)
    486505      return _POSIX_Mutex_MP_Send_request_packet(
    487506          POSIX_MUTEX_MP_RELEASE_REQUEST,
     
    490509          MPCI_DEFAULT_TIMEOUT
    491510      );
     511#endif
     512    case OBJECTS_ERROR:
     513      return EINVAL;
    492514    case OBJECTS_LOCAL:
    493515      status = _CORE_mutex_Surrender(
    494516        &the_mutex->Mutex,
    495517        the_mutex->Object.id,
     518#if defined(RTEMS_MULTIPROCESSING)
    496519        POSIX_Threads_mutex_MP_support
     520#else
     521        NULL
     522#endif
    497523      );
    498524      _Thread_Enable_dispatch();
     
    635661  the_mutex = _POSIX_Mutex_Get( mutex, &location );
    636662  switch ( location ) {
     663    case OBJECTS_REMOTE:
     664#if defined(RTEMS_MULTIPROCESSING)
     665      /*  XXX It feels questionable to set the ceiling on a remote mutex. */
     666      return EINVAL;
     667#endif
    637668    case OBJECTS_ERROR:
    638669      return EINVAL;        /* impossible to get here */
    639     case OBJECTS_REMOTE:
    640       /*  XXX It feels questionable to set the ceiling on a remote mutex. */
    641       return EINVAL;
    642670    case OBJECTS_LOCAL:
    643671      *old_ceiling = _POSIX_Priority_From_core(
     
    648676        &the_mutex->Mutex,
    649677        the_mutex->Object.id,
     678#if defined(RTEMS_MULTIPROCESSING)
    650679        POSIX_Threads_mutex_MP_support
     680#else
     681        NULL
     682#endif
    651683      );
    652684      _Thread_Enable_dispatch();
     
    674706  the_mutex = _POSIX_Mutex_Get( mutex, &location );
    675707  switch ( location ) {
     708    case OBJECTS_REMOTE:
     709#if defined(RTEMS_MULTIPROCESSING)
     710      return POSIX_MP_NOT_IMPLEMENTED();   /* XXX feels questionable */
     711#endif
    676712    case OBJECTS_ERROR:
    677713      return EINVAL;
    678     case OBJECTS_REMOTE:
    679       return POSIX_MP_NOT_IMPLEMENTED();   /* XXX feels questionable */
    680714    case OBJECTS_LOCAL:
    681715      *prioceiling = _POSIX_Priority_From_core(
  • c/src/exec/rtems/headers/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
    11 H_PIECES=asr attr clock config dpmem event eventmp eventset \
    12    intr message modes mp msgmp options part partmp \
    13    ratemon region regionmp rtemsapi sem semmp signal signalmp status \
    14    support taskmp tasks timer types
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = eventmp mp msgmp partmp regionmp semmp signalmp taskmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
     15H_PIECES=asr attr clock config dpmem event eventset \
     16   intr message modes options part \
     17   ratemon region rtemsapi sem signal status \
     18   support tasks timer types $(MP_PIECES)
    1519H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
    1620
  • c/src/exec/rtems/headers/event.h

    r967f3aaa r97e2729d  
    162162RTEMS_EXTERN volatile Event_Sync_states _Event_Sync_state;
    163163
     164#if defined(RTEMS_MULTIPROCESSING)
    164165#include <rtems/rtems/eventmp.h>
     166#endif
    165167#ifndef __RTEMS_APPLICATION__
    166168#include <rtems/rtems/event.inl>
  • c/src/exec/rtems/headers/message.h

    r967f3aaa r97e2729d  
    317317 */
    318318 
     319#if defined(RTEMS_MULTIPROCESSING)
    319320void  _Message_queue_Core_message_queue_mp_support (
    320321  Thread_Control *the_thread,
    321322  Objects_Id      id
    322323);
     324#endif
    323325
    324326#ifndef __RTEMS_APPLICATION__
    325327#include <rtems/rtems/message.inl>
    326328#endif
     329#if defined(RTEMS_MULTIPROCESSING)
    327330#include <rtems/rtems/msgmp.h>
     331#endif
    328332
    329333#ifdef __cplusplus
  • c/src/exec/rtems/headers/part.h

    r967f3aaa r97e2729d  
    159159#include <rtems/rtems/part.inl>
    160160#endif
     161#if defined(RTEMS_MULTIPROCESSING)
    161162#include <rtems/rtems/partmp.h>
     163#endif
    162164
    163165#ifdef __cplusplus
  • c/src/exec/rtems/headers/region.h

    r967f3aaa r97e2729d  
    202202#include <rtems/rtems/region.inl>
    203203#endif
     204#if defined(RTEMS_MULTIPROCESSING)
    204205#include <rtems/rtems/regionmp.h>
     206#endif
    205207
    206208/*
  • c/src/exec/rtems/headers/rtems.h

    r967f3aaa r97e2729d  
    5858#include <rtems/fatal.h>
    5959#include <rtems/rtems/ratemon.h>
     60#if defined(RTEMS_MULTIPROCESSING)
    6061#include <rtems/rtems/mp.h>
     62#endif
    6163
    6264#include <rtems/rtems/support.h>
  • c/src/exec/rtems/headers/sem.h

    r967f3aaa r97e2729d  
    215215 */
    216216
     217#if defined(RTEMS_MULTIPROCESSING)
    217218void  _Semaphore_Core_mutex_mp_support (
    218219  Thread_Control *the_thread,
    219220  rtems_id        id
    220221);
     222#endif
    221223
    222224/*PAGE
     
    239241#include <rtems/rtems/sem.inl>
    240242#endif
     243#if defined(RTEMS_MULTIPROCESSING)
    241244#include <rtems/rtems/semmp.h>
     245#endif
    242246
    243247#ifdef __cplusplus
  • c/src/exec/rtems/headers/signal.h

    r967f3aaa r97e2729d  
    7474);
    7575
     76#if defined(RTEMS_MULTIPROCESSING)
    7677#include <rtems/rtems/signalmp.h>
     78#endif
    7779
    7880#ifdef __cplusplus
  • c/src/exec/rtems/headers/tasks.h

    r967f3aaa r97e2729d  
    412412#include <rtems/rtems/tasks.inl>
    413413#endif
     414#if defined(RTEMS_MULTIPROCESSING)
    414415#include <rtems/rtems/taskmp.h>
     416#endif
    415417
    416418#ifdef __cplusplus
  • c/src/exec/rtems/headers/types.h

    r967f3aaa r97e2729d  
    2323#include <rtems/score/object.h>
    2424#include <rtems/score/priority.h>
     25#include <rtems/score/tod.h>
     26#include <rtems/score/watchdog.h>
    2527#include <rtems/rtems/modes.h>
     28#if defined(RTEMS_MULTIPROCESSING)
    2629#include <rtems/score/mpci.h>
    2730#include <rtems/score/mppkt.h>
     31#endif
    2832
    2933/*
     
    7680 */
    7781
     82#if defined(RTEMS_MULTIPROCESSING)
    7883typedef MP_packet_Classes          rtems_mp_packet_classes;
    7984typedef MP_packet_Prefix           rtems_packet_prefix;
     
    8893
    8994typedef MPCI_Control rtems_mpci_table;
     95#endif
    9096
    9197#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems.h

    r967f3aaa r97e2729d  
    5858#include <rtems/fatal.h>
    5959#include <rtems/rtems/ratemon.h>
     60#if defined(RTEMS_MULTIPROCESSING)
    6061#include <rtems/rtems/mp.h>
     62#endif
    6163
    6264#include <rtems/rtems/support.h>
  • c/src/exec/rtems/include/rtems/rtems/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
    11 H_PIECES=asr attr clock config dpmem event eventmp eventset \
    12    intr message modes mp msgmp options part partmp \
    13    ratemon region regionmp rtemsapi sem semmp signal signalmp status \
    14    support taskmp tasks timer types
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = eventmp mp msgmp partmp regionmp semmp signalmp taskmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
     15H_PIECES=asr attr clock config dpmem event eventset \
     16   intr message modes options part \
     17   ratemon region rtemsapi sem signal status \
     18   support tasks timer types $(MP_PIECES)
    1519H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
    1620
  • c/src/exec/rtems/include/rtems/rtems/event.h

    r967f3aaa r97e2729d  
    162162RTEMS_EXTERN volatile Event_Sync_states _Event_Sync_state;
    163163
     164#if defined(RTEMS_MULTIPROCESSING)
    164165#include <rtems/rtems/eventmp.h>
     166#endif
    165167#ifndef __RTEMS_APPLICATION__
    166168#include <rtems/rtems/event.inl>
  • c/src/exec/rtems/include/rtems/rtems/message.h

    r967f3aaa r97e2729d  
    317317 */
    318318 
     319#if defined(RTEMS_MULTIPROCESSING)
    319320void  _Message_queue_Core_message_queue_mp_support (
    320321  Thread_Control *the_thread,
    321322  Objects_Id      id
    322323);
     324#endif
    323325
    324326#ifndef __RTEMS_APPLICATION__
    325327#include <rtems/rtems/message.inl>
    326328#endif
     329#if defined(RTEMS_MULTIPROCESSING)
    327330#include <rtems/rtems/msgmp.h>
     331#endif
    328332
    329333#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/part.h

    r967f3aaa r97e2729d  
    159159#include <rtems/rtems/part.inl>
    160160#endif
     161#if defined(RTEMS_MULTIPROCESSING)
    161162#include <rtems/rtems/partmp.h>
     163#endif
    162164
    163165#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/region.h

    r967f3aaa r97e2729d  
    202202#include <rtems/rtems/region.inl>
    203203#endif
     204#if defined(RTEMS_MULTIPROCESSING)
    204205#include <rtems/rtems/regionmp.h>
     206#endif
    205207
    206208/*
  • c/src/exec/rtems/include/rtems/rtems/sem.h

    r967f3aaa r97e2729d  
    215215 */
    216216
     217#if defined(RTEMS_MULTIPROCESSING)
    217218void  _Semaphore_Core_mutex_mp_support (
    218219  Thread_Control *the_thread,
    219220  rtems_id        id
    220221);
     222#endif
    221223
    222224/*PAGE
     
    239241#include <rtems/rtems/sem.inl>
    240242#endif
     243#if defined(RTEMS_MULTIPROCESSING)
    241244#include <rtems/rtems/semmp.h>
     245#endif
    242246
    243247#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/signal.h

    r967f3aaa r97e2729d  
    7474);
    7575
     76#if defined(RTEMS_MULTIPROCESSING)
    7677#include <rtems/rtems/signalmp.h>
     78#endif
    7779
    7880#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/tasks.h

    r967f3aaa r97e2729d  
    412412#include <rtems/rtems/tasks.inl>
    413413#endif
     414#if defined(RTEMS_MULTIPROCESSING)
    414415#include <rtems/rtems/taskmp.h>
     416#endif
    415417
    416418#ifdef __cplusplus
  • c/src/exec/rtems/include/rtems/rtems/types.h

    r967f3aaa r97e2729d  
    2323#include <rtems/score/object.h>
    2424#include <rtems/score/priority.h>
     25#include <rtems/score/tod.h>
     26#include <rtems/score/watchdog.h>
    2527#include <rtems/rtems/modes.h>
     28#if defined(RTEMS_MULTIPROCESSING)
    2629#include <rtems/score/mpci.h>
    2730#include <rtems/score/mppkt.h>
     31#endif
    2832
    2933/*
     
    7680 */
    7781
     82#if defined(RTEMS_MULTIPROCESSING)
    7883typedef MP_packet_Classes          rtems_mp_packet_classes;
    7984typedef MP_packet_Prefix           rtems_packet_prefix;
     
    8893
    8994typedef MPCI_Control rtems_mpci_table;
     95#endif
    9096
    9197#ifdef __cplusplus
  • c/src/exec/rtems/inline/attr.inl

    r967f3aaa r97e2729d  
    8181 */
    8282
     83#if defined(RTEMS_MULTIPROCESSING)
    8384RTEMS_INLINE_ROUTINE boolean _Attributes_Is_global(
    8485  rtems_attribute attribute_set
     
    8788   return ( attribute_set & RTEMS_GLOBAL );
    8889}
     90#endif
    8991
    9092/*PAGE
  • c/src/exec/rtems/inline/rtems/rtems/attr.inl

    r967f3aaa r97e2729d  
    8181 */
    8282
     83#if defined(RTEMS_MULTIPROCESSING)
    8384RTEMS_INLINE_ROUTINE boolean _Attributes_Is_global(
    8485  rtems_attribute attribute_set
     
    8788   return ( attribute_set & RTEMS_GLOBAL );
    8889}
     90#endif
    8991
    9092/*PAGE
  • c/src/exec/rtems/macros/attr.inl

    r967f3aaa r97e2729d  
    4949 */
    5050
     51#if defined(RTEMS_MULTIPROCESSING)
    5152#define _Attributes_Is_global( _attribute_set ) \
    5253  ( (_attribute_set) & RTEMS_GLOBAL )
     54#endif
    5355
    5456/*PAGE
  • c/src/exec/rtems/macros/rtems/rtems/attr.inl

    r967f3aaa r97e2729d  
    4949 */
    5050
     51#if defined(RTEMS_MULTIPROCESSING)
    5152#define _Attributes_Is_global( _attribute_set ) \
    5253  ( (_attribute_set) & RTEMS_GLOBAL )
     54#endif
    5355
    5456/*PAGE
  • c/src/exec/rtems/optman/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
    11 C_FILES= no-dpmem.c no-event.c no-mp.c no-msg.c \
     11C_FILES= no-dpmem.c no-event.c no-msg.c no-mp.c \
    1212         no-part.c no-region.c no-rtmon.c no-sem.c no-signal.c no-timer.c
    1313
  • c/src/exec/rtems/optman/no-mp.c

    r967f3aaa r97e2729d  
    1515
    1616#include <rtems/system.h>
     17#if !defined(RTEMS_MULTIPROCESSING)
     18char rtems_no_multiprocessing;
     19#else
    1720#include <rtems/rtems/status.h>
    1821#include <rtems/rtems/mp.h>
     
    198201  return NULL;
    199202}
    200 
     203#endif
    201204/* end of file */
  • c/src/exec/rtems/src/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
    11 C_PIECES=attr clock dpmem event eventmp intr intrbody mp msg msgmp \
    12    part partmp ratemon region regionmp sem semmp signal signalmp \
    13    taskmp tasks timer
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = eventmp mp msgmp partmp regionmp semmp signalmp taskmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
     15C_PIECES=attr clock dpmem event intr intrbody msg \
     16   part ratemon region sem signal \
     17   tasks timer $(MP_PIECES)
    1418C_FILES=$(C_PIECES:%=%.c)
    1519C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
  • c/src/exec/rtems/src/dpmem.c

    r967f3aaa r97e2729d  
    169169  the_port = _Dual_ported_memory_Get( id, &location );
    170170  switch ( location ) {
     171    case OBJECTS_REMOTE:        /* this error cannot be returned */
     172      return RTEMS_INTERNAL_ERROR;
     173
    171174    case OBJECTS_ERROR:
    172175      return RTEMS_INVALID_ID;
    173     case OBJECTS_REMOTE:        /* this error cannot be returned */
    174       return RTEMS_INTERNAL_ERROR;
     176
    175177    case OBJECTS_LOCAL:
    176178      _Objects_Close( &_Dual_ported_memory_Information, &the_port->Object );
     
    214216  the_port = _Dual_ported_memory_Get( id, &location );
    215217  switch ( location ) {
     218    case OBJECTS_REMOTE:        /* this error cannot be returned */
     219      return RTEMS_INTERNAL_ERROR;
     220
    216221    case OBJECTS_ERROR:
    217222      return RTEMS_INVALID_ID;
    218     case OBJECTS_REMOTE:        /* this error cannot be returned */
    219       return RTEMS_INTERNAL_ERROR;
     223
    220224    case OBJECTS_LOCAL:
    221225      ending = _Addresses_Subtract( internal, the_port->internal_base );
     
    263267  the_port = _Dual_ported_memory_Get( id, &location );
    264268  switch ( location ) {
     269    case OBJECTS_REMOTE:        /* this error cannot be returned */
     270      return RTEMS_INTERNAL_ERROR;
     271
    265272    case OBJECTS_ERROR:
    266273      return RTEMS_INVALID_ID;
    267     case OBJECTS_REMOTE:        /* this error cannot be returned */
    268       return RTEMS_INTERNAL_ERROR;
     274
    269275    case OBJECTS_LOCAL:
    270276      ending = _Addresses_Subtract( external, the_port->external_base );
  • c/src/exec/rtems/src/event.c

    r967f3aaa r97e2729d  
    4040   */
    4141 
     42#if defined(RTEMS_MULTIPROCESSING)
    4243  _MPCI_Register_packet_processor( MP_PACKET_EVENT, _Event_MP_Process_packet );
     44#endif
    4345}
    4446
     
    6971  the_thread = _Thread_Get( id, &location );
    7072  switch ( location ) {
    71     case OBJECTS_ERROR:
    72       return RTEMS_INVALID_ID;
    7373    case OBJECTS_REMOTE:
     74#if defined(RTEMS_MULTIPROCESSING)
    7475      return(
    7576        _Event_MP_Send_request_packet(
     
    7980        )
    8081      );
     82#endif
     83    case OBJECTS_ERROR:
     84      return RTEMS_INVALID_ID;
    8185    case OBJECTS_LOCAL:
    8286      api = the_thread->API_Extensions[ THREAD_API_RTEMS ];
     
    353357  the_thread = _Thread_Get( id, &location );
    354358  switch ( location ) {
     359    case OBJECTS_REMOTE:  /* impossible */
    355360    case OBJECTS_ERROR:
    356     case OBJECTS_REMOTE:  /* impossible */
    357361      break;
    358362    case OBJECTS_LOCAL:
  • c/src/exec/rtems/src/msg.c

    r967f3aaa r97e2729d  
    2323#include <rtems/score/thread.h>
    2424#include <rtems/score/wkspace.h>
     25#if defined(RTEMS_MULTIPROCESSING)
    2526#include <rtems/score/mpci.h>
     27#endif
    2628#include <rtems/rtems/status.h>
    2729#include <rtems/rtems/attr.h>
     
    6264   */
    6365
     66#if defined(RTEMS_MULTIPROCESSING)
    6467  _MPCI_Register_packet_processor(
    6568    MP_PACKET_MESSAGE_QUEUE,
    6669    _Message_queue_MP_Process_packet
    6770  );
     71#endif
    6872
    6973}
     
    124128  register Message_queue_Control *the_message_queue;
    125129  CORE_message_queue_Attributes   the_message_queue_attributes;
     130  void                           *handler;
     131#if defined(RTEMS_MULTIPROCESSING)
    126132  boolean                         is_global;
     133#endif
    127134
    128135  if ( !rtems_is_name_valid( name ) )
    129136    return RTEMS_INVALID_NAME;
    130137
     138#if defined(RTEMS_MULTIPROCESSING)
    131139  if ( (is_global = _Attributes_Is_global( attribute_set ) ) &&
    132140       !_System_state_Is_multiprocessing )
    133141    return RTEMS_MP_NOT_CONFIGURED;
     142#endif
    134143
    135144  if (count == 0)
     
    139148      return RTEMS_INVALID_SIZE;
    140149
     150#if defined(RTEMS_MULTIPROCESSING)
    141151#if 1
    142152  /*
     
    148158  if ( is_global && (_MPCI_table->maximum_packet_size < max_message_size) )
    149159    return RTEMS_INVALID_SIZE;
    150 
     160#endif
    151161#endif
    152162       
     
    160170  }
    161171
     172#if defined(RTEMS_MULTIPROCESSING)
    162173  if ( is_global &&
    163174    !( _Objects_MP_Allocate_and_open( &_Message_queue_Information,
     
    167178    return RTEMS_TOO_MANY;
    168179  }
     180#endif
    169181
    170182  the_message_queue->attribute_set = attribute_set;
     
    177189                                      CORE_MESSAGE_QUEUE_DISCIPLINES_FIFO;
    178190
     191  handler = NULL;
     192#if defined(RTEMS_MULTIPROCESSING)
     193  handler = _Message_queue_MP_Send_extract_proxy;
     194#endif
     195
    179196  if ( ! _CORE_message_queue_Initialize(
    180197           &the_message_queue->message_queue,
     
    183200           count,
    184201           max_message_size,
    185            _Message_queue_MP_Send_extract_proxy ) ) {
     202           handler ) ) {
     203#if defined(RTEMS_MULTIPROCESSING)
    186204    if ( is_global )
    187205        _Objects_MP_Close(
    188206          &_Message_queue_Information, the_message_queue->Object.id);
     207#endif
    189208
    190209    _Message_queue_Free( the_message_queue );
     
    201220  *id = the_message_queue->Object.id;
    202221
     222#if defined(RTEMS_MULTIPROCESSING)
    203223  if ( is_global )
    204224    _Message_queue_MP_Send_process_packet(
     
    208228      0
    209229    );
     230#endif
    210231
    211232  _Thread_Enable_dispatch();
     
    273294  the_message_queue = _Message_queue_Get( id, &location );
    274295  switch ( location ) {
     296
     297    case OBJECTS_REMOTE:
     298#if defined(RTEMS_MULTIPROCESSING)
     299      _Thread_Dispatch();
     300      return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     301#endif
     302
    275303    case OBJECTS_ERROR:
    276304      return RTEMS_INVALID_ID;
    277     case OBJECTS_REMOTE:
    278       _Thread_Dispatch();
    279       return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     305
    280306    case OBJECTS_LOCAL:
    281307      _Objects_Close( &_Message_queue_Information,
    282308                      &the_message_queue->Object );
    283309
     310#if defined(RTEMS_MULTIPROCESSING)
    284311      _CORE_message_queue_Close(
    285312        &the_message_queue->message_queue,
     
    287314        CORE_MESSAGE_QUEUE_STATUS_WAS_DELETED
    288315      );
     316#endif
    289317
    290318      _Message_queue_Free( the_message_queue );
    291319
     320#if defined(RTEMS_MULTIPROCESSING)
    292321      if ( _Attributes_Is_global( the_message_queue->attribute_set ) ) {
    293322        _Objects_MP_Close(
     
    303332        );
    304333      }
     334#endif
    305335
    306336      _Thread_Enable_dispatch();
     
    395425  the_message_queue = _Message_queue_Get( id, &location );
    396426  switch ( location ) {
    397     case OBJECTS_ERROR:
    398       return RTEMS_INVALID_ID;
    399427    case OBJECTS_REMOTE:
     428#if defined(RTEMS_MULTIPROCESSING)
    400429      _Thread_Executing->Wait.return_argument = count;
    401430
     
    409438          MPCI_DEFAULT_TIMEOUT
    410439        );
     440#endif
     441
     442    case OBJECTS_ERROR:
     443      return RTEMS_INVALID_ID;
    411444
    412445    case OBJECTS_LOCAL:
     
    416449                      size,
    417450                      id,
     451#if defined(RTEMS_MULTIPROCESSING)
    418452                      _Message_queue_Core_message_queue_mp_support,
     453#else
     454                      NULL,
     455#endif
    419456                      count
    420457                    );
     
    462499  switch ( location ) {
    463500
    464     case OBJECTS_ERROR:
    465       return RTEMS_INVALID_ID;
    466 
    467501    case OBJECTS_REMOTE:
     502#if defined(RTEMS_MULTIPROCESSING)
    468503      return _Message_queue_MP_Send_request_packet(
    469504          MESSAGE_QUEUE_MP_RECEIVE_REQUEST,
     
    474509          timeout
    475510        );
     511#endif
     512
     513    case OBJECTS_ERROR:
     514      return RTEMS_INVALID_ID;
    476515
    477516    case OBJECTS_LOCAL:
     
    526565  the_message_queue = _Message_queue_Get( id, &location );
    527566  switch ( location ) {
    528     case OBJECTS_ERROR:
    529       return RTEMS_INVALID_ID;
    530567    case OBJECTS_REMOTE:
     568#if defined(RTEMS_MULTIPROCESSING)
    531569      _Thread_Executing->Wait.return_argument = count;
    532570
     
    540578          MPCI_DEFAULT_TIMEOUT
    541579        );
     580#endif
     581
     582    case OBJECTS_ERROR:
     583      return RTEMS_INVALID_ID;
    542584
    543585    case OBJECTS_LOCAL:
     
    576618  the_message_queue = _Message_queue_Get( id, &location );
    577619  switch ( location ) {
    578     case OBJECTS_ERROR:
    579       return RTEMS_INVALID_ID;
    580620    case OBJECTS_REMOTE:
     621#if defined(RTEMS_MULTIPROCESSING)
    581622      _Thread_Executing->Wait.return_argument = count;
    582623
    583       return
    584         _Message_queue_MP_Send_request_packet(
     624      return _Message_queue_MP_Send_request_packet(
    585625          MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_REQUEST,
    586626          id,
     
    590630          MPCI_DEFAULT_TIMEOUT
    591631        );
     632#endif
     633
     634    case OBJECTS_ERROR:
     635      return RTEMS_INVALID_ID;
    592636
    593637    case OBJECTS_LOCAL:
     
    636680  switch ( location )
    637681  {
    638     case OBJECTS_ERROR:
    639       return RTEMS_INVALID_ID;
    640 
    641682    case OBJECTS_REMOTE:
     683#if defined(RTEMS_MULTIPROCESSING)
    642684      switch ( submit_type ) {
    643685        case MESSAGE_QUEUE_SEND_REQUEST:
    644           return
    645             _Message_queue_MP_Send_request_packet(
     686          return _Message_queue_MP_Send_request_packet(
    646687              MESSAGE_QUEUE_MP_SEND_REQUEST,
    647688              id,
     
    653694
    654695        case MESSAGE_QUEUE_URGENT_REQUEST:
    655           return
    656             _Message_queue_MP_Send_request_packet(
     696          return _Message_queue_MP_Send_request_packet(
    657697              MESSAGE_QUEUE_MP_URGENT_REQUEST,
    658698              id,
     
    663703            );
    664704      }
     705      break;
     706#endif
     707
     708    case OBJECTS_ERROR:
     709      return RTEMS_INVALID_ID;
    665710
    666711    case OBJECTS_LOCAL:
     
    672717                          size,
    673718                          id,
     719#if defined(RTEMS_MULTIPROCESSING)
    674720                          _Message_queue_Core_message_queue_mp_support
     721#else
     722                          NULL
     723#endif
    675724                        );
    676725          break;
     
    681730                          size,
    682731                          id,
     732#if defined(RTEMS_MULTIPROCESSING)
    683733                          _Message_queue_Core_message_queue_mp_support
     734#else
     735                          NULL
     736#endif
    684737                        );
    685738          break;
     
    750803 */
    751804 
     805#if defined(RTEMS_MULTIPROCESSING)
    752806void  _Message_queue_Core_message_queue_mp_support (
    753807  Thread_Control *the_thread,
     
    763817  );
    764818}
     819#endif
  • c/src/exec/rtems/src/part.c

    r967f3aaa r97e2729d  
    5555   */
    5656
     57#if defined(RTEMS_MULTIPROCESSING)
    5758  _MPCI_Register_packet_processor(
    5859    MP_PACKET_PARTITION,
    5960    _Partition_MP_Process_packet
    6061  );
     62#endif
    6163
    6264}
     
    104106     return RTEMS_INVALID_ADDRESS;
    105107
     108#if defined(RTEMS_MULTIPROCESSING)
    106109  if ( _Attributes_Is_global( attribute_set ) &&
    107110       !_System_state_Is_multiprocessing )
    108111    return RTEMS_MP_NOT_CONFIGURED;
     112#endif
    109113
    110114  _Thread_Disable_dispatch();               /* prevents deletion */
     
    117121  }
    118122
     123#if defined(RTEMS_MULTIPROCESSING)
    119124  if ( _Attributes_Is_global( attribute_set ) &&
    120125       !( _Objects_MP_Allocate_and_open( &_Partition_Information, name,
     
    124129    return RTEMS_TOO_MANY;
    125130  }
     131#endif
     132
    126133  the_partition->starting_address      = starting_address;
    127134  the_partition->length                = length;
     
    136143
    137144  *id = the_partition->Object.id;
     145#if defined(RTEMS_MULTIPROCESSING)
    138146  if ( _Attributes_Is_global( attribute_set ) )
    139147    _Partition_MP_Send_process_packet(
     
    143151      0                  /* Not used */
    144152    );
     153#endif
    145154
    146155  _Thread_Enable_dispatch();
     
    204213  the_partition = _Partition_Get( id, &location );
    205214  switch ( location ) {
     215    case OBJECTS_REMOTE:
     216#if defined(RTEMS_MULTIPROCESSING)
     217      _Thread_Dispatch();
     218      return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     219#endif
     220
    206221    case OBJECTS_ERROR:
    207222      return RTEMS_INVALID_ID;
    208     case OBJECTS_REMOTE:
    209       _Thread_Dispatch();
    210       return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     223
    211224    case OBJECTS_LOCAL:
    212225      if ( the_partition->number_of_used_blocks == 0 ) {
    213226        _Objects_Close( &_Partition_Information, &the_partition->Object );
    214227        _Partition_Free( the_partition );
     228#if defined(RTEMS_MULTIPROCESSING)
    215229        if ( _Attributes_Is_global( the_partition->attribute_set ) ) {
    216230
     
    227241          );
    228242        }
     243#endif
    229244
    230245        _Thread_Enable_dispatch();
     
    265280  the_partition = _Partition_Get( id, &location );
    266281  switch ( location ) {
    267     case OBJECTS_ERROR:
    268       return RTEMS_INVALID_ID;
    269282    case OBJECTS_REMOTE:
     283#if defined(RTEMS_MULTIPROCESSING)
    270284      _Thread_Executing->Wait.return_argument = buffer;
    271285      return(
     
    276290        )
    277291      );
     292#endif
     293
     294    case OBJECTS_ERROR:
     295      return RTEMS_INVALID_ID;
     296
    278297    case OBJECTS_LOCAL:
    279298      the_buffer = _Partition_Allocate_buffer( the_partition );
     
    317336  the_partition = _Partition_Get( id, &location );
    318337  switch ( location ) {
    319     case OBJECTS_ERROR:
    320       return RTEMS_INVALID_ID;
     338
    321339    case OBJECTS_REMOTE:
    322       return(
    323         _Partition_MP_Send_request_packet(
     340#if defined(RTEMS_MULTIPROCESSING)
     341      return _Partition_MP_Send_request_packet(
    324342          PARTITION_MP_RETURN_BUFFER_REQUEST,
    325343          id,
    326344          buffer
    327         )
    328       );
     345        );
     346#endif
     347
     348    case OBJECTS_ERROR:
     349      return RTEMS_INVALID_ID;
     350
    329351    case OBJECTS_LOCAL:
    330352      if ( _Partition_Is_buffer_valid( buffer, the_partition ) ) {
  • c/src/exec/rtems/src/ratemon.c

    r967f3aaa r97e2729d  
    157157  the_period = _Rate_monotonic_Get( id, &location );
    158158  switch ( location ) {
     159    case OBJECTS_REMOTE:           
     160      return RTEMS_INTERNAL_ERROR;  /* should never return this */
     161
    159162    case OBJECTS_ERROR:
    160163      return RTEMS_INVALID_ID;
    161     case OBJECTS_REMOTE:           
    162       return RTEMS_INTERNAL_ERROR;  /* should never return this */
     164
    163165    case OBJECTS_LOCAL:
    164166      if ( !_Thread_Is_executing( the_period->owner ) ) {
     
    198200  the_period = _Rate_monotonic_Get( id, &location );
    199201  switch ( location ) {
     202    case OBJECTS_REMOTE:            /* should never return this */
     203      return RTEMS_INTERNAL_ERROR;
     204
    200205    case OBJECTS_ERROR:
    201206      return RTEMS_INVALID_ID;
    202     case OBJECTS_REMOTE:            /* should never return this */
    203       return RTEMS_INTERNAL_ERROR;
     207
    204208    case OBJECTS_LOCAL:
    205209      _Objects_Close( &_Rate_monotonic_Information, &the_period->Object );
     
    244248  the_period = _Rate_monotonic_Get( id, &location );
    245249  switch ( location ) {
     250    case OBJECTS_REMOTE:            /* should never return this */
     251      return RTEMS_INTERNAL_ERROR;
     252
    246253    case OBJECTS_ERROR:
    247254      return RTEMS_INVALID_ID;
    248     case OBJECTS_REMOTE:            /* should never return this */
    249       return RTEMS_INTERNAL_ERROR;
     255
    250256    case OBJECTS_LOCAL:
    251257      status->state = the_period->state;
     
    299305  the_period = _Rate_monotonic_Get( id, &location );
    300306  switch ( location ) {
     307    case OBJECTS_REMOTE:            /* should never return this */
     308      return RTEMS_INTERNAL_ERROR;
     309
    301310    case OBJECTS_ERROR:
    302311      return RTEMS_INVALID_ID;
    303     case OBJECTS_REMOTE:            /* should never return this */
    304       return RTEMS_INTERNAL_ERROR;
     312
    305313    case OBJECTS_LOCAL:
    306314      if ( !_Thread_Is_executing( the_period->owner ) ) {
     
    432440  the_period = _Rate_monotonic_Get( id, &location );
    433441  switch ( location ) {
     442    case OBJECTS_REMOTE:  /* impossible */
    434443    case OBJECTS_ERROR:
    435     case OBJECTS_REMOTE:  /* impossible */
    436444      break;
     445
    437446    case OBJECTS_LOCAL:
    438447      the_thread = the_period->owner;
  • c/src/exec/rtems/src/region.c

    r967f3aaa r97e2729d  
    5454   */
    5555
     56#if defined(RTEMS_MULTIPROCESSING)
    5657  _MPCI_Register_packet_processor(
    5758    MP_PACKET_REGION,
    5859    0  /* XXX _Region_MP_Process_packet */
    5960  );
     61#endif
    6062
    6163}
     
    129131       THREAD_QUEUE_DISCIPLINE_PRIORITY : THREAD_QUEUE_DISCIPLINE_FIFO,
    130132    STATES_WAITING_FOR_SEGMENT,
     133#if defined(RTEMS_MULTIPROCESSING)
    131134    _Region_MP_Send_extract_proxy,
     135#else
     136    NULL,
     137#endif
    132138    RTEMS_TIMEOUT
    133139  );
     
    199205  the_region = _Region_Get( id, &location );
    200206  switch ( location ) {
     207    case OBJECTS_REMOTE:        /* this error cannot be returned */
     208      return RTEMS_INTERNAL_ERROR;
     209
    201210    case OBJECTS_ERROR:
    202211      return RTEMS_INVALID_ID;
    203     case OBJECTS_REMOTE:        /* this error cannot be returned */
    204       return RTEMS_INTERNAL_ERROR;
     212
    205213    case OBJECTS_LOCAL:
    206214      _Region_Debug_Walk( the_region, 5 );
     
    251259  the_region = _Region_Get( id, &location );
    252260  switch ( location ) {
     261    case OBJECTS_REMOTE:        /* this error cannot be returned */
     262      return RTEMS_INTERNAL_ERROR;
     263
    253264    case OBJECTS_ERROR:
    254265      return RTEMS_INVALID_ID;
    255     case OBJECTS_REMOTE:        /* this error cannot be returned */
    256       return RTEMS_INTERNAL_ERROR;
     266
    257267    case OBJECTS_LOCAL:
    258268
     
    323333  the_region = _Region_Get( id, &location );
    324334  switch ( location ) {
     335    case OBJECTS_REMOTE:        /* this error cannot be returned */
     336      return RTEMS_INTERNAL_ERROR;
     337
    325338    case OBJECTS_ERROR:
    326339      return RTEMS_INVALID_ID;
    327     case OBJECTS_REMOTE:        /* this error cannot be returned */
    328       return RTEMS_INTERNAL_ERROR;
     340
    329341    case OBJECTS_LOCAL:
    330342      if ( size > the_region->maximum_segment_size ) {
     
    396408  the_region = _Region_Get( id, &location );
    397409  switch ( location ) {
     410    case OBJECTS_REMOTE:        /* this error cannot be returned */
     411      return RTEMS_INTERNAL_ERROR;
     412
    398413    case OBJECTS_ERROR:
    399414      return RTEMS_INVALID_ID;
    400     case OBJECTS_REMOTE:        /* this error cannot be returned */
    401       return RTEMS_INTERNAL_ERROR;
     415
    402416    case OBJECTS_LOCAL:
    403417
     
    441455  the_region = _Region_Get( id, &location );
    442456  switch ( location ) {
     457
     458    case OBJECTS_REMOTE:        /* this error cannot be returned */
     459      return RTEMS_INTERNAL_ERROR;
     460
    443461    case OBJECTS_ERROR:
    444462      return RTEMS_INVALID_ID;
    445     case OBJECTS_REMOTE:        /* this error cannot be returned */
    446       return RTEMS_INTERNAL_ERROR;
     463
    447464    case OBJECTS_LOCAL:
    448465
  • c/src/exec/rtems/src/rtemstimer.c

    r967f3aaa r97e2729d  
    152152  the_timer = _Timer_Get( id, &location );
    153153  switch ( location ) {
    154     case OBJECTS_ERROR:
    155       return RTEMS_INVALID_ID;
    156     case OBJECTS_REMOTE:            /* should never return this */
    157       return RTEMS_INTERNAL_ERROR;
     154    case OBJECTS_REMOTE:            /* should never return this */
     155      return RTEMS_INTERNAL_ERROR;
     156
     157    case OBJECTS_ERROR:
     158      return RTEMS_INVALID_ID;
     159
    158160    case OBJECTS_LOCAL:
    159161      if ( !_Timer_Is_dormant_class( the_timer->the_class ) )
     
    189191  the_timer = _Timer_Get( id, &location );
    190192  switch ( location ) {
    191     case OBJECTS_ERROR:
    192       return RTEMS_INVALID_ID;
    193     case OBJECTS_REMOTE:            /* should never return this */
    194       return RTEMS_INTERNAL_ERROR;
     193    case OBJECTS_REMOTE:            /* should never return this */
     194      return RTEMS_INTERNAL_ERROR;
     195
     196    case OBJECTS_ERROR:
     197      return RTEMS_INVALID_ID;
     198
    195199    case OBJECTS_LOCAL:
    196200      _Objects_Close( &_Timer_Information, &the_timer->Object );
     
    235239  the_timer = _Timer_Get( id, &location );
    236240  switch ( location ) {
    237     case OBJECTS_ERROR:
    238       return RTEMS_INVALID_ID;
    239     case OBJECTS_REMOTE:            /* should never return this */
    240       return RTEMS_INTERNAL_ERROR;
     241    case OBJECTS_REMOTE:            /* should never return this */
     242      return RTEMS_INTERNAL_ERROR;
     243
     244    case OBJECTS_ERROR:
     245      return RTEMS_INVALID_ID;
     246
    241247    case OBJECTS_LOCAL:
    242248      (void) _Watchdog_Remove( &the_timer->Ticker );
     
    290296  the_timer = _Timer_Get( id, &location );
    291297  switch ( location ) {
    292     case OBJECTS_ERROR:
    293       return RTEMS_INVALID_ID;
    294     case OBJECTS_REMOTE:            /* should never return this */
    295       return RTEMS_INTERNAL_ERROR;
     298    case OBJECTS_REMOTE:            /* should never return this */
     299      return RTEMS_INTERNAL_ERROR;
     300
     301    case OBJECTS_ERROR:
     302      return RTEMS_INVALID_ID;
     303
    296304    case OBJECTS_LOCAL:
    297305      (void) _Watchdog_Remove( &the_timer->Ticker );
     
    332340  the_timer = _Timer_Get( id, &location );
    333341  switch ( location ) {
    334     case OBJECTS_ERROR:
    335       return RTEMS_INVALID_ID;
    336     case OBJECTS_REMOTE:            /* should never return this */
    337       return RTEMS_INTERNAL_ERROR;
     342    case OBJECTS_REMOTE:            /* should never return this */
     343      return RTEMS_INTERNAL_ERROR;
     344
     345    case OBJECTS_ERROR:
     346      return RTEMS_INVALID_ID;
     347
    338348    case OBJECTS_LOCAL:
    339349      if ( _Timer_Is_interval_class( the_timer->the_class ) ) {
  • c/src/exec/rtems/src/sem.c

    r967f3aaa r97e2729d  
    4040#include <rtems/score/thread.h>
    4141#include <rtems/score/threadq.h>
     42#if defined(RTEMS_MULTIPROCESSING)
    4243#include <rtems/score/mpci.h>
     44#endif
    4345#include <rtems/score/sysstate.h>
    4446
     
    7678   */
    7779 
     80#if defined(RTEMS_MULTIPROCESSING)
    7881  _MPCI_Register_packet_processor(
    7982    MP_PACKET_SEMAPHORE,
    8083    _Semaphore_MP_Process_packet
    8184  );
     85#endif
    8286
    8387}
     
    119123    return RTEMS_INVALID_NAME;
    120124
     125#if defined(RTEMS_MULTIPROCESSING)
    121126  if ( _Attributes_Is_global( attribute_set ) ) {
    122127
     
    127132      return RTEMS_NOT_DEFINED;
    128133
    129   } else if ( _Attributes_Is_inherit_priority( attribute_set ) ||
     134  } else
     135#endif
     136  if ( _Attributes_Is_inherit_priority( attribute_set ) ||
    130137              _Attributes_Is_priority_ceiling( attribute_set ) ) {
    131138
     
    148155  }
    149156
     157#if defined(RTEMS_MULTIPROCESSING)
    150158  if ( _Attributes_Is_global( attribute_set ) &&
    151159       ! ( _Objects_MP_Allocate_and_open( &_Semaphore_Information, name,
     
    155163    return RTEMS_TOO_MANY;
    156164  }
     165#endif
    157166
    158167  the_semaphore->attribute_set = attribute_set;
     
    184193      &the_mutex_attributes,
    185194      lock,
     195#if defined(RTEMS_MULTIPROCESSING)
    186196      _Semaphore_MP_Send_extract_proxy
     197#else
     198      NULL
     199#endif
    187200    );
    188201  }
     
    205218      &the_semaphore_attributes,
    206219      count,
     220#if defined(RTEMS_MULTIPROCESSING)
    207221      _Semaphore_MP_Send_extract_proxy
     222#else
     223      NULL
     224#endif
    208225    );
    209226  }
     
    213230  *id = the_semaphore->Object.id;
    214231
     232#if defined(RTEMS_MULTIPROCESSING)
    215233  if ( _Attributes_Is_global( attribute_set ) )
    216234    _Semaphore_MP_Send_process_packet(
     
    220238      0                          /* Not used */
    221239    );
     240#endif
    222241  _Thread_Enable_dispatch();
    223242  return RTEMS_SUCCESSFUL;
     
    280299  the_semaphore = _Semaphore_Get( id, &location );
    281300  switch ( location ) {
     301
     302    case OBJECTS_REMOTE:
     303#if defined(RTEMS_MULTIPROCESSING)
     304      _Thread_Dispatch();
     305      return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     306#endif
     307
    282308    case OBJECTS_ERROR:
    283309      return RTEMS_INVALID_ID;
    284     case OBJECTS_REMOTE:
    285       _Thread_Dispatch();
    286       return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     310
    287311    case OBJECTS_LOCAL:
    288312      if ( _Attributes_Is_binary_semaphore( the_semaphore->attribute_set) ) {
     
    294318          _CORE_mutex_Flush(
    295319            &the_semaphore->Core_control.mutex,
     320#if defined(RTEMS_MULTIPROCESSING)
    296321            _Semaphore_MP_Send_object_was_deleted,
     322#else
     323            NULL,
     324#endif
    297325            CORE_MUTEX_WAS_DELETED
    298326          );
     
    301329        _CORE_semaphore_Flush(
    302330          &the_semaphore->Core_control.semaphore,
     331#if defined(RTEMS_MULTIPROCESSING)
    303332          _Semaphore_MP_Send_object_was_deleted,
     333#else
     334          NULL,
     335#endif
    304336          CORE_SEMAPHORE_WAS_DELETED
    305337        );
     
    309341      _Semaphore_Free( the_semaphore );
    310342
     343#if defined(RTEMS_MULTIPROCESSING)
    311344      if ( _Attributes_Is_global( the_semaphore->attribute_set ) ) {
    312345
     
    320353        );
    321354      }
     355#endif
    322356      _Thread_Enable_dispatch();
    323357      return RTEMS_SUCCESSFUL;
     
    355389  the_semaphore = _Semaphore_Get( id, &location );
    356390  switch ( location ) {
    357     case OBJECTS_ERROR:
    358       return RTEMS_INVALID_ID;
    359391    case OBJECTS_REMOTE:
     392#if defined(RTEMS_MULTIPROCESSING)
    360393      return _Semaphore_MP_Send_request_packet(
    361394          SEMAPHORE_MP_OBTAIN_REQUEST,
     
    364397          timeout
    365398      );
     399#endif
     400
     401    case OBJECTS_ERROR:
     402      return RTEMS_INVALID_ID;
     403
    366404    case OBJECTS_LOCAL:
    367405      if ( _Options_Is_no_wait( option_set ) )
     
    421459  the_semaphore = _Semaphore_Get( id, &location );
    422460  switch ( location ) {
    423     case OBJECTS_ERROR:
    424       return RTEMS_INVALID_ID;
     461
    425462    case OBJECTS_REMOTE:
     463#if defined(RTEMS_MULTIPROCESSING)
    426464      return _Semaphore_MP_Send_request_packet(
    427465        SEMAPHORE_MP_RELEASE_REQUEST,
     
    430468        MPCI_DEFAULT_TIMEOUT
    431469      );
     470#endif
     471
     472    case OBJECTS_ERROR:
     473      return RTEMS_INVALID_ID;
     474
    432475    case OBJECTS_LOCAL:
    433476      if ( _Attributes_Is_binary_semaphore( the_semaphore->attribute_set ) ) {
     
    435478                         &the_semaphore->Core_control.mutex,
    436479                         id,
     480#if defined(RTEMS_MULTIPROCESSING)
    437481                         _Semaphore_Core_mutex_mp_support
     482#else
     483                         NULL
     484#endif
    438485                       );
    439486        _Thread_Enable_dispatch();
     
    444491                             &the_semaphore->Core_control.semaphore,
    445492                             id,
     493#if defined(RTEMS_MULTIPROCESSING)
    446494                             _Semaphore_Core_semaphore_mp_support
     495#else
     496                             NULL
     497#endif
    447498                           );
    448499        _Thread_Enable_dispatch();
     
    531582 */
    532583 
     584#if defined(RTEMS_MULTIPROCESSING)
    533585void  _Semaphore_Core_mutex_mp_support (
    534586  Thread_Control *the_thread,
     
    544596   );
    545597}
     598#endif
    546599
    547600
     
    557610 */
    558611 
     612#if defined(RTEMS_MULTIPROCESSING)
    559613void  _Semaphore_Core_semaphore_mp_support (
    560614  Thread_Control *the_thread,
     
    570624   );
    571625}
     626#endif
  • c/src/exec/rtems/src/signal.c

    r967f3aaa r97e2729d  
    4040   */
    4141 
     42#if defined(RTEMS_MULTIPROCESSING)
    4243  _MPCI_Register_packet_processor(
    4344    MP_PACKET_SIGNAL,
    4445    _Signal_MP_Process_packet
    4546  );
     47#endif
    4648}
    4749 
     
    116118  the_thread = _Thread_Get( id, &location );
    117119  switch ( location ) {
    118     case OBJECTS_ERROR:
    119       return RTEMS_INVALID_ID;
     120
    120121    case OBJECTS_REMOTE:
     122#if defined(RTEMS_MULTIPROCESSING)
    121123      return _Signal_MP_Send_request_packet(
    122124        SIGNAL_MP_SEND_REQUEST,
     
    124126        signal_set
    125127      );
     128#endif
     129
     130    case OBJECTS_ERROR:
     131      return RTEMS_INVALID_ID;
     132
    126133    case OBJECTS_LOCAL:
    127134      api = the_thread->API_Extensions[ THREAD_API_RTEMS ];
  • c/src/exec/rtems/src/tasks.c

    r967f3aaa r97e2729d  
    207207   */
    208208
     209#if defined(RTEMS_MULTIPROCESSING)
    209210  _MPCI_Register_packet_processor(
    210211    MP_PACKET_TASKS,
    211212    _RTEMS_tasks_MP_Process_packet
    212213  );
     214#endif
    213215
    214216}
     
    246248{
    247249  register Thread_Control *the_thread;
     250  boolean                  is_fp;
     251#if defined(RTEMS_MULTIPROCESSING)
    248252  Objects_MP_Control      *the_global_object = NULL;
    249   boolean                  is_fp;
    250253  boolean                  is_global;
     254#endif
    251255  boolean                  status;
    252256  rtems_attribute          the_attribute_set;
     
    298302  core_priority = _RTEMS_tasks_Priority_to_Core( initial_priority );
    299303
     304#if defined(RTEMS_MULTIPROCESSING)
    300305  if ( _Attributes_Is_global( the_attribute_set ) ) {
    301306
     
    307312  } else
    308313    is_global = FALSE;
     314#endif
    309315
    310316  /*
     
    335341  }
    336342
     343#if defined(RTEMS_MULTIPROCESSING)
    337344  if ( is_global ) {
    338345    the_global_object = _Objects_MP_Allocate_global_object();
     
    344351    }
    345352  }
     353#endif
    346354
    347355  /*
     
    366374
    367375  if ( !status ) {
     376#if defined(RTEMS_MULTIPROCESSING)
    368377    if ( is_global )
    369378      _Objects_MP_Free_global_object( the_global_object );
     379#endif
    370380    _RTEMS_tasks_Free( the_thread );
    371381    _Thread_Enable_dispatch();
     
    380390  *id = the_thread->Object.id;
    381391
     392#if defined(RTEMS_MULTIPROCESSING)
    382393  if ( is_global ) {
    383394
     
    398409
    399410   }
     411#endif
    400412
    401413  _Thread_Enable_dispatch();
     
    471483  the_thread = _Thread_Get( id, &location );
    472484  switch ( location ) {
     485
     486    case OBJECTS_REMOTE:
     487#if defined(RTEMS_MULTIPROCESSING)
     488      _Thread_Dispatch();
     489      return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     490#endif
     491
    473492    case OBJECTS_ERROR:
    474493      return RTEMS_INVALID_ID;
    475     case OBJECTS_REMOTE:
    476       _Thread_Dispatch();
    477       return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     494
    478495    case OBJECTS_LOCAL:
    479496      if ( _Thread_Start(
     
    517534  the_thread = _Thread_Get( id, &location );
    518535  switch ( location ) {
     536
     537    case OBJECTS_REMOTE:
     538#if defined(RTEMS_MULTIPROCESSING)
     539      _Thread_Dispatch();
     540      return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     541#endif
     542
    519543    case OBJECTS_ERROR:
    520544      return RTEMS_INVALID_ID;
    521     case OBJECTS_REMOTE:
    522       _Thread_Dispatch();
    523       return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     545
    524546    case OBJECTS_LOCAL:
    525547      if ( _Thread_Restart( the_thread, NULL, argument ) ) {
     
    562584  the_thread = _Thread_Get( id, &location );
    563585  switch ( location ) {
     586
     587    case OBJECTS_REMOTE:
     588#if defined(RTEMS_MULTIPROCESSING)
     589      _Thread_Dispatch();
     590      return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     591#endif
     592
    564593    case OBJECTS_ERROR:
    565594      return RTEMS_INVALID_ID;
    566     case OBJECTS_REMOTE:
    567       _Thread_Dispatch();
    568       return RTEMS_ILLEGAL_ON_REMOTE_OBJECT;
     595
    569596    case OBJECTS_LOCAL:
    570597      the_information = _Objects_Get_information( the_thread->Object.id );
     
    580607      _RTEMS_tasks_Free( the_thread );
    581608
     609#if defined(RTEMS_MULTIPROCESSING)
    582610      if ( the_thread->is_global ) {
    583611
     
    590618        );
    591619      }
     620#endif
    592621
    593622      _Thread_Enable_dispatch();
     
    623652  the_thread = _Thread_Get( id, &location );
    624653  switch ( location ) {
    625     case OBJECTS_ERROR:
    626       return RTEMS_INVALID_ID;
     654
    627655    case OBJECTS_REMOTE:
     656#if defined(RTEMS_MULTIPROCESSING)
    628657      return _RTEMS_tasks_MP_Send_request_packet(
    629658        RTEMS_TASKS_MP_SUSPEND_REQUEST,
     
    633662        0           /* Not used */
    634663      );
     664#endif
     665
     666    case OBJECTS_ERROR:
     667      return RTEMS_INVALID_ID;
     668
    635669    case OBJECTS_LOCAL:
    636670      if ( !_States_Is_suspended( the_thread->current_state ) ) {
     
    670704  the_thread = _Thread_Get( id, &location );
    671705  switch ( location ) {
    672     case OBJECTS_ERROR:
    673       return RTEMS_INVALID_ID;
     706
    674707    case OBJECTS_REMOTE:
    675       return(
    676         _RTEMS_tasks_MP_Send_request_packet(
     708#if defined(RTEMS_MULTIPROCESSING)
     709      return _RTEMS_tasks_MP_Send_request_packet(
    677710          RTEMS_TASKS_MP_RESUME_REQUEST,
    678711          id,
     
    680713          0,          /* Not used */
    681714          0           /* Not used */
    682         )
    683       );
     715        );
     716#endif
     717
     718    case OBJECTS_ERROR:
     719      return RTEMS_INVALID_ID;
     720
    684721    case OBJECTS_LOCAL:
    685722      if ( _States_Is_suspended( the_thread->current_state ) ) {
     
    729766  the_thread = _Thread_Get( id, &location );
    730767  switch ( location ) {
    731     case OBJECTS_ERROR:
    732       return RTEMS_INVALID_ID;
     768
    733769    case OBJECTS_REMOTE:
     770#if defined(RTEMS_MULTIPROCESSING)
    734771      _Thread_Executing->Wait.return_argument = old_priority;
    735       return(
    736         _RTEMS_tasks_MP_Send_request_packet(
     772      return _RTEMS_tasks_MP_Send_request_packet(
    737773          RTEMS_TASKS_MP_SET_PRIORITY_REQUEST,
    738774          id,
     
    740776          0,          /* Not used */
    741777          0           /* Not used */
    742         )
    743778      );
     779#endif
     780
     781    case OBJECTS_ERROR:
     782      return RTEMS_INVALID_ID;
     783
    744784    case OBJECTS_LOCAL:
    745785      *old_priority = the_thread->current_priority;
     
    898938  the_thread = _Thread_Get( id, &location );
    899939  switch ( location ) {
    900     case OBJECTS_ERROR:
    901       return RTEMS_INVALID_ID;
     940
    902941    case OBJECTS_REMOTE:
     942#if defined(RTEMS_MULTIPROCESSING)
    903943      _Thread_Executing->Wait.return_argument = note;
    904944
     
    910950        0           /* Not used */
    911951      );
     952#endif
     953
     954    case OBJECTS_ERROR:
     955      return RTEMS_INVALID_ID;
     956
    912957    case OBJECTS_LOCAL:
    913958      api = the_thread->API_Extensions[ THREAD_API_RTEMS ];
     
    9681013  the_thread = _Thread_Get( id, &location );
    9691014  switch ( location ) {
    970     case OBJECTS_ERROR:
    971       return RTEMS_INVALID_ID;
     1015
    9721016    case OBJECTS_REMOTE:
     1017#if defined(RTEMS_MULTIPROCESSING)
    9731018      return _RTEMS_tasks_MP_Send_request_packet(
    9741019        RTEMS_TASKS_MP_SET_NOTE_REQUEST,
     
    9781023        note
    9791024      );
     1025#endif
     1026
     1027    case OBJECTS_ERROR:
     1028      return RTEMS_INVALID_ID;
    9801029
    9811030    case OBJECTS_LOCAL:
  • c/src/exec/rtems/src/timer.c

    r967f3aaa r97e2729d  
    152152  the_timer = _Timer_Get( id, &location );
    153153  switch ( location ) {
    154     case OBJECTS_ERROR:
    155       return RTEMS_INVALID_ID;
    156     case OBJECTS_REMOTE:            /* should never return this */
    157       return RTEMS_INTERNAL_ERROR;
     154    case OBJECTS_REMOTE:            /* should never return this */
     155      return RTEMS_INTERNAL_ERROR;
     156
     157    case OBJECTS_ERROR:
     158      return RTEMS_INVALID_ID;
     159
    158160    case OBJECTS_LOCAL:
    159161      if ( !_Timer_Is_dormant_class( the_timer->the_class ) )
     
    189191  the_timer = _Timer_Get( id, &location );
    190192  switch ( location ) {
    191     case OBJECTS_ERROR:
    192       return RTEMS_INVALID_ID;
    193     case OBJECTS_REMOTE:            /* should never return this */
    194       return RTEMS_INTERNAL_ERROR;
     193    case OBJECTS_REMOTE:            /* should never return this */
     194      return RTEMS_INTERNAL_ERROR;
     195
     196    case OBJECTS_ERROR:
     197      return RTEMS_INVALID_ID;
     198
    195199    case OBJECTS_LOCAL:
    196200      _Objects_Close( &_Timer_Information, &the_timer->Object );
     
    235239  the_timer = _Timer_Get( id, &location );
    236240  switch ( location ) {
    237     case OBJECTS_ERROR:
    238       return RTEMS_INVALID_ID;
    239     case OBJECTS_REMOTE:            /* should never return this */
    240       return RTEMS_INTERNAL_ERROR;
     241    case OBJECTS_REMOTE:            /* should never return this */
     242      return RTEMS_INTERNAL_ERROR;
     243
     244    case OBJECTS_ERROR:
     245      return RTEMS_INVALID_ID;
     246
    241247    case OBJECTS_LOCAL:
    242248      (void) _Watchdog_Remove( &the_timer->Ticker );
     
    290296  the_timer = _Timer_Get( id, &location );
    291297  switch ( location ) {
    292     case OBJECTS_ERROR:
    293       return RTEMS_INVALID_ID;
    294     case OBJECTS_REMOTE:            /* should never return this */
    295       return RTEMS_INTERNAL_ERROR;
     298    case OBJECTS_REMOTE:            /* should never return this */
     299      return RTEMS_INTERNAL_ERROR;
     300
     301    case OBJECTS_ERROR:
     302      return RTEMS_INVALID_ID;
     303
    296304    case OBJECTS_LOCAL:
    297305      (void) _Watchdog_Remove( &the_timer->Ticker );
     
    332340  the_timer = _Timer_Get( id, &location );
    333341  switch ( location ) {
    334     case OBJECTS_ERROR:
    335       return RTEMS_INVALID_ID;
    336     case OBJECTS_REMOTE:            /* should never return this */
    337       return RTEMS_INTERNAL_ERROR;
     342    case OBJECTS_REMOTE:            /* should never return this */
     343      return RTEMS_INTERNAL_ERROR;
     344
     345    case OBJECTS_ERROR:
     346      return RTEMS_INVALID_ID;
     347
    338348    case OBJECTS_LOCAL:
    339349      if ( _Timer_Is_interval_class( the_timer->the_class ) ) {
  • c/src/exec/sapi/headers/config.h

    r967f3aaa r97e2729d  
    4444#include <rtems/extension.h>
    4545#include <rtems/io.h>
     46#if defined(RTEMS_MULTIPROCESSING)
    4647#include <rtems/score/mpci.h>
     48#endif
    4749
    4850/*
     
    5860  unsigned32    maximum_global_objects; /* maximum # global objects */
    5961  unsigned32    maximum_proxies;        /* maximum # proxies */
     62#if defined(RTEMS_MULTIPROCESSING)
    6063  MPCI_Control *User_mpci_table;        /* pointer to MPCI table */
     64#else
     65  void         *User_mpci_table;        /* pointer to MPCI table */
     66#endif
    6167} rtems_multiprocessing_table;
    6268
  • c/src/exec/sapi/headers/sptables.h

    r967f3aaa r97e2729d  
    3636#include <rtems/rtems/event.h>
    3737#include <rtems/rtems/message.h>
     38#if defined(RTEMS_MULTIPROCESSING)
    3839#include <rtems/rtems/mp.h>
     40#endif
    3941#include <rtems/rtems/part.h>
    4042#include <rtems/rtems/ratemon.h>
     
    153155  (void *) rtems_rate_monotonic_cancel,                     /* 77 */
    154156  (void *) rtems_rate_monotonic_period,                     /* 78 */
     157#if defined(RTEMS_MULTIPROCESSING)
    155158  (void *) rtems_multiprocessing_announce,                  /* 79 */
     159#else
     160  (void *) NULL,                                            /* 79 */
     161#endif
    156162  (void *) rtems_debug_enable,                              /* 80 */
    157163  (void *) rtems_debug_disable                              /* 81 */
  • c/src/exec/sapi/include/rtems/config.h

    r967f3aaa r97e2729d  
    4444#include <rtems/extension.h>
    4545#include <rtems/io.h>
     46#if defined(RTEMS_MULTIPROCESSING)
    4647#include <rtems/score/mpci.h>
     48#endif
    4749
    4850/*
     
    5860  unsigned32    maximum_global_objects; /* maximum # global objects */
    5961  unsigned32    maximum_proxies;        /* maximum # proxies */
     62#if defined(RTEMS_MULTIPROCESSING)
    6063  MPCI_Control *User_mpci_table;        /* pointer to MPCI table */
     64#else
     65  void         *User_mpci_table;        /* pointer to MPCI table */
     66#endif
    6167} rtems_multiprocessing_table;
    6268
  • c/src/exec/sapi/include/rtems/sptables.h

    r967f3aaa r97e2729d  
    3636#include <rtems/rtems/event.h>
    3737#include <rtems/rtems/message.h>
     38#if defined(RTEMS_MULTIPROCESSING)
    3839#include <rtems/rtems/mp.h>
     40#endif
    3941#include <rtems/rtems/part.h>
    4042#include <rtems/rtems/ratemon.h>
     
    153155  (void *) rtems_rate_monotonic_cancel,                     /* 77 */
    154156  (void *) rtems_rate_monotonic_period,                     /* 78 */
     157#if defined(RTEMS_MULTIPROCESSING)
    155158  (void *) rtems_multiprocessing_announce,                  /* 79 */
     159#else
     160  (void *) NULL,                                            /* 79 */
     161#endif
    156162  (void *) rtems_debug_enable,                              /* 80 */
    157163  (void *) rtems_debug_disable                              /* 81 */
  • c/src/exec/sapi/src/exinit.c

    r967f3aaa r97e2729d  
    3535#include <rtems/score/interr.h>
    3636#include <rtems/score/isr.h>
     37#if defined(RTEMS_MULTIPROCESSING)
    3738#include <rtems/score/mpci.h>
     39#endif
    3840#include <rtems/score/priority.h>
    3941#include <rtems/score/thread.h>
     
    108110   */
    109111
     112#if defined(RTEMS_MULTIPROCESSING)
    110113  multiprocessing_table = configuration_table->User_multiprocessing_table;
    111114
     
    113116    (multiprocessing_table) ? TRUE : FALSE
    114117  );
     118#else
     119  multiprocessing_table = NULL;
     120
     121  _System_state_Handler_initialization( FALSE );
     122
     123#endif
    115124
    116125  /*
     
    180189  );
    181190
     191#if defined(RTEMS_MULTIPROCESSING)
    182192  _MPCI_Handler_initialization(
    183193    multiprocessing_table->User_mpci_table,
    184194    RTEMS_TIMEOUT
    185195  );
     196#endif
    186197
    187198/* MANAGERS */
     
    216227  _Thread_Create_idle();
    217228
     229#if defined(RTEMS_MULTIPROCESSING)
    218230  _MPCI_Create_server();
     231#endif
    219232
    220233  /*
     
    235248  _IO_Initialize_all_drivers();
    236249 
     250#if defined(RTEMS_MULTIPROCESSING)
    237251  if ( _System_state_Is_multiprocessing ) {
    238252    _MPCI_Initialization();
     
    241255    );
    242256  }
     257#endif
    243258 
    244259  /*
  • c/src/exec/sapi/src/rtemsapi.c

    r967f3aaa r97e2729d  
    3232#include <rtems/rtems/event.h>
    3333#include <rtems/rtems/message.h>
     34#if defined(RTEMS_MULTIPROCESSING)
    3435#include <rtems/rtems/mp.h>
     36#endif
    3537#include <rtems/rtems/part.h>
    3638#include <rtems/rtems/ratemon.h>
     
    5961  _Interrupt_Manager_initialization();
    6062 
     63#if defined(RTEMS_MULTIPROCESSING)
    6164  _Multiprocessing_Manager_initialization();
     65#endif
    6266 
    6367  _RTEMS_tasks_Manager_initialization(
  • c/src/exec/score/headers/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = mpci mppkt objectmp threadmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
    1115# H_FILES that get installed in the rtems/score subdirectoy
    1216H_PIECES= address apiext bitfield chain context copyrt coremsg coremutex \
    13     coresem heap interr isr mpci mppkt object objectmp \
    14     priority stack states sysstate thread threadmp threadq \
     17    coresem heap interr isr object \
     18    priority stack states sysstate thread threadq \
    1519    tod tqdata userext watchdog wkspace
    1620H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
  • c/src/exec/score/headers/object.h

    r967f3aaa r97e2729d  
    388388
    389389#include <rtems/score/object.inl>
     390#if defined(RTEMS_MULTIPROCESSING)
    390391#include <rtems/score/objectmp.h>
     392#endif
    391393
    392394#ifdef __cplusplus
  • c/src/exec/score/headers/thread.h

    r967f3aaa r97e2729d  
    2424#include <rtems/score/context.h>
    2525#include <rtems/score/cpu.h>
     26#if defined(RTEMS_MULTIPROCESSING)
    2627#include <rtems/score/mppkt.h>
     28#endif
    2729#include <rtems/score/object.h>
    2830#include <rtems/score/priority.h>
     
    142144  Thread_Wait_information  Wait;
    143145  Watchdog_Control         Timer;
     146#if defined(RTEMS_MULTIPROCESSING)
    144147  MP_packet_Prefix        *receive_packet;
     148#endif
    145149     /****************** end of common block ********************/
    146150  Chain_Node               Active;
     
    172176  Thread_Wait_information               Wait;
    173177  Watchdog_Control                      Timer;
     178#if defined(RTEMS_MULTIPROCESSING)
    174179  MP_packet_Prefix                     *receive_packet;
     180#endif
    175181     /****************** end of common block ********************/
    176182  boolean                               is_global;
     
    620626#include <rtems/score/thread.inl>
    621627#endif
     628#if defined(RTEMS_MULTIPROCESSING)
    622629#include <rtems/score/threadmp.h>
     630#endif
    623631
    624632#ifdef __cplusplus
  • c/src/exec/score/include/rtems/score/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = mpci mppkt objectmp threadmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
    1115# H_FILES that get installed in the rtems/score subdirectoy
    1216H_PIECES= address apiext bitfield chain context copyrt coremsg coremutex \
    13     coresem heap interr isr mpci mppkt object objectmp \
    14     priority stack states sysstate thread threadmp threadq \
     17    coresem heap interr isr object \
     18    priority stack states sysstate thread threadq \
    1519    tod tqdata userext watchdog wkspace
    1620H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
  • c/src/exec/score/include/rtems/score/object.h

    r967f3aaa r97e2729d  
    388388
    389389#include <rtems/score/object.inl>
     390#if defined(RTEMS_MULTIPROCESSING)
    390391#include <rtems/score/objectmp.h>
     392#endif
    391393
    392394#ifdef __cplusplus
  • c/src/exec/score/include/rtems/score/thread.h

    r967f3aaa r97e2729d  
    2424#include <rtems/score/context.h>
    2525#include <rtems/score/cpu.h>
     26#if defined(RTEMS_MULTIPROCESSING)
    2627#include <rtems/score/mppkt.h>
     28#endif
    2729#include <rtems/score/object.h>
    2830#include <rtems/score/priority.h>
     
    142144  Thread_Wait_information  Wait;
    143145  Watchdog_Control         Timer;
     146#if defined(RTEMS_MULTIPROCESSING)
    144147  MP_packet_Prefix        *receive_packet;
     148#endif
    145149     /****************** end of common block ********************/
    146150  Chain_Node               Active;
     
    172176  Thread_Wait_information               Wait;
    173177  Watchdog_Control                      Timer;
     178#if defined(RTEMS_MULTIPROCESSING)
    174179  MP_packet_Prefix                     *receive_packet;
     180#endif
    175181     /****************** end of common block ********************/
    176182  boolean                               is_global;
     
    620626#include <rtems/score/thread.inl>
    621627#endif
     628#if defined(RTEMS_MULTIPROCESSING)
    622629#include <rtems/score/threadmp.h>
     630#endif
    623631
    624632#ifdef __cplusplus
  • c/src/exec/score/inline/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = mppkt objectmp threadmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
    1115I_PIECES= address chain coremsg coremutex coresem heap \
    12     isr mppkt object objectmp priority stack states sysstate thread \
    13     threadmp tod tqdata userext watchdog wkspace
     16    isr object priority stack states sysstate thread \
     17    tod tqdata userext watchdog wkspace $(MP_PIECES)
    1418I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
    1519
  • c/src/exec/score/inline/rtems/score/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = mppkt objectmp threadmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
    1115I_PIECES= address chain coremsg coremutex coresem heap \
    12     isr mppkt object objectmp priority stack states sysstate thread \
    13     threadmp tod tqdata userext watchdog wkspace
     16    isr object priority stack states sysstate thread \
     17    tod tqdata userext watchdog wkspace $(MP_PIECES)
    1418I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
    1519
  • c/src/exec/score/macros/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = mppkt objectmp threadmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
    1115I_PIECES= address chain coremsg coremutex coresem heap \
    12     isr mppkt object objectmp priority stack states sysstate thread \
    13     threadmp tod tqdata userext watchdog wkspace
     16    isr object priority stack states sysstate thread \
     17    tod tqdata userext watchdog wkspace $(MP_PIECES)
    1418I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
    1519
  • c/src/exec/score/macros/rtems/score/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = mppkt objectmp threadmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
    1115I_PIECES= address chain coremsg coremutex coresem heap \
    12     isr mppkt object objectmp priority stack states sysstate thread \
    13     threadmp tod tqdata userext watchdog wkspace
     16    isr object priority stack states sysstate thread \
     17    tod tqdata userext watchdog wkspace $(MP_PIECES)
    1418I_FILES=$(I_PIECES:%=$(srcdir)/%.inl)
    1519
  • c/src/exec/score/src/Makefile.in

    r967f3aaa r97e2729d  
    99PROJECT_ROOT = @PROJECT_ROOT@
    1010
     11# We only build multiprocessing related files if HAS_MP was defined
     12MP_PIECES_yes_V = mpci objectmp threadmp
     13MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     14
    1115# C and C++ source names, if any, go here -- minus the .c or .cc
    1216C_PIECES=apiext chain coremsg coremutex coresem heap interr \
    13     isr mpci object objectmp thread threadmp threadq tod userext \
    14     watchdog wkspace
     17    isr object thread threadq tod userext \
     18    watchdog wkspace $(MP_PIECES)
    1519C_FILES=$(C_PIECES:%=%.c)
    1620C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
  • c/src/exec/score/src/coremsg.c

    r967f3aaa r97e2729d  
    2727#include <rtems/score/thread.h>
    2828#include <rtems/score/wkspace.h>
     29#if defined(RTEMS_MULTIPROCESSING)
    2930#include <rtems/score/mpci.h>
     31#endif
    3032
    3133/*PAGE
     
    218220    *(unsigned32 *)the_thread->Wait.return_argument_1 = size;
    219221
     222#if defined(RTEMS_MULTIPROCESSING)
    220223    if ( !_Objects_Is_local_id( the_thread->Object.id ) )
    221224      (*api_message_queue_mp_support) ( the_thread, id );
     225#endif
    222226
    223227  }
     
    395399    *(unsigned32 *)the_thread->Wait.return_argument_1 = size;
    396400   
     401#if defined(RTEMS_MULTIPROCESSING)
    397402    if ( !_Objects_Is_local_id( the_thread->Object.id ) )
    398403      (*api_message_queue_mp_support) ( the_thread, id );
     404#endif
    399405
    400406    return CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL;
  • c/src/exec/score/src/coremutex.c

    r967f3aaa r97e2729d  
    294294  if ( ( the_thread = _Thread_queue_Dequeue( &the_mutex->Wait_queue ) ) ) {
    295295
     296#if defined(RTEMS_MULTIPROCESSING)
    296297    if ( !_Objects_Is_local_id( the_thread->Object.id ) ) {
    297298     
     
    302303      ( *api_mutex_mp_support)( the_thread, id );
    303304
    304     } else {
     305    } else
     306#endif
     307    {
    305308
    306309      the_mutex->holder     = the_thread;
  • c/src/exec/score/src/coresem.c

    r967f3aaa r97e2729d  
    2525#include <rtems/score/thread.h>
    2626#include <rtems/score/threadq.h>
     27#if defined(RTEMS_MULTIPROCESSING)
    2728#include <rtems/score/mpci.h>
     29#endif
    2830
    2931/*PAGE
  • c/src/exec/score/src/mpci.c

    r967f3aaa r97e2729d  
    1717#include <rtems/score/cpu.h>
    1818#include <rtems/score/interr.h>
     19#if defined(RTEMS_MULTIPROCESSING)
    1920#include <rtems/score/mpci.h>
    2021#include <rtems/score/mppkt.h>
     22#endif
    2123#include <rtems/score/states.h>
    2224#include <rtems/score/thread.h>
  • c/src/exec/score/src/object.c

    r967f3aaa r97e2729d  
    1717#include <rtems/score/chain.h>
    1818#include <rtems/score/object.h>
     19#if defined(RTEMS_MULTIPROCESSING)
    1920#include <rtems/score/objectmp.h>
     21#endif
    2022#include <rtems/score/thread.h>
    2123#include <rtems/score/wkspace.h>
     
    5254  _Objects_Maximum_nodes = maximum_nodes;
    5355
     56#if defined(RTEMS_MULTIPROCESSING)
    5457  _Objects_MP_Handler_initialization(
    5558    node,
     
    5760    maximum_global_objects
    5861  );
     62#endif
    5963}
    6064
     
    379383    return OBJECTS_INVALID_NAME;
    380384
     385#if defined(RTEMS_MULTIPROCESSING)
    381386  return ( _Objects_MP_Global_name_search( information, name, node, id ) );
     387#else
     388  return OBJECTS_INVALID_NAME;
     389#endif
    382390}
    383391
     
    424432  }
    425433  *location = OBJECTS_ERROR;
     434#if defined(RTEMS_MULTIPROCESSING)
    426435  _Objects_MP_Is_remote( information, id, location, &the_object );
    427436  return the_object;
     437#else
     438  return NULL;
     439#endif
    428440}
    429441
  • c/src/exec/score/src/thread.c

    r967f3aaa r97e2729d  
    8282    _Chain_Initialize_empty( &_Thread_Ready_chain[ index ] );
    8383
     84#if defined(RTEMS_MULTIPROCESSING)
    8485  _Thread_MP_Handler_initialization( maximum_proxies );
     86#endif
    8587
    8688  /*
  • c/src/exec/score/src/threadq.c

    r967f3aaa r97e2729d  
    9898  the_thread = _Thread_Executing;
    9999
     100#if defined(RTEMS_MULTIPROCESSING)
    100101  if ( _Thread_MP_Is_receive( the_thread ) && the_thread->receive_packet )
    101102    the_thread = _Thread_MP_Allocate_proxy( the_thread_queue->state );
    102103  else
     104#endif
    103105    _Thread_Set_state( the_thread, the_thread_queue->state );
    104106
     
    256258
    257259  while ( (the_thread = _Thread_queue_Dequeue( the_thread_queue )) ) {
    258     if ( _Objects_Is_local_id( the_thread->Object.id ) )
     260#if defined(RTEMS_MULTIPROCESSING)
     261    if ( !_Objects_Is_local_id( the_thread->Object.id ) )
     262      ( *remote_extract_callout )( the_thread );
     263    else
     264#endif
    259265      the_thread->Wait.return_code = status;
    260     else
    261       ( *remote_extract_callout )( the_thread );
    262266  }
    263267}
     
    424428  _Thread_Unblock( the_thread );
    425429
     430#if defined(RTEMS_MULTIPROCESSING)
    426431  if ( !_Objects_Is_local_id( the_thread->Object.id ) )
    427432    _Thread_MP_Free_proxy( the_thread );
     433#endif
    428434
    429435}
     
    469475    }
    470476
     477#if defined(RTEMS_MULTIPROCESSING)
    471478    if ( !_Objects_Is_local_id( the_thread->Object.id ) )
    472479      _Thread_MP_Free_proxy( the_thread );
     480#endif
    473481
    474482    return the_thread;
     
    533541  _Thread_Unblock( the_thread );
    534542
     543#if defined(RTEMS_MULTIPROCESSING)
    535544  if ( !_Objects_Is_local_id( the_thread->Object.id ) )
    536545    _Thread_MP_Free_proxy( the_thread );
     546#endif
    537547 
    538548}
     
    754764  _Thread_Unblock( the_thread );
    755765 
     766#if defined(RTEMS_MULTIPROCESSING)
    756767  if ( !_Objects_Is_local_id( the_thread->Object.id ) )
    757768    _Thread_MP_Free_proxy( the_thread );
     769#endif
    758770}
    759771
     
    853865  }
    854866
     867#if defined(RTEMS_MULTIPROCESSING)
    855868  if ( !_Objects_Is_local_id( the_thread->Object.id ) )
    856869    _Thread_MP_Free_proxy( the_thread );
     870#endif
    857871  return( the_thread );
    858872}
     
    930944    }
    931945
     946#if defined(RTEMS_MULTIPROCESSING)
    932947    if ( !_Objects_Is_local_id( the_thread->Object.id ) )
    933948      _Thread_MP_Free_proxy( the_thread );
     949#endif
    934950  }
    935951  else
  • c/src/exec/score/tools/generic/size_rtems.in

    r967f3aaa r97e2729d  
    131131${SAPIOBJ}/rtemsapi.o \
    132132"
    133 MPLIST="\
    134 ${RTEMSOBJ}/mp.o ${RTEMSOBJ}/eventmp.o \
    135 ${COREOBJ}/mpci.o ${RTEMSOBJ}/msgmp.o ${COREOBJ}/objectmp.o \
    136 ${RTEMSOBJ}/partmp.o ${RTEMSOBJ}/regionmp.o ${RTEMSOBJ}/semmp.o \
    137 ${RTEMSOBJ}/signalmp.o ${RTEMSOBJ}/taskmp.o ${COREOBJ}/threadmp.o \
    138 "
     133
     134if [ -r ${RTEMSOBJ}/mp.o ] ; then
     135  MPLIST="\
     136  ${RTEMSOBJ}/mp.o ${RTEMSOBJ}/eventmp.o \
     137  ${COREOBJ}/mpci.o ${RTEMSOBJ}/msgmp.o ${COREOBJ}/objectmp.o \
     138  ${RTEMSOBJ}/partmp.o ${RTEMSOBJ}/regionmp.o ${RTEMSOBJ}/semmp.o \
     139  ${RTEMSOBJ}/signalmp.o ${RTEMSOBJ}/taskmp.o ${COREOBJ}/threadmp.o \
     140  "
     141
     142  MPOBJLIST=${OPTOBJ}/no-msg.rel
     143fi
    139144
    140145OPTMANLIST="\
    141146${OPTOBJ}/no-dpmem.rel \
    142147${OPTOBJ}/no-event.rel \
    143 ${OPTOBJ}/no-mp.rel \
     148${MPOBJLIST} \
    144149${OPTOBJ}/no-msg.rel \
    145150${OPTOBJ}/no-part.rel \
  • c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in

    r967f3aaa r97e2729d  
    1212include $(RTEMS_ROOT)/make/directory.cfg
    1313
     14# We only build the multiprocessing support if HAS_MP was defined
     15MP_SUPPORT_yes_V = shmsupp
     16MP_SUPPORT = $(MP_SUPPORT_$(HAS_MP)_V)
     17
    1418# wrapup is the one that actually builds and installs the library
    1519#  from the individual .rel files built in other directories
    1620# NOTE: we pick up HPPA clock and timer from libcpu/hppa
    17 SUB_DIRS=tools include start startup tty shmsupp wrapup
     21SUB_DIRS=tools include start startup tty $(MP_SUPPORT) wrapup
  • c/src/lib/libbsp/i386/force386/Makefile.in

    r967f3aaa r97e2729d  
    1212include $(RTEMS_ROOT)/make/directory.cfg
    1313
     14# We only build the multiprocessing support if HAS_MP was defined
     15MP_SUPPORT_yes_V = shmsupp
     16MP_SUPPORT = $(MP_SUPPORT_$(HAS_MP)_V)
     17
    1418# wrapup is the one that actually builds and installs the library
    1519#  from the individual .rel files built in other directories
    16 SUB_DIRS=include start startup clock console shmsupp timer wrapup
     20SUB_DIRS=include start startup clock console $(MP_SUPPORT) timer wrapup
  • c/src/lib/libbsp/i960/cvme961/Makefile.in

    r967f3aaa r97e2729d  
    1212include $(RTEMS_ROOT)/make/directory.cfg
    1313
     14# We only build the multiprocessing support if HAS_MP was defined
     15MP_SUPPORT_yes_V = shmsupp
     16MP_SUPPORT = $(MP_SUPPORT_$(HAS_MP)_V)
     17
    1418# wrapup is the one that actually builds and installs the library
    1519#  from the individual .rel files built in other directories
    16 SUB_DIRS=include startup clock console shmsupp timer wrapup
     20SUB_DIRS=include startup clock console $(MP_SUPPORT) timer wrapup
  • c/src/lib/libbsp/m68k/mvme136/Makefile.in

    r967f3aaa r97e2729d  
    1212include $(RTEMS_ROOT)/make/directory.cfg
    1313
     14# We only build the multiprocessing support if HAS_MP was defined
     15MP_SUPPORT_yes_V = shmsupp
     16MP_SUPPORT = $(MP_SUPPORT_$(HAS_MP)_V)
     17
    1418# wrapup is the one that actually builds and installs the library
    1519#  from the individual .rel files built in other directories
    16 SUB_DIRS=include startup clock console shmsupp timer wrapup
     20SUB_DIRS=include startup clock console $(MP_SUPPORT) timer wrapup
  • c/src/lib/libbsp/m68k/mvme147s/Makefile.in

    r967f3aaa r97e2729d  
    1212include $(RTEMS_ROOT)/make/directory.cfg
    1313
     14# We only build the multiprocessing support if HAS_MP was defined
     15MP_SUPPORT_yes_V = shmsupp
     16MP_SUPPORT = $(MP_SUPPORT_$(HAS_MP)_V)
     17
    1418# wrapup is the one that actually builds and installs the library
    1519#  from the individual .rel files built in other directories
    16 SUB_DIRS=include startup clock console timer shmsupp wrapup
     20SUB_DIRS=include startup clock console timer $(MP_SUPPORT) wrapup
    1721
  • c/src/lib/libbsp/no_cpu/no_bsp/Makefile.in

    r967f3aaa r97e2729d  
    1616all: $(SRCS)
    1717
     18# We only build the multiprocessing support if HAS_MP was defined
     19MP_SUPPORT_yes_V = shmsupp
     20MP_SUPPORT = $(MP_SUPPORT_$(HAS_MP)_V)
     21
    1822# wrapup is the one that actually builds and installs the library
    1923#  from the individual .rel files built in other directories
    20 SUB_DIRS=include startup clock console shmsupp timer wrapup
     24SUB_DIRS=include startup clock console $(MP_SUPPORT) timer wrapup
  • c/src/lib/libbsp/unix/posix/Makefile.in

    r967f3aaa r97e2729d  
    1414SRCS=README
    1515
    16 # MP_PARTS are the pieces of the BSP required in a MP environment
    17 # We only build them if HAS_MP was defined
    18  
    19 MP_PARTS_yes_V = shmsupp
    20 MP_PARTS = $(MP_PARTS_$(HAS_MP)_V)
     16# We only build the multiprocessing support if HAS_MP was defined
     17MP_SUPPORT_yes_V = shmsupp
     18MP_SUPPORT = $(MP_SUPPORT_$(HAS_MP)_V)
    2119
    2220all: $(SRCS)
     
    2422# wrapup is the one that actually builds and installs the library
    2523#  from the individual .rel files built in other directories
    26 SUB_DIRS=include startup clock console timer $(MP_PARTS) wrapup tools
     24SUB_DIRS=include startup clock console timer $(MP_SUPPORT) wrapup tools
  • c/src/lib/libmisc/monitor/Makefile.in

    r967f3aaa r97e2729d  
    1010
    1111LIB=${ARCH}/libmonitor-tmp.a
     12
    1213# C source names, if any, go here -- minus the .c
     14# We only build multiprocessing related files if HAS_MP was defined
     15MP_PIECES_yes_V = mon-mpci
     16MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     17
    1318C_PIECES=mon-command mon-symbols mon-prmisc mon-monitor mon-object mon-server \
    1419         mon-task mon-queue mon-driver mon-dname mon-itask \
    15          mon-extension mon-manager mon-config mon-mpci
     20         mon-extension mon-manager mon-config $(MP_PIECES)
    1621C_FILES=$(C_PIECES:%=%.c)
    1722C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
  • c/src/lib/libmisc/monitor/mon-object.c

    r967f3aaa r97e2729d  
    4343    { RTEMS_MONITOR_OBJECT_MPCI,
    4444      (void *) 0,
     45#if defined(RTEMS_MULTIPROCESSING)
    4546      sizeof(rtems_monitor_mpci_t),
    4647      (rtems_monitor_object_next_fn)        rtems_monitor_mpci_next,
     
    4849      (rtems_monitor_object_dump_header_fn) rtems_monitor_mpci_dump_header,
    4950      (rtems_monitor_object_dump_fn)        rtems_monitor_mpci_dump,
     51#else
     52      0,
     53      (rtems_monitor_object_next_fn)        0,
     54      (rtems_monitor_object_canonical_fn)   0,
     55      (rtems_monitor_object_dump_header_fn) 0,
     56      (rtems_monitor_object_dump_fn)        0,
     57#endif
    5058    },
    5159    { RTEMS_MONITOR_OBJECT_INIT_TASK,
  • c/src/lib/libmisc/monitor/monitor.h

    r967f3aaa r97e2729d  
    201201 */
    202202
     203#if defined(RTEMS_MULTIPROCESSING)
    203204typedef struct {
    204205    unsigned32  node;                   /* local node number */
     
    215216    rtems_monitor_symbol_t   receive_packet;
    216217} rtems_monitor_mpci_t;
     218#endif
    217219
    218220/*
     
    228230    rtems_monitor_dname_t      dname;
    229231    rtems_monitor_config_t     config;
     232#if defined(RTEMS_MULTIPROCESSING)
    230233    rtems_monitor_mpci_t       mpci;
     234#endif
    231235    rtems_monitor_init_task_t  itask;
    232236} rtems_monitor_union_t;
     
    371375
    372376/* mpci.c */
     377#if defined(RTEMS_MULTIPROCESSING)
    373378void       rtems_monitor_mpci_canonical(rtems_monitor_mpci_t *, void *);
    374379void      *rtems_monitor_mpci_next(void *, rtems_monitor_mpci_t *, rtems_id *);
    375380void       rtems_monitor_mpci_dump_header(boolean);
    376381void       rtems_monitor_mpci_dump(rtems_monitor_mpci_t *, boolean verbose);
     382#endif
    377383
    378384/* itask.c */
  • c/src/libmisc/monitor/Makefile.in

    r967f3aaa r97e2729d  
    1010
    1111LIB=${ARCH}/libmonitor-tmp.a
     12
    1213# C source names, if any, go here -- minus the .c
     14# We only build multiprocessing related files if HAS_MP was defined
     15MP_PIECES_yes_V = mon-mpci
     16MP_PIECES = $(MP_PIECES_$(HAS_MP)_V)
     17
    1318C_PIECES=mon-command mon-symbols mon-prmisc mon-monitor mon-object mon-server \
    1419         mon-task mon-queue mon-driver mon-dname mon-itask \
    15          mon-extension mon-manager mon-config mon-mpci
     20         mon-extension mon-manager mon-config $(MP_PIECES)
    1621C_FILES=$(C_PIECES:%=%.c)
    1722C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
  • c/src/libmisc/monitor/mon-object.c

    r967f3aaa r97e2729d  
    4343    { RTEMS_MONITOR_OBJECT_MPCI,
    4444      (void *) 0,
     45#if defined(RTEMS_MULTIPROCESSING)
    4546      sizeof(rtems_monitor_mpci_t),
    4647      (rtems_monitor_object_next_fn)        rtems_monitor_mpci_next,
     
    4849      (rtems_monitor_object_dump_header_fn) rtems_monitor_mpci_dump_header,
    4950      (rtems_monitor_object_dump_fn)        rtems_monitor_mpci_dump,
     51#else
     52      0,
     53      (rtems_monitor_object_next_fn)        0,
     54      (rtems_monitor_object_canonical_fn)   0,
     55      (rtems_monitor_object_dump_header_fn) 0,
     56      (rtems_monitor_object_dump_fn)        0,
     57#endif
    5058    },
    5159    { RTEMS_MONITOR_OBJECT_INIT_TASK,
  • c/src/libmisc/monitor/monitor.h

    r967f3aaa r97e2729d  
    201201 */
    202202
     203#if defined(RTEMS_MULTIPROCESSING)
    203204typedef struct {
    204205    unsigned32  node;                   /* local node number */
     
    215216    rtems_monitor_symbol_t   receive_packet;
    216217} rtems_monitor_mpci_t;
     218#endif
    217219
    218220/*
     
    228230    rtems_monitor_dname_t      dname;
    229231    rtems_monitor_config_t     config;
     232#if defined(RTEMS_MULTIPROCESSING)
    230233    rtems_monitor_mpci_t       mpci;
     234#endif
    231235    rtems_monitor_init_task_t  itask;
    232236} rtems_monitor_union_t;
     
    371375
    372376/* mpci.c */
     377#if defined(RTEMS_MULTIPROCESSING)
    373378void       rtems_monitor_mpci_canonical(rtems_monitor_mpci_t *, void *);
    374379void      *rtems_monitor_mpci_next(void *, rtems_monitor_mpci_t *, rtems_id *);
    375380void       rtems_monitor_mpci_dump_header(boolean);
    376381void       rtems_monitor_mpci_dump(rtems_monitor_mpci_t *, boolean verbose);
     382#endif
    377383
    378384/* itask.c */
  • c/src/optman/rtems/no-mp.c

    r967f3aaa r97e2729d  
    1515
    1616#include <rtems/system.h>
     17#if !defined(RTEMS_MULTIPROCESSING)
     18char rtems_no_multiprocessing;
     19#else
    1720#include <rtems/rtems/status.h>
    1821#include <rtems/rtems/mp.h>
     
    198201  return NULL;
    199202}
    200 
     203#endif
    201204/* end of file */
  • c/src/tests/sptests/spsize/size.c

    r967f3aaa r97e2729d  
    8383#define PER_GOBTBL    (long) (sizeof (Chain_Control)*4)
    8484#define PER_NODE      (long) PER_GOBTBL
     85#if defined(RTEMS_MULTIPROCESSING)
    8586#define PER_GOBJECT   (long) (sizeof (Objects_MP_Control))
     87#else
     88#define PER_GOBJECT   (long) 0
     89#endif
    8690#define PER_PROXY     (long) (sizeof (Thread_Proxy_control))
    8791
    88 #if (CPU_ALL_TASKS_ARE_FP == TRUE)
     92#if !defined(RTEMS_MULTIPROCESSING) || (CPU_ALL_TASKS_ARE_FP != TRUE)
     93#define MPCI_RECEIVE_SERVER_FP (long) 0
     94#else
    8995#define MPCI_RECEIVE_SERVER_FP (long) (sizeof( Context_Control_fp ))
    90 #else
    91 #define MPCI_RECEIVE_SERVER_FP (long) 0
    9296#endif
    9397
     
    96100#else
    97101#define SYSTEM_IDLE_FP (long) 0
     102#endif
     103
     104#if defined(RTEMS_MULTIPROCESSING)
     105#define MPCI_RECEIVE_SERVER_STACK_SIZE 0
    98106#endif
    99107
     
    216224/*event.h*/     (sizeof _Event_Sync_state)                +
    217225
     226#if defined(RTEMS_MULTIPROCESSING)
    218227/*eventmp.h*/   0                                         +
     228#endif
    219229
    220230/*eventset.h*/  0                                         +
     
    245255/*modes.h*/     0                                         +
    246256
     257#if defined(RTEMS_MULTIPROCESSING)
    247258/*mp.h*/        0                                         +
    248 
     259#endif
     260
     261#if defined(RTEMS_MULTIPROCESSING)
    249262/*mpci.h*/      (sizeof _MPCI_Remote_blocked_threads)     +
    250263                (sizeof _MPCI_Semaphore)                  +
     
    252265                (sizeof _MPCI_Receive_server_tcb)         +
    253266                (sizeof _MPCI_Packet_processors)          +
    254 
     267#endif
     268
     269#if defined(RTEMS_MULTIPROCESSING)
    255270/*mppkt.h*/     0                                         +
    256 
     271#endif
     272
     273#if defined(RTEMS_MULTIPROCESSING)
    257274/*mptables.h*/  0                                         +
    258 
     275#endif
     276
     277#if defined(RTEMS_MULTIPROCESSING)
    259278/*msgmp.h*/     0                                         +
     279#endif
    260280
    261281/*object.h*/    (sizeof _Objects_Local_node)              +
     
    263283                (sizeof _Objects_Information_table)       +
    264284
     285#if defined(RTEMS_MULTIPROCESSING)
    265286/*objectmp.h*/  (sizeof _Objects_MP_Maximum_global_objects) +
    266287                (sizeof _Objects_MP_Inactive_global_objects) +
     288#endif
    267289
    268290/*options.h*/   0                                         +
     
    270292/*part.h*/      (sizeof _Partition_Information)           +
    271293
     294#if defined(RTEMS_MULTIPROCESSING)
    272295/*partmp.h*/    0                                         +
     296#endif
    273297
    274298/*priority.h*/  (sizeof _Priority_Major_bit_map)          +
     
    279303/*region.h*/    (sizeof _Region_Information)              +
    280304
     305#if defined(RTEMS_MULTIPROCESSING)
    281306/*regionmp.h*/  0                                         +
     307#endif
    282308
    283309/*rtems.h*/     /* Not applicable */
     
    285311/*sem.h*/       (sizeof _Semaphore_Information)           +
    286312
     313#if defined(RTEMS_MULTIPROCESSING)
    287314/*semmp.h*/     0                                         +
     315#endif
    288316
    289317/*signal.h*/    0                                         +
     
    302330/*system.h*/    (sizeof _CPU_Table)                       +
    303331
     332#if defined(RTEMS_MULTIPROCESSING)
    304333/*taskmp.h*/    0                                         +
     334#endif
    305335
    306336/*tasks.h*/     (sizeof _RTEMS_tasks_Information)         +
     
    320350                (sizeof _Thread_Idle)                     +
    321351
     352#if defined(RTEMS_MULTIPROCESSING)
    322353/*threadmp.h*/  (sizeof _Thread_MP_Receive)               +
    323354                (sizeof _Thread_MP_Active_proxies)        +
    324355                (sizeof _Thread_MP_Inactive_proxies)      +
     356#endif
    325357
    326358/*threadq.h*/   (sizeof _Thread_queue_Extract_table)      +
  • configure

    r967f3aaa r97e2729d  
    5151\
    5252  --enable-gmake-print-directory    enable GNU Make's print directory"
     53ac_help="$ac_help
     54\
     55  --enable-multiprocessing                  enable multiprocessing interface"
    5356ac_help="$ac_help
    5457\
     
    593596
    594597echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
    595 echo "configure:596: checking whether ${MAKE-make} sets \${MAKE}" >&5
     598echo "configure:599: checking whether ${MAKE-make} sets \${MAKE}" >&5
    596599set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
    597600if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
     
    666669
    667670echo $ac_n "checking host system type""... $ac_c" 1>&6
    668 echo "configure:669: checking host system type" >&5
     671echo "configure:672: checking host system type" >&5
    669672
    670673host_alias=$host
     
    687690
    688691echo $ac_n "checking target system type""... $ac_c" 1>&6
    689 echo "configure:690: checking target system type" >&5
     692echo "configure:693: checking target system type" >&5
    690693
    691694target_alias=$target
     
    705708
    706709echo $ac_n "checking build system type""... $ac_c" 1>&6
    707 echo "configure:708: checking build system type" >&5
     710echo "configure:711: checking build system type" >&5
    708711
    709712build_alias=$build
     
    749752
    750753
     754# Check whether --enable-multiprocessing or --disable-multiprocessing was given.
     755if test "${enable_multiprocessing+set}" = set; then
     756  enableval="$enable_multiprocessing"
     757  \
     758case "${enableval}" in
     759  yes) RTEMS_HAS_MULTIPROCESSING=yes ;;
     760  no) RTEMS_HAS_MULTIPROCESSING=no ;;
     761  *)  { echo "configure: error: bad value ${enableval} for enable-multiprocessing option" 1>&2; exit 1; } ;;
     762esac
     763else
     764  RTEMS_HAS_MULTIPROCESSING=no
     765fi
     766
     767
    751768# Check whether --enable-posix or --disable-posix was given.
    752769if test "${enable_posix+set}" = set; then
     
    858875set dummy cat; ac_word=$2
    859876echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    860 echo "configure:861: checking for $ac_word" >&5
     877echo "configure:878: checking for $ac_word" >&5
    861878if eval "test \"`echo '$''{'ac_cv_path_CAT'+set}'`\" = set"; then
    862879  echo $ac_n "(cached) $ac_c" 1>&6
     
    889906set dummy rm; ac_word=$2
    890907echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    891 echo "configure:892: checking for $ac_word" >&5
     908echo "configure:909: checking for $ac_word" >&5
    892909if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then
    893910  echo $ac_n "(cached) $ac_c" 1>&6
     
    920937set dummy cp; ac_word=$2
    921938echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    922 echo "configure:923: checking for $ac_word" >&5
     939echo "configure:940: checking for $ac_word" >&5
    923940if eval "test \"`echo '$''{'ac_cv_path_CP'+set}'`\" = set"; then
    924941  echo $ac_n "(cached) $ac_c" 1>&6
     
    951968set dummy mv; ac_word=$2
    952969echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    953 echo "configure:954: checking for $ac_word" >&5
     970echo "configure:971: checking for $ac_word" >&5
    954971if eval "test \"`echo '$''{'ac_cv_path_MV'+set}'`\" = set"; then
    955972  echo $ac_n "(cached) $ac_c" 1>&6
     
    982999set dummy ln; ac_word=$2
    9831000echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    984 echo "configure:985: checking for $ac_word" >&5
     1001echo "configure:1002: checking for $ac_word" >&5
    9851002if eval "test \"`echo '$''{'ac_cv_path_LN'+set}'`\" = set"; then
    9861003  echo $ac_n "(cached) $ac_c" 1>&6
     
    10111028
    10121029echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
    1013 echo "configure:1014: checking whether ln -s works" >&5
     1030echo "configure:1031: checking whether ln -s works" >&5
    10141031if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
    10151032  echo $ac_n "(cached) $ac_c" 1>&6
     
    10341051set dummy chmod; ac_word=$2
    10351052echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1036 echo "configure:1037: checking for $ac_word" >&5
     1053echo "configure:1054: checking for $ac_word" >&5
    10371054if eval "test \"`echo '$''{'ac_cv_path_CHMOD'+set}'`\" = set"; then
    10381055  echo $ac_n "(cached) $ac_c" 1>&6
     
    10651082set dummy sort; ac_word=$2
    10661083echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1067 echo "configure:1068: checking for $ac_word" >&5
     1084echo "configure:1085: checking for $ac_word" >&5
    10681085if eval "test \"`echo '$''{'ac_cv_path_SORT'+set}'`\" = set"; then
    10691086  echo $ac_n "(cached) $ac_c" 1>&6
     
    11041121# ./install, which can be erroneously created by make from ./install.sh.
    11051122echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
    1106 echo "configure:1107: checking for a BSD compatible install" >&5
     1123echo "configure:1124: checking for a BSD compatible install" >&5
    11071124if test -z "$INSTALL"; then
    11081125if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
     
    11561173set dummy perl; ac_word=$2
    11571174echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1158 echo "configure:1159: checking for $ac_word" >&5
     1175echo "configure:1176: checking for $ac_word" >&5
    11591176if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
    11601177  echo $ac_n "(cached) $ac_c" 1>&6
     
    11931210set dummy mkdir; ac_word=$2
    11941211echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1195 echo "configure:1196: checking for $ac_word" >&5
     1212echo "configure:1213: checking for $ac_word" >&5
    11961213if eval "test \"`echo '$''{'ac_cv_path_MKDIR'+set}'`\" = set"; then
    11971214  echo $ac_n "(cached) $ac_c" 1>&6
     
    12251242
    12261243echo $ac_n "checking for working $MKDIR -m 0755""... $ac_c" 1>&6
    1227 echo "configure:1228: checking for working $MKDIR -m 0755" >&5
     1244echo "configure:1245: checking for working $MKDIR -m 0755" >&5
    12281245if eval "test \"`echo '$''{'rtems_cv_prog_MKDIR_P'+set}'`\" = set"; then
    12291246  echo $ac_n "(cached) $ac_c" 1>&6
     
    12421259
    12431260echo $ac_n "checking for working $MKDIR -p""... $ac_c" 1>&6
    1244 echo "configure:1245: checking for working $MKDIR -p" >&5
     1261echo "configure:1262: checking for working $MKDIR -p" >&5
    12451262if eval "test \"`echo '$''{'rtems_cv_prog_mkdir_p'+set}'`\" = set"; then
    12461263  echo $ac_n "(cached) $ac_c" 1>&6
     
    12621279set dummy touch; ac_word=$2
    12631280echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1264 echo "configure:1265: checking for $ac_word" >&5
     1281echo "configure:1282: checking for $ac_word" >&5
    12651282if eval "test \"`echo '$''{'ac_cv_path_TOUCH'+set}'`\" = set"; then
    12661283  echo $ac_n "(cached) $ac_c" 1>&6
     
    12931310set dummy cmp; ac_word=$2
    12941311echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1295 echo "configure:1296: checking for $ac_word" >&5
     1312echo "configure:1313: checking for $ac_word" >&5
    12961313if eval "test \"`echo '$''{'ac_cv_path_CMP'+set}'`\" = set"; then
    12971314  echo $ac_n "(cached) $ac_c" 1>&6
     
    13251342set dummy sed; ac_word=$2
    13261343echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1327 echo "configure:1328: checking for $ac_word" >&5
     1344echo "configure:1345: checking for $ac_word" >&5
    13281345if eval "test \"`echo '$''{'ac_cv_path_SED'+set}'`\" = set"; then
    13291346  echo $ac_n "(cached) $ac_c" 1>&6
     
    13581375set dummy $ac_prog; ac_word=$2
    13591376echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1360 echo "configure:1361: checking for $ac_word" >&5
     1377echo "configure:1378: checking for $ac_word" >&5
    13611378if eval "test \"`echo '$''{'ac_cv_path_M4'+set}'`\" = set"; then
    13621379  echo $ac_n "(cached) $ac_c" 1>&6
     
    13951412set dummy $ac_prog; ac_word=$2
    13961413echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1397 echo "configure:1398: checking for $ac_word" >&5
     1414echo "configure:1415: checking for $ac_word" >&5
    13981415if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
    13991416  echo $ac_n "(cached) $ac_c" 1>&6
     
    14731490  *)
    14741491        echo $ac_n "checking rtems target cpu""... $ac_c" 1>&6
    1475 echo "configure:1476: checking rtems target cpu" >&5
     1492echo "configure:1493: checking rtems target cpu" >&5
    14761493target_cpu=`echo $target | sed 's%^\([^-]*\)-\(.*\)$%\1%'`
    14771494echo "$ac_t""$target_cpu" 1>&6
     
    14921509# Is this a supported CPU?
    14931510echo $ac_n "checking if cpu $target_cpu is supported""... $ac_c" 1>&6
    1494 echo "configure:1495: checking if cpu $target_cpu is supported" >&5
     1511echo "configure:1512: checking if cpu $target_cpu is supported" >&5
    14951512if test -d "$srcdir/c/src/exec/score/cpu/$target_cpu"; then
    14961513  echo "$ac_t""yes" 1>&6
     
    15171534set dummy $ac_prog; ac_word=$2
    15181535echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1519 echo "configure:1520: checking for $ac_word" >&5
     1536echo "configure:1537: checking for $ac_word" >&5
    15201537if eval "test \"`echo '$''{'ac_cv_path_CC_FOR_TARGET'+set}'`\" = set"; then
    15211538  echo $ac_n "(cached) $ac_c" 1>&6
     
    15571574
    15581575echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
    1559 echo "configure:1560: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
     1576echo "configure:1577: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
    15601577
    15611578ac_ext=c
     
    15671584
    15681585cat > conftest.$ac_ext <<EOF
    1569 #line 1570 "configure"
     1586#line 1587 "configure"
    15701587#include "confdefs.h"
    15711588main(){return(0);}
    15721589EOF
    1573 if { (eval echo configure:1574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
     1590if { (eval echo configure:1591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
    15741591  ac_cv_prog_cc_works=yes
    15751592  # If we can't run a trivial program, we are probably using a cross compiler.
     
    15911608fi
    15921609echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
    1593 echo "configure:1594: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
     1610echo "configure:1611: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
    15941611echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
    15951612cross_compiling=$ac_cv_prog_cc_cross
    15961613
    15971614echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
    1598 echo "configure:1599: checking whether we are using GNU C" >&5
     1615echo "configure:1616: checking whether we are using GNU C" >&5
    15991616if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
    16001617  echo $ac_n "(cached) $ac_c" 1>&6
     
    16051622#endif
    16061623EOF
    1607 if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1608: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
     1624if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1625: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
    16081625  ac_cv_prog_gcc=yes
    16091626else
     
    16201637  CFLAGS=
    16211638  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
    1622 echo "configure:1623: checking whether ${CC-cc} accepts -g" >&5
     1639echo "configure:1640: checking whether ${CC-cc} accepts -g" >&5
    16231640if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
    16241641  echo $ac_n "(cached) $ac_c" 1>&6
     
    16621679
    16631680echo $ac_n "checking whether $CC_FOR_TARGET accepts -specs""... $ac_c" 1>&6
    1664 echo "configure:1665: checking whether $CC_FOR_TARGET accepts -specs" >&5
     1681echo "configure:1682: checking whether $CC_FOR_TARGET accepts -specs" >&5
    16651682if eval "test \"`echo '$''{'rtems_cv_gcc_specs'+set}'`\" = set"; then
    16661683  echo $ac_n "(cached) $ac_c" 1>&6
     
    16831700
    16841701echo $ac_n "checking whether $CC_FOR_TARGET accepts --pipe""... $ac_c" 1>&6
    1685 echo "configure:1686: checking whether $CC_FOR_TARGET accepts --pipe" >&5
     1702echo "configure:1703: checking whether $CC_FOR_TARGET accepts --pipe" >&5
    16861703if eval "test \"`echo '$''{'rtems_cv_gcc_pipe'+set}'`\" = set"; then
    16871704  echo $ac_n "(cached) $ac_c" 1>&6
     
    17241741set dummy $ac_prog; ac_word=$2
    17251742echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1726 echo "configure:1727: checking for $ac_word" >&5
     1743echo "configure:1744: checking for $ac_word" >&5
    17271744if eval "test \"`echo '$''{'ac_cv_path_CXX_FOR_TARGET'+set}'`\" = set"; then
    17281745  echo $ac_n "(cached) $ac_c" 1>&6
     
    17641781
    17651782echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
    1766 echo "configure:1767: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
     1783echo "configure:1784: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
    17671784
    17681785ac_ext=C
     
    17741791
    17751792cat > conftest.$ac_ext <<EOF
    1776 #line 1777 "configure"
     1793#line 1794 "configure"
    17771794#include "confdefs.h"
    17781795main(){return(0);}
    17791796EOF
    1780 if { (eval echo configure:1781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
     1797if { (eval echo configure:1798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
    17811798  ac_cv_prog_cxx_works=yes
    17821799  # If we can't run a trivial program, we are probably using a cross compiler.
     
    18041821fi
    18051822echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
    1806 echo "configure:1807: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
     1823echo "configure:1824: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
    18071824echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
    18081825cross_compiling=$ac_cv_prog_cxx_cross
    18091826
    18101827echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
    1811 echo "configure:1812: checking whether we are using GNU C++" >&5
     1828echo "configure:1829: checking whether we are using GNU C++" >&5
    18121829if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
    18131830  echo $ac_n "(cached) $ac_c" 1>&6
     
    18181835#endif
    18191836EOF
    1820 if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1821: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
     1837if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1838: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
    18211838  ac_cv_prog_gxx=yes
    18221839else
     
    18331850  CXXFLAGS=
    18341851  echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
    1835 echo "configure:1836: checking whether ${CXX-g++} accepts -g" >&5
     1852echo "configure:1853: checking whether ${CXX-g++} accepts -g" >&5
    18361853if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
    18371854  echo $ac_n "(cached) $ac_c" 1>&6
     
    18771894     Inconsistency in compiler configuration:
    18781895     Target C compiler and Target C++ compiler
    1879      must both ether be cross compilers or native compilers
     1896     must both either be cross compilers or native compilers
    18801897     Hint: If building a posix bsp: LD_LIBRARY_PATH? " 1>&2; exit 1; }
    18811898  fi
     
    18871904 
    18881905echo $ac_n "checking target's ar""... $ac_c" 1>&6
    1889 echo "configure:1890: checking target's ar" >&5
     1906echo "configure:1907: checking target's ar" >&5
    18901907if eval "test \"`echo '$''{'ac_cv_path_AR_FOR_TARGET'+set}'`\" = set"; then
    18911908  echo $ac_n "(cached) $ac_c" 1>&6
     
    19201937    # intends
    19211938    echo $ac_n "checking whether environment variable AR_FOR_TARGET is an absolute path""... $ac_c" 1>&6
    1922 echo "configure:1923: checking whether environment variable AR_FOR_TARGET is an absolute path" >&5
     1939echo "configure:1940: checking whether environment variable AR_FOR_TARGET is an absolute path" >&5
    19231940    case "$AR_FOR_TARGET" in
    19241941    /*) # valid
     
    19371954set dummy "$program_prefix"ar; ac_word=$2
    19381955echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    1939 echo "configure:1940: checking for $ac_word" >&5
     1956echo "configure:1957: checking for $ac_word" >&5
    19401957if eval "test \"`echo '$''{'ac_cv_path_AR_FOR_TARGET'+set}'`\" = set"; then
    19411958  echo $ac_n "(cached) $ac_c" 1>&6
     
    19701987 
    19711988echo $ac_n "checking target's as""... $ac_c" 1>&6
    1972 echo "configure:1973: checking target's as" >&5
     1989echo "configure:1990: checking target's as" >&5
    19731990if eval "test \"`echo '$''{'ac_cv_path_AS_FOR_TARGET'+set}'`\" = set"; then
    19741991  echo $ac_n "(cached) $ac_c" 1>&6
     
    20032020    # intends
    20042021    echo $ac_n "checking whether environment variable AS_FOR_TARGET is an absolute path""... $ac_c" 1>&6
    2005 echo "configure:2006: checking whether environment variable AS_FOR_TARGET is an absolute path" >&5
     2022echo "configure:2023: checking whether environment variable AS_FOR_TARGET is an absolute path" >&5
    20062023    case "$AS_FOR_TARGET" in
    20072024    /*) # valid
     
    20202037set dummy "$program_prefix"as; ac_word=$2
    20212038echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    2022 echo "configure:2023: checking for $ac_word" >&5
     2039echo "configure:2040: checking for $ac_word" >&5
    20232040if eval "test \"`echo '$''{'ac_cv_path_AS_FOR_TARGET'+set}'`\" = set"; then
    20242041  echo $ac_n "(cached) $ac_c" 1>&6
     
    20532070 
    20542071echo $ac_n "checking target's ld""... $ac_c" 1>&6
    2055 echo "configure:2056: checking target's ld" >&5
     2072echo "configure:2073: checking target's ld" >&5
    20562073if eval "test \"`echo '$''{'ac_cv_path_LD_FOR_TARGET'+set}'`\" = set"; then
    20572074  echo $ac_n "(cached) $ac_c" 1>&6
     
    20862103    # intends
    20872104    echo $ac_n "checking whether environment variable LD_FOR_TARGET is an absolute path""... $ac_c" 1>&6
    2088 echo "configure:2089: checking whether environment variable LD_FOR_TARGET is an absolute path" >&5
     2105echo "configure:2106: checking whether environment variable LD_FOR_TARGET is an absolute path" >&5
    20892106    case "$LD_FOR_TARGET" in
    20902107    /*) # valid
     
    21032120set dummy "$program_prefix"ld; ac_word=$2
    21042121echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    2105 echo "configure:2106: checking for $ac_word" >&5
     2122echo "configure:2123: checking for $ac_word" >&5
    21062123if eval "test \"`echo '$''{'ac_cv_path_LD_FOR_TARGET'+set}'`\" = set"; then
    21072124  echo $ac_n "(cached) $ac_c" 1>&6
     
    21362153 
    21372154echo $ac_n "checking target's nm""... $ac_c" 1>&6
    2138 echo "configure:2139: checking target's nm" >&5
     2155echo "configure:2156: checking target's nm" >&5
    21392156if eval "test \"`echo '$''{'ac_cv_path_NM_FOR_TARGET'+set}'`\" = set"; then
    21402157  echo $ac_n "(cached) $ac_c" 1>&6
     
    21692186    # intends
    21702187    echo $ac_n "checking whether environment variable NM_FOR_TARGET is an absolute path""... $ac_c" 1>&6
    2171 echo "configure:2172: checking whether environment variable NM_FOR_TARGET is an absolute path" >&5
     2188echo "configure:2189: checking whether environment variable NM_FOR_TARGET is an absolute path" >&5
    21722189    case "$NM_FOR_TARGET" in
    21732190    /*) # valid
     
    21862203set dummy "$program_prefix"nm; ac_word=$2
    21872204echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    2188 echo "configure:2189: checking for $ac_word" >&5
     2205echo "configure:2206: checking for $ac_word" >&5
    21892206if eval "test \"`echo '$''{'ac_cv_path_NM_FOR_TARGET'+set}'`\" = set"; then
    21902207  echo $ac_n "(cached) $ac_c" 1>&6
     
    22202237 
    22212238echo $ac_n "checking target's ranlib""... $ac_c" 1>&6
    2222 echo "configure:2223: checking target's ranlib" >&5
     2239echo "configure:2240: checking target's ranlib" >&5
    22232240if eval "test \"`echo '$''{'ac_cv_path_RANLIB_FOR_TARGET'+set}'`\" = set"; then
    22242241  echo $ac_n "(cached) $ac_c" 1>&6
     
    22532270    # intends
    22542271    echo $ac_n "checking whether environment variable RANLIB_FOR_TARGET is an absolute path""... $ac_c" 1>&6
    2255 echo "configure:2256: checking whether environment variable RANLIB_FOR_TARGET is an absolute path" >&5
     2272echo "configure:2273: checking whether environment variable RANLIB_FOR_TARGET is an absolute path" >&5
    22562273    case "$RANLIB_FOR_TARGET" in
    22572274    /*) # valid
     
    22702287set dummy "$program_prefix"ranlib; ac_word=$2
    22712288echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    2272 echo "configure:2273: checking for $ac_word" >&5
     2289echo "configure:2290: checking for $ac_word" >&5
    22732290if eval "test \"`echo '$''{'ac_cv_path_RANLIB_FOR_TARGET'+set}'`\" = set"; then
    22742291  echo $ac_n "(cached) $ac_c" 1>&6
     
    23052322   
    23062323echo $ac_n "checking whether $AR_FOR_TARGET -s works""... $ac_c" 1>&6
    2307 echo "configure:2308: checking whether $AR_FOR_TARGET -s works" >&5
     2324echo "configure:2325: checking whether $AR_FOR_TARGET -s works" >&5
    23082325if eval "test \"`echo '$''{'rtems_cv_AR_FOR_TARGET_S'+set}'`\" = set"; then
    23092326  echo $ac_n "(cached) $ac_c" 1>&6
     
    23142331{ return b; }
    23152332EOF
    2316 if { ac_try='$CC_FOR_TARGET -o conftest.o -c conftest.$ac_ext'; { (eval echo configure:2317: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } \
    2317   && { ac_try='$AR_FOR_TARGET -sr conftest.a conftest.o'; { (eval echo configure:2318: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } \
     2333if { ac_try='$CC_FOR_TARGET -o conftest.o -c conftest.$ac_ext'; { (eval echo configure:2334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } \
     2334  && { ac_try='$AR_FOR_TARGET -sr conftest.a conftest.o'; { (eval echo configure:2335: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } \
    23182335  && test -s conftest.a ; \
    23192336then
     
    23402357 
    23412358echo $ac_n "checking target's objcopy""... $ac_c" 1>&6
    2342 echo "configure:2343: checking target's objcopy" >&5
     2359echo "configure:2360: checking target's objcopy" >&5
    23432360if eval "test \"`echo '$''{'ac_cv_path_OBJCOPY_FOR_TARGET'+set}'`\" = set"; then
    23442361  echo $ac_n "(cached) $ac_c" 1>&6
     
    23732390    # intends
    23742391    echo $ac_n "checking whether environment variable OBJCOPY_FOR_TARGET is an absolute path""... $ac_c" 1>&6
    2375 echo "configure:2376: checking whether environment variable OBJCOPY_FOR_TARGET is an absolute path" >&5
     2392echo "configure:2393: checking whether environment variable OBJCOPY_FOR_TARGET is an absolute path" >&5
    23762393    case "$OBJCOPY_FOR_TARGET" in
    23772394    /*) # valid
     
    23902407set dummy "$program_prefix"objcopy; ac_word=$2
    23912408echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    2392 echo "configure:2393: checking for $ac_word" >&5
     2409echo "configure:2410: checking for $ac_word" >&5
    23932410if eval "test \"`echo '$''{'ac_cv_path_OBJCOPY_FOR_TARGET'+set}'`\" = set"; then
    23942411  echo $ac_n "(cached) $ac_c" 1>&6
     
    24232440 
    24242441echo $ac_n "checking target's size""... $ac_c" 1>&6
    2425 echo "configure:2426: checking target's size" >&5
     2442echo "configure:2443: checking target's size" >&5
    24262443if eval "test \"`echo '$''{'ac_cv_path_SIZE_FOR_TARGET'+set}'`\" = set"; then
    24272444  echo $ac_n "(cached) $ac_c" 1>&6
     
    24562473    # intends
    24572474    echo $ac_n "checking whether environment variable SIZE_FOR_TARGET is an absolute path""... $ac_c" 1>&6
    2458 echo "configure:2459: checking whether environment variable SIZE_FOR_TARGET is an absolute path" >&5
     2475echo "configure:2476: checking whether environment variable SIZE_FOR_TARGET is an absolute path" >&5
    24592476    case "$SIZE_FOR_TARGET" in
    24602477    /*) # valid
     
    24732490set dummy "$program_prefix"size; ac_word=$2
    24742491echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    2475 echo "configure:2476: checking for $ac_word" >&5
     2492echo "configure:2493: checking for $ac_word" >&5
    24762493if eval "test \"`echo '$''{'ac_cv_path_SIZE_FOR_TARGET'+set}'`\" = set"; then
    24772494  echo $ac_n "(cached) $ac_c" 1>&6
     
    25062523 
    25072524echo $ac_n "checking target's strip""... $ac_c" 1>&6
    2508 echo "configure:2509: checking target's strip" >&5
     2525echo "configure:2526: checking target's strip" >&5
    25092526if eval "test \"`echo '$''{'ac_cv_path_STRIP_FOR_TARGET'+set}'`\" = set"; then
    25102527  echo $ac_n "(cached) $ac_c" 1>&6
     
    25392556    # intends
    25402557    echo $ac_n "checking whether environment variable STRIP_FOR_TARGET is an absolute path""... $ac_c" 1>&6
    2541 echo "configure:2542: checking whether environment variable STRIP_FOR_TARGET is an absolute path" >&5
     2558echo "configure:2559: checking whether environment variable STRIP_FOR_TARGET is an absolute path" >&5
    25422559    case "$STRIP_FOR_TARGET" in
    25432560    /*) # valid
     
    25562573set dummy "$program_prefix"strip; ac_word=$2
    25572574echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    2558 echo "configure:2559: checking for $ac_word" >&5
     2575echo "configure:2576: checking for $ac_word" >&5
    25592576if eval "test \"`echo '$''{'ac_cv_path_STRIP_FOR_TARGET'+set}'`\" = set"; then
    25602577  echo $ac_n "(cached) $ac_c" 1>&6
     
    25912608if test "${target_cpu}" = "i386"; then
    25922609    echo $ac_n "checking for 16 bit mode assembler support""... $ac_c" 1>&6
    2593 echo "configure:2594: checking for 16 bit mode assembler support" >&5
     2610echo "configure:2611: checking for 16 bit mode assembler support" >&5
    25942611if eval "test \"`echo '$''{'rtems_cv_prog_gas_code16'+set}'`\" = set"; then
    25952612  echo $ac_n "(cached) $ac_c" 1>&6
     
    26012618         lgdt 0
    26022619EOF
    2603       if { ac_try='$AS_FOR_TARGET -o conftest.o conftest.s'; { (eval echo configure:2604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
     2620      if { ac_try='$AS_FOR_TARGET -o conftest.o conftest.s'; { (eval echo configure:2621: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
    26042621        rtems_cv_prog_gas_code16=yes
    26052622      else
     
    26162633set dummy gcc; ac_word=$2
    26172634echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    2618 echo "configure:2619: checking for $ac_word" >&5
     2635echo "configure:2636: checking for $ac_word" >&5
    26192636if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    26202637  echo $ac_n "(cached) $ac_c" 1>&6
     
    26452662set dummy cc; ac_word=$2
    26462663echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
    2647 echo "configure:2648: checking for $ac_word" >&5
     2664echo "configure:2665: checking for $ac_word" >&5
    26482665if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    26492666  echo $ac_n "(cached) $ac_c" 1>&6
     
    26932710
    26942711echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
    2695 echo "configure:2696: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
     2712echo "configure:2713: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
    26962713
    26972714ac_ext=c
     
    27032720
    27042721cat > conftest.$ac_ext <<EOF
    2705 #line 2706 "configure"
     2722#line 2723 "configure"
    27062723#include "confdefs.h"
    27072724main(){return(0);}
    27082725EOF
    2709 if { (eval echo configure:2710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
     2726if { (eval echo configure:2727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
    27102727  ac_cv_prog_cc_works=yes
    27112728  # If we can't run a trivial program, we are probably using a cross compiler.
     
    27272744fi
    27282745echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
    2729 echo "configure:2730: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
     2746echo "configure:2747: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
    27302747echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
    27312748cross_compiling=$ac_cv_prog_cc_cross
    27322749
    27332750echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
    2734 echo "configure:2735: checking whether we are using GNU C" >&5
     2751echo "configure:2752: checking whether we are using GNU C" >&5
    27352752if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
    27362753  echo $ac_n "(cached) $ac_c" 1>&6
     
    27412758#endif
    27422759EOF
    2743 if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2744: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
     2760if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2761: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
    27442761  ac_cv_prog_gcc=yes
    27452762else
     
    27562773  CFLAGS=
    27572774  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
    2758 echo "configure:2759: checking whether ${CC-cc} accepts -g" >&5
     2775echo "configure:2776: checking whether ${CC-cc} accepts -g" >&5
    27592776if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
    27602777  echo $ac_n "(cached) $ac_c" 1>&6
     
    27852802
    27862803echo $ac_n "checking for Cygwin32 environment""... $ac_c" 1>&6
    2787 echo "configure:2788: checking for Cygwin32 environment" >&5
     2804echo "configure:2805: checking for Cygwin32 environment" >&5
    27882805if eval "test \"`echo '$''{'rtems_cv_cygwin32'+set}'`\" = set"; then
    27892806  echo $ac_n "(cached) $ac_c" 1>&6
    27902807else
    27912808  cat > conftest.$ac_ext <<EOF
    2792 #line 2793 "configure"
     2809#line 2810 "configure"
    27932810#include "confdefs.h"
    27942811
     
    27972814; return 0; }
    27982815EOF
    2799 if { (eval echo configure:2800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
     2816if { (eval echo configure:2817: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    28002817  rm -rf conftest*
    28012818  rtems_cv_cygwin32=yes
     
    28152832
    28162833echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
    2817 echo "configure:2818: checking for executable suffix" >&5
     2834echo "configure:2835: checking for executable suffix" >&5
    28182835if eval "test \"`echo '$''{'rtems_cv_exeext'+set}'`\" = set"; then
    28192836  echo $ac_n "(cached) $ac_c" 1>&6
     
    28562873do
    28572874echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
    2858 echo "configure:2859: checking for $ac_func" >&5
     2875echo "configure:2876: checking for $ac_func" >&5
    28592876if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
    28602877  echo $ac_n "(cached) $ac_c" 1>&6
    28612878else
    28622879  cat > conftest.$ac_ext <<EOF
    2863 #line 2864 "configure"
     2880#line 2881 "configure"
    28642881#include "confdefs.h"
    28652882/* System header to define __stub macros and hopefully few prototypes,
     
    28842901; return 0; }
    28852902EOF
    2886 if { (eval echo configure:2887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
     2903if { (eval echo configure:2904: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
    28872904  rm -rf conftest*
    28882905  eval "ac_cv_func_$ac_func=yes"
     
    29132930
    29142931echo $ac_n "checking whether $RTEMS_HOST supports System V semaphores""... $ac_c" 1>&6
    2915 echo "configure:2916: checking whether $RTEMS_HOST supports System V semaphores" >&5
     2932echo "configure:2933: checking whether $RTEMS_HOST supports System V semaphores" >&5
    29162933if eval "test \"`echo '$''{'rtems_cv_sysv_sem'+set}'`\" = set"; then
    29172934  echo $ac_n "(cached) $ac_c" 1>&6
     
    29222939else
    29232940  cat > conftest.$ac_ext <<EOF
    2924 #line 2925 "configure"
     2941#line 2942 "configure"
    29252942#include "confdefs.h"
    29262943
     
    29482965
    29492966EOF
    2950 if { (eval echo configure:2951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
     2967if { (eval echo configure:2968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
    29512968then
    29522969  rtems_cv_sysv_sem="yes"
     
    29712988
    29722989echo $ac_n "checking whether $RTEMS_HOST supports System V shared memory""... $ac_c" 1>&6
    2973 echo "configure:2974: checking whether $RTEMS_HOST supports System V shared memory" >&5
     2990echo "configure:2991: checking whether $RTEMS_HOST supports System V shared memory" >&5
    29742991if eval "test \"`echo '$''{'rtems_cv_sysv_shm'+set}'`\" = set"; then
    29752992  echo $ac_n "(cached) $ac_c" 1>&6
     
    29802997else
    29812998  cat > conftest.$ac_ext <<EOF
    2982 #line 2983 "configure"
     2999#line 3000 "configure"
    29833000#include "confdefs.h"
    29843001
     
    29963013
    29973014EOF
    2998 if { (eval echo configure:2999: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
     3015if { (eval echo configure:3016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
    29993016then
    30003017  rtems_cv_sysv_shm="yes"
     
    30193036
    30203037echo $ac_n "checking whether $RTEMS_HOST supports System V messages""... $ac_c" 1>&6
    3021 echo "configure:3022: checking whether $RTEMS_HOST supports System V messages" >&5
     3038echo "configure:3039: checking whether $RTEMS_HOST supports System V messages" >&5
    30223039if eval "test \"`echo '$''{'rtems_cv_sysv_msg'+set}'`\" = set"; then
    30233040  echo $ac_n "(cached) $ac_c" 1>&6
     
    30283045else
    30293046  cat > conftest.$ac_ext <<EOF
    3030 #line 3031 "configure"
     3047#line 3048 "configure"
    30313048#include "confdefs.h"
    30323049
     
    30443061
    30453062EOF
    3046 if { (eval echo configure:3047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
     3063if { (eval echo configure:3064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
    30473064then
    30483065  rtems_cv_sysv_msg="yes"
     
    30693086
    30703087echo $ac_n "checking for Makefile.in in c/src/exec/score/tools/$target_cpu""... $ac_c" 1>&6
    3071 echo "configure:3072: checking for Makefile.in in c/src/exec/score/tools/$target_cpu" >&5
     3088echo "configure:3089: checking for Makefile.in in c/src/exec/score/tools/$target_cpu" >&5
    30723089if test -d $srcdir/c/src/exec/score/tools/$target_cpu; then
    30733090  rtems_av_save_dir=`pwd`;
     
    30843101
    30853102echo $ac_n "checking for Makefile.in in c/src/exec/rtems""... $ac_c" 1>&6
    3086 echo "configure:3087: checking for Makefile.in in c/src/exec/rtems" >&5
     3103echo "configure:3104: checking for Makefile.in in c/src/exec/rtems" >&5
    30873104if test -d $srcdir/c/src/exec/rtems; then
    30883105  rtems_av_save_dir=`pwd`;
     
    30993116
    31003117echo $ac_n "checking for Makefile.in in c/src/exec/sapi""... $ac_c" 1>&6
    3101 echo "configure:3102: checking for Makefile.in in c/src/exec/sapi" >&5
     3118echo "configure:3119: checking for Makefile.in in c/src/exec/sapi" >&5
    31023119if test -d $srcdir/c/src/exec/sapi; then
    31033120  rtems_av_save_dir=`pwd`;
     
    31163133 
    31173134echo $ac_n "checking for Makefile.in in c/src/exec/posix""... $ac_c" 1>&6
    3118 echo "configure:3119: checking for Makefile.in in c/src/exec/posix" >&5
     3135echo "configure:3136: checking for Makefile.in in c/src/exec/posix" >&5
    31193136if test -d $srcdir/c/src/exec/posix; then
    31203137  rtems_av_save_dir=`pwd`;
     
    31383155  if test -z "$rtems_bsp"; then
    31393156    echo $ac_n "checking for bsps""... $ac_c" 1>&6
    3140 echo "configure:3141: checking for bsps" >&5
     3157echo "configure:3158: checking for bsps" >&5
    31413158    files=`ls $srcdir/c/src/lib/libbsp/$target_cpu`
    31423159    for file in $files; do
     
    32033220       
    32043221echo $ac_n "checking for Makefile.in in c/src/lib/libbsp/$bspcpudir$bspdir""... $ac_c" 1>&6
    3205 echo "configure:3206: checking for Makefile.in in c/src/lib/libbsp/$bspcpudir$bspdir" >&5
     3222echo "configure:3223: checking for Makefile.in in c/src/lib/libbsp/$bspcpudir$bspdir" >&5
    32063223if test -d $srcdir/c/src/lib/libbsp/$bspcpudir$bspdir; then
    32073224  rtems_av_save_dir=`pwd`;
     
    32183235       
    32193236echo $ac_n "checking for Makefile.in in c/src/lib/libbsp/${bspcpudir}shared""... $ac_c" 1>&6
    3220 echo "configure:3221: checking for Makefile.in in c/src/lib/libbsp/${bspcpudir}shared" >&5
     3237echo "configure:3238: checking for Makefile.in in c/src/lib/libbsp/${bspcpudir}shared" >&5
    32213238if test -d $srcdir/c/src/lib/libbsp/${bspcpudir}shared; then
    32223239  rtems_av_save_dir=`pwd`;
     
    32413258
    32423259echo $ac_n "checking for Makefile.in in c/src/lib/libcpu/$target_cpu""... $ac_c" 1>&6
    3243 echo "configure:3244: checking for Makefile.in in c/src/lib/libcpu/$target_cpu" >&5
     3260echo "configure:3261: checking for Makefile.in in c/src/lib/libcpu/$target_cpu" >&5
    32443261if test -d $srcdir/c/src/lib/libcpu/$target_cpu; then
    32453262  rtems_av_save_dir=`pwd`;
     
    32583275 
    32593276echo $ac_n "checking for Makefile.in in c/src/lib/start/$target_cpu""... $ac_c" 1>&6
    3260 echo "configure:3261: checking for Makefile.in in c/src/lib/start/$target_cpu" >&5
     3277echo "configure:3278: checking for Makefile.in in c/src/lib/start/$target_cpu" >&5
    32613278if test -d $srcdir/c/src/lib/start/$target_cpu; then
    32623279  rtems_av_save_dir=`pwd`;
     
    32903307# If the TCP/IP stack is enabled, then find all TCP/IP Makefiles
    32913308echo $ac_n "checking if networking is enabled? ""... $ac_c" 1>&6
    3292 echo "configure:3293: checking if networking is enabled? " >&5
     3309echo "configure:3310: checking if networking is enabled? " >&5
    32933310echo "$ac_t""$RTEMS_HAS_NETWORKING" 1>&6
    32943311if test "$RTEMS_HAS_NETWORKING" = "yes"; then
    32953312 
    32963313echo $ac_n "checking for Makefile.in in c/src/lib/libnetworking""... $ac_c" 1>&6
    3297 echo "configure:3298: checking for Makefile.in in c/src/lib/libnetworking" >&5
     3314echo "configure:3315: checking for Makefile.in in c/src/lib/libnetworking" >&5
    32983315if test -d $srcdir/c/src/lib/libnetworking; then
    32993316  rtems_av_save_dir=`pwd`;
     
    33173334# If the tests are enabled, then find all the test suite Makefiles
    33183335echo $ac_n "checking if the test suites are enabled? ""... $ac_c" 1>&6
    3319 echo "configure:3320: checking if the test suites are enabled? " >&5
     3336echo "configure:3337: checking if the test suites are enabled? " >&5
    33203337tests_enabled=yes
    33213338# Check whether --enable-tests or --disable-tests was given.
     
    33363353
    33373354echo $ac_n "checking for Makefile.in in c/src/tests/tools/$target_cpu""... $ac_c" 1>&6
    3338 echo "configure:3339: checking for Makefile.in in c/src/tests/tools/$target_cpu" >&5
     3355echo "configure:3356: checking for Makefile.in in c/src/tests/tools/$target_cpu" >&5
    33393356if test -d $srcdir/c/src/tests/tools/$target_cpu; then
    33403357  rtems_av_save_dir=`pwd`;
     
    33533370   
    33543371echo $ac_n "checking for Makefile.in in c/src/tests/libtests""... $ac_c" 1>&6
    3355 echo "configure:3356: checking for Makefile.in in c/src/tests/libtests" >&5
     3372echo "configure:3373: checking for Makefile.in in c/src/tests/libtests" >&5
    33563373if test -d $srcdir/c/src/tests/libtests; then
    33573374  rtems_av_save_dir=`pwd`;
     
    33683385   
    33693386echo $ac_n "checking for Makefile.in in c/src/tests/sptests""... $ac_c" 1>&6
    3370 echo "configure:3371: checking for Makefile.in in c/src/tests/sptests" >&5
     3387echo "configure:3388: checking for Makefile.in in c/src/tests/sptests" >&5
    33713388if test -d $srcdir/c/src/tests/sptests; then
    33723389  rtems_av_save_dir=`pwd`;
     
    33833400   
    33843401echo $ac_n "checking for Makefile.in in c/src/tests/tmtests""... $ac_c" 1>&6
    3385 echo "configure:3386: checking for Makefile.in in c/src/tests/tmtests" >&5
     3402echo "configure:3403: checking for Makefile.in in c/src/tests/tmtests" >&5
    33863403if test -d $srcdir/c/src/tests/tmtests; then
    33873404  rtems_av_save_dir=`pwd`;
     
    33963413
    33973414
    3398    
     3415   if test "$RTEMS_HAS_MULTIPROCESSING" = "yes"; then
     3416       
    33993417echo $ac_n "checking for Makefile.in in c/src/tests/mptests""... $ac_c" 1>&6
    3400 echo "configure:3401: checking for Makefile.in in c/src/tests/mptests" >&5
     3418echo "configure:3419: checking for Makefile.in in c/src/tests/mptests" >&5
    34013419if test -d $srcdir/c/src/tests/mptests; then
    34023420  rtems_av_save_dir=`pwd`;
     
    34113429
    34123430
     3431   fi
    34133432   if test "$RTEMS_HAS_POSIX_API" = "yes"; then
    34143433     
    34153434echo $ac_n "checking for Makefile.in in c/src/tests/psxtests""... $ac_c" 1>&6
    3416 echo "configure:3417: checking for Makefile.in in c/src/tests/psxtests" >&5
     3435echo "configure:3436: checking for Makefile.in in c/src/tests/psxtests" >&5
    34173436if test -d $srcdir/c/src/tests/psxtests; then
    34183437  rtems_av_save_dir=`pwd`;
     
    34323451# If the HWAPI is enabled, the find the HWAPI Makefiles
    34333452echo $ac_n "checking if the HWAPI is enabled? ""... $ac_c" 1>&6
    3434 echo "configure:3435: checking if the HWAPI is enabled? " >&5
     3453echo "configure:3454: checking if the HWAPI is enabled? " >&5
    34353454# Check whether --enable-hwapi or --disable-hwapi was given.
    34363455if test "${enable_hwapi+set}" = set; then
     
    34433462           
    34443463echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/analog""... $ac_c" 1>&6
    3445 echo "configure:3446: checking for Makefile.in in c/src/lib/libhwapi/analog" >&5
     3464echo "configure:3465: checking for Makefile.in in c/src/lib/libhwapi/analog" >&5
    34463465if test -d $srcdir/c/src/lib/libhwapi/analog; then
    34473466  rtems_av_save_dir=`pwd`;
     
    34583477           
    34593478echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/discrete""... $ac_c" 1>&6
    3460 echo "configure:3461: checking for Makefile.in in c/src/lib/libhwapi/discrete" >&5
     3479echo "configure:3480: checking for Makefile.in in c/src/lib/libhwapi/discrete" >&5
    34613480if test -d $srcdir/c/src/lib/libhwapi/discrete; then
    34623481  rtems_av_save_dir=`pwd`;
     
    34733492           
    34743493echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/drivers""... $ac_c" 1>&6
    3475 echo "configure:3476: checking for Makefile.in in c/src/lib/libhwapi/drivers" >&5
     3494echo "configure:3495: checking for Makefile.in in c/src/lib/libhwapi/drivers" >&5
    34763495if test -d $srcdir/c/src/lib/libhwapi/drivers; then
    34773496  rtems_av_save_dir=`pwd`;
     
    34883507           
    34893508echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/non_volatile_memory""... $ac_c" 1>&6
    3490 echo "configure:3491: checking for Makefile.in in c/src/lib/libhwapi/non_volatile_memory" >&5
     3509echo "configure:3510: checking for Makefile.in in c/src/lib/libhwapi/non_volatile_memory" >&5
    34913510if test -d $srcdir/c/src/lib/libhwapi/non_volatile_memory; then
    34923511  rtems_av_save_dir=`pwd`;
     
    35033522           
    35043523echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/serial""... $ac_c" 1>&6
    3505 echo "configure:3506: checking for Makefile.in in c/src/lib/libhwapi/serial" >&5
     3524echo "configure:3525: checking for Makefile.in in c/src/lib/libhwapi/serial" >&5
    35063525if test -d $srcdir/c/src/lib/libhwapi/serial; then
    35073526  rtems_av_save_dir=`pwd`;
     
    35183537           
    35193538echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/support""... $ac_c" 1>&6
    3520 echo "configure:3521: checking for Makefile.in in c/src/lib/libhwapi/support" >&5
     3539echo "configure:3540: checking for Makefile.in in c/src/lib/libhwapi/support" >&5
    35213540if test -d $srcdir/c/src/lib/libhwapi/support; then
    35223541  rtems_av_save_dir=`pwd`;
     
    35333552           
    35343553echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/wrapup""... $ac_c" 1>&6
    3535 echo "configure:3536: checking for Makefile.in in c/src/lib/libhwapi/wrapup" >&5
     3554echo "configure:3555: checking for Makefile.in in c/src/lib/libhwapi/wrapup" >&5
    35363555if test -d $srcdir/c/src/lib/libhwapi/wrapup; then
    35373556  rtems_av_save_dir=`pwd`;
     
    35833602
    35843603echo $ac_n "checking for Makefile.in in c/build-tools""... $ac_c" 1>&6
    3585 echo "configure:3586: checking for Makefile.in in c/build-tools" >&5
     3604echo "configure:3605: checking for Makefile.in in c/build-tools" >&5
    35863605if test -d $srcdir/c/build-tools; then
    35873606  rtems_av_save_dir=`pwd`;
     
    35983617
    35993618echo $ac_n "checking for Makefile.in in make""... $ac_c" 1>&6
    3600 echo "configure:3601: checking for Makefile.in in make" >&5
     3619echo "configure:3620: checking for Makefile.in in make" >&5
    36013620if test -d $srcdir/make; then
    36023621  rtems_av_save_dir=`pwd`;
     
    36133632
    36143633echo $ac_n "checking for Makefile.in in c/src/lib/libchip""... $ac_c" 1>&6
    3615 echo "configure:3616: checking for Makefile.in in c/src/lib/libchip" >&5
     3634echo "configure:3635: checking for Makefile.in in c/src/lib/libchip" >&5
    36163635if test -d $srcdir/c/src/lib/libchip; then
    36173636  rtems_av_save_dir=`pwd`;
     
    36283647
    36293648echo $ac_n "checking for Makefile.in in c/src/lib/libmisc""... $ac_c" 1>&6
    3630 echo "configure:3631: checking for Makefile.in in c/src/lib/libmisc" >&5
     3649echo "configure:3650: checking for Makefile.in in c/src/lib/libmisc" >&5
    36313650if test -d $srcdir/c/src/lib/libmisc; then
    36323651  rtems_av_save_dir=`pwd`;
     
    36433662
    36443663echo $ac_n "checking for Makefile.in in c/src/tests/samples""... $ac_c" 1>&6
    3645 echo "configure:3646: checking for Makefile.in in c/src/tests/samples" >&5
     3664echo "configure:3665: checking for Makefile.in in c/src/tests/samples" >&5
    36463665if test -d $srcdir/c/src/tests/samples; then
    36473666  rtems_av_save_dir=`pwd`;
  • configure.in

    r967f3aaa r97e2729d  
    1919  *)  AC_MSG_ERROR(bad value ${enableval} for gmake-print-directory option) ;;
    2020esac],[RTEMS_USE_OWN_PDIR=yes])
     21
     22AC_ARG_ENABLE(multiprocessing, \
     23[  --enable-multiprocessing                 enable multiprocessing interface], \
     24[case "${enableval}" in
     25  yes) RTEMS_HAS_MULTIPROCESSING=yes ;;
     26  no) RTEMS_HAS_MULTIPROCESSING=no ;;
     27  *)  AC_MSG_ERROR(bad value ${enableval} for enable-multiprocessing option) ;;
     28esac],[RTEMS_HAS_MULTIPROCESSING=no])
    2129
    2230AC_ARG_ENABLE(posix, \
     
    427435   RTEMS_CHECK_MAKEFILE(c/src/tests/sptests)
    428436   RTEMS_CHECK_MAKEFILE(c/src/tests/tmtests)
    429    RTEMS_CHECK_MAKEFILE(c/src/tests/mptests)
     437   if test "$RTEMS_HAS_MULTIPROCESSING" = "yes"; then
     438       RTEMS_CHECK_MAKEFILE(c/src/tests/mptests)
     439   fi
    430440   if test "$RTEMS_HAS_POSIX_API" = "yes"; then
    431441     RTEMS_CHECK_MAKEFILE(c/src/tests/psxtests)
  • cpukit/libmisc/monitor/mon-object.c

    r967f3aaa r97e2729d  
    4343    { RTEMS_MONITOR_OBJECT_MPCI,
    4444      (void *) 0,
     45#if defined(RTEMS_MULTIPROCESSING)
    4546      sizeof(rtems_monitor_mpci_t),
    4647      (rtems_monitor_object_next_fn)        rtems_monitor_mpci_next,
     
    4849      (rtems_monitor_object_dump_header_fn) rtems_monitor_mpci_dump_header,
    4950      (rtems_monitor_object_dump_fn)        rtems_monitor_mpci_dump,
     51#else
     52      0,
     53      (rtems_monitor_object_next_fn)        0,
     54      (rtems_monitor_object_canonical_fn)   0,
     55      (rtems_monitor_object_dump_header_fn) 0,
     56      (rtems_monitor_object_dump_fn)        0,
     57#endif
    5058    },
    5159    { RTEMS_MONITOR_OBJECT_INIT_TASK,
  • cpukit/libmisc/monitor/monitor.h

    r967f3aaa r97e2729d  
    201201 */
    202202
     203#if defined(RTEMS_MULTIPROCESSING)
    203204typedef struct {
    204205    unsigned32  node;                   /* local node number */
     
    215216    rtems_monitor_symbol_t   receive_packet;
    216217} rtems_monitor_mpci_t;
     218#endif
    217219
    218220/*
     
    228230    rtems_monitor_dname_t      dname;
    229231    rtems_monitor_config_t     config;
     232#if defined(RTEMS_MULTIPROCESSING)
    230233    rtems_monitor_mpci_t       mpci;
     234#endif
    231235    rtems_monitor_init_task_t  itask;
    232236} rtems_monitor_union_t;
     
    371375
    372376/* mpci.c */
     377#if defined(RTEMS_MULTIPROCESSING)
    373378void       rtems_monitor_mpci_canonical(rtems_monitor_mpci_t *, void *);
    374379void      *rtems_monitor_mpci_next(void *, rtems_monitor_mpci_t *, rtems_id *);
    375380void       rtems_monitor_mpci_dump_header(boolean);
    376381void       rtems_monitor_mpci_dump(rtems_monitor_mpci_t *, boolean verbose);
     382#endif
    377383
    378384/* itask.c */
  • cpukit/posix/include/rtems/posix/cond.h

    r967f3aaa r97e2729d  
    120120
    121121#include <rtems/posix/cond.inl>
     122#if defined(RTEMS_MULTIPROCESSING)
    122123#include <rtems/posix/condmp.h>
     124#endif
    123125
    124126#ifdef __cplusplus
  • cpukit/posix/include/rtems/posix/mqueue.h

    r967f3aaa r97e2729d  
    176176
    177177#include <rtems/posix/mqueue.inl>
     178#if defined(RTEMS_MULTIPROCESSING)
    178179#include <rtems/posix/mqueuemp.h>
     180#endif
    179181
    180182#ifdef __cplusplus
  • cpukit/posix/include/rtems/posix/mutex.h

    r967f3aaa r97e2729d  
    110110
    111111#include <rtems/posix/mutex.inl>
     112#if defined(RTEMS_MULTIPROCESSING)
    112113#include <rtems/posix/mutexmp.h>
     114#endif
    113115
    114116#ifdef __cplusplus
  • cpukit/posix/include/rtems/posix/pthread.h

    r967f3aaa r97e2729d  
    113113
    114114#include <rtems/posix/pthread.inl>
     115#if defined(RTEMS_MULTIPROCESSING)
    115116#include <rtems/posix/pthreadmp.h>
     117#endif
    116118
    117119#ifdef __cplusplus
  • cpukit/posix/include/rtems/posix/semaphore.h

    r967f3aaa r97e2729d  
    125125
    126126#include <rtems/posix/semaphore.inl>
     127#if defined(RTEMS_MULTIPROCESSING)
    127128#include <rtems/posix/semaphoremp.h>
     129#endif
    128130
    129131#ifdef __cplusplus
  • cpukit/posix/src/cond.c

    r967f3aaa r97e2729d  
    1818 */
    1919
     20
     21#if defined(RTEMS_MULTIPROCESSING)
    2022void _POSIX_Condition_variables_MP_Send_process_packet (
    2123  POSIX_Condition_variables_MP_Remote_operations  operation,
     
    3436  (void) POSIX_MP_NOT_IMPLEMENTED();
    3537}
     38#endif
    3639
    3740/*
     
    191194  }
    192195 
     196#if defined(RTEMS_MULTIPROCESSING)
    193197  if ( the_attr->process_shared == PTHREAD_PROCESS_SHARED &&
    194198     !( _Objects_MP_Allocate_and_open( &_POSIX_Condition_variables_Information,
     
    198202    return EAGAIN;
    199203  }
     204#endif
    200205 
    201206  the_cond->process_shared  = the_attr->process_shared;
     
    209214    THREAD_QUEUE_DISCIPLINE_FIFO,
    210215    STATES_WAITING_FOR_CONDITION_VARIABLE,
     216#if defined(RTEMS_MULTIPROCESSING)
    211217    _POSIX_Condition_variables_MP_Send_extract_proxy,
     218#else
     219    NULL,
     220#endif
    212221    ETIMEDOUT
    213222  );
     
    221230  *cond = the_cond->Object.id;
    222231 
     232#if defined(RTEMS_MULTIPROCESSING)
    223233  if ( the_attr->process_shared == PTHREAD_PROCESS_SHARED )
    224234    _POSIX_Condition_variables_MP_Send_process_packet(
     
    228238      0                          /* Not used */
    229239    );
     240#endif
    230241 
    231242  _Thread_Enable_dispatch();
     
    249260  the_cond = _POSIX_Condition_variables_Get( cond, &location );
    250261  switch ( location ) {
    251     case OBJECTS_ERROR:
    252       return EINVAL;
    253262    case OBJECTS_REMOTE:
     263#if defined(RTEMS_MULTIPROCESSING)
    254264      _Thread_Dispatch();
    255265      return POSIX_MP_NOT_IMPLEMENTED();
    256266      return EINVAL;
     267#endif
     268
     269    case OBJECTS_ERROR:
     270      return EINVAL;
     271
     272
    257273    case OBJECTS_LOCAL:
    258274 
     
    269285      _POSIX_Condition_variables_Free( the_cond );
    270286 
     287#if defined(RTEMS_MULTIPROCESSING)
    271288      if ( the_cond->process_shared == PTHREAD_PROCESS_SHARED ) {
    272289 
     
    283300        );
    284301      }
     302#endif
    285303      _Thread_Enable_dispatch();
    286304      return 0;
     
    308326  the_cond = _POSIX_Condition_variables_Get( cond, &location );
    309327  switch ( location ) {
    310     case OBJECTS_ERROR:
    311       return EINVAL;
    312328    case OBJECTS_REMOTE:
     329#if defined(RTEMS_MULTIPROCESSING)
    313330      _Thread_Dispatch();
    314331      return POSIX_MP_NOT_IMPLEMENTED();
     332      return EINVAL;
     333#endif
     334
     335    case OBJECTS_ERROR:
    315336      return EINVAL;
    316337    case OBJECTS_LOCAL:
     
    381402  the_cond = _POSIX_Condition_variables_Get( cond, &location );
    382403  switch ( location ) {
    383     case OBJECTS_ERROR:
    384       return EINVAL;
    385404    case OBJECTS_REMOTE:
     405#if defined(RTEMS_MULTIPROCESSING)
    386406      _Thread_Dispatch();
    387407      return POSIX_MP_NOT_IMPLEMENTED();
     408      return EINVAL;
     409#endif
     410    case OBJECTS_ERROR:
    388411      return EINVAL;
    389412    case OBJECTS_LOCAL:
  • cpukit/posix/src/mutex.c

    r967f3aaa r97e2729d  
    1010#include <rtems/score/coremutex.h>
    1111#include <rtems/score/watchdog.h>
     12#if defined(RTEMS_MULTIPROCESSING)
    1213#include <rtems/score/mpci.h>
     14#endif
    1315#include <rtems/posix/mutex.h>
    1416#include <rtems/posix/priority.h>
     
    1921 */
    2022
     23#if defined(RTEMS_MULTIPROCESSING)
    2124void _POSIX_Mutex_MP_Send_process_packet (
    2225  POSIX_Mutex_MP_Remote_operations  operation,
     
    5356  (void) POSIX_MP_NOT_IMPLEMENTED();   /* XXX: should never get here */
    5457}
     58#endif
    5559
    5660/*
     
    239243    mutex_in_use = _POSIX_Mutex_Get( mutex, &location );
    240244    switch ( location ) {
     245      case OBJECTS_REMOTE:
    241246      case OBJECTS_ERROR:
    242247        break;
    243       case OBJECTS_REMOTE:
    244248      case OBJECTS_LOCAL:
    245249        _Thread_Enable_dispatch();
     
    257261  assert( the_attr->process_shared == PTHREAD_PROCESS_PRIVATE );
    258262
     263#if defined(RTEMS_MULTIPROCESSING)
    259264  if ( the_attr->process_shared == PTHREAD_PROCESS_SHARED )
    260265    return POSIX_MP_NOT_IMPLEMENTED();
     266#endif
    261267 
    262268  /*
     
    290296  }
    291297
     298#if defined(RTEMS_MULTIPROCESSING)
    292299  if ( the_attr->process_shared == PTHREAD_PROCESS_SHARED &&
    293300       !( _Objects_MP_Allocate_and_open( &_POSIX_Mutex_Information, 0,
     
    297304    return EAGAIN;
    298305  }
     306#endif
    299307
    300308  the_mutex->process_shared = the_attr->process_shared;
     
    323331  *mutex = the_mutex->Object.id;
    324332
     333#if defined(RTEMS_MULTIPROCESSING)
    325334  if ( the_attr->process_shared == PTHREAD_PROCESS_SHARED )
    326335    _POSIX_Mutex_MP_Send_process_packet(
     
    330339      0                          /* Not used */
    331340    );
     341#endif
    332342
    333343  _Thread_Enable_dispatch();
     
    349359  the_mutex = _POSIX_Mutex_Get( mutex, &location );
    350360  switch ( location ) {
    351     case OBJECTS_ERROR:
    352       return EINVAL;
    353361    case OBJECTS_REMOTE:
     362#if defined(RTEMS_MULTIPROCESSING)
    354363      _Thread_Dispatch();
    355364      return POSIX_MP_NOT_IMPLEMENTED();
     365      return EINVAL;
     366#endif
     367    case OBJECTS_ERROR:
    356368      return EINVAL;
    357369    case OBJECTS_LOCAL:
     
    370382      _CORE_mutex_Flush(
    371383        &the_mutex->Mutex,
     384#if defined(RTEMS_MULTIPROCESSING)
    372385        _POSIX_Mutex_MP_Send_object_was_deleted,
     386#else
     387        NULL,
     388#endif
    373389        EINVAL
    374390      );
     
    376392      _POSIX_Mutex_Free( the_mutex );
    377393 
     394#if defined(RTEMS_MULTIPROCESSING)
    378395      if ( the_mutex->process_shared == PTHREAD_PROCESS_SHARED ) {
    379396 
     
    387404        );
    388405      }
     406#endif
    389407      _Thread_Enable_dispatch();
    390408      return 0;
     
    412430  the_mutex = _POSIX_Mutex_Get( mutex, &location );
    413431  switch ( location ) {
    414     case OBJECTS_ERROR:
    415       return EINVAL;
    416432    case OBJECTS_REMOTE:
     433#if defined(RTEMS_MULTIPROCESSING)
    417434      return _POSIX_Mutex_MP_Send_request_packet(
    418435          POSIX_MUTEX_MP_OBTAIN_REQUEST,
     
    421438          WATCHDOG_NO_TIMEOUT
    422439      );
     440#endif
     441    case OBJECTS_ERROR:
     442      return EINVAL;
    423443    case OBJECTS_LOCAL:
    424444      _CORE_mutex_Seize(
     
    481501  the_mutex = _POSIX_Mutex_Get( mutex, &location );
    482502  switch ( location ) {
    483     case OBJECTS_ERROR:
    484       return EINVAL;
    485503    case OBJECTS_REMOTE:
     504#if defined(RTEMS_MULTIPROCESSING)
    486505      return _POSIX_Mutex_MP_Send_request_packet(
    487506          POSIX_MUTEX_MP_RELEASE_REQUEST,
     
    490509          MPCI_DEFAULT_TIMEOUT
    491510      );
     511#endif
     512    case OBJECTS_ERROR:
     513      return EINVAL;
    492514    case OBJECTS_LOCAL:
    493515      status = _CORE_mutex_Surrender(
    494516        &the_mutex->Mutex,
    495517        the_mutex->Object.id,
     518#if defined(RTEMS_MULTIPROCESSING)
    496519        POSIX_Threads_mutex_MP_support
     520#else
     521        NULL
     522#endif
    497523      );
    498524      _Thread_Enable_dispatch();
     
    635661  the_mutex = _POSIX_Mutex_Get( mutex, &location );
    636662  switch ( location ) {
     663    case OBJECTS_REMOTE:
     664#if defined(RTEMS_MULTIPROCESSING)
     665      /*  XXX It feels questionable to set the ceiling on a remote mutex. */
     666      return EINVAL;
     667#endif
    637668    case OBJECTS_ERROR:
    638669      return EINVAL;        /* impossible to get here */
    639     case OBJECTS_REMOTE:
    640       /*  XXX It feels questionable to set the ceiling on a remote mutex. */
    641       return EINVAL;
    642670    case OBJECTS_LOCAL:
    643671      *old_ceiling = _POSIX_Priority_From_core(
     
    648676        &the_mutex->Mutex,
    649677        the_mutex->Object.id,
     678#if defined(RTEMS_MULTIPROCESSING)
    650679        POSIX_Threads_mutex_MP_support
     680#else
     681        NULL
     682#endif
    651683      );
    652684      _Thread_Enable_dispatch();