comparison packages/kernel/current/tests/kthread0.c @ 0:3111d98ba7b3 ecos-v1_1-release

Initial commit of eCos version 1.1
author jlarmour
date Tue, 11 May 1999 11:16:07 +0000
parents
children 443894e2e912
comparison
equal deleted inserted replaced
-1:000000000000 0:3111d98ba7b3
1 /*=================================================================
2 //
3 // kthread0.c
4 //
5 // Kernel C API Thread test 0
6 //
7 //==========================================================================
8 //####COPYRIGHTBEGIN####
9 //
10 // -------------------------------------------
11 // The contents of this file are subject to the Cygnus eCos Public License
12 // Version 1.0 (the "License"); you may not use this file except in
13 // compliance with the License. You may obtain a copy of the License at
14 // http://sourceware.cygnus.com/ecos
15 //
16 // Software distributed under the License is distributed on an "AS IS"
17 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
18 // License for the specific language governing rights and limitations under
19 // the License.
20 //
21 // The Original Code is eCos - Embedded Cygnus Operating System, released
22 // September 30, 1998.
23 //
24 // The Initial Developer of the Original Code is Cygnus. Portions created
25 // by Cygnus are Copyright (C) 1998 Cygnus Solutions. All Rights Reserved.
26 // -------------------------------------------
27 //
28 //####COPYRIGHTEND####
29 //==========================================================================
30 //#####DESCRIPTIONBEGIN####
31 //
32 // Author(s): dsm
33 // Contributors: dsm
34 // Date: 1998-03-18
35 // Description: Limited to checking constructors/destructors
36 //####DESCRIPTIONEND####
37 */
38
39 #include <cyg/kernel/kapi.h>
40
41 #include <cyg/infra/testcase.h>
42
43 #ifdef CYGFUN_KERNEL_API_C
44
45 #include "testaux.h"
46
47 #define STACKSIZE 4096
48
49 static char stack[STACKSIZE];
50
51 static cyg_thread_entry_t entry;
52
53 static void entry( cyg_addrword_t data )
54 {
55 }
56
57 static int *p;
58
59 #if 0
60 static cyg_handle_t t0,t1;
61 static cyg_thread thread0, thread1;
62 #endif
63
64 static cyg_handle_t t2;
65 static cyg_thread thread2;
66
67 static bool flash( void )
68 {
69 #if 0 // no facility to allocate stack exists yet.
70 cyg_thread_create( entry, 0x111, NULL, 0, &t0, &thread0 );
71
72 cyg_thread_create( entry, (cyg_addrword_t)&t0, STACKSIZE, 0, &t1, &thread0 );
73 #endif
74
75 cyg_thread_create(4, entry, (cyg_addrword_t)p, "kthread0",
76 (void *)stack, STACKSIZE, &t2, &thread2 );
77
78 return true;
79 }
80
81 void kthread0_main( void )
82 {
83 CYG_TEST_INIT();
84
85 CHECK(flash());
86 CHECK(flash());
87
88 CYG_TEST_PASS_FINISH("Kernel C API Thread 0 OK");
89
90 }
91
92 externC void
93 cyg_start( void )
94 {
95 kthread0_main();
96 }
97
98 #else /* def CYGFUN_KERNEL_API_C */
99 externC void
100 cyg_start( void )
101 {
102 CYG_TEST_INIT();
103 CYG_TEST_PASS_FINISH("Kernel C API layer disabled");
104 }
105 #endif /* def CYGFUN_KERNEL_API_C */
106
107 /* EOF kthread0.c */