)]}'
{
  "commit": "63da48ea038cd2f350d3ff25d034d8964258f91e",
  "tree": "a98e745b1b5250f09c09a9fd82b6fd4612a5c004",
  "parents": [
    "0419edd0530f7fb475680721bba692f6c145bade"
  ],
  "author": {
    "name": "Rupert Swarbrick",
    "email": "rswarbrick@lowrisc.org",
    "time": "Wed Jul 08 10:16:57 2020 +0100"
  },
  "committer": {
    "name": "Rupert Swarbrick",
    "email": "rswarbrick@gmail.com",
    "time": "Thu Jul 09 17:38:37 2020 +0100"
  },
  "message": "Extract OTBN ISA documentation into a YAML file\n\nThe idea is that this file is more \"machine readable\". We\u0027ll put other\ninformation about the instructions into it (which might not appear in\nthe documentation, but will affect things like the random instruction\ngenerator).\n\nAs well as taking the current text from _index.md, this patch contains\ncode in insn_yaml.py to parse the YAML file, doing various validity\nchecks on the result. For example, it makes sure that any syntax\nexample for an instruction has the same operands as the list of\noperands. These checks caught several errors in the\nhand-written (hand-copy/pasted!) text.\n\nThe parsed file can then be transformed with yaml_to_doc.py to\ngenerate Markdown content suitable for our documentation. This is now\nrun in build_docs.py and wired in to Hugo with a simple shortcode.\n\nI\u0027ve manually compared the generated documentation with what was there\nbefore and it\u0027s basically the same. Intentional differences:\n\n  - Enumeration operands now list their values with a nested table.\n\n  - BN.MULQACC\u0027s qwsel operands are now listed as immediates, rather\n    than enumerations. They were enumerations of the form \".0\", \".1\",\n    \".2\", \".3\". Now the syntax contains the dot, so they can just be\n    imm2.\n\n  - The increment options for BN.LID and BN.SID give their required\n    syntax.\n\nThere are probably further improvements we could make to formatting,\nbut I thought it made sense to get this in sooner rather than later as\na starting point.\n\nSigned-off-by: Rupert Swarbrick \u003crswarbrick@lowrisc.org\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ad842e5daa0f851fae79a989ea42b001628c1794",
      "new_mode": 33188,
      "new_path": "hw/ip/otbn/data/insns.yml"
    },
    {
      "type": "modify",
      "old_id": "b85aa8123859594c64f5e5364d58bd42556fbb3b",
      "old_mode": 33188,
      "old_path": "hw/ip/otbn/doc/_index.md",
      "new_id": "b588eb178b195b5e82d7892061cc5d44375dd15f",
      "new_mode": 33188,
      "new_path": "hw/ip/otbn/doc/_index.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "10339d4a542ddf2f2f12a00053ce1e06c2d21746",
      "new_mode": 33188,
      "new_path": "hw/ip/otbn/util/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "hw/ip/otbn/util/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "54eed7a7394be57511b049c84ef7d70c5b1da346",
      "new_mode": 33188,
      "new_path": "hw/ip/otbn/util/insn_yaml.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3fe58983fd9cf73e545b70f255f406f2297a4c10",
      "new_mode": 33261,
      "new_path": "hw/ip/otbn/util/yaml_to_doc.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "73e075f9d59ce64b7e08502417c1253c938b756a",
      "new_mode": 33188,
      "new_path": "site/docs/layouts/shortcodes/otbn_isa.html"
    },
    {
      "type": "modify",
      "old_id": "67fee99918946f39659eaca58d238734eb3fe03b",
      "old_mode": 33261,
      "old_path": "util/build_docs.py",
      "new_id": "2b44bc7715f3035c6874baa1e22f8ba475b5f19d",
      "new_mode": 33261,
      "new_path": "util/build_docs.py"
    }
  ]
}
