source: rtems/c/src/lib/libbsp/sparc/leon2/include/bsp.h @ 5982921

4.104.114.84.95
Last change on this file since 5982921 was 5982921, checked in by Joel Sherrill <joel.sherrill@…>, on 09/06/07 at 00:03:14

2007-09-05 Daniel Hellstrom <daniel@…>

  • include/bsp.h: LEON2 and LEON3 Data cache snooping detection on startup, for drivers. (LEON2,3 are configurable processors, they can be with or without DCache snooping. Caches without snooping needs the drivers to flush cache or use the sparc instruction lda to force cache miss...)
  • Property mode set to 100644
File size: 2.8 KB
Line 
1/*  bsp.h
2 *
3 *  This include file contains all SPARC simulator definitions.
4 *
5 *  COPYRIGHT (c) 1989-1998.
6 *  On-Line Applications Research Corporation (OAR).
7 *
8 *  The license and distribution terms for this file may be
9 *  found in the file LICENSE in this distribution or at
10 *  http://www.rtems.com/license/LICENSE.
11 *
12 *  Ported to ERC32 implementation of the SPARC by On-Line Applications
13 *  Research Corporation (OAR) under contract to the European Space
14 *  Agency (ESA).
15 *
16 *  ERC32 modifications of respective RTEMS file: COPYRIGHT (c) 1995.
17 *  European Space Agency.
18 *
19 *  $Id$
20 */
21
22#ifndef _BSP_H
23#define _BSP_H
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29#include <bspopts.h>
30
31#include <rtems.h>
32#include <leon.h>
33#include <rtems/clockdrv.h>
34#include <rtems/console.h>
35
36/* SPARC CPU variant: LEON2 */
37#define LEON2 1
38 
39/*
40 *  confdefs.h overrides for this BSP:
41 *   - two termios serial ports
42 *   - Interrupt stack space is not minimum if defined.
43 */
44
45#define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 2
46#define CONFIGURE_INTERRUPT_STACK_MEMORY  (16 * 1024)
47
48/*
49 * Network driver configuration
50 */
51
52struct rtems_bsdnet_ifconfig;
53extern int rtems_leon_open_eth_driver_attach (struct rtems_bsdnet_ifconfig *config);
54extern int rtems_smc91111_driver_attach_leon2(struct rtems_bsdnet_ifconfig *config);
55#define RTEMS_BSP_NETWORK_DRIVER_NAME   "open_eth1"
56#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_OPENETH  rtems_leon_open_eth_driver_attach
57#define RTEMS_BSP_NETWORK_DRIVER_ATTACH_SMC91111 rtems_smc91111_driver_attach_leon2
58
59/*
60 *  The synchronous trap is an arbitrarily chosen software trap.
61 */
62
63/*
64 *  Simple spin delay in microsecond units for device drivers.
65 *  This is very dependent on the clock speed of the target.
66 */
67
68extern void Clock_delay(uint32_t microseconds);
69
70#define delay( microseconds ) Clock_delay(microseconds)
71extern int   CPU_SPARC_HAS_SNOOPING;
72
73
74/* Constants */
75
76/*
77 *  Information placed in the linkcmds file.
78 */
79
80extern int   RAM_START;
81extern int   RAM_END;
82extern int   RAM_SIZE;
83 
84extern int   PROM_START;
85extern int   PROM_END;
86extern int   PROM_SIZE;
87
88extern int   CLOCK_SPEED;
89 
90extern int   end;        /* last address in the program */
91
92/* miscellaneous stuff assumed to exist */
93
94void bsp_cleanup( void );
95
96void bsp_start( void );
97
98rtems_isr_entry set_vector(                     /* returns old vector */
99    rtems_isr_entry     handler,                /* isr routine        */
100    rtems_vector_number vector,                 /* vector number      */
101    int                 type                    /* RTEMS or RAW intr  */
102);
103
104void BSP_fatal_return( void );
105
106void bsp_spurious_initialize( void );
107
108extern rtems_configuration_table BSP_Configuration;     /* owned by BSP */
109
110extern rtems_cpu_table           Cpu_table;             /* owned by BSP */
111
112#ifdef __cplusplus
113}
114#endif
115
116#endif
Note: See TracBrowser for help on using the repository browser.