diff options
author | Till Straumann <strauman@slac.stanford.edu> | 2009-12-02 01:51:22 +0000 |
---|---|---|
committer | Till Straumann <strauman@slac.stanford.edu> | 2009-12-02 01:51:22 +0000 |
commit | af0d5860d6ab21698cb0f65a9435e6306222ae52 (patch) | |
tree | 9113765a9c4711767b1aacdf8248d35492067380 /c/src/lib | |
parent | 2009-12-01 Till Straumann <strauman@slac.stanford.edu> (diff) | |
download | rtems-af0d5860d6ab21698cb0f65a9435e6306222ae52.tar.bz2 |
2009-12-01 Till Straumann <strauman@slac.stanford.edu>
* shared/start/start.S: Added AltiVec support (initializing
MSR[VE], VSCR and VRSAVE).
Diffstat (limited to 'c/src/lib')
-rw-r--r-- | c/src/lib/libbsp/powerpc/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/start/start.S | 19 |
2 files changed, 24 insertions, 0 deletions
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,5 +1,10 @@ 2009-12-01 Till Straumann <strauman@slac.stanford.edu> + * shared/start/start.S: Added AltiVec support (initializing + MSR[VE], VSCR and VRSAVE). + +2009-12-01 Till Straumann <strauman@slac.stanford.edu> + * shared/vme/vme_universe.c: moved extern declaration out of local scope. 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 */ |