summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-01-11 18:25:35 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-01-11 18:25:35 +0000
commiteabd9f06e73034771d77bb9e8fc7096ce82fd0f5 (patch)
treec322b512f8ec4bb26d862818cc52f71d1ff61aee /c/src/lib/libbsp/powerpc/gen5200/startup/bspstart.c
parentAdd http://www.rtems.info, http://www.rtems.org/ftp. (diff)
downloadrtems-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.c10
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();