source: rtems/doc/supplements/i960/cputable.t @ 6313537

4.104.114.84.95
Last change on this file since 6313537 was 6313537, checked in by Joel Sherrill <joel.sherrill@…>, on 04/19/99 at 21:04:34

Added info based on i960HA support.

  • Property mode set to 100644
File size: 3.9 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 i960CA version of the RTEMS CPU Dependent
22Information Table contains the information required to interface
23a Board Support Package and RTEMS on the i960CA.  This
24information is provided to allow RTEMS to interoperate
25effectively with the BSP.  The C structure definition is given
26here:
27
28@example
29@group
30typedef struct @{
31  void        (*pretasking_hook)( void );
32  void        (*predriver_hook)( void );
33  void        (*postdriver_hook)( void );
34  void        (*idle_task)( void );
35  boolean       do_zero_of_workspace;
36  unsigned32    idle_task_stack_size;
37  unsigned32    interrupt_stack_size;
38  unsigned32    extra_mpci_receive_server_stack;
39  void       (*stack_free_hook)( void* );
40  /* end of fields required on all CPUs */
41 
42  i960_PRCB    *Prcb;
43
44@} rtems_cpu_table;
45@end group
46@end example
47
48The contents of the i960 Processor Control Block
49are discussed in the User's Manual for the particular
50i960 model being used.  Structure definitions for the
51i960CA and i960HA PRCB and Control Table are provided
52by including the file @code{rtems.h}.
53
54@table @code
55@item pretasking_hook
56is the address of the user provided routine which is invoked
57once RTEMS APIs are initialized.  This routine will be invoked
58before any system tasks are created.  Interrupts are disabled.
59This field may be NULL to indicate that the hook is not utilized.
60
61@item predriver_hook
62is the address of the user provided
63routine that is invoked immediately before the
64the device drivers and MPCI are initialized. RTEMS
65initialization is complete but interrupts and tasking are disabled.
66This field may be NULL to indicate that the hook is not utilized.
67
68@item postdriver_hook
69is the address of the user provided
70routine that is invoked immediately after the
71the device drivers and MPCI are initialized. RTEMS
72initialization is complete but interrupts and tasking are disabled.
73This field may be NULL to indicate that the hook is not utilized.
74
75@item idle_task
76is the address of the optional user
77provided routine which is used as the system's IDLE task.  If
78this field is not NULL, then the RTEMS default IDLE task is not
79used.  This field may be NULL to indicate that the default IDLE
80is to be used.
81
82@item do_zero_of_workspace
83indicates whether RTEMS should
84zero the Workspace as part of its initialization.  If set to
85TRUE, the Workspace is zeroed.  Otherwise, it is not.
86
87@item idle_task_stack_size
88is the size of the RTEMS idle task stack in bytes. 
89If this number is less than MINIMUM_STACK_SIZE, then the
90idle task's stack will be MINIMUM_STACK_SIZE in byte.
91
92@item interrupt_stack_size
93is the size of the RTEMS
94allocated interrupt stack in bytes.  This value must be at least
95as 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@item Prcb
113is the base address of the Processor Control Block.  It
114is primarily used by RTEMS to install interrupt handlers.
115@end table
116
117
118
119
120
121
Note: See TracBrowser for help on using the repository browser.