source: rtems/doc/supplements/hppa1_1/cputable.t @ 9ec462aa

4.104.114.84.95
Last change on this file since 9ec462aa was 9ec462aa, checked in by Joel Sherrill <joel.sherrill@…>, on 10/25/99 at 18:02:33

Fixing many lines that are too long to format cleanly.

  • Property mode set to 100644
File size: 4.1 KB
Line 
1@c
2@c  COPYRIGHT (c) 1988-1998.
3@c  On-Line Applications Research Corporation (OAR).
4@c  All rights reserved.
5@c
6@c  $Id$
7@c
8
9@chapter Processor Dependent Information Table
10
11@section Introduction
12
13Any highly processor dependent information required
14to describe a processor to RTEMS is provided in the CPU
15Dependent Information Table.  This table is not required for all
16processors supported by RTEMS.  This chapter describes the
17contents, if any, for a particular processor type.
18
19@section CPU Dependent Information Table
20
21The PA-RISC version of the RTEMS CPU Dependent
22Information Table contains the information required to interface
23a Board Support Package and RTEMS on the PA-RISC.  This
24information is provided to allow RTEMS to interoperate
25effectively with the BSP.  The C structure definition is given
26here:
27
28@example
29typedef struct @{
30  void       (*pretasking_hook)( void );
31  void       (*predriver_hook)( void );
32  void       (*postdriver_hook)( void );
33  void       (*idle_task)( void );
34  boolean      do_zero_of_workspace;
35  unsigned32   idle_task_stack_size;
36  unsigned32   interrupt_stack_size;
37  unsigned32   extra_mpci_receive_server_stack;
38  void *     (*stack_allocate_hook)( unsigned32 );
39  void       (*stack_free_hook)( void * );
40  /* end of fields required on all CPUs */
41 
42  hppa_rtems_isr_entry spurious_handler;
43 
44      /* itimer_clicks_per_microsecond is for the Clock driver */
45  unsigned32   itimer_clicks_per_microsecond;
46@}   rtems_cpu_table;
47@end example
48
49@table @code
50@item pretasking_hook
51is the address of the user provided routine which is invoked
52once RTEMS APIs are initialized.  This routine will be invoked
53before any system tasks are created.  Interrupts are disabled.
54This field may be NULL to indicate that the hook is not utilized.
55
56@item predriver_hook
57is the address of the user provided
58routine that is invoked immediately before the
59the device drivers and MPCI are initialized. RTEMS
60initialization is complete but interrupts and tasking are disabled.
61This field may be NULL to indicate that the hook is not utilized.
62
63@item postdriver_hook
64is the address of the user provided
65routine that is invoked immediately after the
66the device drivers and MPCI are initialized. RTEMS
67initialization is complete but interrupts and tasking are disabled.
68This field may be NULL to indicate that the hook is not utilized.
69
70@item idle_task
71is the address of the optional user
72provided routine which is used as the system's IDLE task.  If
73this field is not NULL, then the RTEMS default IDLE task is not
74used.  This field may be NULL to indicate that the default IDLE
75is to be used.
76
77@item do_zero_of_workspace
78indicates whether RTEMS should
79zero the Workspace as part of its initialization.  If set to
80TRUE, the Workspace is zeroed.  Otherwise, it is not.
81
82@item idle_task_stack_size
83is the size of the RTEMS idle task stack in bytes. 
84If this number is less than MINIMUM_STACK_SIZE, then the
85idle task's stack will be MINIMUM_STACK_SIZE in byte.
86
87@item interrupt_stack_size
88is the size of the RTEMS allocated interrupt stack in bytes. 
89This value must be at least as large as MINIMUM_STACK_SIZE.
90
91@item extra_mpci_receive_server_stack
92is the extra stack space allocated for the RTEMS MPCI receive server task
93in bytes.  The MPCI receive server may invoke nearly all directives and
94may require extra stack space on some targets.
95
96@item stack_allocate_hook
97is the address of the optional user provided routine which allocates
98memory for task stacks.  If this hook is not NULL, then a stack_free_hook
99must be provided as well.
100
101@item stack_free_hook
102is the address of the optional user provided routine which frees
103memory for task stacks.  If this hook is not NULL, then a stack_allocate_hook
104must be provided as well.
105
106@item spurious_handler
107is the address of the optional user provided routine which is invoked
108when a spurious external interrupt occurs.  A spurious interrupt is one
109for which no handler is installed.
110
111@item itimer_clicks_per_microsecond
112is the number of countdowns in the on-CPU timer which corresponds
113to a microsecond.  This is a function of the clock speed of the CPU
114being used.
115
116@end table
Note: See TracBrowser for help on using the repository browser.