summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/vectors.h
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-07-11 10:02:12 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2008-07-11 10:02:12 +0000
commit25a92bc1ed79b0eb5967fa454220ea90810c7ebb (patch)
tree1f1986de2e9d38bf3514284fc37c2f3d84c3e4d2 /c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/vectors.h
parentadapted powerpc BSPs to new exception code (diff)
downloadrtems-25a92bc1ed79b0eb5967fa454220ea90810c7ebb.tar.bz2
adapted powerpc exception code
Diffstat (limited to '')
-rw-r--r--c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/vectors.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/vectors.h b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/vectors.h
index 19039bca38..eb60413232 100644
--- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/vectors.h
+++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/vectors.h
@@ -14,6 +14,7 @@
*/
#ifndef LIBCPU_POWERPC_BSPSUPP_VECTORS_H
#define LIBCPU_POWERPC_BSPSUPP_VECTORS_H
+
#include <libcpu/raw_exception.h>
/*
@@ -61,15 +62,21 @@
#define EXC_CTR_OFFSET 152
#define EXC_XER_OFFSET 156
#define EXC_LR_OFFSET 160
+
+/* Exception stack frame -> BSP_Exception_frame */
+#define FRAME_LINK_SPACE 8
+
/*
* maintain the EABI requested 8 bytes aligment
* As SVR4 ABI requires 16, make it 16 (as some
* exception may need more registers to be processed...)
*/
-#define EXCEPTION_FRAME_END 176
+#define EXCEPTION_FRAME_END 176
#ifndef ASM
+#include <stdint.h>
+
/* codemove is like memmove, but it also gets the cache line size
* as 4th parameter to synchronize them. If this last parameter is
* zero, it performs more or less like memmove. No copy is performed if
@@ -80,7 +87,12 @@
extern void * codemove(void *, const void *, unsigned int, unsigned long);
extern void exception_nop_enable(const rtems_raw_except_connect_data* ptr);
extern int exception_always_enabled(const rtems_raw_except_connect_data* ptr);
-extern void initialize_exceptions();
+
+void ppc_exc_initialize(
+ uint32_t interrupt_disable_mask,
+ uint32_t interrupt_stack_start,
+ uint32_t interrupt_stack_size
+);
typedef struct _BSP_Exception_frame {
unsigned EXC_SRR0;