Messages in this thread Patch in this message | | | From | Roland McGrath <> | Subject | Re: [RFC] hwbkpt: Hardware breakpoints (was Kwatch) | Date | Mon, 25 Jun 2007 04:32:38 -0700 (PDT) |
| |
I added this on top of your patch to make it compile (and look a little nicer). With that, bptest worked nicely.
--- arch/i386/kernel/kprobes.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-)
Index: b/arch/i386/kernel/kprobes.c =================================================================== --- a/arch/i386/kernel/kprobes.c +++ b/arch/i386/kernel/kprobes.c @@ -35,6 +35,7 @@ #include <asm/cacheflush.h> #include <asm/desc.h> #include <asm/uaccess.h> +#include <asm/debugreg.h> void jprobe_return_end(void); @@ -660,16 +661,16 @@ int __kprobes kprobe_exceptions_notify(s ret = NOTIFY_STOP; break; case DIE_DEBUG: - - /* The DR6 value is stored in args->err */ -#define DR6 (args->err) - - if ((DR6 & DR_STEP) && post_kprobe_handler(args->regs)) { - if ((DR6 & ~DR_STEP) == 0) - ret = NOTIFY_STOP; - } + /* + * The %db6 value is stored in args->err. + * If DR_STEP is the only bit set and it's ours, + * we should eat this exception. + */ + if ((args->err & DR_STEP) && + post_kprobe_handler(args->regs) && + (args->err & ~DR_STEP) == 0) + ret = NOTIFY_STOP; break; -#undef DR6 case DIE_GPF: case DIE_PAGE_FAULT: - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |