)]}'
{
  "commit": "975bf17f4a3fc5eb2256a92457e861b210b04796",
  "tree": "cbcb3f3e5677f24ad29c3ba3aea862f1432addee",
  "parents": [
    "bd1066894861939eb53b90fac16b61261d1b4e1e"
  ],
  "author": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Fri Feb 14 12:55:02 2020 -0500"
  },
  "committer": {
    "name": "Barret Rhoden",
    "email": "brho@cs.berkeley.edu",
    "time": "Tue Mar 03 15:13:30 2020 -0500"
  },
  "message": "dma: add user DMA arenas\n\nThese are arenas of user virtual addresses.  The kernel can allocate\nthem.  When we run a kernel driver for a device in the user\u0027s address\nspace, these arenas will be used for DMA addresses.  i.e. addresses the\ndevice can access.\n\nI might be able to use these for UCQs or something in the future.  In\nessence, they are kernel-allocated and kernel-freed userspace memory.\n\nArguably, we could try to use arenas to do the user VA allocation, and\nthen hook in to the specific item (e.g. anon memory, file cache,\npreexisting page) in a second step.  In that sense, do_mmap() would call\nthe UVA arena allocator.\n\nFor now, just have the arena be a wrapper interface around do_mmap() is\nfine. (arena-\u003edo_mmap, versus do_mmap-\u003earena + other magic).\n\nSigned-off-by: Barret Rhoden \u003cbrho@cs.berkeley.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6ed7db6614395ced3c06092d07773ebc7ab6a4c4",
      "old_mode": 33188,
      "old_path": "kern/include/dma.h",
      "new_id": "30436dce734666691ba3ed9cf314382c98ffcfd7",
      "new_mode": 33188,
      "new_path": "kern/include/dma.h"
    },
    {
      "type": "modify",
      "old_id": "f4293e41492f4f2d99798d9a633663ed81e8d047",
      "old_mode": 33188,
      "old_path": "kern/src/dma.c",
      "new_id": "60c1ddacce2d1a17f0a7f3b8f47166fa38eacc65",
      "new_mode": 33188,
      "new_path": "kern/src/dma.c"
    },
    {
      "type": "modify",
      "old_id": "651e565394981bd8318abce66c63909e8add8dc0",
      "old_mode": 33188,
      "old_path": "kern/src/ktest/kt_arena.c",
      "new_id": "ae1415f8578e2f3b815770e602a14cff34a9a4e6",
      "new_mode": 33188,
      "new_path": "kern/src/ktest/kt_arena.c"
    },
    {
      "type": "modify",
      "old_id": "78fcf8d636d4096a7e3d87f595dd4369b7876b84",
      "old_mode": 33188,
      "old_path": "kern/src/process.c",
      "new_id": "28f0b9fabba868471dc4dc28da18ba2302fe484d",
      "new_mode": 33188,
      "new_path": "kern/src/process.c"
    }
  ]
}
