diff options
author | Till Straumann <strauman@slac.stanford.edu> | 2006-01-05 23:18:55 +0000 |
---|---|---|
committer | Till Straumann <strauman@slac.stanford.edu> | 2006-01-05 23:18:55 +0000 |
commit | 7eb776a29a5c3ab45b910f77041ed48fd60853f9 (patch) | |
tree | 4404a351b0392e603cf9c29a0741e18942eaccfc /c | |
parent | * Makefile.am, vectors/vectors.S: use shared version of vectors.S. (diff) | |
download | rtems-7eb776a29a5c3ab45b910f77041ed48fd60853f9.tar.bz2 |
* shared/vectors/vectors.S: mask high bits when calculating
the exception vector number to yield correct result even if
the vectors reside in the upper area (0xfff00000; psim).
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/vectors/vectors.S | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/ChangeLog index 9cfa146a43..9377bc62b5 100644 --- a/c/src/lib/libbsp/powerpc/ChangeLog +++ b/c/src/lib/libbsp/powerpc/ChangeLog @@ -1,3 +1,8 @@ +2006-01-05 Till Straumann <strauman@slac.stanford.edu> + * shared/vectors/vectors.S: mask high bits when calculating + the exception vector number to yield correct result even if + the vectors reside in the upper area (0xfff00000; psim). + 2005-12-02 Till Straumann <strauman@slac.stanford.edu> * shared/irq/irq_init.c, shared/openpic/openpic.h shared/openpic/openpic.c: The 8240's EPIC has a 'serial' diff --git a/c/src/lib/libbsp/powerpc/shared/vectors/vectors.S b/c/src/lib/libbsp/powerpc/shared/vectors/vectors.S index 96a4be5386..751657a715 100644 --- a/c/src/lib/libbsp/powerpc/shared/vectors/vectors.S +++ b/c/src/lib/libbsp/powerpc/shared/vectors/vectors.S @@ -74,9 +74,10 @@ SYM (push_normalized_frame): */ mflr r3 /* - * r3 = r3 >> 8 = vector + * r3 = r3 >> 8 = vector # + * mask upper bits in case vectors are in the high area (psim) */ - srwi r3,r3,8 + rlwinm r3,r3,32-8,20,31 stw r3, EXCEPTION_NUMBER_OFFSET(r1) stw r0, GPR0_OFFSET(r1) /* R2 should never change (EABI: pointer to .sdata2) - we |