source: rtems/doc/supplements/powerpc/cputable.texi @ 03c8223

4.104.114.84.95
Last change on this file since 03c8223 was 2e6d68c4, checked in by Joel Sherrill <joel.sherrill@…>, on 07/02/97 at 17:54:33

Updated to the PowerPC.

  • Property mode set to 100644
File size: 4.7 KB
Line 
1@c
2@c  COPYRIGHT (c) 1988-1996.
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 SPARC version of the RTEMS CPU Dependent
37Information Table is given by the C structure definition is
38shown below:
39
40@example
41typedef struct @{
42  void       (*pretasking_hook)( void );
43  void       (*predriver_hook)( void );
44  void       (*postdriver_hook)( void );
45  void       (*idle_task)( void );
46  boolean      do_zero_of_workspace;
47  unsigned32   interrupt_stack_size;
48  unsigned32   extra_mpci_receive_server_stack;
49  void *     (*stack_allocate_hook)( unsigned32 );
50  void       (*stack_free_hook)( void* );
51  /* end of fields required on all CPUs */
52
53  unsigned32   clicks_per_usec; /* Timer clicks per microsecond */
54  unsigned32   serial_per_sec;  /* Serial clocks per second */
55  boolean      serial_external_clock;
56  boolean      serial_xon_xoff;
57  boolean      serial_cts_rts;
58  unsigned32   serial_rate;
59  unsigned32   timer_average_overhead; /* Average overhead of timer in ticks */
60  unsigned32   timer_least_valid; /* Least valid number from timer */
61  void (*spurious_handler)(unsigned32 vector, CPU_Interrupt_frame *);
62
63@};
64@end example
65
66@table @code
67@item pretasking_hook
68is the address of the
69user provided routine which is invoked once RTEMS initialization
70is complete but before interrupts and tasking are enabled.  This
71field may be NULL to indicate that the hook is not utilized.
72
73@item predriver_hook
74is the address of the user provided
75routine which is invoked with tasking enabled immediately before
76the MPCI and device drivers are initialized. RTEMS
77initialization is complete, interrupts and tasking are enabled,
78but no device drivers are initialized.  This field may be NULL to
79indicate that the hook is not utilized.
80
81@item postdriver_hook
82is the address of the user provided
83routine which is invoked with tasking enabled immediately after
84the MPCI and device drivers are initialized. RTEMS
85initialization is complete, interrupts and tasking are enabled,
86and the device drivers are initialized.  This field may be NULL
87to indicate that the hook is not utilized.
88
89@item idle_task
90is the address of the optional user
91provided routine which is used as the system's IDLE task.  If
92this field is not NULL, then the RTEMS default IDLE task is not
93used.  This field may be NULL to indicate that the default IDLE
94is to be used.
95
96@item do_zero_of_workspace
97indicates whether RTEMS should
98zero the Workspace as part of its initialization.  If set to
99TRUE, the Workspace is zeroed.  Otherwise, it is not.
100
101@item interrupt_stack_size
102is the size of the RTEMS allocated interrupt stack in bytes.
103This value must be at least as large as MINIMUM_STACK_SIZE.
104
105@item extra_mpci_receive_server_stack
106is the extra stack space allocated for the RTEMS MPCI receive server task
107in bytes.  The MPCI receive server may invoke nearly all directives and
108may require extra stack space on some targets.
109
110@item stack_allocate_hook
111is the address of the optional user provided routine which allocates
112memory for task stacks.  If this hook is not NULL, then a stack_free_hook
113must be provided as well.
114
115@item stack_free_hook
116is the address of the optional user provided routine which frees
117memory for task stacks.  If this hook is not NULL, then a stack_allocate_hook
118must be provided as well.
119
120@item clicks_per_usec
121is the XXX
122
123@item serial_per_sec
124is the XXX
125
126@item serial_external_clock
127is the XXX
128
129@item serial_xon_xoff
130is the XXX
131
132@item serial_cts_rts
133is the XXX
134
135@item serial_rate
136is the XXX
137
138@item timer_average_overhead
139is the XXX
140
141@item timer_least_valid
142@item spurious_handler
143
144@end table
145
Note: See TracBrowser for help on using the repository browser.