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

4.104.114.84.95
Last change on this file since a1c57e4 was a1c57e4, checked in by Joel Sherrill <joel.sherrill@…>, on 10/12/98 at 21:27:10

Added idle_task_stack_size field to CPU Table.

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