Messages in this thread | | | From | Roland McGrath <> | Subject | Re: [RFC Patch 3/9] Modifying generic debug exception to use virtual debug registers | Date | Wed, 15 Oct 2008 17:25:55 -0700 (PDT) |
| |
You need to redo this (and the whole set) for the post-2.6.27 tree. e.g. traps.c has been unified.
+ /* Store the virtualized DR6 value */ + tsk->thread.vdr6 = dr6; + + if (notify_die(DIE_DEBUG, "debug", regs, dr6, error_code, + SIGTRAP) == NOTIFY_STOP) return;
I'm not sure you should change vdr6 when notify_die returns NOTIFY_STOP. Maybe Alan and I hashed out the logic of this before, I don't recall. If the notifier is eating the event, then it should not affect the thread-virtualized view of %db6. That would be consistent with the existing code, where ->thread.debugreg6 is only set later when all the intercepted or spurious exceptions have been filtered out.
Thanks, Roland
| |