2007-12-14 Joel Sherrill <joel.sherrill@oarcorp.com>

* irq/irq.c, startup/bspclean.c, startup/bspstart.c: I give. The code
	is now in conditionally so I can avoid putting it in accidently
	again.
This commit is contained in:
Joel Sherrill
2007-12-14 22:00:59 +00:00
parent c1f289ed69
commit 09038441fe
4 changed files with 21 additions and 1 deletions

View File

@@ -1,3 +1,9 @@
2007-12-14 Joel Sherrill <joel.sherrill@oarcorp.com>
* irq/irq.c, startup/bspclean.c, startup/bspstart.c: I give. The code
is now in conditionally so I can avoid putting it in accidently
again.
* startup/bspclean.c: Revert patch with test code. * startup/bspclean.c: Revert patch with test code.
2007-12-11 Joel Sherrill <joel.sherrill@OARcorp.com> 2007-12-11 Joel Sherrill <joel.sherrill@OARcorp.com>

View File

@@ -631,6 +631,7 @@ int BSP_rtems_irq_mngt_get(rtems_irq_global_settings** config)
return 0; return 0;
} }
#if defined(TIME_IRQs)
#include <stdio.h> #include <stdio.h>
uint64_t BSP_Starting_TBR; uint64_t BSP_Starting_TBR;
uint64_t BSP_Total_in_ISR; uint64_t BSP_Total_in_ISR;
@@ -675,6 +676,7 @@ void BSP_report_IRQ_Timing(void)
printk( "IRQ %d: %d\n", i, BSP_ISR_Count_Per[i] ); printk( "IRQ %d: %d\n", i, BSP_ISR_Count_Per[i] );
printk( "Ticks : %d\n", Clock_driver_ticks ); printk( "Ticks : %d\n", Clock_driver_ticks );
} }
#endif
/* /*
* High level IRQ handler called from shared_raw_irq_code_entry * High level IRQ handler called from shared_raw_irq_code_entry
@@ -686,6 +688,7 @@ int C_dispatch_irq_handler (CPU_Interrupt_frame *frame, unsigned int excNum)
register unsigned int new_msr; register unsigned int new_msr;
register unsigned int pmce; register unsigned int pmce;
register unsigned int crit_pri_main_mask, per_mask; register unsigned int crit_pri_main_mask, per_mask;
#if defined(TIME_IRQs)
uint64_t start, stop, thisTime; uint64_t start, stop, thisTime;
start = PPC_Get_timebase_register(); start = PPC_Get_timebase_register();
@@ -694,6 +697,7 @@ int C_dispatch_irq_handler (CPU_Interrupt_frame *frame, unsigned int excNum)
BSP_ISR_Count_Per[excNum]++; BSP_ISR_Count_Per[excNum]++;
else else
printk( "not counting %d\n", excNum); printk( "not counting %d\n", excNum);
#endif
switch (excNum) { switch (excNum) {
/* /*
@@ -704,7 +708,7 @@ int C_dispatch_irq_handler (CPU_Interrupt_frame *frame, unsigned int excNum)
/* call the module specific handler and pass the specific handler */ /* call the module specific handler and pass the specific handler */
rtems_hdl_tbl[BSP_DECREMENTER].hdl(0); rtems_hdl_tbl[BSP_DECREMENTER].hdl(0);
return 0; break;
case ASM_60X_SYSMGMT_VECTOR: case ASM_60X_SYSMGMT_VECTOR:
@@ -1018,6 +1022,12 @@ int C_dispatch_irq_handler (CPU_Interrupt_frame *frame, unsigned int excNum)
break; break;
} /* end of switch(excNum) */ } /* end of switch(excNum) */
#if defined(TIME_IRQs)
stop = PPC_Get_timebase_register();
thisTime = stop - start;
if ( thisTime > BSP_Worst_ISR );
thisTime = BSP_Worst_ISR;
#endif
return 0; return 0;
} }

View File

@@ -21,10 +21,12 @@ extern int mpc5200_uart_pollRead(int minor);
void bsp_cleanup( void ) void bsp_cleanup( void )
{ {
#if defined(TIME_IRQs)
{ {
extern void BSP_report_IRQ_Timing(void); extern void BSP_report_IRQ_Timing(void);
BSP_report_IRQ_Timing(); BSP_report_IRQ_Timing();
} }
#endif
#if defined(BSP_PRESS_KEY_FOR_RESET) #if defined(BSP_PRESS_KEY_FOR_RESET)
printk( "\nEXECUTIVE SHUTDOWN! Any key to reboot..." ); printk( "\nEXECUTIVE SHUTDOWN! Any key to reboot..." );

View File

@@ -307,10 +307,12 @@ void bsp_start(void)
*/ */
BSP_rtems_irq_mng_init(0); BSP_rtems_irq_mng_init(0);
#if defined(TIME_IRQs)
{ {
void BSP_initialize_IRQ_Timing(void); void BSP_initialize_IRQ_Timing(void);
BSP_initialize_IRQ_Timing(); BSP_initialize_IRQ_Timing();
} }
#endif
#ifdef SHOW_MORE_INIT_SETTINGS #ifdef SHOW_MORE_INIT_SETTINGS
printk("Exit from bspstart\n"); printk("Exit from bspstart\n");