)]}'
{
  "commit": "a9ba8bc2d396fb8ae2b892f3bc6be8cdfe4b555c",
  "tree": "2f67d6d6a2d2254ea43a2d3a0956903eb28b7fde",
  "parents": [
    "fb1737381d886c7c0a4e870af078c473ac463fce"
  ],
  "author": {
    "name": "Christoph Müllner",
    "email": "christoph.muellner@vrull.eu",
    "time": "Tue Jun 28 17:43:20 2022 +0200"
  },
  "committer": {
    "name": "Philipp Tomsich",
    "email": "philipp.tomsich@vrull.eu",
    "time": "Thu Sep 22 18:06:09 2022 +0200"
  },
  "message": "RISC-V: Add T-Head CMO vendor extension\n\nT-Head has a range of vendor-specific instructions.\nTherefore it makes sense to group them into smaller chunks\nin form of vendor extensions.\n\nThis patch adds the XTheadCmo extension, a collection of T-Head specific\ncache management operations.\nThe \u0027th\u0027 prefix and the \"XTheadCmo\" extension are documented in a PR\nfor the RISC-V toolchain conventions ([1]).\n\nIn total XTheadCmo introduces the following 21 instructions:\n\n* DCACHE.{C,CI,I}ALL\n* DCACHE.{C,CI,I}{PA,VA,SW} rs1\n* DCACHE.C{PAL1,VAL1} rs1\n* ICACHE.I{ALL,ALLS}\n* ICACHE.I{PA,VA} rs1\n* L2CACHE.{C,CI,I}ALL\n\nContrary to Zicbom, the XTheadCmo instructions don\u0027t have a constant\ndisplacement, therefore we have a different syntax for the arguments.\nTo clarify this is intended behaviour, there is a set of negative test\nfor Zicbom-style arguments in x-thead-cmo-fail.s.\n\n[1] https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/19\n\nv2:\n- Add missing DECLARE_INSN() list\n- Fix ordering\n\nCo-developed-by: Lifang Xia \u003clifang_xia@linux.alibaba.com\u003e\nSigned-off-by: Christoph Müllner \u003cchristoph.muellner@vrull.eu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cb3a980936d0122a6e7cf3e593795a40097ada4a",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-riscv.c",
      "new_id": "82891f3747e04fc812873b34bf401a57086f7a00",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-riscv.c"
    },
    {
      "type": "modify",
      "old_id": "30afd200b7db9ad920ff943c658f6dd3c6ea083e",
      "old_mode": 33188,
      "old_path": "gas/doc/c-riscv.texi",
      "new_id": "10e9429c83e913e50ea178773b0f886859ef57e2",
      "new_mode": 33188,
      "new_path": "gas/doc/c-riscv.texi"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "de794ea583724274ec565b23295db91660c10de5",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/x-thead-cmo-fail.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4381fe19a9922d5323eb89dafaa2af54a7d404f5",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/x-thead-cmo-fail.l"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "591d982eae528e4edb3f4926ce201b6fd148523c",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/x-thead-cmo-fail.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f482ddcbc28abf426d9bd785e5e88acb0efc1b6e",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/x-thead-cmo.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2a4b54a941b34a31b85a3b846d786d64afed3135",
      "new_mode": 33188,
      "new_path": "gas/testsuite/gas/riscv/x-thead-cmo.s"
    },
    {
      "type": "modify",
      "old_id": "88b8d7ff5951357d4995bcd7ba80d8025b7abfa6",
      "old_mode": 33188,
      "old_path": "include/opcode/riscv-opc.h",
      "new_id": "53b1c224518be6c0cdbe38c1bb672d2d3e07bea8",
      "new_mode": 33188,
      "new_path": "include/opcode/riscv-opc.h"
    },
    {
      "type": "modify",
      "old_id": "f1dabeaab8e4f929e9121fcb9e51dd4e11cdbfbb",
      "old_mode": 33188,
      "old_path": "include/opcode/riscv.h",
      "new_id": "d36983140a204c5cc7b7d4b6eb0dfd01737f1401",
      "new_mode": 33188,
      "new_path": "include/opcode/riscv.h"
    },
    {
      "type": "modify",
      "old_id": "79be78eb367f1d4dd7ce1a05116fa9f408ef5867",
      "old_mode": 33188,
      "old_path": "opcodes/riscv-opc.c",
      "new_id": "bf073f20e71f0fd59cbda0c0fa535089b6df4708",
      "new_mode": 33188,
      "new_path": "opcodes/riscv-opc.c"
    }
  ]
}
