)]}'
{
  "commit": "0930bba674e248b921ea659b036ff02564e5a5f4",
  "tree": "52df16f477e1e63b034ee2e28f2d5c916bb53097",
  "parents": [
    "693394b8c3dcee1a3baa52e30fdc3323d88cd579"
  ],
  "author": {
    "name": "Stefano Stabellini",
    "email": "stefano.stabellini@eu.citrix.com",
    "time": "Thu Sep 29 11:57:56 2011 +0100"
  },
  "committer": {
    "name": "Konrad Rzeszutek Wilk",
    "email": "konrad.wilk@oracle.com",
    "time": "Thu Sep 29 10:32:58 2011 -0400"
  },
  "message": "xen: modify kernel mappings corresponding to granted pages\n\nIf we want to use granted pages for AIO, changing the mappings of a user\nvma and the corresponding p2m is not enough, we also need to update the\nkernel mappings accordingly.\nCurrently this is only needed for pages that are created for user usages\nthrough /dev/xen/gntdev. As in, pages that have been in use by the\nkernel and use the P2M will not need this special mapping.\nHowever there are no guarantees that in the future the kernel won\u0027t\nstart accessing pages through the 1:1 even for internal usage.\n\nIn order to avoid the complexity of dealing with highmem, we allocated\nthe pages lowmem.\nWe issue a HYPERVISOR_grant_table_op right away in\nm2p_add_override and we remove the mappings using another\nHYPERVISOR_grant_table_op in m2p_remove_override.\nConsidering that m2p_add_override and m2p_remove_override are called\nonce per page we use multicalls and hypercall batching.\n\nUse the kmap_op pointer directly as argument to do the mapping as it is\nguaranteed to be present up until the unmapping is done.\nBefore issuing any unmapping multicalls, we need to make sure that the\nmapping has already being done, because we need the kmap-\u003ehandle to be\nset correctly.\n\nSigned-off-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\n[v1: Removed GRANT_FRAME_BIT usage]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bc12c12299c3dd9c5f20ce1f6f0c521d1205c44b",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/xen/page.h",
      "new_id": "3138d33b89497387d60bdcf39fb301d0bc8525f4",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/xen/page.h"
    },
    {
      "type": "modify",
      "old_id": "6e56b65edafb479c74522ed6523b50da53239b7b",
      "old_mode": 33188,
      "old_path": "arch/x86/xen/p2m.c",
      "new_id": "a8ee9a45c3593a4e9138e0536ec17a9d5ff65b25",
      "new_mode": 33188,
      "new_path": "arch/x86/xen/p2m.c"
    },
    {
      "type": "modify",
      "old_id": "2330a9ad5e9568c2e4e1944e76eca10f7c5cdb53",
      "old_mode": 33188,
      "old_path": "drivers/block/xen-blkback/blkback.c",
      "new_id": "1540792b1e547ee882fcbc168bb5d4156d5d1678",
      "new_mode": 33188,
      "new_path": "drivers/block/xen-blkback/blkback.c"
    },
    {
      "type": "modify",
      "old_id": "7b9b1d1b75a5bc433f4068d3c1b8aab749b23ac0",
      "old_mode": 33188,
      "old_path": "drivers/xen/gntdev.c",
      "new_id": "3e3603f3524230a40da5dc7531b29425d874cf70",
      "new_mode": 33188,
      "new_path": "drivers/xen/gntdev.c"
    },
    {
      "type": "modify",
      "old_id": "4f44b347b24ab2e43a783f20a4c8232561ec120d",
      "old_mode": 33188,
      "old_path": "drivers/xen/grant-table.c",
      "new_id": "8c71ab80175653827d0ceb966b74b7aef73287d3",
      "new_mode": 33188,
      "new_path": "drivers/xen/grant-table.c"
    },
    {
      "type": "modify",
      "old_id": "b1fab6b5b3efd3881af72b4a87260c53e0332443",
      "old_mode": 33188,
      "old_path": "include/xen/grant_table.h",
      "new_id": "6b99bfbd785dddb8d3810bdb5c669dee96c7e93e",
      "new_mode": 33188,
      "new_path": "include/xen/grant_table.h"
    }
  ]
}
