Date: Mon, 29 Nov 2004 20:59:10 GMT From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 66056 for review Message-ID: <200411292059.iATKxAoL031690@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=66056 Change 66056 by peter@peter_daintree on 2004/11/29 20:58:09 finish off gdb_machdep.c based on my understanding to date. We can only get the scratch registers from the trapframe since we do not save them in the pcb at context switch. Note to self: the register numbers are defined in gdb/amd64-tdep.c Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/gdb_machdep.c#5 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/gdb_machdep.c#5 (text+ko) ==== @@ -54,39 +54,28 @@ if (kdb_thread == curthread) { switch (regnum) { case 0: return (&kdb_frame->tf_rax); - case 1: return (&kdb_frame->tf_rcx); - case 2: return (&kdb_frame->tf_rdx); + case 2: return (&kdb_frame->tf_rcx); + case 3: return (&kdb_frame->tf_rdx); + case 4: return (&kdb_frame->tf_rsi); + case 5: return (&kdb_frame->tf_rdi); + case 8: return (&kdb_frame->tf_r8); + case 9: return (&kdb_frame->tf_r9); + case 10: return (&kdb_frame->tf_r10); + case 11: return (&kdb_frame->tf_r11); + case 18: return (&kdb_frame->tf_cs); + case 19: return (&kdb_frame->tf_ss); } } switch (regnum) { -#if 0 - case 0: return (&kdb_thrctx->pcb_rax); -#endif case 1: return (&kdb_thrctx->pcb_rbx); -#if 0 - case 2: return (&kdb_thrctx->pcb_rcx); - case 3: return (&kdb_thrctx->pcb_rdx); - case 4: return (&kdb_thrctx->pcb_rsi); - case 5: return (&kdb_thrctx->pcb_rdi); -#endif case 6: return (&kdb_thrctx->pcb_rbp); case 7: return (&kdb_thrctx->pcb_rsp); -#if 0 - case 8: return (&kdb_thrctx->pcb_r8); - case 9: return (&kdb_thrctx->pcb_r9); - case 10: return (&kdb_thrctx->pcb_r10); - case 11: return (&kdb_thrctx->pcb_r11); -#endif case 12: return (&kdb_thrctx->pcb_r12); case 13: return (&kdb_thrctx->pcb_r13); case 14: return (&kdb_thrctx->pcb_r14); case 15: return (&kdb_thrctx->pcb_r15); case 16: return (&kdb_thrctx->pcb_rip); case 17: return (&kdb_thrctx->pcb_rflags); -#if 0 - case 18: return (&kdb_thrctx->pcb_cs); - case 19: return (&kdb_thrctx->pcb_ss); -#endif } return (NULL); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200411292059.iATKxAoL031690>