73f43c364e88c4ebf5c05856bc6d061118e4d700
[people/lynusvaz/gpxe.git] / src / arch / i386 / include / bochs.h
1 #ifndef BOCHS_H
2 #define BOCHS_H
3
4 /*
5  * This file defines "bochsbp", the magic breakpoint instruction that
6  * is incredibly useful when debugging under bochs.
7  *
8  */
9
10 #ifdef ASSEMBLY
11
12 /* Breakpoint for when debugging under bochs */
13 #define bochsbp xchgw %bx, %bx
14 #define BOCHSBP bochsbp
15
16 #else /* ASSEMBLY */
17
18 /* Breakpoint for when debugging under bochs */
19 static inline void bochsbp ( void ) {
20         __asm__ __volatile__ ( "xchgw %bx, %bx" );
21 }
22
23 #endif /* ASSEMBLY */
24
25 #warning "bochs.h should not be included into production code"
26
27 #endif /* BOCHS_H */