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

Subversion Repositories or1k

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

Go to most recent revision | 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.9 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 PA-RISC version of the RTEMS CPU Dependent
22
Information Table contains the information required to interface
23
a Board Support Package and RTEMS on the PA-RISC.  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
typedef struct @{
30
  void       (*pretasking_hook)( void );
31
  void       (*predriver_hook)( void );
32
  void       (*postdriver_hook)( void );
33
  void       (*idle_task)( void );
34
  boolean      do_zero_of_workspace;
35
  unsigned32   idle_task_stack_size;
36
  unsigned32   interrupt_stack_size;
37
  unsigned32   extra_mpci_receive_server_stack;
38
  void *     (*stack_allocate_hook)( unsigned32 );
39
  void       (*stack_free_hook)( void * );
40
  /* end of fields required on all CPUs */
41
 
42
  hppa_rtems_isr_entry spurious_handler;
43
 
44
      /* itimer_clicks_per_microsecond is for the Clock driver */
45
  unsigned32   itimer_clicks_per_microsecond;
46
@}   rtems_cpu_table;
47
@end example
48
 
49
@table @code
50
@item pretasking_hook
51
is the address of the user provided routine which is invoked
52
once RTEMS APIs are initialized.  This routine will be invoked
53
before any system tasks are created.  Interrupts are disabled.
54
This field may be NULL to indicate that the hook is not utilized.
55
 
56
@item predriver_hook
57
is the address of the user provided
58
routine that is invoked immediately before the
59
the device drivers and MPCI are initialized. RTEMS
60
initialization is complete but interrupts and tasking are disabled.
61
This field may be NULL to indicate that the hook is not utilized.
62
 
63
@item postdriver_hook
64
is the address of the user provided
65
routine that is invoked immediately after the
66
the device drivers and MPCI are initialized. RTEMS
67
initialization is complete but interrupts and tasking are disabled.
68
This field may be NULL to indicate that the hook is not utilized.
69
 
70
@item idle_task
71
is the address of the optional user
72
provided routine which is used as the system's IDLE task.  If
73
this field is not NULL, then the RTEMS default IDLE task is not
74
used.  This field may be NULL to indicate that the default IDLE
75
is to be used.
76
 
77
@item do_zero_of_workspace
78
indicates whether RTEMS should
79
zero the Workspace as part of its initialization.  If set to
80
TRUE, the Workspace is zeroed.  Otherwise, it is not.
81
 
82
@item idle_task_stack_size
83
is the size of the RTEMS idle task stack in bytes.
84
If this number is less than MINIMUM_STACK_SIZE, then the
85
idle task's stack will be MINIMUM_STACK_SIZE in byte.
86
 
87
@item interrupt_stack_size
88
is the size of the RTEMS allocated interrupt stack in bytes.
89
This value must be at least as large as MINIMUM_STACK_SIZE.
90
 
91
@item extra_mpci_receive_server_stack
92
is the extra stack space allocated for the RTEMS MPCI receive server task
93
in bytes.  The MPCI receive server may invoke nearly all directives and
94
may require extra stack space on some targets.
95
 
96
@item stack_allocate_hook
97
is the address of the optional user provided routine which allocates
98
memory for task stacks.  If this hook is not NULL, then a stack_free_hook
99
must be provided as well.
100
 
101
@item stack_free_hook
102
is the address of the optional user provided routine which frees
103
memory for task stacks.  If this hook is not NULL, then a stack_allocate_hook
104
must be provided as well.
105
 
106
@item spurious_handler
107
is the address of the optional user provided routine which is invoked
108
when a spurious external interrupt occurs.  A spurious interrupt is one
109
for which no handler is installed.
110
 
111
@item itimer_clicks_per_microsecond
112
is the number of countdowns in the on-CPU timer which corresponds
113
to a microsecond.  This is a function of the clock speed of the CPU
114
being used.
115
 
116
@end table

powered by: WebSVN 2.1.0

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