From f33330c0ff90adad8855250877a4a3d0a407bba4 Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Mon, 2 Apr 2012 15:11:21 +0200 Subject: arm: factor all exception handlers out of the crt0.S files Remove the implementations of all exceptions handlers from the various crt0.S files and have a single implementation in system-arm.h The new implementation is weak so that it can be overwritten by some specific code (like the unwinder) Change-Id: Ib3e041ed6037376bbe0e79286057e1051640dd90 Reviewed-on: http://gerrit.rockbox.org/205 Reviewed-by: Marcin Bukat --- firmware/target/arm/tms320dm320/crt0.S | 45 ---------------------------------- 1 file changed, 45 deletions(-) (limited to 'firmware/target/arm/tms320dm320/crt0.S') diff --git a/firmware/target/arm/tms320dm320/crt0.S b/firmware/target/arm/tms320dm320/crt0.S index d53cff2b63..f1b2eb397c 100644 --- a/firmware/target/arm/tms320dm320/crt0.S +++ b/firmware/target/arm/tms320dm320/crt0.S @@ -291,51 +291,6 @@ _delay_cycles: .ltorg .size _delay_cycles, .-_delay_cycles -/****************************************************************************** - * Unused exception vectors. These call the UIE function. * - * Arguements are: * - * r0: PC of exception * - * r1: Exception number. * - * Exception numbers are as defined: * - * 0: Undefined Instruction * - * 1: Prefetch Abort * - * 2: Data Abort * - * 3: DIV0 * - * 4: SWI * - * The exceptions return operations are documented in section A2.6 of the * - * ARM Architecture Reference Manual. * - ******************************************************************************/ - -/* A2.6.3: Undefined Instruction Exception - LR=PC of next instruction */ -_undefined_instruction: - sub r0, lr, #4 - mov r1, #0 - bl UIE - -/* A2.6.4: Software Interrupt exception - These should not happen in Rockbox, - * make it illegal - */ -_software_interrupt: - sub r0, lr, #4 - mov r1, #4 - bl UIE - -/* A2.6.5 Prefetch Abort - This is also the BKPT instruction since this is a - * v5 target. Pass it on to UIE since it is not currently used. - */ -_prefetch_abort: - sub r0, lr, #4 - mov r1, #1 - bl UIE - -/* A2.6.6 Data Abort - There was a memory abort, can return after fixing cause - * with the LR address. - */ -_data_abort: - sub r0, lr, #8 - mov r1, #2 - bl UIE - /****************************************************************************** * _dead_loop: Something really unexpected happened (like a reserved * * exception). Just hang. * -- cgit v1.2.3