source: rtems/c/src/lib/libbsp/hppa1.1/simhppa/include/bsp.h @ df49c60

4.104.114.84.95
Last change on this file since df49c60 was df49c60, checked in by Joel Sherrill <joel.sherrill@…>, on Jun 12, 2000 at 3:00:15 PM

Merged from 4.5.0-beta3a

  • Property mode set to 100644
File size: 3.0 KB
Line 
1/*  bsp.h
2 *
3 *  This include file contains all HP PA-RISC simulator definitions.
4 *
5 *  COPYRIGHT (c) 1989-1999.
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.OARcorp.com/rtems/license.html.
11 *
12 *  $Id$
13 */
14
15#ifndef __PXFL_BSP_h
16#define __PXFL_BSP_h
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#include <rtems.h>
23#include <clockdrv.h>
24#include <rtems/ttydrv.h>
25
26/*
27 *  confdefs.h overrides for this BSP:
28 *   - number of termios serial ports (defaults to 1)
29 *   - Interrupt stack space is not minimum if defined.
30 */
31
32/* #define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 2 */
33/* #define CONFIGURE_INTERRUPT_STACK_MEMORY  (TBD * 1024) */
34
35/*
36 *  Define the time limits for RTEMS Test Suite test durations.
37 *  Long test and short test duration limits are provided.  These
38 *  values are in seconds and need to be converted to ticks for the
39 *  application.
40 *
41 */
42
43#define MAX_LONG_TEST_DURATION       3   /* 3 seconds */
44#define MAX_SHORT_TEST_DURATION      3   /* 3 seconds */
45
46/*
47 *  Define the interrupt mechanism for Time Test 27
48 */
49
50#define MUST_WAIT_FOR_INTERRUPT 1
51
52#define Install_tm27_vector( handler ) \
53    ( void ) set_vector( handler, HPPA_INTERRUPT_EXTERNAL_INTERVAL_TIMER, 1 );
54
55#define Cause_tm27_intr() \
56  set_itimer( get_itimer() + 20 )
57
58#define Clear_tm27_intr()  \
59  set_eirr( 0x80000000 )
60
61#define Lower_tm27_intr() \
62  { \
63    register unsigned32 ignored; \
64    HPPA_ASM_SSM( HPPA_PSW_I, ignored ); \
65  }
66
67/*
68 *  Simple spin delay in microsecond units for device drivers.
69 *  This is very dependent on the clock speed of the target.
70 */
71
72extern void Clock_delay(rtems_unsigned32 microseconds);
73#define delay( microseconds ) \
74        Clock_delay(microseconds);
75
76/*
77 * Todo: this should be put somewhere else
78 */
79
80#undef CLOCK_DRIVER_TABLE_ENTRY
81#define CLOCK_DRIVER_TABLE_ENTRY { Clock_initialize, NULL, NULL, NULL, NULL, Clock_control }
82rtems_device_driver Clock_control(
83  rtems_device_major_number major,
84  rtems_device_minor_number minor,
85  void *pargp
86);
87
88/*
89 * We printf() to a buffer if multiprocessing, *or* if this is set.
90 * ref: src/lib/libbsp/hppa/pxfl/iosupp/consupp.c
91 */
92
93extern int use_print_buffer;
94
95/*
96 * When not doing printf to a buffer, we do printf thru RTEMS libio
97 * and our tty driver.  Set it up so that console is right.
98 */
99
100#define CONSOLE_DRIVER_TABLE_ENTRY \
101  { tty_initialize, tty_open, tty_close, tty_read, tty_write, tty_control }
102
103#define HPPA_INTERRUPT_EXTERNAL_MPCI        HPPA_INTERRUPT_EXTERNAL_10
104
105rtems_isr_entry set_vector(rtems_isr_entry, rtems_vector_number, int);
106
107void bsp_start( void );
108void bsp_cleanup( void );
109
110/* miscellaneous stuff assumed to exist */
111
112extern rtems_configuration_table BSP_Configuration;     /* owned by BSP */
113extern rtems_cpu_table           Cpu_table;             /* owned by BSP */
114
115extern int cpu_number;         /* from 0; cpu number in a multi cpu system */
116
117#ifdef __cplusplus
118}
119#endif
120
121#endif
122/* end of include file */
Note: See TracBrowser for help on using the repository browser.