Changeset 3a4ae6c in rtems for c/src/lib/libbsp/m68k/dmv152/startup/bspstart.c
- Timestamp:
- 09/11/95 19:35:39 (28 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- ced11f99
- Parents:
- 5072b07
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/m68k/dmv152/startup/bspstart.c
r5072b07 r3a4ae6c 22 22 */ 23 23 24 #include <rtems.h>25 24 #include <bsp.h> 25 #include <rtems/libio.h> 26 26 27 #include <libcsupport.h> 27 #include <vmeintr.h> 28 28 29 #include <string.h> 30 #include <fcntl.h> 31 32 #ifdef STACK_CHECKER_ON 33 #include <stackchk.h> 34 #endif 29 35 /* 30 36 * The original table from the application and our copy of it with … … 36 42 37 43 rtems_cpu_table Cpu_table; 44 45 char *rtems_progname; 38 46 39 47 /* Initialize whatever libc we are using … … 53 61 54 62 /* 63 * Init the RTEMS libio facility to provide UNIX-like system 64 * calls for use by newlib (ie: provide __open, __close, etc) 65 * Uses malloc() to get area for the iops, so must be after malloc init 66 */ 67 68 rtems_libio_init(); 69 70 /* 55 71 * Set up for the libc handling. 56 72 */ … … 70 86 } 71 87 72 int bsp_start( 88 /* 89 * After drivers are setup, register some "filenames" 90 * and open stdin, stdout, stderr files 91 * 92 * Newlib will automatically associate the files with these 93 * (it hardcodes the numbers) 94 */ 95 96 void 97 bsp_postdriver_hook(void) 98 { 99 int stdin_fd, stdout_fd, stderr_fd; 100 101 if ((stdin_fd = __open("/dev/console", O_RDONLY, 0)) == -1) 102 rtems_fatal_error_occurred('STD0'); 103 104 if ((stdout_fd = __open("/dev/console", O_WRONLY, 0)) == -1) 105 rtems_fatal_error_occurred('STD1'); 106 107 if ((stderr_fd = __open("/dev/console", O_WRONLY, 0)) == -1) 108 rtems_fatal_error_occurred('STD2'); 109 110 if ((stdin_fd != 0) || (stdout_fd != 1) || (stderr_fd != 2)) 111 rtems_fatal_error_occurred('STIO'); 112 } 113 114 int main( 73 115 int argc, 74 116 char **argv, … … 80 122 void *vbr; 81 123 124 if ((argc > 0) && argv && argv[0]) 125 rtems_progname = argv[0]; 126 else 127 rtems_progname = "RTEMS"; 128 82 129 monitors_vector_table = (m68k_isr_entry *)0; /* Monitor Vectors are at 0 */ 83 130 m68k_set_vbr( monitors_vector_table ); … … 116 163 Cpu_table.predriver_hook = bsp_libc_init; /* RTEMS resources available */ 117 164 118 Cpu_table.postdriver_hook = NULL; /* Call our main() for constructors */165 Cpu_table.postdriver_hook = bsp_postdriver_hook; 119 166 120 167 Cpu_table.idle_task = NULL; /* do not override system IDLE task */ … … 159 206 BSP_Configuration.maximum_extensions++; 160 207 #endif 208 209 /* 210 * Tell libio how many fd's we want and allow it to tweak config 211 */ 212 213 rtems_libio_config(&BSP_Configuration, BSP_LIBIO_MAX_FDS); 161 214 162 215 rtems_initialize_executive( &BSP_Configuration, &Cpu_table );
Note: See TracChangeset
for help on using the changeset viewer.