source: rtems/doc/supplements/sparc/cputable.t @ db91520

4.104.114.84.95
Last change on this file since db91520 was db91520, checked in by Joel Sherrill <joel.sherrill@…>, on 07/31/97 at 18:45:58

corrected typos and changes LANGUAGE to RTEMS-LANGUAGE.

  • Property mode set to 100644
File size: 4.0 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
41@group
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@} rtems_cpu_table;
55@end group
56@end example
57
58@table @code
59@item pretasking_hook
60is the address of the
61user provided routine which is invoked once RTEMS initialization
62is complete but before interrupts and tasking are enabled.  This
63field may be NULL to indicate that the hook is not utilized.
64
65@item predriver_hook
66is the address of the user provided
67routine which is invoked with tasking enabled immediately before
68the MPCI and device drivers are initialized. RTEMS
69initialization is complete, interrupts and tasking are enabled,
70but no device drivers are initialized.  This field may be NULL to
71indicate that the hook is not utilized.
72
73@item postdriver_hook
74is the address of the user provided
75routine which is invoked with tasking enabled immediately after
76the MPCI and device drivers are initialized. RTEMS
77initialization is complete, interrupts and tasking are enabled,
78and the device drivers are initialized.  This field may be NULL
79to indicate that the hook is not utilized.
80
81@item idle_task
82is the address of the optional user
83provided routine which is used as the system's IDLE task.  If
84this field is not NULL, then the RTEMS default IDLE task is not
85used.  This field may be NULL to indicate that the default IDLE
86is to be used.
87
88@item do_zero_of_workspace
89indicates whether RTEMS should
90zero the Workspace as part of its initialization.  If set to
91TRUE, the Workspace is zeroed.  Otherwise, it is not.
92
93@item interrupt_stack_size
94is the size of the RTEMS allocated interrupt stack in bytes.
95This value must be at least as large as MINIMUM_STACK_SIZE.
96
97@item extra_mpci_receive_server_stack
98is the extra stack space allocated for the RTEMS MPCI receive server task
99in bytes.  The MPCI receive server may invoke nearly all directives and
100may require extra stack space on some targets.
101
102@item stack_allocate_hook
103is the address of the optional user provided routine which allocates
104memory for task stacks.  If this hook is not NULL, then a stack_free_hook
105must be provided as well.
106
107@item stack_free_hook
108is the address of the optional user provided routine which frees
109memory for task stacks.  If this hook is not NULL, then a stack_allocate_hook
110must be provided as well.
111
112@end table
113
Note: See TracBrowser for help on using the repository browser.