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

4.104.114.84.95
Last change on this file since 6449498 was 6449498, checked in by Joel Sherrill <joel.sherrill@…>, on 01/17/02 at 21:47:47

2001-01-17 Joel Sherrill <joel@…>

  • SUPPORT, LICENSE: New files.
  • Numerous files touched as part of merging the 4.5 branch onto the mainline development trunk and ensuring that the script that cuts snapshots and releases works on the documentation.
  • Property mode set to 100644
File size: 3.4 KB
Line 
1@c
2@c  COPYRIGHT (c) 1988-2002.
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 SPARC version of the RTEMS CPU Dependent
22Information Table is given by the C structure definition is
23shown below:
24
25@example
26@group
27typedef struct @{
28  void       (*pretasking_hook)( void );
29  void       (*predriver_hook)( void );
30  void       (*postdriver_hook)( void );
31  void       (*idle_task)( void );
32  boolean      do_zero_of_workspace;
33  unsigned32   idle_task_stack_size;
34  unsigned32   interrupt_stack_size;
35  unsigned32   extra_mpci_receive_server_stack;
36  void *     (*stack_allocate_hook)( unsigned32 );
37  void       (*stack_free_hook)( void* );
38  /* end of fields required on all CPUs */
39
40@} rtems_cpu_table;
41@end group
42@end example
43
44@table @code
45@item pretasking_hook
46is the address of the user provided routine which is invoked
47once RTEMS APIs are initialized.  This routine will be invoked
48before any system tasks are created.  Interrupts are disabled.
49This field may be NULL to indicate that the hook is not utilized.
50
51@item predriver_hook
52is the address of the user provided
53routine that is invoked immediately before the
54the device drivers and MPCI are initialized. RTEMS
55initialization is complete but interrupts and tasking are disabled.
56This field may be NULL to indicate that the hook is not utilized.
57
58@item postdriver_hook
59is the address of the user provided
60routine that is invoked immediately after the
61the device drivers and MPCI are initialized. RTEMS
62initialization is complete but interrupts and tasking are disabled.
63This field may be NULL to indicate that the hook is not utilized.
64
65@item idle_task
66is the address of the optional user
67provided routine which is used as the system's IDLE task.  If
68this field is not NULL, then the RTEMS default IDLE task is not
69used.  This field may be NULL to indicate that the default IDLE
70is to be used.
71
72@item do_zero_of_workspace
73indicates whether RTEMS should
74zero the Workspace as part of its initialization.  If set to
75TRUE, the Workspace is zeroed.  Otherwise, it is not.
76
77@item idle_task_stack_size
78is the size of the RTEMS idle task stack in bytes. 
79If this number is less than MINIMUM_STACK_SIZE, then the
80idle task's stack will be MINIMUM_STACK_SIZE in byte.
81
82@item interrupt_stack_size
83is the size of the RTEMS allocated interrupt stack in bytes.
84This value must be at least as large as MINIMUM_STACK_SIZE.
85
86@item extra_mpci_receive_server_stack
87is the extra stack space allocated for the RTEMS MPCI receive server task
88in bytes.  The MPCI receive server may invoke nearly all directives and
89may require extra stack space on some targets.
90
91@item stack_allocate_hook
92is the address of the optional user provided routine which allocates
93memory for task stacks.  If this hook is not NULL, then a stack_free_hook
94must be provided as well.
95
96@item stack_free_hook
97is the address of the optional user provided routine which frees
98memory for task stacks.  If this hook is not NULL, then a stack_allocate_hook
99must be provided as well.
100
101@end table
102
Note: See TracBrowser for help on using the repository browser.