source: rtems/doc/supplements/m68k/cputable.t @ 03889c1

4.104.114.84.95
Last change on this file since 03889c1 was 03889c1, checked in by Joel Sherrill <joel.sherrill@…>, on 10/19/98 at 21:46:32

All of the Supplemental manuals are now generated as automatically
as possible.

  • Property mode set to 100644
File size: 3.7 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 MC68xxx version of the RTEMS CPU Dependent
22Information Table contains the information required to interface
23a Board Support Package and RTEMS on the MC68xxx.  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_allocate_hook)( unsigned32 );
40  void       (*stack_free_hook)( void* );
41  /* end of fields required on all CPUs */
42
43  m68k_isr    *interrupt_vector_table;
44@} rtems_cpu_table;
45@end group
46@end example
47
48@table @code
49@item pretasking_hook
50is the address of the
51user provided routine which is invoked once RTEMS initialization
52is complete but before interrupts and tasking are enabled.  This
53field may be NULL to indicate that the hook is not utilized.
54
55@item predriver_hook
56is the address of the user provided
57routine which is invoked with tasking enabled immediately before
58the MPCI and device drivers are initialized. RTEMS
59initialization is complete, interrupts and tasking are enabled,
60but no device drivers are initialized.  This field may be NULL to
61indicate that the hook is not utilized.
62
63@item postdriver_hook
64is the address of the user provided
65routine which is invoked with tasking enabled immediately after
66the MPCI and device drivers are initialized. RTEMS
67initialization is complete, interrupts and tasking are enabled,
68and the device drivers are initialized.  This field may be NULL
69to indicate that the hook is not utilized.
70
71@item idle_task
72is the address of the optional user
73provided routine which is used as the system's IDLE task.  If
74this field is not NULL, then the RTEMS default IDLE task is not
75used.  This field may be NULL to indicate that the default IDLE
76is to be used.
77
78@item do_zero_of_workspace
79indicates whether RTEMS should
80zero the Workspace as part of its initialization.  If set to
81TRUE, the Workspace is zeroed.  Otherwise, it is not.
82
83@item idle_task_stack_size
84is the size of the RTEMS idle task stack in bytes. 
85If this number is less than MINIMUM_STACK_SIZE, then the
86idle task's stack will be MINIMUM_STACK_SIZE in byte.
87
88@item interrupt_stack_size
89is the size of the RTEMS
90allocated interrupt stack in bytes.  This value must be at least
91as large as MINIMUM_STACK_SIZE.
92
93@item extra_mpci_receive_server_stack
94is the extra stack space allocated for the RTEMS MPCI receive server task
95in bytes.  The MPCI receive server may invoke nearly all directives and
96may require extra stack space on some targets.
97
98@item stack_allocate_hook
99is the address of the optional user provided routine which allocates
100memory for task stacks.  If this hook is not NULL, then a stack_free_hook
101must be provided as well.
102
103@item stack_free_hook
104is the address of the optional user provided routine which frees
105memory for task stacks.  If this hook is not NULL, then a stack_allocate_hook
106must be provided as well.
107
108@item interrupt_vector_table
109is the base address of the CPU's Exception Vector Table.
110
111@end table
Note: See TracBrowser for help on using the repository browser.