source: rtems/doc/supplements/hppa1_1/cputable.texi @ ae68ff0

4.104.114.84.95
Last change on this file since ae68ff0 was ae68ff0, checked in by Joel Sherrill <joel.sherrill@…>, on 05/27/97 at 12:40:11

Initial revision

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