diff options
author | Till Straumann <strauman@slac.stanford.edu> | 2009-12-02 01:41:57 +0000 |
---|---|---|
committer | Till Straumann <strauman@slac.stanford.edu> | 2009-12-02 01:41:57 +0000 |
commit | c7f8408d31287d45ee722bd941a8057c67e7f274 (patch) | |
tree | bb52c0e1184a42a570e0bab6f109763b0d25bbab /c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c | |
parent | 2009-12-01 Till Straumann <strauman@slac.stanford.edu> (diff) | |
download | rtems-c7f8408d31287d45ee722bd941a8057c67e7f274.tar.bz2 |
2009-12-01 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/cpu.c, new-exceptions/cpu_asm.S,
new-exceptions/bspsupport/ppc_exc_asm_macros.h,
new-exceptions/bspsupport/ppc_exc_initialize.c,
new-exceptions/bspsupport/vectors.h:
Added AltiVec support (save/restore volatile vregs
across exceptions).
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c index 1d635c58e9..c9751ff586 100644 --- a/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c +++ b/c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_initialize.c @@ -135,6 +135,11 @@ rtems_status_code ppc_exc_initialize( /* Use current MMU / RI settings when running C exception handlers */ ppc_exc_msr_bits = ppc_machine_state_register() & (MSR_DR | MSR_IR | MSR_RI); +#ifdef __ALTIVEC__ + /* Need vector unit enabled to save/restore altivec context */ + ppc_exc_msr_bits |= MSR_VE; +#endif + if (ppc_cpu_is(PPC_e200z6)) { ppc_exc_initialize_e200(); } else if (ppc_cpu_is_bookE() == PPC_BOOKE_STD || ppc_cpu_is_bookE() == PPC_BOOKE_E500) { |