From 46c109656ac51250a4f1695e56e3572828aac98e Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 16 Jan 2002 22:33:34 +0000 Subject: 2001-01-16 Eric Valette * 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... --- c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'c/src/lib/libbsp/powerpc/mbx8xx/vectors/vectors.S') 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) -- cgit v1.2.3