aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/bits/gdbmach.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2024-09-04 13:29:30 +0100
committerMichael Brown <mcb30@ipxe.org>2024-09-05 13:00:39 +0100
commit2b82007571dbe02b85338dc9fa85251cd5d68028 (patch)
treeb99584c83a74fbeb298c1ff4c13e2c89f5eaf41c /src/include/bits/gdbmach.h
parent804f35cb5a6ac7d35912822372b74fd8856f850b (diff)
downloadipxe-2b82007571dbe02b85338dc9fa85251cd5d68028.tar.gz
[gdb] Allow CPU architectures to omit support for GDB
Move the <gdbmach.h> file to <bits/gdbmach.h>, and provide a common dummy implementation for all architectures that have not yet implemented support for GDB. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/bits/gdbmach.h')
-rw-r--r--src/include/bits/gdbmach.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/include/bits/gdbmach.h b/src/include/bits/gdbmach.h
new file mode 100644
index 000000000..7e349856f
--- /dev/null
+++ b/src/include/bits/gdbmach.h
@@ -0,0 +1,45 @@
+#ifndef _BITS_GDBMACH_H
+#define _BITS_GDBMACH_H
+
+/** @file
+ *
+ * Dummy GDB architecture specifics
+ *
+ * This file is included only if the architecture does not provide its
+ * own version of this file.
+ *
+ */
+
+#include <stdint.h>
+
+typedef unsigned long gdbreg_t;
+
+/* Register snapshot */
+enum {
+ /* Not yet implemented */
+ GDBMACH_NREGS,
+};
+
+#define GDBMACH_SIZEOF_REGS ( GDBMACH_NREGS * sizeof ( gdbreg_t ) )
+
+static inline void gdbmach_set_pc ( gdbreg_t *regs, gdbreg_t pc ) {
+ /* Not yet implemented */
+ ( void ) regs;
+ ( void ) pc;
+}
+
+static inline void gdbmach_set_single_step ( gdbreg_t *regs, int step ) {
+ /* Not yet implemented */
+ ( void ) regs;
+ ( void ) step;
+}
+
+static inline void gdbmach_breakpoint ( void ) {
+ /* Not yet implemented */
+}
+
+extern int gdbmach_set_breakpoint ( int type, unsigned long addr, size_t len,
+ int enable );
+extern void gdbmach_init ( void );
+
+#endif /* _BITS_GDBMACH_H */