[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>
This commit is contained in:
Michael Brown
2024-09-04 13:29:30 +01:00
parent 804f35cb5a
commit 2b82007571
8 changed files with 7 additions and 99 deletions

View File

@@ -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 */

View File

@@ -11,7 +11,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#include <stdint.h>
#include <ipxe/tables.h>
#include <gdbmach.h>
#include <bits/gdbmach.h>
/**
* A transport mechanism for the GDB protocol