)]}'
{
  "commit": "06fd39e426bbd3a68e50fc847892e7448174ce2f",
  "tree": "5060db9e8acce00d2ffd6aa09702e5f101fa06d9",
  "parents": [
    "8d3e31c0d575b3265ae5cacfba10680718ba5a22"
  ],
  "author": {
    "name": "Scott J. Goldman",
    "email": "scottjgo@gmail.com",
    "time": "Mon Apr 27 16:21:16 2026 -0700"
  },
  "committer": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Fri May 15 08:57:38 2026 +0100"
  },
  "message": "target/arm/hvf: Stop pre-allocating cpreg_vmstate arrays\n\nCommit ab2ddc7b66 (\"target/arm/machine: Use VMSTATE_VARRAY_INT32_ALLOC\nfor cpreg arrays\") moved cpreg_vmstate_indexes / cpreg_vmstate_values\nto be allocated by VMSTATE_VARRAY_INT32_ALLOC and added an assertion\nin cpu_pre_load() that they are NULL on entry. The same commit dropped\nthe redundant g_renew()/array_len assignments from the kvm, whpx and\nhelper.c cpu init paths, but the hvf cpu init path still pre-allocates\nthem.\n\nThe result is that loading a snapshot or migration stream into an HVF\nguest immediately aborts:\n\n    ERROR:target/arm/machine.c:1043:cpu_pre_load:\n        assertion failed: (!cpu-\u003ecpreg_vmstate_indexes)\n\nDrop the leftover cpreg_vmstate_indexes / cpreg_vmstate_values\nallocations and the cpreg_vmstate_array_len assignment from\nhvf_arch_init_vcpu(), matching what was already done for the other\narm accelerators.\n\nSigned-off-by: Scott J. Goldman \u003cscottjgo@gmail.com\u003e\nReviewed-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\nSigned-off-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5a1718f7f95cd2ff6cd50e50b5a6027639b60a23",
      "old_mode": 33188,
      "old_path": "target/arm/hvf/hvf.c",
      "new_id": "9312607001bf96b51e2d45f7d183a6cf368faa97",
      "new_mode": 33188,
      "new_path": "target/arm/hvf/hvf.c"
    }
  ]
}
