deleted file mode 100644
@@ -1,15 +0,0 @@
-#ifndef __ARM_DEBUGGER_H__
-#define __ARM_DEBUGGER_H__
-
-#define debugger_trap_fatal(v, r) (0)
-#define debugger_trap_immediate() ((void) 0)
-
-#endif /* __ARM_DEBUGGER_H__ */
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
@@ -1,30 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0 */
/******************************************************************************
- * asm/debugger.h
- *
- * Generic hooks into arch-dependent Xen.
- *
- * Each debugger should define two functions here:
- *
- * debugger_trap_fatal():
- * Called when Xen is about to give up and crash. Typically you will use this
- * hook to drop into a debug session. It can also be used to hook off
- * deliberately caused traps (which you then handle and return non-zero).
+ * xen/arch/x86/include/asm/debugger.h
*
- * debugger_trap_immediate():
- * Called if we want to drop into a debugger now. This is essentially the
- * same as debugger_trap_fatal, except that we use the current register state
- * rather than the state which was in effect when we took the trap.
- * For example: if we're dying because of an unhandled exception, we call
- * debugger_trap_fatal; if we're dying because of a panic() we call
- * debugger_trap_immediate().
+ * x86-specific debugger hooks.
*/
-
#ifndef __X86_DEBUGGER_H__
#define __X86_DEBUGGER_H__
-#ifdef CONFIG_CRASH_DEBUG
-
#include <xen/gdbstub.h>
#include <xen/stdbool.h>
@@ -45,16 +27,4 @@ static inline bool debugger_trap_fatal(
/* Int3 is a trivial way to gather cpu_user_regs context. */
#define debugger_trap_immediate() __asm__ __volatile__ ( "int3" )
-#else
-
-static inline bool debugger_trap_fatal(
- unsigned int vector, struct cpu_user_regs *regs)
-{
- return false;
-}
-
-#define debugger_trap_immediate() ((void)0)
-
-#endif
-
#endif /* __X86_DEBUGGER_H__ */
@@ -36,6 +36,7 @@
#include <xen/shutdown.h>
#include <xen/guest_access.h>
#include <asm/regs.h>
+#include <xen/debugger.h>
#include <xen/delay.h>
#include <xen/event.h>
#include <xen/spinlock.h>
@@ -64,7 +65,6 @@
#include <asm/uaccess.h>
#include <asm/i387.h>
#include <asm/xstate.h>
-#include <asm/debugger.h>
#include <asm/msr.h>
#include <asm/nmi.h>
#include <asm/xenoprof.h>
@@ -3,6 +3,7 @@
*/
#include <asm/regs.h>
+#include <xen/debugger.h>
#include <xen/delay.h>
#include <xen/keyhandler.h>
#include <xen/param.h>
@@ -20,7 +21,6 @@
#include <xen/mm.h>
#include <xen/watchdog.h>
#include <xen/init.h>
-#include <asm/debugger.h>
#include <asm/div64.h>
static unsigned char keypress_key;
@@ -2,13 +2,13 @@
#include <xen/lib.h>
#include <xen/param.h>
#include <xen/sched.h>
+#include <xen/debugger.h>
#include <xen/domain.h>
#include <xen/delay.h>
#include <xen/watchdog.h>
#include <xen/shutdown.h>
#include <xen/console.h>
#include <xen/kexec.h>
-#include <asm/debugger.h>
#include <public/sched.h>
/* opt_noreboot: If true, machine will need manual reset on error. */
@@ -15,6 +15,7 @@
#include <xen/init.h>
#include <xen/event.h>
#include <xen/console.h>
+#include <xen/debugger.h>
#include <xen/param.h>
#include <xen/serial.h>
#include <xen/softirq.h>
@@ -26,7 +27,6 @@
#include <xen/kexec.h>
#include <xen/ctype.h>
#include <xen/warning.h>
-#include <asm/debugger.h>
#include <asm/div64.h>
#include <xen/hypercall.h> /* for do_console_io */
#include <xen/early_printk.h>
similarity index 54%
copy from xen/arch/x86/include/asm/debugger.h
copy to xen/include/xen/debugger.h
@@ -1,11 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 */
/******************************************************************************
- * asm/debugger.h
- *
- * Generic hooks into arch-dependent Xen.
- *
- * Each debugger should define two functions here:
- *
+ * Arch specific debuggers should implement:
+ *
* debugger_trap_fatal():
* Called when Xen is about to give up and crash. Typically you will use this
* hook to drop into a debug session. It can also be used to hook off
@@ -20,41 +16,29 @@
* debugger_trap_immediate().
*/
-#ifndef __X86_DEBUGGER_H__
-#define __X86_DEBUGGER_H__
+#ifndef __XEN_DEBUGGER_H__
+#define __XEN_DEBUGGER_H__
#ifdef CONFIG_CRASH_DEBUG
-#include <xen/gdbstub.h>
-#include <xen/stdbool.h>
-
-#include <asm/x86-defns.h>
-
-/* Returns true if GDB handled the trap, or it is surviveable. */
-static inline bool debugger_trap_fatal(
- unsigned int vector, struct cpu_user_regs *regs)
-{
- int rc = __trap_to_gdb(regs, vector);
-
- if ( rc == 0 )
- return true;
+#include <asm/debugger.h>
- return vector == X86_EXC_BP;
-}
+#else
-/* Int3 is a trivial way to gather cpu_user_regs context. */
-#define debugger_trap_immediate() __asm__ __volatile__ ( "int3" )
+#include <xen/stdbool.h>
-#else
+struct cpu_user_regs;
static inline bool debugger_trap_fatal(
- unsigned int vector, struct cpu_user_regs *regs)
+ unsigned int vector, const struct cpu_user_regs *regs)
{
return false;
}
-#define debugger_trap_immediate() ((void)0)
+static inline void debugger_trap_immediate(void)
+{
+}
-#endif
+#endif /* CONFIG_CRASH_DEBUG */
-#endif /* __X86_DEBUGGER_H__ */
+#endif /* __XEN_DEBUGGER_H__ */