Changeset 739df1f5 in rtems for cpukit


Ignore:
Timestamp:
Nov 8, 2018, 9:45:44 AM (12 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
b7af3e44
Parents:
e8e914b3
git-author:
Sebastian Huber <sebastian.huber@…> (11/08/18 09:45:44)
git-committer:
Sebastian Huber <sebastian.huber@…> (11/12/18 12:25:40)
Message:

rtems: Move internal structures to semdata.h

Update #3598.

Location:
cpukit
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • cpukit/headers.am

    re8e914b3 r739df1f5  
    264264include_rtems_rtems_HEADERS += include/rtems/rtems/regionimpl.h
    265265include_rtems_rtems_HEADERS += include/rtems/rtems/sem.h
     266include_rtems_rtems_HEADERS += include/rtems/rtems/semdata.h
    266267include_rtems_rtems_HEADERS += include/rtems/rtems/semimpl.h
    267268include_rtems_rtems_HEADERS += include/rtems/rtems/semmp.h
  • cpukit/include/rtems/confdefs.h

    re8e914b3 r739df1f5  
    3939#include <rtems/rtems/ratemondata.h>
    4040#include <rtems/rtems/regiondata.h>
     41#include <rtems/rtems/semdata.h>
    4142#include <rtems/posix/key.h>
    4243#include <rtems/posix/mqueue.h>
  • cpukit/include/rtems/rtems/sem.h

    re8e914b3 r739df1f5  
    44 * @ingroup ClassicSem
    55 *
    6  * @brief Classic Semaphores API
    7  *
    8  * This include file contains all the constants and structures associated
    9  * with the Semaphore Manager. This manager utilizes standard Dijkstra
    10  * counting semaphores to provide synchronization and mutual exclusion
    11  * capabilities.
    12  *
    13  * Directives provided are:
    14  *
    15  * - create a semaphore
    16  * - get an ID of a semaphore
    17  * - delete a semaphore
    18  * - acquire a semaphore
    19  * - release a semaphore
    20  * - flush a semaphore
    21  * - set ceiling priority for a semaphore
     6 * @brief Classic Semaphores Manager API
    227 */
    238
     
    3419#define _RTEMS_RTEMS_SEM_H
    3520
     21#include <rtems/rtems/attr.h>
     22#include <rtems/rtems/options.h>
     23#include <rtems/rtems/tasks.h>
    3624#include <rtems/rtems/types.h>
    37 #include <rtems/rtems/options.h>
    38 #include <rtems/rtems/support.h>
    39 #include <rtems/rtems/tasks.h>
    40 #include <rtems/rtems/attr.h>
    41 #include <rtems/score/coremutex.h>
    42 #include <rtems/score/object.h>
    43 #include <rtems/score/coresem.h>
    44 #include <rtems/score/mrsp.h>
    4525
    4626#ifdef __cplusplus
     
    5737 */
    5838/**@{*/
    59 
    60 /**
    61  *  The following defines the control block used to manage each semaphore.
    62  */
    63 typedef struct {
    64   /** This field is the object management portion of a Semaphore instance. */
    65   Objects_Control          Object;
    66 
    67   /**
    68    *  This contains the memory associated with the SuperCore Semaphore or
    69    *  Mutex instance that provides the primary functionality of each
    70    *  Classic API Semaphore instance.  The structure used is dependent
    71    *  on the attributes specified by the user on the create directive.
    72    *
    73    *  @note Only one of these has meaning in a particular Classic API
    74    *        Semaphore instance.
    75    */
    76   union {
    77     /**
    78      * @brief The thread queue present in all other variants.
    79      */
    80     Thread_queue_Control Wait_queue;
    81 
    82     /**
    83      *  This is the SuperCore Mutex instance associated with this Classic
    84      *  API Semaphore instance.
    85      */
    86     CORE_ceiling_mutex_Control Mutex;
    87 
    88     /**
    89      *  This is the SuperCore Semaphore instance associated with this Classic
    90      *  API Semaphore instance.
    91      */
    92     CORE_semaphore_Control Semaphore;
    93 
    94 #if defined(RTEMS_SMP)
    95     MRSP_Control MRSP;
    96 #endif
    97   } Core_control;
    98 
    99   /**
    100    * @brief The semaphore variant.
    101    *
    102    * @see Semaphore_Variant.
    103    */
    104   unsigned int variant : 3;
    105 
    106   /**
    107    * @brief The semaphore thread queue discipline.
    108    *
    109    * @see Semaphore_Discipline.
    110    */
    111   unsigned int discipline : 1;
    112 
    113 #if defined(RTEMS_MULTIPROCESSING)
    114   unsigned int is_global : 1;
    115 #endif
    116 }   Semaphore_Control;
    11739
    11840/**
  • cpukit/include/rtems/rtems/semimpl.h

    re8e914b3 r739df1f5  
    22 * @file
    33 *
    4  * @ingroup ClassicSem
     4 * @ingroup ClassicSemImpl
    55 *
    6  * @brief Classic Semaphores Implementation
     6 * @brief Classic Semaphore Manager Implementation
    77 */
    88
     
    1818#define _RTEMS_RTEMS_SEMIMPL_H
    1919
    20 #include <rtems/rtems/sem.h>
     20#include <rtems/rtems/semdata.h>
    2121#include <rtems/score/coremuteximpl.h>
    2222#include <rtems/score/coresemimpl.h>
     
    2626extern "C" {
    2727#endif
     28
     29/**
     30 * @defgroup ClassicSemImpl Semaphore Manager Implementation
     31 *
     32 * @ingroup ClassicSem
     33 *
     34 * @{
     35 */
    2836
    2937/**
     
    109117}
    110118
     119/** @} */
     120
    111121#ifdef __cplusplus
    112122}
  • cpukit/rtems/src/semcreate.c

    re8e914b3 r739df1f5  
    2222#include <rtems/rtems/attrimpl.h>
    2323#include <rtems/rtems/statusimpl.h>
     24#include <rtems/rtems/support.h>
    2425#include <rtems/rtems/tasksimpl.h>
    2526#include <rtems/score/schedulerimpl.h>
Note: See TracChangeset for help on using the changeset viewer.