svn commit: r263030 - head/sys/arm/arm

Ian Lepore ian at FreeBSD.org
Tue Mar 11 15:46:04 UTC 2014


Author: ian
Date: Tue Mar 11 15:46:03 2014
New Revision: 263030
URL: http://svnweb.freebsd.org/changeset/base/263030

Log:
  Remove some unnecessary indirection and jump right to the handler functions.

Modified:
  head/sys/arm/arm/exception.S

Modified: head/sys/arm/arm/exception.S
==============================================================================
--- head/sys/arm/arm/exception.S	Tue Mar 11 15:43:06 2014	(r263029)
+++ head/sys/arm/arm/exception.S	Tue Mar 11 15:46:03 2014	(r263030)
@@ -322,20 +322,9 @@ ASENTRY_NP(prefetch_abort_entry)
         sub     lr, lr, #0x00000004     /* Adjust the lr */
 
 	PUSHFRAMEINSVC
-	ldr	r1, Lprefetch_abort_handler_address
 	adr	lr, exception_exit
  	mov	r0, sp			/* pass the stack pointer as r0 */
-	ldr	pc, [r1]
-
-Lprefetch_abort_handler_address:
-	.word	_C_LABEL(prefetch_abort_handler_address)
-
-	.data
-	.global	_C_LABEL(prefetch_abort_handler_address)
-
-_C_LABEL(prefetch_abort_handler_address):
-	.word	prefetch_abort_handler
-
+	b	prefetch_abort_handler
 END(prefetch_abort_entry)
 
 /*
@@ -352,18 +341,9 @@ ASENTRY_NP(data_abort_entry)
         sub     lr, lr, #0x00000008     /* Adjust the lr */
 	PUSHFRAMEINSVC			/* Push trap frame and switch */
 					/* to SVC32 mode */
-	ldr	r1, Ldata_abort_handler_address
 	adr	lr, exception_exit
 	mov	r0, sp			/* pass the stack pointer as r0 */
-	ldr	pc, [r1]
-Ldata_abort_handler_address:
-	.word	_C_LABEL(data_abort_handler_address)
-
-	.data
-	.global	_C_LABEL(data_abort_handler_address)
-_C_LABEL(data_abort_handler_address):
-	.word	data_abort_handler
-
+	b	data_abort_handler
 END(data_abort_entry)
 
 /*
@@ -435,23 +415,10 @@ ASENTRY_NP(undefined_entry)
         sub     lr, lr, #0x00000004     /* Adjust the lr */
 	PUSHFRAMEINSVC			/* Push trap frame and switch */
 					/* to SVC32 mode */
-	ldr	r1, Lundefined_handler_address
 	adr	lr, exception_exit
 	mov	r0, sp			/* pass the stack pointer as r0 */
-	ldr	pc, [r1]
-END(undefined_entry)
-
-ASENTRY_NP(undefinedinstruction_bounce)
 	b	undefinedinstruction
-END(undefinedinstruction_bounce)
-
-Lundefined_handler_address:
-	.word	_C_LABEL(undefined_handler_address)
-
-	.data
-	.global	_C_LABEL(undefined_handler_address)
-_C_LABEL(undefined_handler_address):
-	.word	undefinedinstruction_bounce
+END(undefined_entry)
 
 /*
  * Entry point for FIQ interrupts.


More information about the svn-src-head mailing list