From af0d5860d6ab21698cb0f65a9435e6306222ae52 Mon Sep 17 00:00:00 2001 From: Till Straumann Date: Wed, 2 Dec 2009 01:51:22 +0000 Subject: 2009-12-01 Till Straumann * shared/start/start.S: Added AltiVec support (initializing MSR[VE], VSCR and VRSAVE). --- c/src/lib/libbsp/powerpc/ChangeLog | 5 +++++ c/src/lib/libbsp/powerpc/shared/start/start.S | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) (limited to 'c') diff --git a/c/src/lib/libbsp/powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/ChangeLog index 3e75122b9e..ca918014bc 100644 --- a/c/src/lib/libbsp/powerpc/ChangeLog +++ b/c/src/lib/libbsp/powerpc/ChangeLog @@ -1,3 +1,8 @@ +2009-12-01 Till Straumann + + * shared/start/start.S: Added AltiVec support (initializing + MSR[VE], VSCR and VRSAVE). + 2009-12-01 Till Straumann * shared/vme/vme_universe.c: moved extern declaration diff --git a/c/src/lib/libbsp/powerpc/shared/start/start.S b/c/src/lib/libbsp/powerpc/shared/start/start.S index 6c7a35bf4b..fadfd13ed1 100644 --- a/c/src/lib/libbsp/powerpc/shared/start/start.S +++ b/c/src/lib/libbsp/powerpc/shared/start/start.S @@ -7,7 +7,11 @@ * found in found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. * +<<<<<<< start.S * $Id$ +======= + * $Id$ +>>>>>>> 1.25 * */ @@ -60,6 +64,21 @@ __rtems_entry_point: mr r29,r5 mr r28,r6 mr r27,r7 + +#ifdef __ALTIVEC__ + /* enable altivec; gcc may use it! */ + mfmsr r0 + oris r0, r0, (1<<(31-16-6)) + mtmsr r0 + /* + * set vscr and vrsave to known values + */ + li r0, 0 + mtvrsave r0 + vxor 0,0,0 + mtvscr 0 +#endif + /* * Make sure we have nothing in BATS and TLB */ -- cgit v1.2.3