annotate packages/kernel/current/tests/klock.c @ 208:e0c0827131d1 ecos

Merge from eCos master repository on 2002-05-20-20:11:54-BST
author jlarmour
date Mon, 20 May 2002 22:19:26 +0000
parents 51b34619b677
children d2c90368aeef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
1 /*=================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
2 //
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
3 // klock.c
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
4 //
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
5 // Kernel lock test
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
6 //
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
7 //==========================================================================
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
8 //####ECOSGPLCOPYRIGHTBEGIN####
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
9 // -------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
10 // This file is part of eCos, the Embedded Configurable Operating System.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
11 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
12 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
13 // eCos is free software; you can redistribute it and/or modify it under
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
14 // the terms of the GNU General Public License as published by the Free
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
15 // Software Foundation; either version 2 or (at your option) any later version.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
16 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
17 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
18 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
19 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
20 // for more details.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
21 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
22 // You should have received a copy of the GNU General Public License along
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
23 // with eCos; if not, write to the Free Software Foundation, Inc.,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
24 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
25 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
26 // As a special exception, if other files instantiate templates or use macros
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
27 // or inline functions from this file, or you compile this file and link it
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
28 // with other works to produce a work based on this file, this file does not
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
29 // by itself cause the resulting work to be covered by the GNU General Public
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
30 // License. However the source code for this file must still be made available
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
31 // in accordance with section (3) of the GNU General Public License.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
32 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
33 // This exception does not invalidate any other reasons why a work based on
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
34 // this file might be covered by the GNU General Public License.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
35 //
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
36 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
37 // at http://sources.redhat.com/ecos/ecos-license
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
38 // -------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 197
diff changeset
39 //####ECOSGPLCOPYRIGHTEND####
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
40 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
41 //#####DESCRIPTIONBEGIN####
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
42 //
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
43 // Author(s): dsm
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
44 // Contributors: dsm
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
45 // Date: 1998-03-18
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
46 // Description: Tests some basic thread functions.
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
47 //####DESCRIPTIONEND####
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
48 */
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
49 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
50
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
51 #include <cyg/kernel/kapi.h>
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
52
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
53 #include <cyg/infra/testcase.h>
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
54
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
55 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
56
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
57 #ifdef CYGFUN_KERNEL_API_C
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
58
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
59 #if (CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0)
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
60
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
61 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
62
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
63 #include "testaux.h"
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
64
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
65 #include <cyg/hal/hal_arch.h> // for CYGNUM_HAL_STACK_SIZE_TYPICAL
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
66
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
67 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
68
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
69 #ifdef CYGNUM_HAL_STACK_SIZE_TYPICAL
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
70 #define STACKSIZE CYGNUM_HAL_STACK_SIZE_TYPICAL
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
71 #else
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
72 #define STACKSIZE 2000
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
73 #endif
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
74
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
75 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
76
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
77 static char stack[2][STACKSIZE];
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
78
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
79 static cyg_thread thread[2];
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
80
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
81 static cyg_handle_t pt0,pt1;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
82
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
83 static cyg_mutex_t mx;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
84 static cyg_cond_t cv;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
85 static cyg_sem_t sem;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
86 static cyg_flag_t fl;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
87 static cyg_mbox mbox;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
88 static cyg_handle_t mbh;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
89
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
90 volatile static int thread0_state = 0;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
91 volatile static int thread1_state = 0;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
92
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
93 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
94
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
95 static void entry0( cyg_addrword_t data )
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
96 {
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
97 CHECK( 222 == (int)data );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
98
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
99 // Do everything with the scheduler locked.
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
100 cyg_scheduler_lock();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
101
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
102 // --------------------------------------------------
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
103 // Mutex test
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
104
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
105 cyg_mutex_lock( &mx );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
106 thread0_state = 1;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
107
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
108 // Get thread 2 running.
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
109 cyg_thread_resume(pt1);
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
110 thread0_state = 2;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
111
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
112 #ifdef CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
113 cyg_cond_wait( &cv );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
114 thread0_state = 3;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
115
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
116 while( thread1_state < 2 ) cyg_thread_yield();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
117
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
118 cyg_cond_broadcast( &cv );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
119 thread0_state = 4;
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
120 #endif
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
121
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
122 cyg_mutex_unlock( &mx );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
123 thread0_state = 5;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
124
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
125
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
126 // --------------------------------------------------
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
127 // Semaphore test
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
128
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
129 cyg_semaphore_wait( &sem );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
130 thread0_state = 6;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
131
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
132 cyg_semaphore_post( &sem );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
133 thread0_state = 7;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
134
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
135 while( thread1_state < 7 ) cyg_thread_yield();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
136
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
137 // --------------------------------------------------
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
138 // Flags test
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
139
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
140 cyg_flag_wait( &fl, 1, CYG_FLAG_WAITMODE_OR|CYG_FLAG_WAITMODE_CLR);
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
141 thread0_state = 8;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
142
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
143 cyg_flag_setbits( &fl, 2 );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
144 thread0_state = 9;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
145
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
146 // --------------------------------------------------
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
147 // Message box test
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
148
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
149 #ifdef CYGMFN_KERNEL_SYNCH_MBOXT_PUT_CAN_WAIT
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
150 {
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
151 void *mbret;
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
152
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
153 mbret = cyg_mbox_get( mbh );
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
154 CYG_TEST_CHECK( mbret == (void *)0xAAAAAAAA , "bad result from cyg_mbox_timed_get()");
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
155 thread0_state = 10;
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
156
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
157 cyg_mbox_put( mbh, (void *)0xBBBBBBBB );
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
158 thread0_state = 11;
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
159 }
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
160 #endif
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
161 // --------------------------------------------------
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
162
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
163 thread0_state = 999;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
164
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
165 cyg_thread_yield();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
166 cyg_thread_yield();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
167 cyg_thread_yield();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
168
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
169 CYG_TEST_CHECK( thread0_state == 999, "thread 0 not in exit state");
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
170 CYG_TEST_CHECK( thread1_state == 999, "thread 1 not in exit state");
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
171 CYG_TEST_PASS_FINISH("Kernel lock test OK");
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
172 }
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
173
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
174 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
175
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
176 static void entry1( cyg_addrword_t data )
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
177 {
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
178 cyg_bool res;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
179
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
180 CHECK( 333 == (int)data );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
181
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
182 // Do everything with the scheduler locked.
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
183 cyg_scheduler_lock();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
184
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
185 // --------------------------------------------------
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
186 // Mutex test
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
187 #ifdef CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
188 cyg_mutex_lock( &mx );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
189 thread1_state = 1;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
190
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
191 while( thread0_state < 2 ) cyg_thread_yield();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
192
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
193 cyg_cond_signal( &cv );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
194 thread1_state = 2;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
195
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
196 res = cyg_cond_timed_wait( &cv, cyg_current_time()+10 );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
197 CYG_TEST_CHECK( res , "FALSE result from cyg_cond_timed_wait()" );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
198 thread1_state = 3;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
199
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
200 cyg_mutex_unlock( &mx );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
201 thread1_state = 4;
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
202 #endif
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
203
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
204 // --------------------------------------------------
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
205 // Semaphore test
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
206
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
207 while( thread0_state < 5 ) cyg_thread_yield();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
208
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
209 cyg_semaphore_post( &sem );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
210 thread1_state = 5;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
211
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
212 while( thread0_state < 6 ) cyg_thread_yield();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
213 thread1_state = 6;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
214
197
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
215 #ifdef CYGFUN_KERNEL_THREADS_TIMER
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
216 res = cyg_semaphore_timed_wait( &sem, cyg_current_time()+10 );
197
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
217 #else
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
218 res = cyg_semaphore_wait( &sem );
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
219 #endif
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
220 CYG_TEST_CHECK( res , "FALSE result from cyg_semaphore[_timed]_wait()" );
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
221 thread1_state = 7;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
222
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
223 // --------------------------------------------------
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
224 // Flags test
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
225
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
226 cyg_flag_setbits( &fl, 1 );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
227 thread1_state = 8;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
228
197
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
229 #ifdef CYGFUN_KERNEL_THREADS_TIMER
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
230 cyg_flag_timed_wait( &fl, 2, CYG_FLAG_WAITMODE_OR|CYG_FLAG_WAITMODE_CLR,
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
231 cyg_current_time()+10 );
197
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
232 #else
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
233 cyg_flag_wait( &fl, 2, CYG_FLAG_WAITMODE_OR|CYG_FLAG_WAITMODE_CLR );
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
234 #endif
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
235 thread1_state = 9;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
236
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
237 // --------------------------------------------------
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
238 // Message box test
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
239 #ifdef CYGMFN_KERNEL_SYNCH_MBOXT_PUT_CAN_WAIT
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
240 {
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
241 void *mbret;
197
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
242 #ifdef CYGFUN_KERNEL_THREADS_TIMER
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
243 cyg_mbox_timed_put( mbh, (void *)0xAAAAAAAA, cyg_current_time()+10 );
197
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
244 #else
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
245 cyg_mbox_put( mbh, (void *)0xAAAAAAAA );
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
246 #endif
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
247 thread1_state = 10;
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
248
197
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
249 #ifdef CYGFUN_KERNEL_THREADS_TIMER
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
250 mbret = cyg_mbox_timed_get( mbh, cyg_current_time()+10);
197
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
251 #else
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
252 mbret = cyg_mbox_get( mbh );
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
253 #endif
51b34619b677 Merge from eCos master repository on 2001-11-30-11:22:06-GMT
jlarmour
parents: 132
diff changeset
254 CYG_TEST_CHECK( mbret == (void *)0xBBBBBBBB , "bad result from cyg_mbox[_timed]_get()");
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
255 thread1_state = 9;
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
256 }
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
257 #endif
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
258 // --------------------------------------------------
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
259
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
260 thread1_state = 999;
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
261 cyg_thread_exit();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
262 }
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
263
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
264 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
265
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
266 void kthread1_main( void )
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
267 {
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
268 CYG_TEST_INIT();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
269
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
270 cyg_thread_create(4, entry0, (cyg_addrword_t)222, "kthread1-0",
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
271 (void *)stack[0], STACKSIZE, &pt0, &thread[0] );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
272 cyg_thread_create(4, entry1, (cyg_addrword_t)333, "kthread1-1",
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
273 (void *)stack[1], STACKSIZE, &pt1, &thread[1] );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
274
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
275 // Init all the objects
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
276
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
277 cyg_mutex_init( &mx );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
278 cyg_cond_init( &cv, &mx );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
279 cyg_semaphore_init( &sem, 0 );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
280 cyg_flag_init( &fl );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
281 cyg_mbox_create( &mbh, &mbox );
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
282
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
283 cyg_thread_resume(pt0);
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
284
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
285 cyg_scheduler_start();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
286
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
287 CYG_TEST_FAIL_FINISH("Not reached");
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
288 }
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
289
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
290 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
291
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
292 externC void
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
293 cyg_start( void )
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
294 {
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
295 kthread1_main();
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
296 }
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
297
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
298 //==========================================================================
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
299
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
300 #else /* CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0 */
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
301 # define NA_MSG "Schedule has unique priorities"
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
302 #endif
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
303
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
304 #else /* def CYGFUN_KERNEL_API_C */
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
305 # define NA_MSG "Kernel C API layer disabled"
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
306 #endif
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
307
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
308 #ifdef NA_MSG
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
309 externC void
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
310 cyg_start( void )
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
311 {
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
312 CYG_TEST_INIT();
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
313 CYG_TEST_NA(NA_MSG);
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
314 }
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
315 #endif
124
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
316
0ec04793409a Merge from eCos master repository on 2000-09-11-03:00:13-BST
jlarmour
parents:
diff changeset
317 //==========================================================================
132
0ae0bc38e387 Merge from eCos master repository on 2000-10-31-00:30:36-GMT
jlarmour
parents: 124
diff changeset
318 /* EOF klock.c */