|
@@ -207,6 +207,17 @@ extern int kgdb_validate_break_address(unsigned long addr);
|
|
|
extern int kgdb_arch_set_breakpoint(unsigned long addr, char *saved_instr);
|
|
|
extern int kgdb_arch_remove_breakpoint(unsigned long addr, char *bundle);
|
|
|
|
|
|
+/**
|
|
|
+ * kgdb_arch_late - Perform any architecture specific initalization.
|
|
|
+ *
|
|
|
+ * This function will handle the late initalization of any
|
|
|
+ * architecture specific callbacks. This is an optional function for
|
|
|
+ * handling things like late initialization of hw breakpoints. The
|
|
|
+ * default implementation does nothing.
|
|
|
+ */
|
|
|
+extern void kgdb_arch_late(void);
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* struct kgdb_arch - Describe architecture specific values.
|
|
|
* @gdb_bpt_instr: The instruction to trigger a breakpoint.
|
|
@@ -285,7 +296,10 @@ extern int kgdb_single_step;
|
|
|
extern atomic_t kgdb_active;
|
|
|
#define in_dbg_master() \
|
|
|
(raw_smp_processor_id() == atomic_read(&kgdb_active))
|
|
|
+extern bool dbg_is_early;
|
|
|
+extern void __init dbg_late_init(void);
|
|
|
#else /* ! CONFIG_KGDB */
|
|
|
#define in_dbg_master() (0)
|
|
|
+#define dbg_late_init()
|
|
|
#endif /* ! CONFIG_KGDB */
|
|
|
#endif /* _KGDB_H_ */
|