summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/haleakala/startup
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-07-14 16:15:28 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-07-14 16:15:28 +0000
commit574fb675105b77dfe9598915207f1f32790f905f (patch)
treefce34dc59687abc02a692c650ec3c86f05259025 /c/src/lib/libbsp/powerpc/haleakala/startup
parentadded haleakala BSP contributed by Michael Hamel (diff)
downloadrtems-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.c21
-rw-r--r--c/src/lib/libbsp/powerpc/haleakala/startup/linkcmds2
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);