summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2014-03-16 22:56:22 +0000
committermarcel <marcel@FreeBSD.org>2014-03-16 22:56:22 +0000
commit58bb818d247c6d4c7727f84f212a494733eac45c (patch)
treefaa705020a8506db7a478e7c77c1eb3bb81551b3
parent0e3b166e7041a9c36ab420a613403cbd9667b6f9 (diff)
downloadFreeBSD-src-58bb818d247c6d4c7727f84f212a494733eac45c.zip
FreeBSD-src-58bb818d247c6d4c7727f84f212a494733eac45c.tar.gz
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.
-rw-r--r--sys/ia64/ia64/machdep.c13
-rw-r--r--sys/ia64/include/kdb.h12
2 files changed, 15 insertions, 10 deletions
diff --git a/sys/ia64/ia64/machdep.c b/sys/ia64/ia64/machdep.c
index 92bbc64c..ad4270b 100644
--- a/sys/ia64/ia64/machdep.c
+++ b/sys/ia64/ia64/machdep.c
@@ -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;
diff --git a/sys/ia64/include/kdb.h b/sys/ia64/include/kdb.h
index 8a9cc3a..0304f51 100644
--- a/sys/ia64/include/kdb.h
+++ b/sys/ia64/include/kdb.h
@@ -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, size_t size)
}
}
-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_ */
OpenPOWER on IntegriCloud