On 1/28/16, H. Peter Anvin <h...@zytor.com> wrote: > On 01/28/16 11:46, Jeffrey Merkey wrote: >> This patch series adds an export which can be set by system debuggers to >> direct the hard lockup and soft lockup detector to trigger a breakpoint >> exception and enter a debugger if one is active. It is assumed that if >> someone sets this variable, then an breakpoint handler of some sort will >> be actively loaded or registered via the notify die handler chain. >> >> This addition is extremely useful for debugging hard and soft lockups >> real time and quickly from a console debugger. >> >> Signed-off-by: Jeffrey Merkey <jeffmer...@gmail.com> >> --- >> arch/x86/include/asm/kdebug.h | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/arch/x86/include/asm/kdebug.h >> b/arch/x86/include/asm/kdebug.h >> index e5f5dc9..cbe9004 100644 >> --- a/arch/x86/include/asm/kdebug.h >> +++ b/arch/x86/include/asm/kdebug.h >> @@ -3,6 +3,11 @@ >> >> #include <linux/notifier.h> >> >> +static inline void arch_breakpoint(void) >> +{ >> + asm(" int $3"); >> +} >> + >> struct pt_regs; >> > > Even though apparently gas changed "int $3" to "int3" the latter is > actually a different instruction (with subtly different behavior) and > this may very well be corrected in gas at a future date. > > So please encode this as "int3". It should also be "asm volatile" since > it has side effects unbeknownst to the compiler. > > -hpa > >
Yes sir, I'll add that to the to do list and resubmit after I get all the comments back for all the changes. It may be important to note that the arch_kgdb_breakpoint also uses this same syntax and needs also to be fixed. Jeff