Changeset 9c191ee in rtems


Ignore:
Timestamp:
Sep 25, 2006, 1:36:58 PM (13 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
161f25b5
Parents:
90d2585a
Message:
  • score/Makefile.am, score/preinstall.am, score/include/rtems/score/coresem.h, score/include/rtems/score/object.h, score/include/rtems/score/states.h, score/inline/rtems/score/coresem.inl: Add SuperCore? Barriers, SpinLocks? and a partial implementation of RWLocks.
  • score/include/rtems/score/corebarrier.h, score/include/rtems/score/corerwlock.h, score/include/rtems/score/corespinlock.h, score/inline/rtems/score/corebarrier.inl, score/inline/rtems/score/corerwlock.inl, score/inline/rtems/score/corespinlock.inl, score/macros/rtems/score/corebarrier.inl, score/macros/rtems/score/corerwlock.inl, score/macros/rtems/score/corespinlock.inl, score/src/corebarrier.c, score/src/corebarrierrelease.c, score/src/corebarrierwait.c, score/src/corerwlock.c, score/src/corerwlockobtainread.c, score/src/corerwlockobtainwrite.c, score/src/corerwlockrelease.c, score/src/corespinlock.c, score/src/corespinlockrelease.c, score/src/corespinlockwait.c: New files.
Location:
cpukit
Files:
19 added
7 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    r90d2585a r9c191ee  
     1        * score/Makefile.am, score/preinstall.am,
     2        score/include/rtems/score/coresem.h,
     3        score/include/rtems/score/object.h,
     4        score/include/rtems/score/states.h,
     5        score/inline/rtems/score/coresem.inl: Add SuperCore Barriers,
     6        SpinLocks and a partial implementation of RWLocks.
     7        * score/include/rtems/score/corebarrier.h,
     8        score/include/rtems/score/corerwlock.h,
     9        score/include/rtems/score/corespinlock.h,
     10        score/inline/rtems/score/corebarrier.inl,
     11        score/inline/rtems/score/corerwlock.inl,
     12        score/inline/rtems/score/corespinlock.inl,
     13        score/macros/rtems/score/corebarrier.inl,
     14        score/macros/rtems/score/corerwlock.inl,
     15        score/macros/rtems/score/corespinlock.inl, score/src/corebarrier.c,
     16        score/src/corebarrierrelease.c, score/src/corebarrierwait.c,
     17        score/src/corerwlock.c, score/src/corerwlockobtainread.c,
     18        score/src/corerwlockobtainwrite.c, score/src/corerwlockrelease.c,
     19        score/src/corespinlock.c, score/src/corespinlockrelease.c,
     20        score/src/corespinlockwait.c: New files.
     21
    1222006-09-14      Joel Sherrill <joel@OARcorp.com>
    223
  • cpukit/score/Makefile.am

    r90d2585a r9c191ee  
    2121    include/rtems/score/bitfield.h include/rtems/score/chain.h \
    2222    include/rtems/score/context.h include/rtems/score/copyrt.h \
     23    include/rtems/score/corebarrier.h \
    2324    include/rtems/score/coremsg.h include/rtems/score/coremutex.h \
    2425    include/rtems/score/coresem.h include/rtems/score/heap.h \
     
    4243if INLINE
    4344include_rtems_score_HEADERS += inline/rtems/score/address.inl \
    44     inline/rtems/score/chain.inl inline/rtems/score/coremsg.inl \
     45    inline/rtems/score/chain.inl inline/rtems/score/corebarrier.inl \
     46    inline/rtems/score/coremsg.inl inline/rtems/score/corerwlock.inl \
     47    inline/rtems/score/corespinlock.inl \
    4548    inline/rtems/score/coremutex.inl inline/rtems/score/coresem.inl \
    4649    inline/rtems/score/heap.inl inline/rtems/score/isr.inl \
     
    6063## macros
    6164include_rtems_score_HEADERS += macros/rtems/score/address.inl \
    62     macros/rtems/score/chain.inl macros/rtems/score/coremsg.inl \
     65    macros/rtems/score/chain.inl macros/rtems/score/corebarrier.inl \
     66    macros/rtems/score/coremsg.inl \
     67    macros/rtems/score/corerwlock.inl \
     68    macros/rtems/score/corespinlock.inl \
    6369    macros/rtems/score/coremutex.inl macros/rtems/score/coresem.inl \
    6470    macros/rtems/score/heap.inl macros/rtems/score/isr.inl \
     
    9197endif
    9298
     99## CORE_BARRIER_C_FILES
     100libscore_a_SOURCES += src/corebarrier.c src/corebarrierrelease.c \
     101    src/corebarrierwait.c
     102
    93103## CORE_MESSAGE_QUEUE_C_FILES
    94104libscore_a_SOURCES += src/coremsg.c src/coremsgbroadcast.c \
     
    101111    src/coremutexseize.c src/coremutexsurrender.c
    102112
     113## CORE_RWLOCK_C_FILES
     114libscore_a_SOURCES += src/corerwlock.c src/corerwlockobtainread.c \
     115    src/corerwlockobtainwrite.c src/corerwlockrelease.c
     116
    103117## CORE_SEMAPHORE_C_FILES
    104118libscore_a_SOURCES += src/coresem.c src/coresemflush.c src/coresemseize.c \
    105119    src/coresemsurrender.c
     120
     121## CORE_SPINLOCK_C_FILES
     122libscore_a_SOURCES += src/corespinlock.c src/corespinlockrelease.c \
     123    src/corespinlockwait.c
    106124
    107125## HEAP_C_FILES
  • cpukit/score/include/rtems/score/coresem.h

    r90d2585a r9c191ee  
    130130
    131131/**
    132  *  This routine attempts to receive a unit from the_semaphore.
     132 *  This routine attempts to receive a unit from @a the_semaphore.
    133133 *  If a unit is available or if the wait flag is FALSE, then the routine
    134134 *  returns.  Otherwise, the calling task is blocked until a unit becomes
  • cpukit/score/include/rtems/score/object.h

    r90d2585a r9c191ee  
    11/**
    22 * @file  rtems/score/object.h
    3  */
    4  
    5 /*
     3 *
     4 *
    65 *  This include file contains all the constants and structures associated
    76 *  with the Object Handler.  This Handler provides mechanisms which
    87 *  can be used to initialize and manipulate all objects which have
    98 *  ids.
    10  *
     9 */
     10
     11/*
    1112 *  COPYRIGHT (c) 1989-2006.
    1213 *  On-Line Applications Research Corporation (OAR).
     
    231232  OBJECTS_RTEMS_PORTS          = 7,
    232233  OBJECTS_RTEMS_PERIODS        = 8,
    233   OBJECTS_RTEMS_EXTENSIONS     = 9
     234  OBJECTS_RTEMS_EXTENSIONS     = 9,
     235  OBJECTS_RTEMS_BARRIERS       = 10
    234236} Objects_Classic_API;
    235237
     
    251253  OBJECTS_POSIX_SEMAPHORES          = 7,
    252254  OBJECTS_POSIX_CONDITION_VARIABLES = 8,
    253   OBJECTS_POSIX_TIMERS              = 9
     255  OBJECTS_POSIX_TIMERS              = 9,
     256  OBJECTS_POSIX_BARRIERS            = 10,
     257  OBJECTS_POSIX_SPINLOCKS           = 11,
     258  OBJECTS_POSIX_RWLOCKS             = 12
    254259} Objects_POSIX_API;
    255260
    256261/** This macro is used to generically specify the last API index. */
    257 #define OBJECTS_POSIX_CLASSES_LAST OBJECTS_POSIX_TIMERS
     262#define OBJECTS_POSIX_CLASSES_LAST OBJECTS_POSIX_RWLOCKS
    258263
    259264/**
  • cpukit/score/include/rtems/score/states.h

    r90d2585a r9c191ee  
    4343
    4444/** This macro corresponds to all states being set. */
    45 #define STATES_ALL_SET                         0xfffff /* all states */
     45#define STATES_ALL_SET                         0xfffff
    4646/** This macro corresponds to a task being ready. */
    47 #define STATES_READY                           0x00000 /* ready to run */
     47#define STATES_READY                           0x00000
    4848/** This macro corresponds to a task being created but not yet started. */
    49 #define STATES_DORMANT                         0x00001 /* created not started */
     49#define STATES_DORMANT                         0x00001
    5050/** This macro corresponds to a task being suspended. */
    51 #define STATES_SUSPENDED                       0x00002 /* waiting for resume */
     51#define STATES_SUSPENDED                       0x00002
    5252/** This macro corresponds to a task being in an internal state transition. */
    53 #define STATES_TRANSIENT                       0x00004 /* in transition */
     53#define STATES_TRANSIENT                       0x00004
    5454/** This macro corresponds to a task which is waiting for a timeout. */
    55 #define STATES_DELAYING                        0x00008 /* wait for timeout */
     55#define STATES_DELAYING                        0x00008
    5656/** This macro corresponds to a task waiting until a specific TOD. */
    57 #define STATES_WAITING_FOR_TIME                0x00010 /* wait for TOD */
     57#define STATES_WAITING_FOR_TIME                0x00010
    5858/** This macro corresponds to a task waiting for a variable length buffer. */
    5959#define STATES_WAITING_FOR_BUFFER              0x00020
     
    7878/** This macro corresponds to a task waiting for a signal. */
    7979#define STATES_WAITING_FOR_SIGNAL              0x08000
     80/** This macro corresponds to a task waiting for a barrier. */
     81#define STATES_WAITING_FOR_BARRIER             0x10000
     82/** This macro corresponds to a task waiting for a RWLock. */
     83#define STATES_WAITING_FOR_RWLOCK              0x20000
     84
    8085/** This macro corresponds to a task which is in an interruptible
    8186 *  blocking state.
    8287 */
    83 #define STATES_INTERRUPTIBLE_BY_SIGNAL         0x10000
     88#define STATES_INTERRUPTIBLE_BY_SIGNAL         0x10000000
    8489
    8590/** This macro corresponds to a task waiting for a local object operation. */
     
    9196                                 STATES_WAITING_FOR_CONDITION_VARIABLE | \
    9297                                 STATES_WAITING_FOR_JOIN_AT_EXIT       | \
    93                                  STATES_WAITING_FOR_SIGNAL             )
     98                                 STATES_WAITING_FOR_SIGNAL             | \
     99                                 STATES_WAITING_FOR_BARRIER            | \
     100                                 STATES_WAITING_FOR_RWLOCK             )
    94101
    95102/** This macro corresponds to a task waiting which is blocked on
  • cpukit/score/inline/rtems/score/coresem.inl

    r90d2585a r9c191ee  
    33 *
    44 *  This include file contains all of the inlined routines associated
    5  *  with the CORE semaphore.
     5 *  with the SuperCore semaphore.
    66 */
    77
     
    3030/**
    3131 *  This function returns TRUE if the priority attribute is
    32  *  enabled in the attribute_set and FALSE otherwise.
     32 *  enabled in the @a attribute_set and FALSE otherwise.
    3333 *
    3434 *  @param[in] the_attribute is the attribute set to test
  • cpukit/score/preinstall.am

    r90d2585a r9c191ee  
    6464PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/copyrt.h
    6565
     66$(PROJECT_INCLUDE)/rtems/score/corebarrier.h: include/rtems/score/corebarrier.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     67        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corebarrier.h
     68PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/corebarrier.h
     69
    6670$(PROJECT_INCLUDE)/rtems/score/coremsg.h: include/rtems/score/coremsg.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
    6771        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/coremsg.h
     
    7276PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/coremutex.h
    7377
     78$(PROJECT_INCLUDE)/rtems/score/corerwlock.h: include/rtems/score/corerwlock.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     79        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corerwlock.h
     80PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/corerwlock.h
     81
    7482$(PROJECT_INCLUDE)/rtems/score/coresem.h: include/rtems/score/coresem.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
    7583        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/coresem.h
    7684PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/coresem.h
     85
     86$(PROJECT_INCLUDE)/rtems/score/corespinlock.h: include/rtems/score/corespinlock.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     87        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corespinlock.h
     88PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/corespinlock.h
    7789
    7890$(PROJECT_INCLUDE)/rtems/score/heap.h: include/rtems/score/heap.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     
    166178PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/chain.inl
    167179
     180$(PROJECT_INCLUDE)/rtems/score/corebarrier.inl: inline/rtems/score/corebarrier.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     181        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corebarrier.inl
     182PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/corebarrier.inl
     183
    168184$(PROJECT_INCLUDE)/rtems/score/coremsg.inl: inline/rtems/score/coremsg.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
    169185        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/coremsg.inl
    170186PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/coremsg.inl
     187
     188$(PROJECT_INCLUDE)/rtems/score/corerwlock.inl: inline/rtems/score/corerwlock.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     189        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corerwlock.inl
     190PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/corerwlock.inl
     191
     192$(PROJECT_INCLUDE)/rtems/score/corespinlock.inl: inline/rtems/score/corespinlock.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     193        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corespinlock.inl
     194PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/corespinlock.inl
    171195
    172196$(PROJECT_INCLUDE)/rtems/score/coremutex.inl: inline/rtems/score/coremutex.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     
    252276PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/chain.inl
    253277
     278$(PROJECT_INCLUDE)/rtems/score/corebarrier.inl: macros/rtems/score/corebarrier.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     279        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corebarrier.inl
     280PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/corebarrier.inl
     281
    254282$(PROJECT_INCLUDE)/rtems/score/coremsg.inl: macros/rtems/score/coremsg.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
    255283        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/coremsg.inl
    256284PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/coremsg.inl
     285
     286$(PROJECT_INCLUDE)/rtems/score/corerwlock.inl: macros/rtems/score/corerwlock.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     287        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corerwlock.inl
     288PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/corerwlock.inl
     289
     290$(PROJECT_INCLUDE)/rtems/score/corespinlock.inl: macros/rtems/score/corespinlock.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
     291        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/corespinlock.inl
     292PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/corespinlock.inl
    257293
    258294$(PROJECT_INCLUDE)/rtems/score/coremutex.inl: macros/rtems/score/coremutex.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
Note: See TracChangeset for help on using the changeset viewer.