Changeset fd3cc36f in rtems


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

Optional Classic Partition initialization

Update #2408.

Files:
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • cpukit/rtems/Makefile.am

    rcbaac1f7 rfd3cc36f  
    231231librtems_a_SOURCES += src/partident.c
    232232librtems_a_SOURCES += src/partreturnbuffer.c
    233 librtems_a_SOURCES += src/partdata.c
    234233
    235234## DPMEM_C_FILES
  • cpukit/rtems/include/rtems/rtems/partimpl.h

    rcbaac1f7 rfd3cc36f  
    3535
    3636/**
    37  * This constant is defined to extern most of the time when using
    38  * this header file. However by defining it to nothing, the data
    39  * declared in this header file can be instantiated. This is done
    40  * in a single per manager file.
    41  *
    42  * Partition Manager -- Instantiate Data
    43  */
    44 #ifndef RTEMS_PART_EXTERN
    45 #define RTEMS_PART_EXTERN extern
    46 #endif
    47 
    48 /**
    4937 *  The following defines the information control block used to
    5038 *  manage this class of objects.
    5139 */
    52 RTEMS_PART_EXTERN Objects_Information _Partition_Information;
    53 
    54 /**
    55  *  @brief Partition Manager Initialization
    56  *
    57  *  This routine performs the initialization necessary for this manager.
    58  */
    59 void _Partition_Manager_initialization(void);
     40extern Objects_Information _Partition_Information;
    6041
    6142/**
  • cpukit/rtems/src/part.c

    rcbaac1f7 rfd3cc36f  
    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/address.h>
    2626#include <rtems/rtems/partimpl.h>
    27 #include <rtems/score/thread.h>
    2827
    29 void _Partition_Manager_initialization(void)
     28Objects_Information _Partition_Information;
     29
     30static void _Partition_Manager_initialization(void)
    3031{
    3132  _Objects_Initialize_information(
     
    5758
    5859}
     60
     61RTEMS_SYSINIT_ITEM(
     62  _Partition_Manager_initialization,
     63  RTEMS_SYSINIT_CLASSIC_PARTITION,
     64  RTEMS_SYSINIT_ORDER_MIDDLE
     65);
  • cpukit/sapi/src/rtemsapi.c

    rcbaac1f7 rfd3cc36f  
    3030#include <rtems/rtems/clock.h>
    3131#include <rtems/rtems/dpmemimpl.h>
    32 #include <rtems/rtems/partimpl.h>
    3332#include <rtems/rtems/ratemonimpl.h>
    3433#include <rtems/rtems/regionimpl.h>
     
    3635void _RTEMS_API_Initialize(void)
    3736{
    38   _Partition_Manager_initialization();
    3937  _Region_Manager_initialization();
    4038  _Dual_ported_memory_Manager_initialization();
  • cpukit/score/include/rtems/sysinit.h

    rcbaac1f7 rfd3cc36f  
    3838#define RTEMS_SYSINIT_CLASSIC_MESSAGE_QUEUE      000344
    3939#define RTEMS_SYSINIT_CLASSIC_SEMAPHORE          000345
     40#define RTEMS_SYSINIT_CLASSIC_PARTITION          000346
    4041#define RTEMS_SYSINIT_IDLE_THREADS               000380
    4142#define RTEMS_SYSINIT_BSP_LIBC                   000400
  • testsuites/sptests/spfatal13/testcase.h

    rcbaac1f7 rfd3cc36f  
    2424{
    2525  /* we should not run this far */
     26  rtems_partition_create(0, NULL, 0, 0, 0, NULL);
    2627}
  • testsuites/sptests/spsysinit01/init.c

    rcbaac1f7 rfd3cc36f  
    2727#include <rtems/extensionimpl.h>
    2828#include <rtems/rtems/messageimpl.h>
     29#include <rtems/rtems/partimpl.h>
    2930#include <rtems/rtems/semimpl.h>
    3031#include <rtems/rtems/tasksimpl.h>
     
    6061  CLASSIC_SEMAPHORE_PRE,
    6162  CLASSIC_SEMAPHORE_POST,
     63  CLASSIC_PARTITION_PRE,
     64  CLASSIC_PARTITION_POST,
    6265  IDLE_THREADS_PRE,
    6366  IDLE_THREADS_POST,
     
    235238}
    236239
     240FIRST(RTEMS_SYSINIT_CLASSIC_PARTITION)
     241{
     242  assert(_Partition_Information.maximum == 0);
     243  next_step(CLASSIC_PARTITION_PRE);
     244}
     245
     246LAST(RTEMS_SYSINIT_CLASSIC_PARTITION)
     247{
     248  assert(_Partition_Information.maximum != 0);
     249  next_step(CLASSIC_PARTITION_POST);
     250}
     251
    237252FIRST(RTEMS_SYSINIT_IDLE_THREADS)
    238253{
     
    322337#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
    323338
     339#define CONFIGURE_MAXIMUM_PARTITIONS 1
     340
    324341#define CONFIGURE_MAXIMUM_SEMAPHORES 1
    325342
Note: See TracChangeset for help on using the changeset viewer.