svn commit: r281654 - head/sys/arm64/arm64

Andrew Turner andrew at FreeBSD.org
Fri Apr 17 12:58:10 UTC 2015


Author: andrew
Date: Fri Apr 17 12:58:09 2015
New Revision: 281654
URL: https://svnweb.freebsd.org/changeset/base/281654

Log:
  Use the address of fsu_intr_fault, not the first two instructions in it as
  the address to check if we are handling a trap for fuswintr or suswintr.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/arm64/arm64/trap.c

Modified: head/sys/arm64/arm64/trap.c
==============================================================================
--- head/sys/arm64/arm64/trap.c	Fri Apr 17 12:40:27 2015	(r281653)
+++ head/sys/arm64/arm64/trap.c	Fri Apr 17 12:58:09 2015	(r281654)
@@ -65,7 +65,7 @@ __FBSDID("$FreeBSD$");
 #include <ddb/db_output.h>
 #endif
 
-extern uintptr_t fsu_intr_fault;
+extern register_t fsu_intr_fault;
 
 /* Called from exception.S */
 void do_el1h_sync(struct trapframe *);
@@ -154,7 +154,7 @@ data_abort(struct trapframe *frame, uint
 	 * Special case for fuswintr and suswintr. These can't sleep so
 	 * handle them early on in the trap handler.
 	 */
-	if (__predict_false(pcb->pcb_onfault == fsu_intr_fault)) {
+	if (__predict_false(pcb->pcb_onfault == (vm_offset_t)&fsu_intr_fault)) {
 		frame->tf_elr = pcb->pcb_onfault;
 		return;
 	}


More information about the svn-src-head mailing list