source: rtems/c/src/lib/libbsp/unix/posix/include/bsp.h @ b06e68ef

4.104.114.84.95
Last change on this file since b06e68ef was b06e68ef, checked in by Joel Sherrill <joel.sherrill@…>, on 08/17/95 at 19:51:51

Numerous miscellaneous features incorporated from Tony Bennett
(tbennett@…) including the following major additions:

+ variable length messages
+ named devices
+ debug monitor
+ association tables/variables

  • Property mode set to 100644
File size: 3.1 KB
Line 
1/*  bsp.h
2 *
3 *  This include file contains all POSIX BSP definitions.
4 *
5 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
6 *  On-Line Applications Research Corporation (OAR).
7 *  All rights assigned to U.S. Government, 1994.
8 *
9 *  This material may be reproduced by or for the U.S. Government pursuant
10 *  to the copyright license under the clause at DFARS 252.227-7013.  This
11 *  notice must appear in all copies of this file and its derivatives.
12 *
13 *  $Id$
14 */
15
16#ifndef __POSIX_BSP_h
17#define __POSIX_BSP_h
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23#include <rtems.h>
24#include <clockdrv.h>
25#include <iosupp.h>
26#include <libcsupport.h>
27#include <signal.h>
28
29/*
30 *  Define the time limits for RTEMS Test Suite test durations.
31 *  Long test and short test duration limits are provided.  These
32 *  values are in seconds and need to be converted to ticks for the
33 *  application.
34 *
35 */
36
37#define MAX_LONG_TEST_DURATION       300 /* 5 minutes = 300 seconds */
38#define MAX_SHORT_TEST_DURATION      3   /* 3 seconds */
39
40/*
41 *  Stuff for Time Test 27
42 */
43
44#define MUST_WAIT_FOR_INTERRUPT 1
45
46#define Install_tm27_vector( handler ) \
47    set_vector( (handler), 16, 1 )
48
49#define Cause_tm27_intr()  \
50    raise( 16 )
51
52#define Clear_tm27_intr()
53
54#define Lower_tm27_intr() \
55    _ISR_Set_level( 0 );
56
57#define RAM_START 0
58#define RAM_END   0x100000
59
60/* miscellaneous stuff assumed to exist */
61
62extern rtems_configuration_table BSP_Configuration;
63
64/*
65 * Define this to use signals for MPCI shared memory driver.
66 * If undefined, the shared memory driver will poll from the
67 * clock interrupt.
68 * Ref: ../shmsupp/getcfg.c
69 *
70 * BEWARE:: many UN*X kernels and debuggers become severely confused when
71 *          debugging programs which use signals.  The problem is *much*
72 *          worse when using multiple signals, since ptrace(2) tends to
73 *          drop all signals except 1 in the case of multiples.
74 *          On hpux9, this problem was so bad, we couldn't use interrupts
75 *          with the shared memory driver if we ever hoped to debug
76 *          RTEMS programs.
77 *          Maybe systems that use /proc don't have this problem...
78 */
79 
80/* #define INTERRUPT_EXTERNAL_MPCI        SIGUSR1 */
81
82/*
83 * Console driver init
84 */
85 
86rtems_device_driver console_initialize(
87  rtems_device_major_number, rtems_device_minor_number minor, void *);
88 
89#define CONSOLE_DRIVER_TABLE_ENTRY \
90  { console_initialize, NULL, NULL, NULL, NULL, NULL }
91 
92/*
93 * NOTE: Use the standard Clock driver entry
94 */
95 
96/* functions */
97
98rtems_isr_entry set_vector(rtems_isr_entry, rtems_vector_number, int);
99void bsp_start( void );
100void bsp_cleanup( void );
101
102/* miscellaneous stuff assumed to exist */
103
104extern rtems_configuration_table BSP_Configuration;     /* owned by BSP */
105extern rtems_cpu_table           Cpu_table;             /* owned by BSP */
106
107extern int                       rtems_argc;
108extern char                    **rtems_argv;
109extern char                    **rtems_envp;
110
111extern rtems_unsigned32          bsp_isr_level;
112
113extern char *rtems_progname;    /* UNIX executable name */
114
115extern int cpu_number;
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.