summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-01-16 22:33:34 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-01-16 22:33:34 +0000
commit46c109656ac51250a4f1695e56e3572828aac98e (patch)
tree8e50e4d1e50ebdbf6d7bcab93f5fbb77a754bd0e /c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S
parent2001-01-16 Eric Valette <valette@crt.canon.fr> (diff)
downloadrtems-46c109656ac51250a4f1695e56e3572828aac98e.tar.bz2
2001-01-16 Eric Valette <valette@crt.canon.fr>
* vector/vector.S, irq/irq_asm.S: Make sure vectors work properly in RAM and Flash based code. The code executed for the Flash version runs in both cases (code in Flash/code in RAM) but as it is less efficient than the one optimized for RAM, it put it inside ifdef. A compilation error is generated if code is linked in Flash with the correct ifdef set...
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S b/c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S
index a056fab3ce..291a70a0b7 100644
--- a/c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S
+++ b/c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S
@@ -43,7 +43,14 @@ SYM (default_exception_vector_code_prolog):
* r3 = r3 >> 8 = vector
*/
srwi r3,r3,8
+#ifdef THIS_CODE_LINKED_USING_FLASH_ADDR_RANGE
+ lis r2,push_normalized_frame@h
+ ori r2,r2,push_normalized_frame@l
+ mtlr r2
+ blr
+#else
ba push_normalized_frame
+#endif
PUBLIC_VAR (default_exception_vector_code_prolog_size)