summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2003-07-18 17:24:31 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2003-07-18 17:24:31 +0000
commit7b59de1c8bc0d7397e4dcc4a17a98991c3eeaded (patch)
tree0d8d75ea0f6af3801235ddbb318a4ac46c2da599 /c
parent2003-07-18 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-7b59de1c8bc0d7397e4dcc4a17a98991c3eeaded.tar.bz2
2003-07-18 Till Straumann <strauman@slac.stanford.edu>
PR 288/rtems * startup/bspstart.c: _ISR_Nest_level is now properly maintained.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog5
-rw-r--r--c/src/lib/libbsp/powerpc/mpc8260ads/startup/bspstart.c9
2 files changed, 11 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog b/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog
index e91fd38182..688eef0e77 100644
--- a/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog
+++ b/c/src/lib/libbsp/powerpc/mpc8260ads/ChangeLog
@@ -1,3 +1,8 @@
+2003-07-18 Till Straumann <strauman@slac.stanford.edu>
+
+ PR 288/rtems
+ * startup/bspstart.c: _ISR_Nest_level is now properly maintained.
+
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove AC_CONFIG_AUX_DIR.
diff --git a/c/src/lib/libbsp/powerpc/mpc8260ads/startup/bspstart.c b/c/src/lib/libbsp/powerpc/mpc8260ads/startup/bspstart.c
index adced77059..71e1efcb2f 100644
--- a/c/src/lib/libbsp/powerpc/mpc8260ads/startup/bspstart.c
+++ b/c/src/lib/libbsp/powerpc/mpc8260ads/startup/bspstart.c
@@ -47,6 +47,7 @@
#include <rtems/score/thread.h>
#include <rtems/bspIo.h>
#include <libcpu/cpuIdent.h>
+#include <libcpu/spr.h>
#include <string.h>
@@ -55,6 +56,8 @@
#endif
+SPR_RW(SPRG0)
+SPR_RW(SPRG1)
/*
* The original table from the application (in ROM) and our copy of it with
@@ -219,7 +222,6 @@ void bsp_start(void)
ppc_cpu_id_t myCpu;
ppc_cpu_revision_t myCpuRevision;
register unsigned char* intrStack;
- register unsigned int intrNestingLevel = 0;
/* Set MPC8260ADS board LEDS and Uart enable lines */
@@ -248,8 +250,9 @@ void bsp_start(void)
*/
intrStack = (((unsigned char*)&intrStackPtr) - CPU_MINIMUM_STACK_FRAME_SIZE);
- asm volatile ("mtspr 273, %0" : "=r" (intrStack) : "0" (intrStack));
- asm volatile ("mtspr 272, %0" : "=r" (intrNestingLevel) : "0" (intrNestingLevel));
+ _write_SPRG1((unsigned int)intrStack);
+ /* signal that we have fixed PR288 - eventually, this should go away */
+ _write_SPRG0(PPC_BSP_HAS_FIXED_PR288);
/*
printk( "About to call initialize_exceptions\n" );