summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2009-11-17 11:42:53 +0000
committerTill Straumann <strauman@slac.stanford.edu>2009-11-17 11:42:53 +0000
commitf70c86eaff09f81798382a81619ed7773ca577f8 (patch)
tree706c12e4b26d5f19f6075b898a5d33060a6f100b /c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c
parent2009-11-17 Ralf Corsépius <ralf.corsepius@rtems.org> (diff)
downloadrtems-f70c86eaff09f81798382a81619ed7773ca577f8.tar.bz2
2009-11-17 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/bspsupport/ppc_exc_categories.c: PSIM *must*not* hook SYS vector which is used e.g., for firmware I/O. Added entries for AltiVec on PSIM.
Diffstat (limited to 'c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c')
-rw-r--r--c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c
index 2856957639..a331e58350 100644
--- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c
+++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c
@@ -30,7 +30,7 @@
#include <bsp/vectors.h>
-#define PPC_BASIC_VECS \
+#define PPC_BASIC_VECS_WO_SYS \
[ASM_RESET_VECTOR] = PPC_EXC_CLASSIC, \
[ASM_MACH_VECTOR] = PPC_EXC_CLASSIC, \
[ASM_PROT_VECTOR] = PPC_EXC_CLASSIC, \
@@ -40,9 +40,12 @@
[ASM_PROG_VECTOR] = PPC_EXC_CLASSIC, \
[ASM_FLOAT_VECTOR] = PPC_EXC_CLASSIC, \
[ASM_DEC_VECTOR] = PPC_EXC_CLASSIC | PPC_EXC_ASYNC, \
- [ASM_SYS_VECTOR] = PPC_EXC_CLASSIC, \
[ASM_TRACE_VECTOR] = PPC_EXC_CLASSIC
+#define PPC_BASIC_VECS \
+ PPC_BASIC_VECS_WO_SYS, \
+ [ASM_SYS_VECTOR] = PPC_EXC_CLASSIC
+
static const ppc_exc_categories ppc_405_category_table = {
[ASM_BOOKE_CRIT_VECTOR] = PPC_EXC_405_CRITICAL | PPC_EXC_ASYNC,
[ASM_MACH_VECTOR] = PPC_EXC_405_CRITICAL,
@@ -221,13 +224,15 @@ static const ppc_exc_categories e500_category_table = {
};
static const ppc_exc_categories psim_category_table = {
- PPC_BASIC_VECS,
+ PPC_BASIC_VECS_WO_SYS,
[ASM_60X_SYSMGMT_VECTOR] = PPC_EXC_CLASSIC | PPC_EXC_ASYNC,
[ASM_60X_IMISS_VECTOR] = PPC_EXC_CLASSIC,
[ASM_60X_DLMISS_VECTOR] = PPC_EXC_CLASSIC,
[ASM_60X_DSMISS_VECTOR] = PPC_EXC_CLASSIC,
[ASM_60X_ADDR_VECTOR] = PPC_EXC_CLASSIC,
+ [ASM_60X_VEC_VECTOR] = PPC_EXC_CLASSIC,
+ [ASM_60X_VEC_ASSIST_VECTOR] = PPC_EXC_CLASSIC,
};
const ppc_exc_categories *ppc_exc_categories_for_cpu(ppc_cpu_id_t cpu)