12345678910111213141516171819202122232425262728293031323334 |
- #ifndef BOCHS_H
- #define BOCHS_H
-
- /** @file
- *
- * bochs breakpoints
- *
- * This file defines @c bochsbp, the magic breakpoint instruction that
- * is incredibly useful when debugging under bochs. This file should
- * never be included in production code.
- *
- * Use the pseudo-instruction @c bochsbp in assembly code, or the
- * bochsbp() function in C code.
- *
- */
-
- #ifdef ASSEMBLY
-
- /* Breakpoint for when debugging under bochs */
- #define bochsbp xchgw %bx, %bx
- #define BOCHSBP bochsbp
-
- #else /* ASSEMBLY */
-
- /** Breakpoint for when debugging under bochs */
- static inline void bochsbp ( void ) {
- __asm__ __volatile__ ( "xchgw %bx, %bx" );
- }
-
- #endif /* ASSEMBLY */
-
- #warning "bochs.h should not be included into production code"
-
- #endif /* BOCHS_H */
|