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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems-20020807/] [doc/] [supplements/] [i960/] [cputable.t] - Diff between revs 1026 and 1765

Only display areas with differences | Details | Blame | View Log

Rev 1026 Rev 1765
@c
@c
@c  COPYRIGHT (c) 1988-2002.
@c  COPYRIGHT (c) 1988-2002.
@c  On-Line Applications Research Corporation (OAR).
@c  On-Line Applications Research Corporation (OAR).
@c  All rights reserved.
@c  All rights reserved.
@c
@c
@c  cputable.t,v 1.10 2002/01/17 21:47:46 joel Exp
@c  cputable.t,v 1.10 2002/01/17 21:47:46 joel Exp
@c
@c
@chapter Processor Dependent Information Table
@chapter Processor Dependent Information Table
@section Introduction
@section Introduction
Any highly processor dependent information required
Any highly processor dependent information required
to describe a processor to RTEMS is provided in the CPU
to describe a processor to RTEMS is provided in the CPU
Dependent Information Table.  This table is not required for all
Dependent Information Table.  This table is not required for all
processors supported by RTEMS.  This chapter describes the
processors supported by RTEMS.  This chapter describes the
contents, if any, for a particular processor type.
contents, if any, for a particular processor type.
@section CPU Dependent Information Table
@section CPU Dependent Information Table
The i960CA version of the RTEMS CPU Dependent
The i960CA version of the RTEMS CPU Dependent
Information Table contains the information required to interface
Information Table contains the information required to interface
a Board Support Package and RTEMS on the i960CA.  This
a Board Support Package and RTEMS on the i960CA.  This
information is provided to allow RTEMS to interoperate
information is provided to allow RTEMS to interoperate
effectively with the BSP.  The C structure definition is given
effectively with the BSP.  The C structure definition is given
here:
here:
@example
@example
@group
@group
typedef struct @{
typedef struct @{
  void        (*pretasking_hook)( void );
  void        (*pretasking_hook)( void );
  void        (*predriver_hook)( void );
  void        (*predriver_hook)( void );
  void        (*postdriver_hook)( void );
  void        (*postdriver_hook)( void );
  void        (*idle_task)( void );
  void        (*idle_task)( void );
  boolean       do_zero_of_workspace;
  boolean       do_zero_of_workspace;
  unsigned32    idle_task_stack_size;
  unsigned32    idle_task_stack_size;
  unsigned32    interrupt_stack_size;
  unsigned32    interrupt_stack_size;
  unsigned32    extra_mpci_receive_server_stack;
  unsigned32    extra_mpci_receive_server_stack;
  void       (*stack_free_hook)( void* );
  void       (*stack_free_hook)( void* );
  /* end of fields required on all CPUs */
  /* end of fields required on all CPUs */
  i960_PRCB    *Prcb;
  i960_PRCB    *Prcb;
@} rtems_cpu_table;
@} rtems_cpu_table;
@end group
@end group
@end example
@end example
The contents of the i960 Processor Control Block
The contents of the i960 Processor Control Block
are discussed in the User's Manual for the particular
are discussed in the User's Manual for the particular
i960 model being used.  Structure definitions for the
i960 model being used.  Structure definitions for the
i960CA and i960HA PRCB and Control Table are provided
i960CA and i960HA PRCB and Control Table are provided
by including the file @code{rtems.h}.
by including the file @code{rtems.h}.
@table @code
@table @code
@item pretasking_hook
@item pretasking_hook
is the address of the user provided routine which is invoked
is the address of the user provided routine which is invoked
once RTEMS APIs are initialized.  This routine will be invoked
once RTEMS APIs are initialized.  This routine will be invoked
before any system tasks are created.  Interrupts are disabled.
before any system tasks are created.  Interrupts are disabled.
This field may be NULL to indicate that the hook is not utilized.
This field may be NULL to indicate that the hook is not utilized.
@item predriver_hook
@item predriver_hook
is the address of the user provided
is the address of the user provided
routine that is invoked immediately before the
routine that is invoked immediately before the
the device drivers and MPCI are initialized. RTEMS
the device drivers and MPCI are initialized. RTEMS
initialization is complete but interrupts and tasking are disabled.
initialization is complete but interrupts and tasking are disabled.
This field may be NULL to indicate that the hook is not utilized.
This field may be NULL to indicate that the hook is not utilized.
@item postdriver_hook
@item postdriver_hook
is the address of the user provided
is the address of the user provided
routine that is invoked immediately after the
routine that is invoked immediately after the
the device drivers and MPCI are initialized. RTEMS
the device drivers and MPCI are initialized. RTEMS
initialization is complete but interrupts and tasking are disabled.
initialization is complete but interrupts and tasking are disabled.
This field may be NULL to indicate that the hook is not utilized.
This field may be NULL to indicate that the hook is not utilized.
@item idle_task
@item idle_task
is the address of the optional user
is the address of the optional user
provided routine which is used as the system's IDLE task.  If
provided routine which is used as the system's IDLE task.  If
this field is not NULL, then the RTEMS default IDLE task is not
this field is not NULL, then the RTEMS default IDLE task is not
used.  This field may be NULL to indicate that the default IDLE
used.  This field may be NULL to indicate that the default IDLE
is to be used.
is to be used.
@item do_zero_of_workspace
@item do_zero_of_workspace
indicates whether RTEMS should
indicates whether RTEMS should
zero the Workspace as part of its initialization.  If set to
zero the Workspace as part of its initialization.  If set to
TRUE, the Workspace is zeroed.  Otherwise, it is not.
TRUE, the Workspace is zeroed.  Otherwise, it is not.
@item idle_task_stack_size
@item idle_task_stack_size
is the size of the RTEMS idle task stack in bytes.
is the size of the RTEMS idle task stack in bytes.
If this number is less than MINIMUM_STACK_SIZE, then the
If this number is less than MINIMUM_STACK_SIZE, then the
idle task's stack will be MINIMUM_STACK_SIZE in byte.
idle task's stack will be MINIMUM_STACK_SIZE in byte.
@item interrupt_stack_size
@item interrupt_stack_size
is the size of the RTEMS
is the size of the RTEMS
allocated interrupt stack in bytes.  This value must be at least
allocated interrupt stack in bytes.  This value must be at least
as large as MINIMUM_STACK_SIZE.
as large as MINIMUM_STACK_SIZE.
@item extra_mpci_receive_server_stack
@item extra_mpci_receive_server_stack
is the extra stack space allocated for the RTEMS MPCI receive server task
is the extra stack space allocated for the RTEMS MPCI receive server task
in bytes.  The MPCI receive server may invoke nearly all directives and
in bytes.  The MPCI receive server may invoke nearly all directives and
may require extra stack space on some targets.
may require extra stack space on some targets.
@item stack_allocate_hook
@item stack_allocate_hook
is the address of the optional user provided routine which allocates
is the address of the optional user provided routine which allocates
memory for task stacks.  If this hook is not NULL, then a stack_free_hook
memory for task stacks.  If this hook is not NULL, then a stack_free_hook
must be provided as well.
must be provided as well.
@item stack_free_hook
@item stack_free_hook
is the address of the optional user provided routine which frees
is the address of the optional user provided routine which frees
memory for task stacks.  If this hook is not NULL, then a stack_allocate_hook
memory for task stacks.  If this hook is not NULL, then a stack_allocate_hook
must be provided as well.
must be provided as well.
@item Prcb
@item Prcb
is the base address of the Processor Control Block.  It
is the base address of the Processor Control Block.  It
is primarily used by RTEMS to install interrupt handlers.
is primarily used by RTEMS to install interrupt handlers.
@end table
@end table
 
 

powered by: WebSVN 2.1.0

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