diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-12-14 22:00:59 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-12-14 22:00:59 +0000 |
commit | 09038441fee8f94dda3fc3cffbda1be807f8e690 (patch) | |
tree | 523c7fbc973be1ca0ebc9a701a1baa307a42498c /c/src/lib/libbsp/powerpc/gen5200/irq/irq.c | |
parent | 2007-12-14 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-09038441fee8f94dda3fc3cffbda1be807f8e690.tar.bz2 |
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.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/irq/irq.c | 12 |
1 files changed, 11 insertions, 1 deletions
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 <stdio.h> 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; } |