summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2009-12-02 00:22:42 +0000
committerTill Straumann <strauman@slac.stanford.edu>2009-12-02 00:22:42 +0000
commit10098f951d82ee738b6b428f63c2e9f3206890d4 (patch)
treea8434f4b7ef42153446ddc92170ec4012d4f9c32 /c
parent2009-12-01 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-10098f951d82ee738b6b428f63c2e9f3206890d4.tar.bz2
2009-12-01 Till Straumann <strauman@slac.stanford.edu>
* mpc6xx/mmu/bat.c, mpc6xx/mmu/pte121.c: skip data- streaming (dssall etc.) instructions on PPC_PSIM currently (unimplemented by PSIM :-( ).
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libcpu/powerpc/ChangeLog6
-rw-r--r--c/src/lib/libcpu/powerpc/mpc6xx/mmu/bat.c3
-rw-r--r--c/src/lib/libcpu/powerpc/mpc6xx/mmu/pte121.c4
3 files changed, 11 insertions, 2 deletions
diff --git a/c/src/lib/libcpu/powerpc/ChangeLog b/c/src/lib/libcpu/powerpc/ChangeLog
index 793c0c254f..2dbad33af0 100644
--- a/c/src/lib/libcpu/powerpc/ChangeLog
+++ b/c/src/lib/libcpu/powerpc/ChangeLog
@@ -1,3 +1,9 @@
+2009-12-01 Till Straumann <strauman@slac.stanford.edu>
+
+ * mpc6xx/mmu/bat.c, mpc6xx/mmu/pte121.c: skip data-
+ streaming (dssall etc.) instructions on PPC_PSIM
+ currently (unimplemented by PSIM :-( ).
+
2009-11-17 Till Straumann <strauman@slac.stanford.edu>
* new-exceptions/bspsupport/ppc_exc_categories.c:
diff --git a/c/src/lib/libcpu/powerpc/mpc6xx/mmu/bat.c b/c/src/lib/libcpu/powerpc/mpc6xx/mmu/bat.c
index f5119800fb..b227686757 100644
--- a/c/src/lib/libcpu/powerpc/mpc6xx/mmu/bat.c
+++ b/c/src/lib/libcpu/powerpc/mpc6xx/mmu/bat.c
@@ -211,8 +211,9 @@ do_dssall (void)
* MSR_VE is set hoping that
* a) on non-altivec CPUs MSR_VE reads as zero
* b) all altivec CPUs use the same bit
+ * NOTE: psim doesn't implement dssall so we skip if we run on psim
*/
- if (_read_MSR () & MSR_VE) {
+ if ( (_read_MSR () & MSR_VE) && PPC_PSIM != get_ppc_cpu_type() ) {
/* this construct is needed because we don't know
* if this file is compiled with -maltivec.
* (I plan to add altivec support outside of
diff --git a/c/src/lib/libcpu/powerpc/mpc6xx/mmu/pte121.c b/c/src/lib/libcpu/powerpc/mpc6xx/mmu/pte121.c
index d4a891c7dd..4389d392e4 100644
--- a/c/src/lib/libcpu/powerpc/mpc6xx/mmu/pte121.c
+++ b/c/src/lib/libcpu/powerpc/mpc6xx/mmu/pte121.c
@@ -905,8 +905,10 @@ do_dssall (void)
* MSR_VE is set hoping that
* a) on non-altivec CPUs MSR_VE reads as zero
* b) all altivec CPUs use the same bit
+ *
+ * NOTE: psim doesn't implement dssall so we skip if we run on psim
*/
- if (_read_MSR () & MSR_VE) {
+ if ( (_read_MSR () & MSR_VE) && PPC_PSIM != get_ppc_cpu_type() ) {
/* this construct is needed because we don't know
* if this file is compiled with -maltivec.
* (I plan to add altivec support outside of