source: rtems/c/src/lib/libbsp/i386/pc386/startup/bspstart.c @ 1c5ebc5

4.104.115
Last change on this file since 1c5ebc5 was 1c5ebc5, checked in by Chris Johns <chrisj@…>, on 04/28/09 at 06:20:35

2009-04-28 Chris Johns <chrisj@…>

  • Makefile.am: Add bspcmdline.c.
  • include/bsp.h: Add boot command line interfaces.
  • start/start.c: Save the multiboot command line. Pass the command line to boot_card.
  • start/start.S: Update for boot_card command line change.
  • startup/bspstart.c: Initialise the command line.
  • startup/bspcmdline.c: New.
  • console/console.c, ide/idecfg.c: Add boot command line support.
  • Property mode set to 100644
File size: 2.8 KB
Line 
1/*-------------------------------------------------------------------------+
2| This file contains the PC386 BSP startup package. It includes application,
3| board, and monitor specific initialization and configuration. The generic CPU
4| dependent initialization has been performed before this routine is invoked.
5+--------------------------------------------------------------------------+
6| (C) Copyright 1997 -
7| - NavIST Group - Real-Time Distributed Systems and Industrial Automation
8|
9| http://pandora.ist.utl.pt
10|
11| Instituto Superior Tecnico * Lisboa * PORTUGAL
12+--------------------------------------------------------------------------+
13| Disclaimer:
14|
15| This file is provided "AS IS" without warranty of any kind, either
16| expressed or implied.
17+--------------------------------------------------------------------------+
18| This code is based on:
19|   bspstart.c,v 1.8 1996/05/28 13:12:40 joel Exp - go32 BSP
20| With the following copyright notice:
21| **************************************************************************
22| *  COPYRIGHT (c) 1989-2008.
23| *  On-Line Applications Research Corporation (OAR).
24| *
25| *  The license and distribution terms for this file may be
26| *  found in found in the file LICENSE in this distribution or at
27| *  http://www.rtems.com/license/LICENSE.
28| **************************************************************************
29|
30|  $Id$
31+--------------------------------------------------------------------------*/
32
33#include <bsp.h>
34#include <rtems/pci.h>
35#include <libcpu/cpuModel.h>
36
37/*
38 *  External routines
39 */
40extern void Calibrate_loop_1ms(void);
41extern void rtems_irq_mngt_init(void);
42extern void bsp_size_memory(void);
43
44/*-------------------------------------------------------------------------+
45|         Function: bsp_start
46|      Description: Called before main is invoked.
47| Global Variables: None.
48|        Arguments: None.
49|          Returns: Nothing.
50+--------------------------------------------------------------------------*/
51void bsp_start_default( void )
52{
53  int pci_init_retval;
54
55  /*
56   *  We need to determine how much memory there is in the system.
57   */
58  bsp_size_memory();
59
60  /*
61   * Calibrate variable for 1ms-loop (see timer.c)
62   */
63  Calibrate_loop_1ms();
64
65  /*
66   * Init rtems interrupt management
67   */
68  rtems_irq_mngt_init();
69  /*
70   * Init rtems exceptions management
71   */
72  rtems_exception_init_mngt();
73
74  /*
75   * init PCI Bios interface...
76   */
77  pci_init_retval = pci_initialize();
78  if (pci_init_retval != PCIB_ERR_SUCCESS) {
79      printk("PCI bus: could not initialize PCI BIOS interface\n");
80  }
81
82  bsp_ide_cmdline_init ();
83
84} /* bsp_start */
85
86/*
87 *  By making this a weak alias for bsp_start_default, a brave soul
88 *  can override the actual bsp_start routine used.
89 */
90
91void bsp_start (void) __attribute__ ((weak, alias("bsp_start_default")));
Note: See TracBrowser for help on using the repository browser.