Changeset 97d94ff in rtems


Ignore:
Timestamp:
Dec 14, 2015, 2:27:56 PM (4 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
58089ff
Parents:
b377e3f
git-author:
Sebastian Huber <sebastian.huber@…> (12/14/15 14:27:56)
git-committer:
Sebastian Huber <sebastian.huber@…> (02/03/16 09:00:54)
Message:

Optional Classic Barrier initialization

Update #2408.

Files:
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • cpukit/rtems/Makefile.am

    rb377e3f r97d94ff  
    142142librtems_a_SOURCES += src/barrierrelease.c
    143143librtems_a_SOURCES += src/barrierwait.c
    144 librtems_a_SOURCES += src/barrierdata.c
    145144
    146145## CLOCK_C_FILES
  • cpukit/rtems/include/rtems/rtems/barrierimpl.h

    rb377e3f r97d94ff  
    4040
    4141/**
    42  * @brief Instantiate Barrier Data
    43  *
    44  * Barrier Manager -- Instantiate Data
    45  *
    46  * This constant is defined to extern most of the time when using
    47  * this header file. However by defining it to nothing, the data
    48  * declared in this header file can be instantiated. This is done
    49  * in a single per manager file.
    50  */
    51 #ifndef RTEMS_BARRIER_EXTERN
    52 #define RTEMS_BARRIER_EXTERN extern
    53 #endif
    54 
    55 /**
    5642 *  The following defines the information control block used to manage
    5743 *  this class of objects.
    5844 */
    59 RTEMS_BARRIER_EXTERN Objects_Information  _Barrier_Information;
    60 
    61 /**
    62  *  @brief _Barrier_Manager_initialization
    63  *
    64  *  This routine performs the initialization necessary for this manager.
    65  */
    66 void _Barrier_Manager_initialization(void);
     45extern Objects_Information _Barrier_Information;
    6746
    6847/**
  • cpukit/rtems/src/barrier.c

    rb377e3f r97d94ff  
    2121#include <rtems/system.h>
    2222#include <rtems/config.h>
     23#include <rtems/sysinit.h>
    2324#include <rtems/rtems/status.h>
    2425#include <rtems/rtems/support.h>
    2526#include <rtems/rtems/barrierimpl.h>
    2627
     28Objects_Information _Barrier_Information;
     29
    2730/**
    2831 *  @brief _Barrier_Manager_initialization
    2932 */
    30 void _Barrier_Manager_initialization(void)
     33static void _Barrier_Manager_initialization(void)
    3134{
    3235  _Objects_Initialize_information(
     
    4649  );
    4750}
     51
     52RTEMS_SYSINIT_ITEM(
     53  _Barrier_Manager_initialization,
     54  RTEMS_SYSINIT_CLASSIC_BARRIER,
     55  RTEMS_SYSINIT_ORDER_MIDDLE
     56);
  • cpukit/sapi/src/rtemsapi.c

    rb377e3f r97d94ff  
    2727
    2828#include <rtems/rtems/intr.h>
    29 #include <rtems/rtems/barrierimpl.h>
    3029#include <rtems/rtems/clock.h>
    3130
    3231void _RTEMS_API_Initialize(void)
    3332{
    34   _Barrier_Manager_initialization();
    3533}
  • cpukit/score/include/rtems/sysinit.h

    rb377e3f r97d94ff  
    4242#define RTEMS_SYSINIT_CLASSIC_DUAL_PORTED_MEMORY 000348
    4343#define RTEMS_SYSINIT_CLASSIC_RATE_MONOTONIC     000349
     44#define RTEMS_SYSINIT_CLASSIC_BARRIER            00034a
    4445#define RTEMS_SYSINIT_IDLE_THREADS               000380
    4546#define RTEMS_SYSINIT_BSP_LIBC                   000400
  • testsuites/sptests/spsysinit01/init.c

    rb377e3f r97d94ff  
    2626
    2727#include <rtems/extensionimpl.h>
     28#include <rtems/rtems/barrierimpl.h>
    2829#include <rtems/rtems/dpmemimpl.h>
    2930#include <rtems/rtems/messageimpl.h>
     
    7273  CLASSIC_RATE_MONOTONIC_PRE,
    7374  CLASSIC_RATE_MONOTONIC_POST,
     75  CLASSIC_BARRIER_PRE,
     76  CLASSIC_BARRIER_POST,
    7477  IDLE_THREADS_PRE,
    7578  IDLE_THREADS_POST,
     
    295298}
    296299
     300FIRST(RTEMS_SYSINIT_CLASSIC_BARRIER)
     301{
     302  assert(_Barrier_Information.maximum == 0);
     303  next_step(CLASSIC_BARRIER_PRE);
     304}
     305
     306LAST(RTEMS_SYSINIT_CLASSIC_BARRIER)
     307{
     308  assert(_Barrier_Information.maximum != 0);
     309  next_step(CLASSIC_BARRIER_POST);
     310}
     311
    297312FIRST(RTEMS_SYSINIT_IDLE_THREADS)
    298313{
     
    380395#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1
    381396
     397#define CONFIGURE_MAXIMUM_BARRIERS 1
     398
    382399#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
    383400
Note: See TracChangeset for help on using the changeset viewer.