)]}'
{
  "commit": "a9f8ad8f2acdb2398da5d32a5efc19cb0196d79f",
  "tree": "a217360c44ef60c2ad654ecd3cd4836281e29c1f",
  "parents": [
    "ed120055c7f9b26b5707d3ceabbe5a3f06aaf937"
  ],
  "author": {
    "name": "David Gibson",
    "email": "david@gibson.dropbear.id.au",
    "time": "Fri Apr 01 15:15:34 2011 +1100"
  },
  "committer": {
    "name": "Alexander Graf",
    "email": "agraf@suse.de",
    "time": "Fri Apr 01 18:34:57 2011 +0200"
  },
  "message": "Add SLOF-based partition firmware for pSeries machine, allowing more boot options\n\nCurrently, the emulated pSeries machine requires the use of the\n-kernel parameter in order to explicitly load a guest kernel.  This\nmeans booting from the virtual disk, cdrom or network is not possible.\n\nThis patch addresses this limitation by inserting a within-partition\nfirmware image (derived from the \"SLOF\" free Open Firmware project).\nIf -kernel is not specified, qemu will now load the SLOF image, which\nhas access to the qemu boot device list through the device tree, and\ncan boot from any of the usual virtual devices.\n\nIn order to support the new firmware, an extension to the emulated\nmachine/hypervisor is necessary.  Unlike Linux, which expects\nmulti-CPU entry to be handled kexec() style, the SLOF firmware expects\nonly one CPU to be active at entry, and to use a hypervisor RTAS\nmethod to enable the other CPUs one by one.\n\nThis patch also implements this \u0027start-cpu\u0027 method, so that SLOF can\nstart the secondary CPUs and marshal them into the kexec() holding\npattern ready for entry into the guest OS.  Linux should, and in the\nfuture might directly use the start-cpu method to enable initially\ndisabled CPUs, but for now it does require kexec() entry.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: David Gibson \u003cdwg@au1.ibm.com\u003e\nSigned-off-by: Alexander Graf \u003cagraf@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5217ce7d1cb1f19088a5d8a1b6542658280268d9",
      "old_mode": 33188,
      "old_path": ".gitmodules",
      "new_id": "44fdd1a02d007c883970b1c73ff8dd758cfaeeb9",
      "new_mode": 33188,
      "new_path": ".gitmodules"
    },
    {
      "type": "modify",
      "old_id": "e0b3fea6bc11f19300571cae8edcfa10569d4ff8",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "989622b388005a7d2e3c729c2e367ae619e5d998",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "876768631b00980f19a4b7c76de148698d8fac33",
      "old_mode": 33188,
      "old_path": "hw/spapr.c",
      "new_id": "1152a25b2eab0251e306a3080087f584d4b2981b",
      "new_mode": 33188,
      "new_path": "hw/spapr.c"
    },
    {
      "type": "modify",
      "old_id": "72268537a810e9ed6492f013f75b687db404fb0b",
      "old_mode": 33188,
      "old_path": "hw/spapr_rtas.c",
      "new_id": "16b65422b6dfdb5a52f5e8302d49d4753e16100f",
      "new_mode": 33188,
      "new_path": "hw/spapr_rtas.c"
    },
    {
      "type": "modify",
      "old_id": "3fc09449fac44ae08d1df1c65f0747ed0a724c07",
      "old_mode": 33188,
      "old_path": "pc-bios/README",
      "new_id": "646a31a31324a4d1cf0a4bf7d45207c20cf008fc",
      "new_mode": 33188,
      "new_path": "pc-bios/README"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "22c4c7f5c448e3002aefecf3438f5d080586d666",
      "new_mode": 33188,
      "new_path": "pc-bios/slof.bin"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d1d6b53b713a2b7c2c25685268fa932d28a4b4c0",
      "new_mode": 57344,
      "new_path": "roms/SLOF"
    }
  ]
}
