Add comment regarding T_DNA passthrough with db
authorAlex Hornung <ahornung@gmail.com>
Sat, 23 Oct 2010 10:59:18 +0000 (11:59 +0100)
committerAlex Hornung <ahornung@gmail.com>
Sat, 23 Oct 2010 10:59:18 +0000 (11:59 +0100)
Requested-by: Aggelos Economopoulos (aggelos@)
sys/platform/pc32/i386/trap.c
sys/platform/pc64/x86_64/trap.c

index 6ae0b0d..9600b52 100644 (file)
@@ -406,6 +406,11 @@ trap(struct trapframe *frame)
 
        p = td->td_proc;
 #ifdef DDB
+       /*
+        * We need to allow T_DNA faults when the debugger is active since
+        * some dumping paths to large bcopy() which use the floating
+        * point registers for faster copying.
+        */
        if (db_active && frame->tf_trapno != T_DNA) {
                eva = (frame->tf_trapno == T_PAGEFLT ? rcr2() : 0);
                ++gd->gd_trap_nesting_level;
index e4e93a1..87e310a 100644 (file)
@@ -379,6 +379,11 @@ trap(struct trapframe *frame)
 #endif
 
 #ifdef DDB
+        /*
+        * We need to allow T_DNA faults when the debugger is active since
+        * some dumping paths to large bcopy() which use the floating
+        * point registers for faster copying.
+        */
        if (db_active && frame->tf_trapno != T_DNA) {
                eva = (frame->tf_trapno == T_PAGEFLT ? frame->tf_addr : 0);
                ++gd->gd_trap_nesting_level;