The branch stable/12 has been updated by mhorne:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=aba250f6264fd606b025bed87675530171a8c9f8

commit aba250f6264fd606b025bed87675530171a8c9f8
Author:     Mitchell Horne <[email protected]>
AuthorDate: 2020-12-18 16:16:03 +0000
Commit:     Mitchell Horne <[email protected]>
CommitDate: 2021-01-04 20:59:35 +0000

    amd64: use register macros for gdb_cpu_getreg()
    
    Prefer these newly-added definitions to bare values.
    
    Sponsored by:   NetApp, Inc.
    Sponsored by:   Klara, Inc.
    
    (cherry picked from commit 72939459bdfa930348d0b3397db5d947593ad348)
---
 sys/amd64/amd64/gdb_machdep.c   | 44 ++++++++++++++++++++---------------------
 sys/amd64/include/gdb_machdep.h |  4 ++++
 2 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/sys/amd64/amd64/gdb_machdep.c b/sys/amd64/amd64/gdb_machdep.c
index cf5979b7a1ea..73022bee7674 100644
--- a/sys/amd64/amd64/gdb_machdep.c
+++ b/sys/amd64/amd64/gdb_machdep.c
@@ -60,31 +60,31 @@ gdb_cpu_getreg(int regnum, size_t *regsz)
 
        if (kdb_thread  == curthread) {
                switch (regnum) {
-               case 0: return (&kdb_frame->tf_rax);
-               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 17: return (&kdb_frame->tf_rflags);
-               case 18: return (&kdb_frame->tf_cs);
-               case 19: return (&kdb_frame->tf_ss);
+               case GDB_REG_RAX: return (&kdb_frame->tf_rax);
+               case GDB_REG_RCX: return (&kdb_frame->tf_rcx);
+               case GDB_REG_RDX: return (&kdb_frame->tf_rdx);
+               case GDB_REG_RSI: return (&kdb_frame->tf_rsi);
+               case GDB_REG_RDI: return (&kdb_frame->tf_rdi);
+               case GDB_REG_R8:  return (&kdb_frame->tf_r8);
+               case GDB_REG_R9:  return (&kdb_frame->tf_r9);
+               case GDB_REG_R10: return (&kdb_frame->tf_r10);
+               case GDB_REG_R11: return (&kdb_frame->tf_r11);
+               case GDB_REG_RFLAGS: return (&kdb_frame->tf_rflags);
+               case GDB_REG_CS:  return (&kdb_frame->tf_cs);
+               case GDB_REG_SS:  return (&kdb_frame->tf_ss);
                }
        }
        switch (regnum) {
-       case 1:  return (&kdb_thrctx->pcb_rbx);
-       case 6:  return (&kdb_thrctx->pcb_rbp);
-       case 7:  return (&kdb_thrctx->pcb_rsp);
-       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 18: return (&_kcodesel);
-       case 19: return (&_kdatasel);
+       case GDB_REG_RBX: return (&kdb_thrctx->pcb_rbx);
+       case GDB_REG_RBP: return (&kdb_thrctx->pcb_rbp);
+       case GDB_REG_RSP: return (&kdb_thrctx->pcb_rsp);
+       case GDB_REG_R12: return (&kdb_thrctx->pcb_r12);
+       case GDB_REG_R13: return (&kdb_thrctx->pcb_r13);
+       case GDB_REG_R14: return (&kdb_thrctx->pcb_r14);
+       case GDB_REG_R15: return (&kdb_thrctx->pcb_r15);
+       case GDB_REG_PC:  return (&kdb_thrctx->pcb_rip);
+       case GDB_REG_CS:  return (&_kcodesel);
+       case GDB_REG_SS:  return (&_kdatasel);
        }
        return (NULL);
 }
diff --git a/sys/amd64/include/gdb_machdep.h b/sys/amd64/include/gdb_machdep.h
index add6dc94dfec..cd297addb965 100644
--- a/sys/amd64/include/gdb_machdep.h
+++ b/sys/amd64/include/gdb_machdep.h
@@ -50,6 +50,10 @@
 #define        GDB_REG_R14     14
 #define        GDB_REG_R15     15
 #define        GDB_REG_PC      16
+#define        GDB_REG_RFLAGS  17
+#define        GDB_REG_CS      18
+#define        GDB_REG_SS      19
+_Static_assert(GDB_BUFSZ >= (GDB_NREGS * 16), "buffer fits 'g' regs");
 
 static __inline size_t
 gdb_cpu_regsz(int regnum)
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to