)]}'
{
  "commit": "c9ccf30d77f04064fe5436027ab9d2230c7cdd94",
  "tree": "95c028ae6f1e50275ff7a40b987300bb647e8ead",
  "parents": [
    "d7cd56111f30259e1b532a12e06f59f8e0a20355"
  ],
  "author": {
    "name": "Rusty Russell",
    "email": "rusty@rustcorp.com.au",
    "time": "Thu Dec 07 02:14:08 2006 +0100"
  },
  "committer": {
    "name": "Andi Kleen",
    "email": "andi@basil.nowhere.org",
    "time": "Thu Dec 07 02:14:08 2006 +0100"
  },
  "message": "[PATCH] paravirt: Add startup infrastructure for paravirtualization\n\n1) Each hypervisor writes a probe function to detect whether we are\n   running under that hypervisor.  paravirt_probe() registers this\n   function.\n\n2) If vmlinux is booted with ring !\u003d 0, we call all the probe\n   functions (with registers except %esp intact) in link order: the\n   winner will not return.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4066121360492631d59293c66e52c5d6a5357940",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/Makefile",
      "new_id": "1e8988e558c54971fe08fbe9f868a72c7126a924",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/Makefile"
    },
    {
      "type": "modify",
      "old_id": "5b14e95ac8b9c7cef80338adce8cb6545c79aaf2",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/head.S",
      "new_id": "edef5084ce17104b6c46f900d70d22b480ed8794",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/head.S"
    },
    {
      "type": "modify",
      "old_id": "d46460426446bc1756d102b05b76e2a7f0b52d5f",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/paravirt.c",
      "new_id": "5a9bd3250a1ae961520a998a6dd05b27e1505a56",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/paravirt.c"
    },
    {
      "type": "modify",
      "old_id": "5c69cf0e5944a41a8f1421a34d617004c86550d4",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/vmlinux.lds.S",
      "new_id": "877dc5cfe3a8a6019f0e46d267386a6391044218",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/vmlinux.lds.S"
    },
    {
      "type": "modify",
      "old_id": "081194751ade25bfe2d025894a3650779f41a49b",
      "old_mode": 33188,
      "old_path": "include/asm-i386/paravirt.h",
      "new_id": "dd707d8c8270fdea82bc40bbbd5cc6d7bbdc5ef4",
      "new_mode": 33188,
      "new_path": "include/asm-i386/paravirt.h"
    }
  ]
}
