diff --git a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog index fa7461adaf..7bf945ef8d 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/ChangeLog +++ b/c/src/lib/libbsp/powerpc/gen5200/ChangeLog @@ -1,3 +1,9 @@ +2007-12-14 Joel Sherrill + + * 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. 2007-12-11 Joel Sherrill diff --git a/c/src/lib/libbsp/powerpc/gen5200/irq/irq.c b/c/src/lib/libbsp/powerpc/gen5200/irq/irq.c index b792ca5fe7..9b3670fd21 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/irq/irq.c +++ b/c/src/lib/libbsp/powerpc/gen5200/irq/irq.c @@ -631,6 +631,7 @@ int BSP_rtems_irq_mngt_get(rtems_irq_global_settings** config) return 0; } +#if defined(TIME_IRQs) #include uint64_t BSP_Starting_TBR; 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( "Ticks : %d\n", Clock_driver_ticks ); } +#endif /* * 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 pmce; register unsigned int crit_pri_main_mask, per_mask; +#if defined(TIME_IRQs) uint64_t start, stop, thisTime; 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]++; else printk( "not counting %d\n", excNum); +#endif 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 */ rtems_hdl_tbl[BSP_DECREMENTER].hdl(0); - return 0; + break; case ASM_60X_SYSMGMT_VECTOR: @@ -1018,6 +1022,12 @@ int C_dispatch_irq_handler (CPU_Interrupt_frame *frame, unsigned int excNum) break; } /* 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; } diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/bspclean.c b/c/src/lib/libbsp/powerpc/gen5200/startup/bspclean.c index 8dcba8bbc7..ee473977e8 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/startup/bspclean.c +++ b/c/src/lib/libbsp/powerpc/gen5200/startup/bspclean.c @@ -21,10 +21,12 @@ extern int mpc5200_uart_pollRead(int minor); void bsp_cleanup( void ) { + #if defined(TIME_IRQs) { extern void BSP_report_IRQ_Timing(void); BSP_report_IRQ_Timing(); } + #endif #if defined(BSP_PRESS_KEY_FOR_RESET) printk( "\nEXECUTIVE SHUTDOWN! Any key to reboot..." ); diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c index f3ec7fe863..59d62e32b9 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c @@ -307,10 +307,12 @@ void bsp_start(void) */ BSP_rtems_irq_mng_init(0); +#if defined(TIME_IRQs) { void BSP_initialize_IRQ_Timing(void); BSP_initialize_IRQ_Timing(); } +#endif #ifdef SHOW_MORE_INIT_SETTINGS printk("Exit from bspstart\n");