Ignore:
Timestamp:
09/11/95 19:35:39 (28 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/dmv152/startup/bspstart.c

    r5072b07 r3a4ae6c  
    2222 */
    2323
    24 #include <rtems.h>
    2524#include <bsp.h>
     25#include <rtems/libio.h>
     26 
    2627#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
    2935/*
    3036 *  The original table from the application and our copy of it with
     
    3642
    3743rtems_cpu_table Cpu_table;
     44
     45char *rtems_progname;
    3846
    3947/*      Initialize whatever libc we are using
     
    5361
    5462    /*
     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    /*
    5571     * Set up for the libc handling.
    5672     */
     
    7086}
    7187
    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 
     96void
     97bsp_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
     114int main(
    73115  int argc,
    74116  char **argv,
     
    80122  void           *vbr;
    81123
     124  if ((argc > 0) && argv && argv[0])
     125    rtems_progname = argv[0];
     126  else
     127    rtems_progname = "RTEMS";
     128
    82129  monitors_vector_table = (m68k_isr_entry *)0;   /* Monitor Vectors are at 0 */
    83130  m68k_set_vbr( monitors_vector_table );
     
    116163  Cpu_table.predriver_hook = bsp_libc_init;  /* RTEMS resources available */
    117164
    118   Cpu_table.postdriver_hook = NULL;   /* Call our main() for constructors */
     165  Cpu_table.postdriver_hook = bsp_postdriver_hook;
    119166
    120167  Cpu_table.idle_task = NULL;  /* do not override system IDLE task */
     
    159206    BSP_Configuration.maximum_extensions++;
    160207#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);
    161214
    162215  rtems_initialize_executive( &BSP_Configuration, &Cpu_table );
Note: See TracChangeset for help on using the changeset viewer.