From 10098f951d82ee738b6b428f63c2e9f3206890d4 Mon Sep 17 00:00:00 2001 From: Till Straumann Date: Wed, 2 Dec 2009 00:22:42 +0000 Subject: 2009-12-01 Till Straumann * mpc6xx/mmu/bat.c, mpc6xx/mmu/pte121.c: skip data- streaming (dssall etc.) instructions on PPC_PSIM currently (unimplemented by PSIM :-( ). --- c/src/lib/libcpu/powerpc/ChangeLog | 6 ++++++ c/src/lib/libcpu/powerpc/mpc6xx/mmu/bat.c | 3 ++- c/src/lib/libcpu/powerpc/mpc6xx/mmu/pte121.c | 4 +++- 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'c') 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 + + * 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 * 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 -- cgit v1.2.3