Changeset 3a4ae6c in rtems for c/src/lib/libbsp/powerpc
- 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
- Location:
- c/src/lib/libbsp/powerpc/papyrus
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/powerpc/papyrus/include/bsp.h
r5072b07 r3a4ae6c 44 44 #else 45 45 #include <rtems.h> 46 #include <console.h> 46 47 47 48 /* … … 95 96 extern rtems_cpu_table Cpu_table; /* owned by BSP */ 96 97 98 /* 99 * Device Driver Table Entries 100 */ 101 102 /* 103 * NOTE: Use the standard Console driver entry 104 */ 105 106 /* 107 * NOTE: Use the standard Clock driver entry 108 */ 109 110 /* 111 * How many libio files we want 112 */ 113 114 #define BSP_LIBIO_MAX_FDS 20 115 97 116 /* functions */ 98 117 -
c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c
r5072b07 r3a4ae6c 38 38 */ 39 39 40 #include <rtems.h>41 40 #include <bsp.h> 42 #include <shm.h> 41 #include <rtems/libio.h> 42 43 43 #include <libcsupport.h> 44 45 #include <string.h> 46 #include <fcntl.h> 47 48 #ifdef STACK_CHECKER_ON 49 #include <stackchk.h> 50 #endif 44 51 45 52 /* … … 53 60 54 61 rtems_cpu_table Cpu_table; 62 63 char *rtems_progname; 55 64 56 65 /* Initialize whatever libc we are using … … 77 86 78 87 /* 88 * Init the RTEMS libio facility to provide UNIX-like system 89 * calls for use by newlib (ie: provide __open, __close, etc) 90 * Uses malloc() to get area for the iops, so must be after malloc init 91 */ 92 93 rtems_libio_init(); 94 95 /* 79 96 * Set up for the libc handling. 80 97 */ … … 94 111 } 95 112 96 void bsp_start(void) 113 /* 114 * After drivers are setup, register some "filenames" 115 * and open stdin, stdout, stderr files 116 * 117 * Newlib will automatically associate the files with these 118 * (it hardcodes the numbers) 119 */ 120 121 void 122 bsp_postdriver_hook(void) 97 123 { 124 int stdin_fd, stdout_fd, stderr_fd; 125 126 if ((stdin_fd = __open("/dev/console", O_RDONLY, 0)) == -1) 127 rtems_fatal_error_occurred('STD0'); 128 129 if ((stdout_fd = __open("/dev/console", O_WRONLY, 0)) == -1) 130 rtems_fatal_error_occurred('STD1'); 131 132 if ((stderr_fd = __open("/dev/console", O_WRONLY, 0)) == -1) 133 rtems_fatal_error_occurred('STD2'); 134 135 if ((stdin_fd != 0) || (stdout_fd != 1) || (stderr_fd != 2)) 136 rtems_fatal_error_occurred('STIO'); 137 } 138 139 int main( 140 int argc, 141 char **argv, 142 char **environp 143 ) 144 { 145 if ((argc > 0) && argv && argv[0]) 146 rtems_progname = argv[0]; 147 else 148 rtems_progname = "RTEMS"; 149 98 150 /* 99 151 * Allocate the memory for the RTEMS Work Space. This can come from … … 133 185 134 186 /* 187 * Tell libio how many fd's we want and allow it to tweak config 188 */ 189 190 rtems_libio_config(&BSP_Configuration, BSP_LIBIO_MAX_FDS); 191 192 /* 135 193 * Need to "allocate" the memory for the RTEMS Workspace and 136 194 * tell the RTEMS configuration where it is. This memory is … … 155 213 Cpu_table.predriver_hook = bsp_libc_init; /* RTEMS resources available */ 156 214 157 Cpu_table.postdriver_hook = NULL;215 Cpu_table.postdriver_hook = bsp_postdriver_hook; 158 216 159 217 Cpu_table.idle_task = NULL; /* do not override system IDLE task */
Note: See TracChangeset
for help on using the changeset viewer.