diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-01-11 18:25:35 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-01-11 18:25:35 +0000 |
commit | eabd9f06e73034771d77bb9e8fc7096ce82fd0f5 (patch) | |
tree | c322b512f8ec4bb26d862818cc52f71d1ff61aee /c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c | |
parent | Add http://www.rtems.info, http://www.rtems.org/ftp. (diff) | |
download | rtems-eabd9f06e73034771d77bb9e8fc7096ce82fd0f5.tar.bz2 |
2008-01-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.ac, irq/irq.c, startup/bspclean.c, startup/bspstart.c: Add
ALLOW_IRQ_NESTING option. The MPC5200 has a settle time after
acknowledging the IRQs and currently the BSP does not account for
that. After acknowledging an interrupt, it currently gets a second
spurious IRQ a significant percentage of the time. Rename to
BENCHMARK_IRQ_PROCESSING and get it working again. Under one test
load, not nesting interrupts resulted in a 50% reduction in the
number of IRQs and an ~30% reduction in time spent in IRQs.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c index 59d62e32b9..67ef77ec7c 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c @@ -65,12 +65,12 @@ /* conditions. */ /* The mmu is unused at this time. */ /* */ -/* COPYRIGHT (c) 1989-2007. +/* COPYRIGHT (c) 1989-2007. */ /* On-Line Applications Research Corporation (OAR). */ /* */ /* The license and distribution terms for this file may be */ /* found in found in the file LICENSE in this distribution or at */ -/* http://www.rtems.com/license/LICENSE. */ +/* http://www.rtems.com/license/LICENSE. */ /* */ /*---------------------------------------------------------------------*/ /* */ @@ -301,13 +301,17 @@ void bsp_start(void) * not malloc'ed. It is just "pulled from the air". */ Configuration.work_space_start = (void *)&_WorkspaceBase; +#ifdef SHOW_MORE_INIT_SETTINGS + printk( "workspace=%p\n", Configuration.work_space_start ); + printk( "workspace size=%d\n", Configuration.work_space_size ); +#endif /* * Initalize RTEMS IRQ system */ BSP_rtems_irq_mng_init(0); -#if defined(TIME_IRQs) +#if (BENCHMARK_IRQ_PROCESSING == 1) { void BSP_initialize_IRQ_Timing(void); BSP_initialize_IRQ_Timing(); |