)]}'
{
  "commit": "0f2514a5c9a0b82e51ac8e5f7da7a4a43152441b",
  "tree": "52558f791fdf76ad02c256c680548f9ffa3d1991",
  "parents": [
    "0bd1932fddd1e80503b0c45211749a229545df84"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Tue Mar 03 15:10:24 2020 -0500"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Wed Apr 01 18:27:54 2020 -0400"
  },
  "message": "cbdma: overhauled #cbdma\n\nThis uses the dma engine API, and the Linux IOAT driver beneath that.\n\nFor whatever reason, we auto-assign 0:4.3 to the kernel, and that is the\nonly device used by #cbdma/ktest.\n\n\tcat cbdma/ktest \t\t# tests 0:4.3 in the kernel\n\techo 00:04.3 0 \u003e iommu/detach \t# detaches from the kernel\n        echo 00:04.4 PID \u003e iommu/detach # attaches to PID\n        ucbdma 0:4.3 \t\t\t# attach, test, detach\n        ucbdma 0:4.4\n\nucbdma spits out all of the iommu mappings when it runs.  It\u0027s basically\nthe ktest \"do a single memcpy and don\u0027t break anything\" type of test.\ni.e. it doesn\u0027t test stuff like \"can i do a ucbdma without assigning\" or\nwhatnot.\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "77e8b78ec1ce2020b261529380fcb345719ec5e5",
      "old_mode": 33188,
      "old_path": "kern/drivers/dev/Kbuild",
      "new_id": "ca1a5b49e5273a417ccedba13450ddbc78cea428",
      "new_mode": 33188,
      "new_path": "kern/drivers/dev/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "fdd1a52e311d72baa19b41a4a7fd19e1e9921f0e",
      "old_mode": 33188,
      "old_path": "kern/drivers/dev/cbdma.c",
      "new_id": "8e3bbf8f91e64f8e012c2dddcfb12341674ea0fd",
      "new_mode": 33188,
      "new_path": "kern/drivers/dev/cbdma.c"
    },
    {
      "type": "delete",
      "old_id": "6c8ec3dc784eb41dd8f6689260b2c78dd4086f9b",
      "old_mode": 33188,
      "old_path": "kern/include/cbdma_regs.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "c49f22bdac95ae681edf3cc039151e26cab939d9",
      "old_mode": 33188,
      "old_path": "tests/ucbdma.c",
      "new_id": "2efb750857568a23c6ec53d65c891344e02348a0",
      "new_mode": 33188,
      "new_path": "tests/ucbdma.c"
    }
  ]
}
