diff options
author | Till Straumann <strauman@slac.stanford.edu> | 2009-11-17 11:42:53 +0000 |
---|---|---|
committer | Till Straumann <strauman@slac.stanford.edu> | 2009-11-17 11:42:53 +0000 |
commit | f70c86eaff09f81798382a81619ed7773ca577f8 (patch) | |
tree | 706c12e4b26d5f19f6075b898a5d33060a6f100b /c | |
parent | 2009-11-17 Ralf Corsépius <ralf.corsepius@rtems.org> (diff) | |
download | rtems-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')
-rw-r--r-- | c/src/lib/libcpu/powerpc/ChangeLog | 8 | ||||
-rw-r--r-- | c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_categories.c | 11 |
2 files changed, 16 insertions, 3 deletions
diff --git a/c/src/lib/libcpu/powerpc/ChangeLog b/c/src/lib/libcpu/powerpc/ChangeLog index a32e4abd61..793c0c254f 100644 --- a/c/src/lib/libcpu/powerpc/ChangeLog +++ b/c/src/lib/libcpu/powerpc/ChangeLog @@ -1,3 +1,11 @@ +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. + 2009-11-15 Till Straumann <strauman@slac.stanford.edu> * shared/include/cpuIdent.c: Set 604 features + altivec if 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) |