6 * GDB architecture specifics
8 * This file declares functions for manipulating the machine state and
15 typedef unsigned long gdbreg_t
;
17 /* The register snapshot, this must be in sync with interrupt handler and the
37 GDBMACH_SIZEOF_REGS
= GDBMACH_NREGS
* sizeof ( gdbreg_t
)
40 /* Breakpoint types */
49 static inline void gdbmach_set_pc ( gdbreg_t
*regs
, gdbreg_t pc
) {
50 regs
[ GDBMACH_EIP
] = pc
;
53 static inline void gdbmach_set_single_step ( gdbreg_t
*regs
, int step
) {
54 regs
[ GDBMACH_EFLAGS
] &= ~( 1 << 8 ); /* Trace Flag (TF) */
55 regs
[ GDBMACH_EFLAGS
] |= ( step
<< 8 );
58 static inline void gdbmach_breakpoint ( void ) {
59 __asm__
__volatile__ ( "int $3\n" );
62 extern int gdbmach_set_breakpoint ( int type
, unsigned long addr
, size_t len
, int enable
);
64 #endif /* GDBMACH_H */