)]}'
{
  "commit": "14a10fc39923b3af07c8c46d22cb20843bee3a72",
  "tree": "5dc9c362f2ef73a3f28e62483e14d0602e439b33",
  "parents": [
    "fdc43322c978d78e79e692872dcec7b4f6a447f1"
  ],
  "author": {
    "name": "Andreas Färber",
    "email": "afaerber@suse.de",
    "time": "Sat Jul 27 02:53:25 2013 +0200"
  },
  "committer": {
    "name": "Andreas Färber",
    "email": "afaerber@suse.de",
    "time": "Mon Jul 29 15:29:15 2013 +0200"
  },
  "message": "cpu: Partially revert \"cpu: Change qemu_init_vcpu() argument to CPUState\"\n\nCommit c643bed99 moved qemu_init_vcpu() calls to common CPUState code.\nThis causes x86 cpu-add to fail with \"KVM: setting VAPIC address failed\".\n\nThe reason for the failure is that CPUClass::kvm_fd is not yet\ninitialized in the following call graph:\n-\u003ex86_cpu_realizefn\n -\u003ex86_cpu_apic_realize\n  -\u003eqdev_init\n   -\u003edevice_set_realized\n    -\u003edevice_reset (hotplugged \u003d\u003d 1)\n     -\u003eapic_reset_common\n      -\u003evapic_base_update\n       -\u003ekvm_apic_vapic_base_update\nThis causes attempted KVM vCPU ioctls to fail.\n\nBy contrast, in the non-hotplug case the APIC is reset much later, when\nthe vCPU is already initialized.\n\nAs a quick and safe solution, move the qemu_init_vcpu() call back into\nthe targets\u0027 realize functions.\n\nReported-by: Chen Fan \u003cchen.fan.fnst@cn.fujitsu.com\u003e\nAcked-by: Igor Mammedov \u003cimammedo@redhat.com\u003e (for i386)\nTested-by: Jia Liu \u003cproljc@gmail.com\u003e (for openrisc)\nSigned-off-by: Andreas Färber \u003cafaerber@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dbc9fb64891555fbcdd06c8231e8c112866dd2c0",
      "old_mode": 33188,
      "old_path": "qom/cpu.c",
      "new_id": "aa9510897378d5cf5006a749436adf177686558d",
      "new_mode": 33188,
      "new_path": "qom/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "64c70bc1e9a883e40ee9ebeb75744031a118ed0b",
      "old_mode": 33188,
      "old_path": "target-alpha/cpu.c",
      "new_id": "cfad2ea1219b4d6e0c55f9efab523e15657ba23e",
      "new_mode": 33188,
      "new_path": "target-alpha/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "87d35c6bf25cd035b5e49f218c4d0f8388ee8ddd",
      "old_mode": 33188,
      "old_path": "target-arm/cpu.c",
      "new_id": "5a7566b8fc0cb4bcafc22b47aca49ff9cbccf344",
      "new_mode": 33188,
      "new_path": "target-arm/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "45f2d6bacf7c73cedf0b841cfd24dddb7c426aba",
      "old_mode": 33188,
      "old_path": "target-cris/cpu.c",
      "new_id": "44301a4b108275b02eaebbb077474c5c4196bdd6",
      "new_mode": 33188,
      "new_path": "target-cris/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "2b59b7d7ef381e0fe1fe3523ab7c382974433098",
      "old_mode": 33188,
      "old_path": "target-i386/cpu.c",
      "new_id": "df2fb1bc1b766a67dc87b773ec88703feb8c49f0",
      "new_mode": 33188,
      "new_path": "target-i386/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "962d553de0ade5337a655a24313a09f65608f1f4",
      "old_mode": 33188,
      "old_path": "target-lm32/cpu.c",
      "new_id": "869878c04ab5b6a83bdf43bd361cf5df1a9eee60",
      "new_mode": 33188,
      "new_path": "target-lm32/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "c0bcb0dbce06020db0f5d21ff6e6d6d31ddee083",
      "old_mode": 33188,
      "old_path": "target-m68k/cpu.c",
      "new_id": "008d8db2dad27a887d0ae0ab51a300217273a2ad",
      "new_mode": 33188,
      "new_path": "target-m68k/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "c75d1bd64268d1de6ad68d64f9281ffdf3a329e0",
      "old_mode": 33188,
      "old_path": "target-microblaze/cpu.c",
      "new_id": "0ef9aa4b74beddad24ab6a427e40550a685eed02",
      "new_mode": 33188,
      "new_path": "target-microblaze/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "f81f9e9409462d4e5c722a738a49997ff71e3fc7",
      "old_mode": 33188,
      "old_path": "target-mips/cpu.c",
      "new_id": "9dd47e84f7eac5eb25d0651466686d54c028d53c",
      "new_mode": 33188,
      "new_path": "target-mips/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "6550be5b355ffea2d46c6e9424566b88b81b0b90",
      "old_mode": 33188,
      "old_path": "target-moxie/cpu.c",
      "new_id": "d97a091eb43e94eff3b7daabf9897d27afcbca39",
      "new_mode": 33188,
      "new_path": "target-moxie/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "aa269fb7a6b01a0502c0fd3791abb157f95a9e21",
      "old_mode": 33188,
      "old_path": "target-openrisc/cpu.c",
      "new_id": "075f00a89768c73871e2896960fe4411925873da",
      "new_mode": 33188,
      "new_path": "target-openrisc/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "8215946e397a2a3a28b65611605ffd681ba84b11",
      "old_mode": 33188,
      "old_path": "target-ppc/translate_init.c",
      "new_id": "3c81798c88d9fcda1eb065e179d39431bd6f814e",
      "new_mode": 33188,
      "new_path": "target-ppc/translate_init.c"
    },
    {
      "type": "modify",
      "old_id": "1d16da3787d2c04931d545231c033604972cfa30",
      "old_mode": 33188,
      "old_path": "target-s390x/cpu.c",
      "new_id": "9b824957f6949a292c9b18f9bd7549b83f635a76",
      "new_mode": 33188,
      "new_path": "target-s390x/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "bda3c5112c9c0d8b0ef7c4a8ff611498e46fcd6c",
      "old_mode": 33188,
      "old_path": "target-sh4/cpu.c",
      "new_id": "34b2b57ba7380ab3712c6d965461ace9cd9f9385",
      "new_mode": 33188,
      "new_path": "target-sh4/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "c7b4a90663713d0a8d83fbfb1f6681983c61a7bb",
      "old_mode": 33188,
      "old_path": "target-sparc/cpu.c",
      "new_id": "47ce60de4aacc221021c43570d61797840581518",
      "new_mode": 33188,
      "new_path": "target-sparc/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "46813e52ae103192a346d669d105439d6edecaf5",
      "old_mode": 33188,
      "old_path": "target-unicore32/cpu.c",
      "new_id": "3f782083608e182ed8fef5104be24e663e2f7be7",
      "new_mode": 33188,
      "new_path": "target-unicore32/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "e966aa0a793a70b22d1a42f03c12cfd88d516ab2",
      "old_mode": 33188,
      "old_path": "target-xtensa/cpu.c",
      "new_id": "c19d17ad044a1b15f1ae8c7f8b649a40be141613",
      "new_mode": 33188,
      "new_path": "target-xtensa/cpu.c"
    }
  ]
}
