Date: Sat, 3 Apr 2004 19:11:03 -0800 (PST) From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 50299 for review Message-ID: <200404040311.i343B3JB055856@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=50299 Change 50299 by marcel@marcel_nfs on 2004/04/03 19:10:48 Implement gdb_cpu_getreg(). Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#4 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ #include <sys/param.h> #include <sys/systm.h> +#include <sys/kdb.h> #include <sys/kernel.h> #include <sys/signal.h> @@ -41,9 +42,42 @@ void * gdb_cpu_getreg(int regnum, size_t *regsz) { + struct trapframe *tf = kdb_frame; *regsz = gdb_cpu_regsz(regnum); switch (regnum) { + case 0: return (&tf->tf_regs[FRAME_V0]); + case 1: return (&tf->tf_regs[FRAME_T0]); + case 2: return (&tf->tf_regs[FRAME_T1]); + case 3: return (&tf->tf_regs[FRAME_T2]); + case 4: return (&tf->tf_regs[FRAME_T3]); + case 5: return (&tf->tf_regs[FRAME_T4]); + case 6: return (&tf->tf_regs[FRAME_T5]); + case 7: return (&tf->tf_regs[FRAME_T6]); + case 8: return (&tf->tf_regs[FRAME_T7]); + case 9: return (&tf->tf_regs[FRAME_S0]); + case 10: return (&tf->tf_regs[FRAME_S1]); + case 11: return (&tf->tf_regs[FRAME_S2]); + case 12: return (&tf->tf_regs[FRAME_S3]); + case 13: return (&tf->tf_regs[FRAME_S4]); + case 14: return (&tf->tf_regs[FRAME_S5]); + case 15: return (&tf->tf_regs[FRAME_S6]); + case 16: return (&tf->tf_regs[FRAME_A0]); + case 17: return (&tf->tf_regs[FRAME_A1]); + case 18: return (&tf->tf_regs[FRAME_A2]); + case 19: return (&tf->tf_regs[FRAME_A3]); + case 20: return (&tf->tf_regs[FRAME_A4]); + case 21: return (&tf->tf_regs[FRAME_A5]); + case 22: return (&tf->tf_regs[FRAME_T8]); + case 23: return (&tf->tf_regs[FRAME_T9]); + case 24: return (&tf->tf_regs[FRAME_T10]); + case 25: return (&tf->tf_regs[FRAME_T11]); + case 26: return (&tf->tf_regs[FRAME_RA]); + case 27: return (&tf->tf_regs[FRAME_T12]); + case 28: return (&tf->tf_regs[FRAME_AT]); + case 29: return (&tf->tf_regs[FRAME_GP]); + case 30: return (&tf->tf_regs[FRAME_SP]); + case 64: return (&tf->tf_regs[FRAME_PC]); } return (NULL); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404040311.i343B3JB055856>