)]}'
{
  "commit": "6df99dec9e81838423d723996e96236693fa31fe",
  "tree": "064423bd751b2305a233d2a30277aa877ffedd95",
  "parents": [
    "82c39f6a8898b028515eddcdbc4ae50959d0af5d"
  ],
  "author": {
    "name": "Sergey Sorokin",
    "email": "afarallax@yandex.ru",
    "time": "Fri Oct 16 11:14:52 2015 +0100"
  },
  "committer": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Fri Oct 16 11:14:52 2015 +0100"
  },
  "message": "target-arm: Break the TB after ISB to execute self-modified code correctly\n\nIf any store instruction writes the code inside the same TB\nafter this store insn, the execution of the TB must be stopped\nto execute new code correctly.\nAs described in ARMv8 manual D3.4.6 self-modifying code must do an\nIC invalidation to be valid, and an ISB after it. So it\u0027s enough to end\nthe TB after ISB instruction on the code translation.\nAlso this TB break is necessary to take any pending interrupts immediately\nafter an ISB (as required by ARMv8 ARM D1.14.4).\n\nSigned-off-by: Sergey Sorokin \u003cafarallax@yandex.ru\u003e\n[PMM: tweaked commit message and comments slightly]\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": "584f6df80ddb6ab47a05c065ad885756ee9dc25d",
      "old_mode": 33188,
      "old_path": "target-arm/helper.c",
      "new_id": "b4986705c4458a7ffc8c9b6c852835b360f88e13",
      "new_mode": 33188,
      "new_path": "target-arm/helper.c"
    },
    {
      "type": "modify",
      "old_id": "e65e309535a84442b2aa07a4a2178fbdcee59bd4",
      "old_mode": 33188,
      "old_path": "target-arm/translate-a64.c",
      "new_id": "a4580c07a62472aef6d9d1dcc5284857a34c9c4f",
      "new_mode": 33188,
      "new_path": "target-arm/translate-a64.c"
    },
    {
      "type": "modify",
      "old_id": "22c35877e53bfc9b1aaea231a8ab92f94d6915c8",
      "old_mode": 33188,
      "old_path": "target-arm/translate.c",
      "new_id": "127300007f9eb7d92f3de119696402a8eb2bbada",
      "new_mode": 33188,
      "new_path": "target-arm/translate.c"
    }
  ]
}
