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

4.104.114.84.95
Last change on this file since 08311cc3 was 08311cc3, checked in by Joel Sherrill <joel.sherrill@…>, on 11/17/99 at 17:51:34

Updated copyright notice.

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