)]}'
{
  "commit": "3dc494e86d1c93afd4c66385f270899dbfae483d",
  "tree": "6583b57492dc91ef7cc6c23a233f7d5bb95bb5f6",
  "parents": [
    "45876233605c268e929a7875081e129debe34bdc"
  ],
  "author": {
    "name": "Jeremy Fitzhardinge",
    "email": "jeremy@goop.org",
    "time": "Wed May 02 19:27:13 2007 +0200"
  },
  "committer": {
    "name": "Andi Kleen",
    "email": "andi@basil.nowhere.org",
    "time": "Wed May 02 19:27:13 2007 +0200"
  },
  "message": "[PATCH] i386: PARAVIRT: Add pagetable accessors to pack and unpack pagetable entries\n\nAdd a set of accessors to pack, unpack and modify page table entries\n(at all levels).  This allows a paravirt implementation to control the\ncontents of pgd/pmd/pte entries.  For example, Xen uses this to\nconvert the (pseudo-)physical address into a machine address when\npopulating a pagetable entry, and converting back to pphys address\nwhen an entry is read.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3fdbd1f62379e422c2c4c30494c0396eb3e151bd",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/paravirt.c",
      "new_id": "cba7a15ce1b00016f702af326809b77dc0c0c5c4",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/paravirt.c"
    },
    {
      "type": "modify",
      "old_id": "8f3bac47345064c29c41a6e9db547233af53e639",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/vmi.c",
      "new_id": "ea77d93f59ddf79d4f5d7e8f259ed75a7cf4af24",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/vmi.c"
    },
    {
      "type": "modify",
      "old_id": "fd3f64ace24872f1e0843049434c95fff4cf2516",
      "old_mode": 33188,
      "old_path": "include/asm-i386/page.h",
      "new_id": "818ac8bf01e2f2e4237d7d61a4c6447dfdf1b520",
      "new_mode": 33188,
      "new_path": "include/asm-i386/page.h"
    },
    {
      "type": "modify",
      "old_id": "f0bdaea6235d0c142c7d71377fb079dacd99ee92",
      "old_mode": 33188,
      "old_path": "include/asm-i386/paravirt.h",
      "new_id": "0aacb13bb9295ba95ea2ce831fd739063bcd66e0",
      "new_mode": 33188,
      "new_path": "include/asm-i386/paravirt.h"
    },
    {
      "type": "modify",
      "old_id": "38c3fcc0676d9810c1f1ca4d168bdb519c6e0438",
      "old_mode": 33188,
      "old_path": "include/asm-i386/pgtable-2level.h",
      "new_id": "043a2bcfa86a11e0a1ac19df6c39f465a1d630c5",
      "new_mode": 33188,
      "new_path": "include/asm-i386/pgtable-2level.h"
    },
    {
      "type": "modify",
      "old_id": "7a2318f3830316ccb5d542ff05b0fdbb009f00b2",
      "old_mode": 33188,
      "old_path": "include/asm-i386/pgtable-3level.h",
      "new_id": "be6017f37a9163ca75b0614ede2a5f2a496f710e",
      "new_mode": 33188,
      "new_path": "include/asm-i386/pgtable-3level.h"
    },
    {
      "type": "modify",
      "old_id": "143ddc42b86fc81d907d7bfbc6e985c9c49ff40b",
      "old_mode": 33188,
      "old_path": "include/asm-i386/pgtable.h",
      "new_id": "147f2553784d6f8907a970424ad71ee0e53ef070",
      "new_mode": 33188,
      "new_path": "include/asm-i386/pgtable.h"
    }
  ]
}
