summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorNicolas "Pixel" Noble <pixel@nobis-crew.org>2011-01-27 19:10:36 +0100
committerNicolas "Pixel" Noble <pixel@nobis-crew.org>2011-01-27 19:10:36 +0100
commitd29a7d2ad9fa2d8c9815fe602c7f4647735d549d (patch)
tree1de66e13d0a9910b43007f70cad132b58b204139 /arch
parentbcb852cbc842433576945044590b8716932acbd4 (diff)
Making the faults returnable; eventually, this may serve as a full exception / interrupt handler.
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/lpc17xx/startup.s7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/lpc17xx/startup.s b/arch/arm/lpc17xx/startup.s
index e7c5311..2f79741 100644
--- a/arch/arm/lpc17xx/startup.s
+++ b/arch/arm/lpc17xx/startup.s
@@ -148,7 +148,12 @@ general_handler:
MOV R1, SP
SUB R1, #32
PUSH {R4-R11}
- B general_C_handler
+ MOV R4, LR
+ BL general_C_handler
+ AND R0, #7
+ ORR LR, R4, R0
+ POP {R4-R11}
+ BX LR
/* Reset Handler */