Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Mar 2014 22:56:22 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r263254 - in head/sys/ia64: ia64 include
Message-ID:  <201403162256.s2GMuMeG010181@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marcel
Date: Sun Mar 16 22:56:22 2014
New Revision: 263254
URL: http://svnweb.freebsd.org/changeset/base/263254

Log:
  Move the implementation of kdb_cpu_trap() from <machine/kdb.h> to
  machdep.c. This makes it easier to add conditional code based on
  options.

Modified:
  head/sys/ia64/ia64/machdep.c
  head/sys/ia64/include/kdb.h

Modified: head/sys/ia64/ia64/machdep.c
==============================================================================
--- head/sys/ia64/ia64/machdep.c	Sun Mar 16 21:57:05 2014	(r263253)
+++ head/sys/ia64/ia64/machdep.c	Sun Mar 16 22:56:22 2014	(r263254)
@@ -86,6 +86,7 @@ __FBSDID("$FreeBSD$");
 #include <machine/elf.h>
 #include <machine/fpu.h>
 #include <machine/intr.h>
+#include <machine/kdb.h>
 #include <machine/mca.h>
 #include <machine/md_var.h>
 #include <machine/pal.h>
@@ -562,6 +563,18 @@ spinlock_exit(void)
 }
 
 void
+kdb_cpu_trap(int vector, int code __unused)
+{
+
+	__asm __volatile("flushrs;;");
+
+	/* Restart after the break instruction. */
+	if (vector == IA64_VEC_BREAK &&
+	    kdb_frame->tf_special.ifa == IA64_FIXED_BREAK)
+		kdb_frame->tf_special.psr += IA64_PSR_RI_1;
+}
+
+void
 map_vhpt(uintptr_t vhpt)
 {
 	pt_entry_t pte;

Modified: head/sys/ia64/include/kdb.h
==============================================================================
--- head/sys/ia64/include/kdb.h	Sun Mar 16 21:57:05 2014	(r263253)
+++ head/sys/ia64/include/kdb.h	Sun Mar 16 22:56:22 2014	(r263254)
@@ -35,6 +35,8 @@
 
 #define	KDB_STOPPEDPCB(pc)	(&(pc)->pc_md.pcb)
 
+void kdb_cpu_trap(int, int);
+
 static __inline void
 kdb_cpu_clear_singlestep(void)
 {
@@ -62,14 +64,4 @@ kdb_cpu_sync_icache(unsigned char *addr,
 	}
 }
 
-static __inline void
-kdb_cpu_trap(int vector, int _)
-{
-	__asm __volatile("flushrs;;");
-
-	if (vector == IA64_VEC_BREAK &&
-	    kdb_frame->tf_special.ifa == IA64_FIXED_BREAK)
-                kdb_frame->tf_special.psr += IA64_PSR_RI_1;
-}
-
 #endif /* _MACHINE_KDB_H_ */



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