RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
testsuites
validation
ts-config.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
11
12
/*
13
* Copyright (C) 2021 embedded brains GmbH & Co. KG
14
*
15
* Redistribution and use in source and binary forms, with or without
16
* modification, are permitted provided that the following conditions
17
* are met:
18
* 1. Redistributions of source code must retain the above copyright
19
* notice, this list of conditions and the following disclaimer.
20
* 2. Redistributions in binary form must reproduce the above copyright
21
* notice, this list of conditions and the following disclaimer in the
22
* documentation and/or other materials provided with the distribution.
23
*
24
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
* POSSIBILITY OF SUCH DAMAGE.
35
*/
36
37
#ifndef _TS_CONFIG_H
38
#define _TS_CONFIG_H
39
40
#include <
rtems.h
>
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
45
51
52
#define TEST_MICROSECONDS_PER_TICK 1000
53
54
#define TEST_RUNNER_NAME rtems_build_name( 'R', 'U', 'N', ' ' )
55
56
#define TEST_RUNNER_ARGUMENT 123456789
57
58
#define TEST_RUNNER_INITIAL_MODES RTEMS_NO_ASR
59
60
#define TEST_SCHEDULER_A_NAME rtems_build_name( 'A', ' ', ' ', ' ' )
61
62
#define TEST_SCHEDULER_B_NAME rtems_build_name( 'B', ' ', ' ', ' ' )
63
64
#define TEST_SCHEDULER_C_NAME rtems_build_name( 'C', ' ', ' ', ' ' )
65
66
#define TEST_SCHEDULER_D_NAME rtems_build_name( 'D', ' ', ' ', ' ' )
67
68
#if defined( __OPTIMIZE__ ) && !defined( RTEMS_GCOV_COVERAGE )
69
#define TEST_BASE_STACK_SIZE RTEMS_MINIMUM_STACK_SIZE
70
#else
71
#define TEST_BASE_STACK_SIZE ( 4 * RTEMS_MINIMUM_STACK_SIZE )
72
#endif
73
74
#define TEST_MAXIMUM_TLS_SIZE \
75
RTEMS_ALIGN_UP( 64, RTEMS_TASK_STORAGE_ALIGNMENT )
76
77
#define TEST_MINIMUM_STACK_SIZE \
78
( TEST_BASE_STACK_SIZE + CPU_STACK_ALIGNMENT )
79
80
#define TEST_IDLE_STACK_SIZE \
81
( TEST_BASE_STACK_SIZE + 2 * CPU_STACK_ALIGNMENT )
82
83
#define TEST_INTERRUPT_STACK_SIZE \
84
( TEST_BASE_STACK_SIZE + 4 * CPU_INTERRUPT_STACK_ALIGNMENT )
85
86
#define TEST_MAXIMUM_BARRIERS 7
87
88
#define TEST_MAXIMUM_MESSAGE_QUEUES 3
89
90
#define TEST_MAXIMUM_PARTITIONS 4
91
92
#define TEST_MAXIMUM_PERIODS 2
93
94
#define TEST_MAXIMUM_SEMAPHORES 7
95
96
#define TEST_MAXIMUM_TASKS 32
97
98
#define TEST_MAXIMUM_TIMERS 10
99
100
#define TEST_MAXIMUM_USER_EXTENSIONS 5
101
102
/*
103
* Use at least two so that the CPU time budget decrement in
104
* _Scheduler_default_Tick() does not always result in a zero.
105
*/
106
#define TEST_TICKS_PER_TIMESLICE 2
107
108
void
*test_task_stack_allocate(
size_t
size );
109
110
void
test_task_stack_deallocate(
void
*stack );
111
112
void
*test_idle_task_stack_allocate( uint32_t cpu_index,
size_t
*size );
113
114
extern
rtems_task_argument
test_runner_argument;
115
116
extern
rtems_task_priority
test_runner_initial_priority;
117
118
extern
rtems_mode
test_runner_initial_modes;
119
121
122
#ifdef __cplusplus
123
}
124
#endif
125
126
#endif
/* _TS_CONFIG_H */
rtems_mode
uint32_t rtems_mode
This type represents a Classic API task mode set.
Definition
modes.h:174
rtems_task_argument
CPU_Uint32ptr rtems_task_argument
This integer type represents task argument values.
Definition
tasks.h:100
rtems_task_priority
uint32_t rtems_task_priority
This integer type represents task priorities of the Classic API.
Definition
types.h:257
rtems.h
This header file defines the RTEMS Classic API.
Generated by
1.18.0