comparison packages/kernel/current/tests/ksched1.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 // ksched1.c
4 //
5 // Kernel C API Sched test 1
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-23
35 // Description: Simply checks the world starts
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 NTHREADS 2
48 #define STACKSIZE 4096
49
50 static cyg_handle_t thread[NTHREADS];
51
52 static cyg_thread thread_obj[NTHREADS];
53 static char stack[NTHREADS][STACKSIZE];
54
55
56 static void entry0( cyg_addrword_t data )
57 {
58 CHECK( 222 == (int)data );
59 CYG_TEST_PASS_FINISH( "Kernel C API Sched 1 OK");
60 }
61
62 void ksched1_main(void)
63 {
64 CYG_TEST_INIT();
65
66 cyg_thread_create( 4, entry0 , (cyg_addrword_t)222, "ksched1",
67 (void *)stack[0], STACKSIZE, &thread[0], &thread_obj[0]);
68 cyg_thread_resume(thread[0]);
69
70 cyg_scheduler_start();
71
72 CYG_TEST_FAIL_FINISH("Not reached");
73 }
74
75 externC void
76 cyg_start( void )
77 {
78 ksched1_main();
79 }
80
81 #else /* def CYGFUN_KERNEL_API_C */
82 externC void
83 cyg_start( void )
84 {
85 CYG_TEST_INIT();
86 CYG_TEST_PASS_FINISH("Kernel C API layer disabled");
87 }
88 #endif /* def CYGFUN_KERNEL_API_C */
89
90 /* EOF ksched1.c */