Ignore:
Timestamp:
Sep 11, 1995, 7:35:39 PM (26 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
ced11f99
Parents:
5072b07
Message:

The word "RTEMS" almost completely removed from the core.

Configuration Table Template file added and all tests
modified to use this. All gvar.h and conftbl.h files
removed from test directories.

Configuration parameter maximum_devices added.

Core semaphore and mutex handlers added and RTEMS API Semaphore
Manager updated to reflect this.

Initialization sequence changed to invoke API specific initialization
routines. Initialization tasks table now owned by RTEMS Tasks Manager.

Added user extension for post-switch.

Utilized user extensions to implement API specific functionality
like signal dispatching.

Added extensions to the System Initialization Thread so that an
API can register a function to be invoked while the system
is being initialized. These are largely equivalent to the
pre-driver and post-driver hooks.

Added the Modules file oar-go32_p5, modified oar-go32, and modified
the file make/custom/go32.cfg to look at an environment varable which
determines what CPU model is being used.

All BSPs updated to reflect named devices and clock driver's IOCTL
used by the Shared Memory Driver. Also merged clock isr into
main file and removed ckisr.c where possible.

Updated spsize to reflect new and moved variables.

Makefiles for the executive source and include files updated to show
break down of files into Core, RTEMS API, and Neither.

Header and inline files installed into subdirectory based on whether
logically in the Core or a part of the RTEMS API.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/m68k/gen68302/startup/bspstart.c

    r5072b07 r3a4ae6c  
    2121 */
    2222
    23 #include <rtems.h>
    2423#include <bsp.h>
     24#include <rtems/libio.h>
     25 
    2526#include <libcsupport.h>
    26 
     27 
     28#include <string.h>
     29#include <fcntl.h>
     30 
     31#ifdef STACK_CHECKER_ON
     32#include <stackchk.h>
     33#endif
    2734
    2835/*
     
    3542
    3643rtems_cpu_table Cpu_table;
     44
     45char *rtems_progname;
    3746
    3847/*      Initialize whatever libc we are using
     
    5968
    6069    /*
     70     *  Init the RTEMS libio facility to provide UNIX-like system
     71     *  calls for use by newlib (ie: provide __open, __close, etc)
     72     *  Uses malloc() to get area for the iops, so must be after malloc init
     73     */
     74
     75    rtems_libio_init();
     76
     77    /*
    6178     * Set up for the libc handling.
    6279     */
     
    7693}
    7794
    78 
    79 int bsp_start(
     95/*
     96 * After drivers are setup, register some "filenames"
     97 * and open stdin, stdout, stderr files
     98 *
     99 * Newlib will automatically associate the files with these
     100 * (it hardcodes the numbers)
     101 */
     102 
     103void
     104bsp_postdriver_hook(void)
     105{
     106  int stdin_fd, stdout_fd, stderr_fd;
     107 
     108  if ((stdin_fd = __open("/dev/console", O_RDONLY, 0)) == -1)
     109    rtems_fatal_error_occurred('STD0');
     110 
     111  if ((stdout_fd = __open("/dev/console", O_WRONLY, 0)) == -1)
     112    rtems_fatal_error_occurred('STD1');
     113 
     114  if ((stderr_fd = __open("/dev/console", O_WRONLY, 0)) == -1)
     115    rtems_fatal_error_occurred('STD2');
     116 
     117  if ((stdin_fd != 0) || (stdout_fd != 1) || (stderr_fd != 2))
     118    rtems_fatal_error_occurred('STIO');
     119}
     120
     121int main(
    80122  int argc,
    81123  char **argv,
     
    83125)
    84126{
     127  if ((argc > 0) && argv && argv[0])
     128    rtems_progname = argv[0];
     129  else
     130    rtems_progname = "RTEMS";
     131
    85132  /*
    86133   *  Allocate the memory for the RTEMS Work Space.  This can come from
     
    91138   */
    92139#if 0
    93 a  Cpu_table.interrupt_vector_table = (mc68000_isr *) 0/*&M68Kvec*/;
     140  Cpu_table.interrupt_vector_table = (mc68000_isr *) 0/*&M68Kvec*/;
    94141#endif
    95142
     
    122169    BSP_Configuration.maximum_extensions++;
    123170#endif
     171
     172  /*
     173   * Tell libio how many fd's we want and allow it to tweak config
     174   */
     175
     176  rtems_libio_config(&BSP_Configuration, BSP_LIBIO_MAX_FDS);
    124177
    125178  /*
     
    144197  Cpu_table.predriver_hook = bsp_libc_init;    /* RTEMS resources available */
    145198
    146   Cpu_table.postdriver_hook = NULL;
     199  Cpu_table.postdriver_hook = bsp_postdriver_hook;
    147200
    148201  Cpu_table.idle_task = NULL;  /* do not override system IDLE task */
Note: See TracChangeset for help on using the changeset viewer.