diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mpc8260ads/startup/bspstart.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc8260ads/startup/bspstart.c | 9 |
1 files changed, 6 insertions, 3 deletions
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" ); |