)]}'
{
  "commit": "02cd1b4e97120f71710c4246953bcb2d63cb4aea",
  "tree": "56cc29e73e55f8396c49d4572edc8b7d983396df",
  "parents": [
    "20e2bd5c636b4bf6d049eb202b3322fae835eefa"
  ],
  "author": {
    "name": "Jiangshuai Li",
    "email": "jiangshuai_li@linux.alibaba.com",
    "time": "Tue Sep 13 11:20:54 2022 +0800"
  },
  "committer": {
    "name": "Jiangshuai Li",
    "email": "jiangshuai_li@linux.alibaba.com",
    "time": "Tue Sep 13 11:20:54 2022 +0800"
  },
  "message": "gdbserver/csky add csky gdbserver support\n\nAdd new files:\n  gdb/arch/csky.c\n  gdb/arch/csky.h\n  gdb/features/cskyv2-linux.c\n  gdbserver/linux-csky-low.cc\n\n1. In gdb/arch/csky.c file, add function \"csky_create_target_description()\"\nfor csky_target::low_arch_setup(). later, it can be used for csky native gdb.\n\n2. In gdb/features/cskyv2-linux.c file, create target_tdesc for csky, include\ngprs, pc, hi, lo, float, vector and float control registers.\n\n3. In gdbserver/linux-csky-low.cc file, using PTRACE_GET/SET_RGESET to\nget/set registers. The main data structures in asm/ptrace.h are:\nstruct pt_regs {\n    unsigned long   tls;\n    unsigned long   lr;\n    unsigned long   pc;\n    unsigned long   sr;\n    unsigned long   usp;\n\n    /*\n     * a0, a1, a2, a3:\n     * r0, r1, r2, r3\n     */\n    unsigned long   orig_a0;\n    unsigned long   a0;\n    unsigned long   a1;\n    unsigned long   a2;\n    unsigned long   a3;\n\n    /*\n     * r4 ~ r13\n     */\n    unsigned long   regs[10];\n\n    /* r16 ~ r30 */\n    unsigned long   exregs[15];\n\n    unsigned long   rhi;\n    unsigned long   rlo;\n    unsigned long   dcsr;\n};\n\nstruct user_fp {\n    unsigned long   vr[96];\n    unsigned long   fcr;\n    unsigned long   fesr;\n    unsigned long   fid;\n    unsigned long   reserved;\n};\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dee0ac2ecd8727f84f55d358702bd354d01c4f58",
      "old_mode": 33188,
      "old_path": "gdb/NEWS",
      "new_id": "555ef2ddf77b042152b56630edcf5687a2923eee",
      "new_mode": 33188,
      "new_path": "gdb/NEWS"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "887796753c61692cf4659d8cfac106a5c9dab932",
      "new_mode": 33188,
      "new_path": "gdb/arch/csky.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c147a973a4fe6bbe5df9b6d9ac84a4b81c91163",
      "new_mode": 33188,
      "new_path": "gdb/arch/csky.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e49b68c4b8dd714912a52c37f367a86a27cef5bf",
      "new_mode": 33188,
      "new_path": "gdb/features/cskyv2-linux.c"
    },
    {
      "type": "modify",
      "old_id": "75e497753e845e7903f98dd584bceee5d3260278",
      "old_mode": 33188,
      "old_path": "gdbserver/Makefile.in",
      "new_id": "8462d78a8591279f9f77fe6707967811c89a7fab",
      "new_mode": 33188,
      "new_path": "gdbserver/Makefile.in"
    },
    {
      "type": "modify",
      "old_id": "ebb6b32a6c4e186dabd25bcfa06360992d8f8d22",
      "old_mode": 33188,
      "old_path": "gdbserver/configure.srv",
      "new_id": "f0101994529bd252f41073b84ce0069feec43f90",
      "new_mode": 33188,
      "new_path": "gdbserver/configure.srv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "708a8725d337a34d093c50c34852bdc957890f15",
      "new_mode": 33188,
      "new_path": "gdbserver/linux-csky-low.cc"
    }
  ]
}
