Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Apr 2015 12:58:09 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r281654 - head/sys/arm64/arm64
Message-ID:  <201504171258.t3HCw9kt055907@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504171258.t3HCw9kt055907>