diff options
author | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2008-07-14 16:15:28 +0000 |
---|---|---|
committer | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2008-07-14 16:15:28 +0000 |
commit | 574fb675105b77dfe9598915207f1f32790f905f (patch) | |
tree | fce34dc59687abc02a692c650ec3c86f05259025 /c/src/lib/libbsp/powerpc/haleakala/startup | |
parent | added haleakala BSP contributed by Michael Hamel (diff) | |
download | rtems-574fb675105b77dfe9598915207f1f32790f905f.tar.bz2 |
updated gen83xx BSP
updated haleakala BSP
added MPC55xx BSP
Diffstat (limited to 'c/src/lib/libbsp/powerpc/haleakala/startup')
-rw-r--r-- | c/src/lib/libbsp/powerpc/haleakala/startup/bspstart.c | 21 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/haleakala/startup/linkcmds | 2 |
2 files changed, 9 insertions, 14 deletions
diff --git a/c/src/lib/libbsp/powerpc/haleakala/startup/bspstart.c b/c/src/lib/libbsp/powerpc/haleakala/startup/bspstart.c index 2bf2f18c1b..8fc2cea2c5 100644 --- a/c/src/lib/libbsp/powerpc/haleakala/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/haleakala/startup/bspstart.c @@ -68,14 +68,11 @@ #include <bsp/irq.h> #include <rtems/bspIo.h> #include <libcpu/cpuIdent.h> -#include <libcpu/spr.h> #include <rtems/powerpc/powerpc.h> +#include <bsp/ppc_exc_bspsupp.h> #include <ppc4xx/ppc405gp.h> #include <ppc4xx/ppc405ex.h> -SPR_RW(SPRG0) -SPR_RW(SPRG1) - #include <stdio.h> /* @@ -232,8 +229,8 @@ BSP_output_char_function_type BSP_output_char = DirectUARTWrite; void bsp_start( void ) { - extern unsigned long *intrStackPtr; - register unsigned char* intrStack; + LINKER_SYMBOL(intrStack_start); + LINKER_SYMBOL(intrStack_size); ppc_cpu_id_t myCpu; ppc_cpu_revision_t myCpuRevision; @@ -262,16 +259,12 @@ void bsp_start( void ) bsp_timer_least_valid = 3; /* - * Initialize some SPRG registers related to irq handling - */ - - intrStack = (((unsigned char*)&intrStackPtr) - PPC_MINIMUM_STACK_FRAME_SIZE); - _write_SPRG1((unsigned int)intrStack); - /* signal them that we have fixed PR288 - eventually, this should go away */ - /* * Initialize default raw exception handlers. */ - initialize_exceptions(); + ppc_exc_initialize( + PPC_INTERRUPT_DISABLE_MASK_DEFAULT, + (uint32_t) intrStack_start, + (uint32_t) intrStack_size); /* * Install our own set of exception vectors diff --git a/c/src/lib/libbsp/powerpc/haleakala/startup/linkcmds b/c/src/lib/libbsp/powerpc/haleakala/startup/linkcmds index abd15dab60..65b84cbfb4 100644 --- a/c/src/lib/libbsp/powerpc/haleakala/startup/linkcmds +++ b/c/src/lib/libbsp/powerpc/haleakala/startup/linkcmds @@ -229,6 +229,8 @@ SECTIONS . += kIntrStackSize; intrStack = .; PROVIDE(intrStackPtr = intrStack); + PROVIDE(intrStack_start = IntrStack_start); + PROVIDE(intrStack_size = kIntrStackSize); /* Main stack: align to a cache-line boundary */ stack.start = ALIGN(0x20); |