Changeset b377e3f in rtems


Ignore:
Timestamp:
Dec 14, 2015, 2:15:22 PM (4 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
97d94ff
Parents:
af12278
git-author:
Sebastian Huber <sebastian.huber@…> (12/14/15 14:15:22)
git-committer:
Sebastian Huber <sebastian.huber@…> (02/03/16 09:00:53)
Message:

Optional Classic Rate Monotonic initialization

Update #2408.

Files:
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • cpukit/rtems/Makefile.am

    raf12278 rb377e3f  
    129129librtems_a_SOURCES += src/ratemonperiod.c
    130130librtems_a_SOURCES += src/ratemontimeout.c
    131 librtems_a_SOURCES += src/ratemondata.c
    132131
    133132## INTR_C_FILES
  • cpukit/rtems/include/rtems/rtems/ratemonimpl.h

    raf12278 rb377e3f  
    3636
    3737/**
    38  *  This constant is defined to extern most of the time when using
    39  *  this header file.  However by defining it to nothing, the data
    40  *  declared in this header file can be instantiated.  This is done
    41  *  in a single per manager file.
    42  */
    43 #ifndef RTEMS_RATEMON_EXTERN
    44 #define RTEMS_RATEMON_EXTERN extern
    45 #endif
    46 
    47 /**
    4838 *  @brief Rate Monotonic Period Class Management Structure
    4939 *
     
    5141 *  set of rate monotonic period instances.
    5242 */
    53 RTEMS_RATEMON_EXTERN Objects_Information _Rate_monotonic_Information;
    54 
    55 /**
    56  *  @brief Rate Monotonic Manager Initialization
    57  *
    58  *  This routine performs the initialization necessary for this manager.
    59  *
    60  *  @note The Rate Monotonic Manager is built on top of the Watchdog Handler
    61  */
    62 void _Rate_monotonic_Manager_initialization(void);
     43extern Objects_Information _Rate_monotonic_Information;
    6344
    6445/**
  • cpukit/rtems/src/ratemon.c

    raf12278 rb377e3f  
    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>
    25 #include <rtems/score/isr.h>
    2626#include <rtems/rtems/ratemonimpl.h>
    27 #include <rtems/score/thread.h>
    2827
    29 void _Rate_monotonic_Manager_initialization(void)
     28Objects_Information _Rate_monotonic_Information;
     29
     30static void _Rate_monotonic_Manager_initialization(void)
    3031{
    3132  _Objects_Initialize_information(
     
    4546  );
    4647}
     48
     49RTEMS_SYSINIT_ITEM(
     50  _Rate_monotonic_Manager_initialization,
     51  RTEMS_SYSINIT_CLASSIC_RATE_MONOTONIC,
     52  RTEMS_SYSINIT_ORDER_MIDDLE
     53);
  • cpukit/sapi/src/rtemsapi.c

    raf12278 rb377e3f  
    2929#include <rtems/rtems/barrierimpl.h>
    3030#include <rtems/rtems/clock.h>
    31 #include <rtems/rtems/ratemonimpl.h>
    3231
    3332void _RTEMS_API_Initialize(void)
    3433{
    35   _Rate_monotonic_Manager_initialization();
    3634  _Barrier_Manager_initialization();
    3735}
  • cpukit/score/include/rtems/sysinit.h

    raf12278 rb377e3f  
    4141#define RTEMS_SYSINIT_CLASSIC_REGION             000347
    4242#define RTEMS_SYSINIT_CLASSIC_DUAL_PORTED_MEMORY 000348
     43#define RTEMS_SYSINIT_CLASSIC_RATE_MONOTONIC     000349
    4344#define RTEMS_SYSINIT_IDLE_THREADS               000380
    4445#define RTEMS_SYSINIT_BSP_LIBC                   000400
  • testsuites/sptests/spsysinit01/init.c

    raf12278 rb377e3f  
    2929#include <rtems/rtems/messageimpl.h>
    3030#include <rtems/rtems/partimpl.h>
     31#include <rtems/rtems/ratemonimpl.h>
    3132#include <rtems/rtems/regionimpl.h>
    3233#include <rtems/rtems/semimpl.h>
     
    6970  CLASSIC_DUAL_PORTED_MEMORY_PRE,
    7071  CLASSIC_DUAL_PORTED_MEMORY_POST,
     72  CLASSIC_RATE_MONOTONIC_PRE,
     73  CLASSIC_RATE_MONOTONIC_POST,
    7174  IDLE_THREADS_PRE,
    7275  IDLE_THREADS_POST,
     
    280283}
    281284
     285FIRST(RTEMS_SYSINIT_CLASSIC_RATE_MONOTONIC)
     286{
     287  assert(_Rate_monotonic_Information.maximum == 0);
     288  next_step(CLASSIC_RATE_MONOTONIC_PRE);
     289}
     290
     291LAST(RTEMS_SYSINIT_CLASSIC_RATE_MONOTONIC)
     292{
     293  assert(_Rate_monotonic_Information.maximum != 0);
     294  next_step(CLASSIC_RATE_MONOTONIC_POST);
     295}
     296
    282297FIRST(RTEMS_SYSINIT_IDLE_THREADS)
    283298{
     
    369384#define CONFIGURE_MAXIMUM_PARTITIONS 1
    370385
     386#define CONFIGURE_MAXIMUM_PERIODS 1
     387
    371388#define CONFIGURE_MAXIMUM_PORTS 1
    372389
Note: See TracChangeset for help on using the changeset viewer.