OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [tests/] [sptests/] [sp19/] [inttest.h] - Blame information for rev 173

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/*  inttest.h
2
 *
3
 *  XXX: ???
4
 *  This include file contains the CPU dependent implementation
5
 *  of the following routines needed to test RTEMS floating
6
 *  point support:
7
 *           INTEGER_load( &context )
8
 *           INTEGER_check( &context )
9
 *
10
 *  INTEGER_load   - loads the specified floating point context
11
 *  INTEGER_check  - checks the specified floating point context
12
 *
13
 *  NOTE:  These routines are VERY CPU dependent and are thus
14
 *         located in in the CPU dependent include file
15
 *         inttest.h.  These routines form the core of the
16
 *         floating point context switch test.
17
 *
18
 *  COPYRIGHT (c) 1989-1999.
19
 *  On-Line Applications Research Corporation (OAR).
20
 *
21
 *  The license and distribution terms for this file may be
22
 *  found in the file LICENSE in this distribution or at
23
 *  http://www.OARcorp.com/rtems/license.html.
24
 *
25
 *  $Id: inttest.h,v 1.2 2001-09-27 12:02:34 chris Exp $
26
 */
27
 
28
 
29
#ifndef __INTEGER_TEST_h
30
#define __INTEGER_TEST_h
31
 
32
#include <stdio.h>
33
#define REG_VARIABLE rtems_unsigned32
34
 
35
#define INTEGER_DECLARE \
36
    REG_VARIABLE int01 = 1; \
37
    REG_VARIABLE int02 = 2; \
38
    REG_VARIABLE int03 = 3; \
39
    REG_VARIABLE int04 = 4; \
40
    REG_VARIABLE int05 = 5; \
41
    REG_VARIABLE int06 = 6; \
42
    REG_VARIABLE int07 = 7; \
43
    REG_VARIABLE int08 = 8; \
44
    REG_VARIABLE int09 = 9; \
45
    REG_VARIABLE int10 = 10; \
46
    REG_VARIABLE int11 = 11; \
47
    REG_VARIABLE int12 = 12; \
48
    REG_VARIABLE int13 = 13; \
49
    REG_VARIABLE int14 = 14; \
50
    REG_VARIABLE int15 = 15; \
51
    REG_VARIABLE int16 = 16; \
52
    REG_VARIABLE int17 = 17; \
53
    REG_VARIABLE int18 = 18; \
54
    REG_VARIABLE int19 = 19; \
55
    REG_VARIABLE int20 = 20; \
56
    REG_VARIABLE int21 = 21; \
57
    REG_VARIABLE int22 = 22; \
58
    REG_VARIABLE int23 = 23; \
59
    REG_VARIABLE int24 = 24; \
60
    REG_VARIABLE int25 = 25; \
61
    REG_VARIABLE int26 = 26; \
62
    REG_VARIABLE int27 = 27; \
63
    REG_VARIABLE int28 = 28; \
64
    REG_VARIABLE int29 = 29; \
65
    REG_VARIABLE int30 = 30; \
66
    REG_VARIABLE int31 = 31; \
67
    REG_VARIABLE int32 = 32
68
 
69
#define INTEGER_LOAD( _factor ) \
70
  do {                \
71
    int01  += _factor; \
72
    int02  += _factor; \
73
    int03  += _factor; \
74
    int04  += _factor; \
75
    int05  += _factor; \
76
    int06  += _factor; \
77
    int07  += _factor; \
78
    int08  += _factor; \
79
    int09  += _factor; \
80
    int10  += _factor; \
81
    int11  += _factor; \
82
    int12  += _factor; \
83
    int13  += _factor; \
84
    int14  += _factor; \
85
    int15  += _factor; \
86
    int16  += _factor; \
87
    int17  += _factor; \
88
    int18  += _factor; \
89
    int19  += _factor; \
90
    int20  += _factor; \
91
    int21  += _factor; \
92
    int22  += _factor; \
93
    int23  += _factor; \
94
    int24  += _factor; \
95
    int25  += _factor; \
96
    int26  += _factor; \
97
    int27  += _factor; \
98
    int28  += _factor; \
99
    int29  += _factor; \
100
    int30  += _factor; \
101
    int31  += _factor; \
102
    int32  += _factor; \
103
  } while (0)
104
 
105
#define INTEGER_CHECK_ONE( _v, _base, _factor ) \
106
      if ( (_v) != ((_base) + (_factor)) )  { \
107
          printf("%d: " #_v " wrong -- (0x%x not 0x%x)\n", \
108
             task_index, (_v), (_base + _factor));  \
109
      }
110
 
111
 
112
#define INTEGER_CHECK( _factor ) \
113
    do { \
114
      INTEGER_CHECK_ONE( int01,  1, (_factor) ); \
115
      INTEGER_CHECK_ONE( int02,  2, (_factor) ); \
116
      INTEGER_CHECK_ONE( int03,  3, (_factor) ); \
117
      INTEGER_CHECK_ONE( int04,  4, (_factor) ); \
118
      INTEGER_CHECK_ONE( int05,  5, (_factor) ); \
119
      INTEGER_CHECK_ONE( int06,  6, (_factor) ); \
120
      INTEGER_CHECK_ONE( int07,  7, (_factor) ); \
121
      INTEGER_CHECK_ONE( int08,  8, (_factor) ); \
122
      INTEGER_CHECK_ONE( int09,  9, (_factor) ); \
123
      INTEGER_CHECK_ONE( int10, 10, (_factor) ); \
124
      INTEGER_CHECK_ONE( int11, 11, (_factor) ); \
125
      INTEGER_CHECK_ONE( int12, 12, (_factor) ); \
126
      INTEGER_CHECK_ONE( int13, 13, (_factor) ); \
127
      INTEGER_CHECK_ONE( int14, 14, (_factor) ); \
128
      INTEGER_CHECK_ONE( int15, 15, (_factor) ); \
129
      INTEGER_CHECK_ONE( int16, 16, (_factor) ); \
130
      INTEGER_CHECK_ONE( int17, 17, (_factor) ); \
131
      INTEGER_CHECK_ONE( int18, 18, (_factor) ); \
132
      INTEGER_CHECK_ONE( int19, 19, (_factor) ); \
133
      INTEGER_CHECK_ONE( int20, 20, (_factor) ); \
134
      INTEGER_CHECK_ONE( int21, 21, (_factor) ); \
135
      INTEGER_CHECK_ONE( int22, 22, (_factor) ); \
136
      INTEGER_CHECK_ONE( int23, 23, (_factor) ); \
137
      INTEGER_CHECK_ONE( int24, 24, (_factor) ); \
138
      INTEGER_CHECK_ONE( int25, 25, (_factor) ); \
139
      INTEGER_CHECK_ONE( int26, 26, (_factor) ); \
140
      INTEGER_CHECK_ONE( int27, 27, (_factor) ); \
141
      INTEGER_CHECK_ONE( int28, 28, (_factor) ); \
142
      INTEGER_CHECK_ONE( int29, 29, (_factor) ); \
143
      INTEGER_CHECK_ONE( int30, 30, (_factor) ); \
144
      INTEGER_CHECK_ONE( int31, 31, (_factor) ); \
145
      INTEGER_CHECK_ONE( int32, 32, (_factor) ); \
146
    } while (0)
147
 
148
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.