40#ifndef _RTEMS_CONFDEFS_INITTASK_H
41#define _RTEMS_CONFDEFS_INITTASK_H
43#ifndef __CONFIGURATION_TEMPLATE_h
44#error "Do not include this file directly, use <rtems/confdefs.h> instead"
49#define _CONFIGURE_ASSERT_NOT_NULL( _type, _value ) \
50 ( ( _value ) != NULL ? ( _value ) : \
51 ( _type ) sizeof( int[ ( _value ) != NULL ? 1 : -1 ] ) )
53#ifdef CONFIGURE_RTEMS_INIT_TASKS_TABLE
61#ifndef CONFIGURE_INIT_TASK_ATTRIBUTES
62 #define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES
65#ifndef CONFIGURE_INIT_TASK_INITIAL_MODES
67 #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES
69 #define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_NO_PREEMPT
73#ifndef CONFIGURE_INIT_TASK_NAME
74 #define CONFIGURE_INIT_TASK_NAME rtems_build_name( 'U', 'I', '1', ' ' )
77#ifndef CONFIGURE_INIT_TASK_PRIORITY
78 #define CONFIGURE_INIT_TASK_PRIORITY 1
85#ifndef CONFIGURE_INIT_TASK_ENTRY_POINT
87 #define CONFIGURE_INIT_TASK_ENTRY_POINT Init
89 #ifndef CONFIGURE_INIT_TASK_ARGUMENTS
91 #define CONFIGURE_INIT_TASK_ARGUMENTS \
92 ( (rtems_task_argument) &bsp_boot_cmdline )
96#ifndef CONFIGURE_INIT_TASK_ARGUMENTS
97 #define CONFIGURE_INIT_TASK_ARGUMENTS 0
109#pragma GCC diagnostic push
110#pragma GCC diagnostic ignored "-Waddress"
111#pragma GCC diagnostic ignored "-Wpragmas"
112#pragma GCC diagnostic ignored "-Wtautological-pointer-compare"
114#ifdef CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
116#ifdef CONFIGURE_INIT_TASK_STACK_SIZE
117 #error "CONFIGURE_INIT_TASK_STACK_SIZE and CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE are mutually exclusive"
122 CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE_IS_TOO_SMALL
133 _RTEMS_tasks_User_task_storage,
134 sizeof( _RTEMS_tasks_User_task_storage ),
140 _CONFIGURE_ASSERT_NOT_NULL(
149 RTEMS_SYSINIT_CLASSIC_USER_TASKS,
150 RTEMS_SYSINIT_ORDER_MIDDLE
155#ifndef CONFIGURE_INIT_TASK_STACK_SIZE
156 #define CONFIGURE_INIT_TASK_STACK_SIZE CONFIGURE_MINIMUM_TASK_STACK_SIZE
157#elif CONFIGURE_INIT_TASK_STACK_SIZE < CONFIGURE_MINIMUM_TASK_STACK_SIZE
158 #error "CONFIGURE_INIT_TASK_STACK_SIZE must be greater than or equal to CONFIGURE_MINIMUM_TASK_STACK_SIZE"
161#if CONFIGURE_INIT_TASK_STACK_SIZE > CONFIGURE_MINIMUM_TASK_STACK_SIZE
162 #define _CONFIGURE_INIT_TASK_STACK_EXTRA \
163 ( CONFIGURE_INIT_TASK_STACK_SIZE - CONFIGURE_MINIMUM_TASK_STACK_SIZE )
171 _CONFIGURE_ASSERT_NOT_NULL(
181 RTEMS_SYSINIT_CLASSIC_USER_TASKS,
182 RTEMS_SYSINIT_ORDER_MIDDLE
187#pragma GCC diagnostic pop
195#ifndef _CONFIGURE_INIT_TASK_STACK_EXTRA
196 #define _CONFIGURE_INIT_TASK_STACK_EXTRA 0
This header file evaluates configuration options related to the per-CPU configuration.
#define RTEMS_SECTION(_section)
Instructs the compiler to place the variable or function in the section.
Definition: basedefs.h:411
#define RTEMS_STATIC_ASSERT(_cond, _msg)
It is defined if a static analysis run is performed.
Definition: basedefs.h:841
rtems_task(* rtems_task_entry)(rtems_task_argument)
This type defines the task entry point of an RTEMS task.
Definition: tasks.h:239
#define RTEMS_TASK_STORAGE_ALIGNMENT
This compile time constant defines the recommended alignment of a task storage area in bytes.
Definition: tasks.h:365
void rtems_task
This type defines the return type of task entry points.
Definition: tasks.h:230
CPU_Uint32ptr rtems_task_argument
This integer type represents task argument values.
Definition: tasks.h:100
#define RTEMS_SYSINIT_ITEM(handler, module, order)
Creates the system initialization item associated with the handler, module, and order.
Definition: sysinit.h:204
#define CONFIGURE_INIT_TASK_PRIORITY
This configuration option is an integer define.
Definition: appl-config.h:1062
#define CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
This configuration option is an integer define.
Definition: appl-config.h:978
#define CONFIGURE_INIT_TASK_NAME
This configuration option is an integer define.
Definition: appl-config.h:1042
#define CONFIGURE_INIT_TASK_ARGUMENTS
This configuration option is an integer define.
Definition: appl-config.h:903
#define CONFIGURE_INIT_TASK_ATTRIBUTES
This configuration option is an integer define.
Definition: appl-config.h:921
#define CONFIGURE_INIT_TASK_STACK_SIZE
This configuration option is an integer define.
Definition: appl-config.h:1101
#define CONFIGURE_INIT_TASK_INITIAL_MODES
This configuration option is an integer define.
Definition: appl-config.h:1020
#define CONFIGURE_INIT_TASK_ENTRY_POINT
This configuration option is an initializer define.
Definition: appl-config.h:1001
#define CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
This configuration option is an integer define.
Definition: appl-config.h:2979
#define CONFIGURE_MINIMUM_TASK_STACK_SIZE
This configuration option is an integer define.
Definition: appl-config.h:3243
const char * bsp_boot_cmdline
Global pointer to the command line of boot_card().
Definition: bootcard.c:44
const rtems_initialization_tasks_table _RTEMS_tasks_User_task_table
Initialization table for the first user task.
Definition: taskinitdefault.c:43
void _RTEMS_tasks_Construct_user_task(void)
Constructs and starts the Classic API initialization task using rtems_task_construct() and the config...
Definition: taskconstructuser.c:46
void _RTEMS_tasks_Initialize_user_task(void)
Creates and starts the Classic API initialization task using rtems_task_create() and the configuratio...
Definition: taskinitusers.c:47
const RTEMS_tasks_User_task_config _RTEMS_tasks_User_task_config
This structure provides the configuration of the Classic API initialization task.
#define NULL
Requests a GPIO pin group configuration.
Definition: xil_types.h:54
This header file provides the Object Services API.
This structure provides the configuration to construct and start the Classic API initialization task.
Definition: tasksdata.h:96
This structure defines the properties of the Classic API user initialization task.
Definition: tasks.h:249
This header file provides the API of the System Initialization Support.
This header file provides data structures used by the implementation and the Application Configuratio...
This header file evaluates configuration options related to the thread configuration.