Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:24:35

0001 /* SPDX-License-Identifier: BSD-2-Clause */
0002 
0003 /*  system.h
0004  *
0005  *  This include file contains information that is included in every
0006  *  function in the test set.
0007  *
0008  *  COPYRIGHT (c) 1989-1999.
0009  *  On-Line Applications Research Corporation (OAR).
0010  *
0011  * Redistribution and use in source and binary forms, with or without
0012  * modification, are permitted provided that the following conditions
0013  * are met:
0014  * 1. Redistributions of source code must retain the above copyright
0015  *    notice, this list of conditions and the following disclaimer.
0016  * 2. Redistributions in binary form must reproduce the above copyright
0017  *    notice, this list of conditions and the following disclaimer in the
0018  *    documentation and/or other materials provided with the distribution.
0019  *
0020  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0021  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0022  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0023  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0024  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0025  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0026  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0027  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0028  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0029  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0030  * POSSIBILITY OF SUCH DAMAGE.
0031  */
0032 
0033 #include <tmacros.h>
0034 
0035 /* functions */
0036 
0037 rtems_timer_service_routine Delayed_send_event(
0038   rtems_id  timer_id,
0039   void     *id_ptr
0040 );
0041 
0042 rtems_task Init(
0043   rtems_task_argument argument
0044 );
0045 
0046 rtems_task Test_task(
0047   rtems_task_argument argument
0048 );
0049 
0050 rtems_task Delayed_events_task(
0051   rtems_task_argument argument
0052 );
0053 
0054 rtems_task Message_queue_task(
0055   rtems_task_argument index
0056 );
0057 
0058 rtems_task Partition_task(
0059   rtems_task_argument argument
0060 );
0061 
0062 rtems_task Semaphore_task(
0063   rtems_task_argument argument
0064 );
0065 
0066 void Exit_test( void );
0067 
0068 /* configuration information */
0069 
0070 #define CONFIGURE_MP_APPLICATION
0071 
0072 #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
0073 #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
0074 
0075 #define CONFIGURE_TICKS_PER_TIMESLICE   1
0076 #define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(1)
0077 
0078 #define CONFIGURE_MAXIMUM_TASKS               5
0079 #if ( CONFIGURE_MP_NODE_NUMBER == 1 )
0080 #define CONFIGURE_MAXIMUM_TIMERS              12
0081 #define CONFIGURE_MAXIMUM_SEMAPHORES          1
0082 #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES      1
0083 #define CONFIGURE_MESSAGE_BUFFER_MEMORY \
0084   CONFIGURE_MESSAGE_BUFFERS_FOR_QUEUE( 1, 16 )
0085 #define CONFIGURE_MAXIMUM_PARTITIONS          1
0086 #elif ( CONFIGURE_MP_NODE_NUMBER == 2 )
0087 #define CONFIGURE_MAXIMUM_TIMERS              2
0088 #endif
0089 
0090 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
0091 
0092 #define CONFIGURE_EXTRA_TASK_STACKS         (1 * RTEMS_MINIMUM_STACK_SIZE)
0093 
0094 #include <rtems/confdefs.h>
0095 
0096 /* variables */
0097 
0098 TEST_EXTERN rtems_id   Event_task_id[ 2 ];       /* event task ids */
0099 
0100 TEST_EXTERN rtems_id   Semaphore_task_id[ 3 ];   /* semaphore task ids */
0101 TEST_EXTERN rtems_name Semaphore_task_name[ 3 ]; /* semaphore task names */
0102 
0103 TEST_EXTERN rtems_id   Queue_task_id[ 3 ];       /* message queue task ids */
0104 TEST_EXTERN rtems_name Queue_task_name[ 3 ];     /* message queue task names */
0105 
0106 TEST_EXTERN rtems_id   Partition_task_id[ 4 ];   /* partition task ids */
0107 TEST_EXTERN rtems_name Partition_task_name[ 4 ]; /* partition task names */
0108 
0109 TEST_EXTERN rtems_id   Partition_id[ 3 ];    /* partition ids */
0110 TEST_EXTERN rtems_name Partition_name[ 3 ];  /* partition names */
0111 
0112 TEST_EXTERN rtems_id   Semaphore_id[ 3 ];    /* semaphore ids */
0113 TEST_EXTERN rtems_name Semaphore_name[ 3 ];  /* semaphore names */
0114 
0115 TEST_EXTERN rtems_id   Queue_id[ 3 ];        /* message queue ids */
0116 TEST_EXTERN rtems_name Queue_name[ 3 ];      /* message queue names */
0117 
0118 TEST_EXTERN rtems_id   Task_id[ 4 ];         /* remote event task ids */
0119 TEST_EXTERN rtems_name Task_name[ 4 ];       /* remote event task names */
0120 
0121 TEST_EXTERN rtems_id   Timer_id[ 4 ];         /* event timer ids */
0122 TEST_EXTERN rtems_name Timer_name[ 4 ];       /* event timer names */
0123 
0124 TEST_EXTERN uint32_t   Msg_buffer[ 4 ][ 4 ];
0125 
0126 TEST_EXTERN volatile bool Stop_Test;
0127 TEST_EXTERN rtems_id timer_id;
0128 
0129 #define EVENT_TASK_DOT_COUNT        100
0130 #define EVENT_SEND_DOT_COUNT        100
0131 #define DELAYED_EVENT_DOT_COUNT     1000
0132 #define MESSAGE_DOT_COUNT           200
0133 #define PARTITION_DOT_COUNT         200
0134 #define SEMAPHORE_DOT_COUNT         200
0135 
0136 /* end of include file */