Changeset 5e67b98 in rtems


Ignore:
Timestamp:
01/03/01 16:45:52 (23 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
80cc928
Parents:
e182c620
Message:

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

  • new_exception_processing/cpu.h, old_exception_processing/cpu.c: old_exception_processing/cpu.h, Added _CPU_Initialize_vectors(). In particular, spurious vector initialization had to be moved on old exception processing model.
Location:
c/src/lib
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/support/new_exception_processing/cpu.h

    re182c620 r5e67b98  
    613613
    614614
    615 /* ISR handler macros */
     615/*
     616 *  ISR handler macros
     617 */
     618
     619#define _CPU_Initialize_vectors()
    616620
    617621/*
  • c/src/lib/libbsp/powerpc/support/old_exception_processing/cpu.c

    re182c620 r5e67b98  
    5959)
    6060{
    61   proc_ptr handler = (proc_ptr)ppc_spurious;
    6261  int i;
    6362#if (PPC_ABI != PPC_ABI_POWEROPEN)
     
    7675  _CPU_IRQ_info.Nest_level = &_ISR_Nest_level;
    7776  _CPU_IRQ_info.Disable_level = &_Thread_Dispatch_disable_level;
    78   _CPU_IRQ_info.Vector_table = _ISR_Vector_table;
     77  /* fill in _CPU_IRQ_info.Vector_table later */
    7978#if (PPC_ABI == PPC_ABI_POWEROPEN)
    8079  _CPU_IRQ_info.Dispatch_r2 = ((unsigned32 *)_Thread_Dispatch)[1];
     
    9897#endif
    9998
    100   if ( cpu_table->spurious_handler )
    101     handler = (proc_ptr)cpu_table->spurious_handler;
     99  _CPU_Table = *cpu_table;
     100}
     101
     102/*
     103 *  _CPU_Initialize_vectors()
     104 *
     105 *  Support routine to initialize the RTEMS vector table after it is allocated.
     106 *
     107 *  PowerPC Specific Information:
     108 *
     109 *  Complete initialization since the table is now allocated.
     110 */
     111 
     112void _CPU_Initialize_vectors(void)
     113{
     114  int i;
     115  proc_ptr handler = (proc_ptr)ppc_spurious;
     116
     117  _CPU_IRQ_info.Vector_table = _ISR_Vector_table;
     118
     119  if ( _CPU_Table.spurious_handler )
     120    handler = (proc_ptr)_CPU_Table.spurious_handler;
    102121
    103122  for (i = 0; i < PPC_INTERRUPT_MAX;  i++)
    104123    _ISR_Vector_table[i] = handler;
    105124
    106   _CPU_Table = *cpu_table;
    107 }
    108 
     125}
     126 
    109127/*PAGE
    110128 *
  • c/src/lib/libbsp/powerpc/support/old_exception_processing/cpu.h

    re182c620 r5e67b98  
    707707#define CPU_STACK_ALIGNMENT        (PPC_STACK_ALIGNMENT)
    708708
    709 /* ISR handler macros */
     709/*
     710 *  ISR handler macros
     711 */
     712
     713void _CPU_Initialize_vectors(void);
    710714
    711715/*
  • c/src/lib/libcpu/powerpc/ChangeLog

    re182c620 r5e67b98  
     12001-01-03      Joel Sherrill <joel@OARcorp.com>
     2
     3        * new_exception_processing/cpu.h, old_exception_processing/cpu.c:
     4        old_exception_processing/cpu.h, Added _CPU_Initialize_vectors().
     5        In particular, spurious vector initialization had to be moved
     6        on old exception processing model.
     7
    182000-11-09      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
    29
  • c/src/lib/libcpu/powerpc/new_exception_processing/cpu.h

    re182c620 r5e67b98  
    613613
    614614
    615 /* ISR handler macros */
     615/*
     616 *  ISR handler macros
     617 */
     618
     619#define _CPU_Initialize_vectors()
    616620
    617621/*
  • c/src/lib/libcpu/powerpc/old-exceptions/cpu.c

    re182c620 r5e67b98  
    5959)
    6060{
    61   proc_ptr handler = (proc_ptr)ppc_spurious;
    6261  int i;
    6362#if (PPC_ABI != PPC_ABI_POWEROPEN)
     
    7675  _CPU_IRQ_info.Nest_level = &_ISR_Nest_level;
    7776  _CPU_IRQ_info.Disable_level = &_Thread_Dispatch_disable_level;
    78   _CPU_IRQ_info.Vector_table = _ISR_Vector_table;
     77  /* fill in _CPU_IRQ_info.Vector_table later */
    7978#if (PPC_ABI == PPC_ABI_POWEROPEN)
    8079  _CPU_IRQ_info.Dispatch_r2 = ((unsigned32 *)_Thread_Dispatch)[1];
     
    9897#endif
    9998
    100   if ( cpu_table->spurious_handler )
    101     handler = (proc_ptr)cpu_table->spurious_handler;
     99  _CPU_Table = *cpu_table;
     100}
     101
     102/*
     103 *  _CPU_Initialize_vectors()
     104 *
     105 *  Support routine to initialize the RTEMS vector table after it is allocated.
     106 *
     107 *  PowerPC Specific Information:
     108 *
     109 *  Complete initialization since the table is now allocated.
     110 */
     111 
     112void _CPU_Initialize_vectors(void)
     113{
     114  int i;
     115  proc_ptr handler = (proc_ptr)ppc_spurious;
     116
     117  _CPU_IRQ_info.Vector_table = _ISR_Vector_table;
     118
     119  if ( _CPU_Table.spurious_handler )
     120    handler = (proc_ptr)_CPU_Table.spurious_handler;
    102121
    103122  for (i = 0; i < PPC_INTERRUPT_MAX;  i++)
    104123    _ISR_Vector_table[i] = handler;
    105124
    106   _CPU_Table = *cpu_table;
    107 }
    108 
     125}
     126 
    109127/*PAGE
    110128 *
  • c/src/lib/libcpu/powerpc/old_exception_processing/cpu.c

    re182c620 r5e67b98  
    5959)
    6060{
    61   proc_ptr handler = (proc_ptr)ppc_spurious;
    6261  int i;
    6362#if (PPC_ABI != PPC_ABI_POWEROPEN)
     
    7675  _CPU_IRQ_info.Nest_level = &_ISR_Nest_level;
    7776  _CPU_IRQ_info.Disable_level = &_Thread_Dispatch_disable_level;
    78   _CPU_IRQ_info.Vector_table = _ISR_Vector_table;
     77  /* fill in _CPU_IRQ_info.Vector_table later */
    7978#if (PPC_ABI == PPC_ABI_POWEROPEN)
    8079  _CPU_IRQ_info.Dispatch_r2 = ((unsigned32 *)_Thread_Dispatch)[1];
     
    9897#endif
    9998
    100   if ( cpu_table->spurious_handler )
    101     handler = (proc_ptr)cpu_table->spurious_handler;
     99  _CPU_Table = *cpu_table;
     100}
     101
     102/*
     103 *  _CPU_Initialize_vectors()
     104 *
     105 *  Support routine to initialize the RTEMS vector table after it is allocated.
     106 *
     107 *  PowerPC Specific Information:
     108 *
     109 *  Complete initialization since the table is now allocated.
     110 */
     111 
     112void _CPU_Initialize_vectors(void)
     113{
     114  int i;
     115  proc_ptr handler = (proc_ptr)ppc_spurious;
     116
     117  _CPU_IRQ_info.Vector_table = _ISR_Vector_table;
     118
     119  if ( _CPU_Table.spurious_handler )
     120    handler = (proc_ptr)_CPU_Table.spurious_handler;
    102121
    103122  for (i = 0; i < PPC_INTERRUPT_MAX;  i++)
    104123    _ISR_Vector_table[i] = handler;
    105124
    106   _CPU_Table = *cpu_table;
    107 }
    108 
     125}
     126 
    109127/*PAGE
    110128 *
  • c/src/lib/libcpu/powerpc/old_exception_processing/cpu.h

    re182c620 r5e67b98  
    707707#define CPU_STACK_ALIGNMENT        (PPC_STACK_ALIGNMENT)
    708708
    709 /* ISR handler macros */
     709/*
     710 *  ISR handler macros
     711 */
     712
     713void _CPU_Initialize_vectors(void);
    710714
    711715/*
Note: See TracChangeset for help on using the changeset viewer.