diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-07-18 17:24:48 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-07-18 17:24:48 +0000 |
commit | ec821afa54ae27926a08bc49a855add0cb493e13 (patch) | |
tree | af06e6df7b776a4781a8ac77c09f9f2daf0c7a7e /c/src/lib/libbsp/powerpc/shared/startup/bspstart.c | |
parent | 2003-07-18 Till Straumann <strauman@slac.stanford.edu> (diff) | |
download | rtems-ec821afa54ae27926a08bc49a855add0cb493e13.tar.bz2 |
2003-07-18 Till Straumann <strauman@slac.stanford.edu>
PR 288/rtems
* irq/irq_asm.S, startup/bspstart.c: _ISR_Nest_level is now properly
maintained and any BSP which does not do so will trip a panic in the
shared code.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/startup/bspstart.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c b/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c index dce5fb6191..2ee9c53cb1 100644 --- a/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c @@ -45,8 +45,8 @@ extern Triv121PgTbl BSP_pgtbl_setup(); extern void BSP_pgtbl_activate(); extern void BSP_vme_config(); -SPR_RW(SPR0) -SPR_RW(SPR1) +SPR_RW(SPRG0) +SPR_RW(SPRG1) /* * Copy of residuals passed by firmware @@ -179,7 +179,6 @@ void bsp_start( void ) unsigned char *stack; unsigned l2cr; register unsigned char* intrStack; - register unsigned int intrNestingLevel = 0; unsigned char *work_space_start; ppc_cpu_id_t myCpu; ppc_cpu_revision_t myCpuRevision; @@ -219,7 +218,6 @@ void bsp_start( void ) /* * Initialize the interrupt related settings - * SPRG0 = interrupt nesting level count * SPRG1 = software managed IRQ stack * * This could be done latter (e.g in IRQ_INIT) but it helps to understand @@ -233,8 +231,11 @@ void bsp_start( void ) /* tag the bottom (T. Straumann 6/36/2001 <strauman@slac.stanford.edu>) */ *((unsigned32 *)intrStack) = 0; - _write_SPR1((unsigned int)intrStack); - _write_SPR0(intrNestingLevel); + _write_SPRG1((unsigned int)intrStack); + + /* signal them that we have fixed PR288 - eventually, this should go away */ + _write_SPRG0(PPC_BSP_HAS_FIXED_PR288); + /* * Initialize default raw exception hanlders. See vectors/vectors_init.c */ |