OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems-20020807/] [doc/] [supplements/] [i960/] [cputable.t] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1026 ivang
@c
2
@c  COPYRIGHT (c) 1988-2002.
3
@c  On-Line Applications Research Corporation (OAR).
4
@c  All rights reserved.
5
@c
6
@c  cputable.t,v 1.10 2002/01/17 21:47:46 joel Exp
7
@c
8
 
9
@chapter Processor Dependent Information Table
10
 
11
@section Introduction
12
 
13
Any highly processor dependent information required
14
to describe a processor to RTEMS is provided in the CPU
15
Dependent Information Table.  This table is not required for all
16
processors supported by RTEMS.  This chapter describes the
17
contents, if any, for a particular processor type.
18
 
19
@section CPU Dependent Information Table
20
 
21
The i960CA version of the RTEMS CPU Dependent
22
Information Table contains the information required to interface
23
a Board Support Package and RTEMS on the i960CA.  This
24
information is provided to allow RTEMS to interoperate
25
effectively with the BSP.  The C structure definition is given
26
here:
27
 
28
@example
29
@group
30
typedef 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
 
48
The contents of the i960 Processor Control Block
49
are discussed in the User's Manual for the particular
50
i960 model being used.  Structure definitions for the
51
i960CA and i960HA PRCB and Control Table are provided
52
by including the file @code{rtems.h}.
53
 
54
@table @code
55
@item pretasking_hook
56
is the address of the user provided routine which is invoked
57
once RTEMS APIs are initialized.  This routine will be invoked
58
before any system tasks are created.  Interrupts are disabled.
59
This field may be NULL to indicate that the hook is not utilized.
60
 
61
@item predriver_hook
62
is the address of the user provided
63
routine that is invoked immediately before the
64
the device drivers and MPCI are initialized. RTEMS
65
initialization is complete but interrupts and tasking are disabled.
66
This field may be NULL to indicate that the hook is not utilized.
67
 
68
@item postdriver_hook
69
is the address of the user provided
70
routine that is invoked immediately after the
71
the device drivers and MPCI are initialized. RTEMS
72
initialization is complete but interrupts and tasking are disabled.
73
This field may be NULL to indicate that the hook is not utilized.
74
 
75
@item idle_task
76
is the address of the optional user
77
provided routine which is used as the system's IDLE task.  If
78
this field is not NULL, then the RTEMS default IDLE task is not
79
used.  This field may be NULL to indicate that the default IDLE
80
is to be used.
81
 
82
@item do_zero_of_workspace
83
indicates whether RTEMS should
84
zero the Workspace as part of its initialization.  If set to
85
TRUE, the Workspace is zeroed.  Otherwise, it is not.
86
 
87
@item idle_task_stack_size
88
is the size of the RTEMS idle task stack in bytes.
89
If this number is less than MINIMUM_STACK_SIZE, then the
90
idle task's stack will be MINIMUM_STACK_SIZE in byte.
91
 
92
@item interrupt_stack_size
93
is the size of the RTEMS
94
allocated interrupt stack in bytes.  This value must be at least
95
as large as MINIMUM_STACK_SIZE.
96
 
97
@item extra_mpci_receive_server_stack
98
is the extra stack space allocated for the RTEMS MPCI receive server task
99
in bytes.  The MPCI receive server may invoke nearly all directives and
100
may require extra stack space on some targets.
101
 
102
@item stack_allocate_hook
103
is the address of the optional user provided routine which allocates
104
memory for task stacks.  If this hook is not NULL, then a stack_free_hook
105
must be provided as well.
106
 
107
@item stack_free_hook
108
is the address of the optional user provided routine which frees
109
memory for task stacks.  If this hook is not NULL, then a stack_allocate_hook
110
must be provided as well.
111
 
112
@item Prcb
113
is the base address of the Processor Control Block.  It
114
is primarily used by RTEMS to install interrupt handlers.
115
@end table
116
 
117
 
118
 
119
 
120
 
121
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.