)]}'
{
  "commit": "577bf808958d06497928c639efaa473bf8c5e099",
  "tree": "335e0541624e71835ff22cd468b1326c9759170c",
  "parents": [
    "faa811f6de44d58180f5d235787678dcdd4b2e9d"
  ],
  "author": {
    "name": "Sergey Fedorov",
    "email": "serge.fdrv@gmail.com",
    "time": "Tue Nov 10 13:37:33 2015 +0000"
  },
  "committer": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Tue Nov 10 13:37:33 2015 +0000"
  },
  "message": "target-arm: Clean up DISAS_UPDATE usage in AArch32 translation code\n\nAArch32 translation code does not distinguish between DISAS_UPDATE and\nDISAS_JUMP. Thus, we cannot use any of them without first updating PC in\nCPU state. Furthermore, it is too complicated to update PC in CPU state\nbefore PC gets updated in disas context. So it is hardly possible to\ncorrectly end TB early if is is not likely to be executed before calling\ndisas_*_insn(), e.g. just after calling breakpoint check helper.\n\nModify DISAS_UPDATE and DISAS_JUMP usage in AArch32 translation and\napply to them the same semantic as AArch64 translation does:\n - DISAS_UPDATE: update PC in CPU state when finishing translation\n - DISAS_JUMP:   preserve current PC value in CPU state when finishing\n                 translation\n\nThis patch fixes a bug in AArch32 breakpoint handling: when\ncheck_breakpoints helper does not generate an exception, ending the TB\nearly with DISAS_UPDATE couldn\u0027t update PC in CPU state and execution\nhangs.\n\nSigned-off-by: Sergey Fedorov \u003cserge.fdrv@gmail.com\u003e\nMessage-id: 1447097859-586-1-git-send-email-serge.fdrv@gmail.com\nReviewed-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\nSigned-off-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ff262a2572c878783590c2a13da7c22dc2590914",
      "old_mode": 33188,
      "old_path": "target-arm/translate.c",
      "new_id": "a56f7fe5328f4248481934de54a5f7e5ab290e30",
      "new_mode": 33188,
      "new_path": "target-arm/translate.c"
    }
  ]
}
