PERFORCE change 50299 for review
Marcel Moolenaar
marcel at FreeBSD.org
Sat Apr 3 19:11:04 PST 2004
http://perforce.freebsd.org/chv.cgi?CH=50299
Change 50299 by marcel at 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);
}
More information about the p4-projects
mailing list