Warning, /testsuites/ada/sptests/sp16/sptest.ads is written in an unsupported language. File is not indexed.
0001 -- SPDX-License-Identifier: BSD-2-Clause
0002
0003 --
0004 -- SPTEST / SPECIFICATION
0005 --
0006 -- DESCRIPTION:
0007 --
0008 -- This package is the specification for Test 16 of the RTEMS
0009 -- Single Processor Test Suite.
0010 --
0011 -- DEPENDENCIES:
0012 --
0013 --
0014 --
0015 -- COPYRIGHT (c) 1989-2011.
0016 -- On-Line Applications Research Corporation (OAR).
0017 --
0018 -- Redistribution and use in source and binary forms, with or without
0019 -- modification, are permitted provided that the following conditions
0020 -- are met:
0021 -- 1. Redistributions of source code must retain the above copyright
0022 -- notice, this list of conditions and the following disclaimer.
0023 -- 2. Redistributions in binary form must reproduce the above copyright
0024 -- notice, this list of conditions and the following disclaimer in the
0025 -- documentation and/or other materials provided with the distribution.
0026 --
0027 -- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0028 -- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0029 -- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0030 -- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0031 -- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0032 -- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0033 -- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0034 -- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0035 -- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0036 -- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0037 -- POSSIBILITY OF SUCH DAMAGE.
0038 --
0039
0040 with RTEMS;
0041 with RTEMS.TASKS;
0042
0043 package SPTEST is
0044
0045 --
0046 -- These arrays contain the IDs and NAMEs of all RTEMS tasks created
0047 -- by this test.
0048 --
0049
0050 TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.ID;
0051 TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.NAME;
0052
0053 --
0054 -- These arrays contain the IDs and NAMEs of all RTEMS regions created
0055 -- by this test.
0056 --
0057
0058 REGION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID;
0059 REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME;
0060
0061 --
0062 -- The following constant defines the priority of most of the
0063 -- RTEMS tasks in this test. This allows one of the tasks to
0064 -- easily set itself to a higher priority than the rest.
0065 --
0066
0067 BASE_PRIORITY : constant RTEMS.TASKS.PRIORITY := 140;
0068
0069 --
0070 -- These arrays define the memory areas used for the regions in
0071 -- this test.
0072 --
0073
0074 AREA_1 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8;
0075 for AREA_1'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT;
0076
0077 AREA_2 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8;
0078 for AREA_2'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT;
0079
0080 AREA_3 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8;
0081 for AREA_3'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT;
0082
0083 AREA_4 : array ( RTEMS.UNSIGNED32 range 0 .. 8191 ) of RTEMS.UNSIGNED8;
0084 for AREA_4'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT;
0085
0086 --
0087 -- INIT
0088 --
0089 -- DESCRIPTION:
0090 --
0091 -- This RTEMS task initializes the application.
0092 --
0093
0094 procedure INIT (
0095 ARGUMENT : in RTEMS.TASKS.ARGUMENT
0096 );
0097 pragma Convention (C, INIT);
0098
0099 --
0100 -- PUT_ADDRESS_FROM_AREA_1
0101 --
0102 -- DESCRIPTION:
0103 --
0104 -- This subprogram prints the offset of the address TO_BE_PRINTED
0105 -- from the first byte of AREA_1.
0106 --
0107 -- NOTE:
0108 --
0109 -- This subprogram is used because the actual address of AREA_1
0110 -- varies based upon the size of the executable, the target board,
0111 -- and the target processor.
0112 --
0113
0114 procedure PUT_ADDRESS_FROM_AREA_1 (
0115 TO_BE_PRINTED : in RTEMS.ADDRESS
0116 );
0117
0118 --
0119 -- PUT_ADDRESS_FROM_AREA_2
0120 --
0121 -- DESCRIPTION:
0122 --
0123 -- This subprogram prints the offset of the address TO_BE_PRINTED
0124 -- from the first byte of AREA_2.
0125 --
0126 -- NOTE:
0127 --
0128 -- This subprogram is used because the actual address of AREA_2
0129 -- varies based upon the size of the executable, the target board,
0130 -- and the target processor.
0131 --
0132
0133 procedure PUT_ADDRESS_FROM_AREA_2 (
0134 TO_BE_PRINTED : in RTEMS.ADDRESS
0135 );
0136
0137 --
0138 -- PUT_ADDRESS_FROM_AREA_3
0139 --
0140 -- DESCRIPTION:
0141 --
0142 -- This subprogram prints the offset of the address TO_BE_PRINTED
0143 -- from the first byte of AREA_3.
0144 --
0145 -- NOTE:
0146 --
0147 -- This subprogram is used because the actual address of AREA_3
0148 -- varies based upon the size of the executable, the target board,
0149 -- and the target processor.
0150 --
0151
0152 procedure PUT_ADDRESS_FROM_AREA_3 (
0153 TO_BE_PRINTED : in RTEMS.ADDRESS
0154 );
0155
0156 --
0157 -- TASK_1
0158 --
0159 -- DESCRIPTION:
0160 --
0161 -- This RTEMS task tests the Region Manager.
0162 --
0163
0164 procedure TASK_1 (
0165 ARGUMENT : in RTEMS.TASKS.ARGUMENT
0166 );
0167 pragma Convention (C, TASK_1);
0168
0169 --
0170 -- TASK_2
0171 --
0172 -- DESCRIPTION:
0173 --
0174 -- This RTEMS task tests the Region Manager.
0175 --
0176
0177 procedure TASK_2 (
0178 ARGUMENT : in RTEMS.TASKS.ARGUMENT
0179 );
0180 pragma Convention (C, TASK_2);
0181
0182 --
0183 -- TASK_3
0184 --
0185 -- DESCRIPTION:
0186 --
0187 -- This RTEMS task tests the Region Manager.
0188 --
0189
0190 procedure TASK_3 (
0191 ARGUMENT : in RTEMS.TASKS.ARGUMENT
0192 );
0193 pragma Convention (C, TASK_3);
0194
0195 --
0196 -- TASK_4
0197 --
0198 -- DESCRIPTION:
0199 --
0200 -- This RTEMS task tests the Region Manager.
0201 --
0202
0203 procedure TASK_4 (
0204 ARGUMENT : in RTEMS.TASKS.ARGUMENT
0205 );
0206 pragma Convention (C, TASK_4);
0207
0208 --
0209 -- TASK_5
0210 --
0211 -- DESCRIPTION:
0212 --
0213 -- This RTEMS task tests the Region Manager.
0214 --
0215
0216 procedure TASK_5 (
0217 ARGUMENT : in RTEMS.TASKS.ARGUMENT
0218 );
0219 pragma Convention (C, TASK_5);
0220
0221 end SPTEST;