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

Last change on this file since 2fbdbd4 was 2fbdbd4, checked in by Joel Sherrill <joel.sherrill@…>, on 05/24/00 at 14:36:52

Significantly lowered the default memory requirements:

  • CONFIGURE_RTEMS_INIT_TASKS_TABLE was 10 now 0
  • CONFIGURE_POSIX_INIT_THREAD_TABLE was 10 now 0
  • CONFIGURE_ITRON_INIT_TASK_TABLE was 10 now 0
  • CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS was 20 now 3
  • added CONFIGURE_NUMBER_OF_TERMIOS_PORTS and defaulted to 1
  • added CONFIGURE_TERMIOS_DISABLED defaulted to "enabled"
  • miniIMFS is now the default

Added configuration error checks that:

+ Ensure > 0 tasks/threads are configured
+ Ensure at least one inititalization task/thread is defined

bsp.h now defines so BSP specific requirements are accounted for:

+ CONFIGURE_NUMBER_OF_TERMIOS_PORTS
+ CONFIGURE_INTERRUPT_STACK_MEMORY

console_reserve_resources and rtems_termios_reserve_resources
are no longer required and considered obsolete. Calls to
rtems_termios_reserve_resources have been eliminated although
the routine is still there and the body "if 0'ed".

We are very close to having NO reason to modify the
configuration tables in the BSP. Be warned that eventually
we would like to see the need for BSP_Configuration
eliminated!

  • 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.