)]}'
{
  "commit": "0c8ff723bd29e5c8b2ca989f857ae5c37ec49c4e",
  "tree": "c9ba13e130566ab1d7cf808573b10afac5f39a71",
  "parents": [
    "2a8327e8a8288e301a2f01bc3ca2d465a3a4ca78"
  ],
  "author": {
    "name": "Greg Ungerer",
    "email": "gerg@uclinux.org",
    "time": "Fri Jun 19 23:43:26 2015 +1000"
  },
  "committer": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Mon Jun 22 14:43:25 2015 +0100"
  },
  "message": "m68k: fix usp processing on interrupt entry and exception exit\n\nThe action to potentially switch sp register is not occurring at the correct\npoint in the interrupt entry or exception exit sequences.\n\nFor the interrupt entry case the sp on entry is used to create the stack\nexception frame - but this may well be the user stack pointer, since we\nhaven\u0027t done the switch yet. Re-order the flow to switch the sp regs then\nuse the current sp to create the exception frame.\n\nFor the return from exception case the code is unwinding the sp after\nswitching sp registers. But it should always unwind the supervisor sp\nfirst, then carry out any required sp switch.\n\nNote that these problems don\u0027t effect operation unless the user sp bit is\nset in the CACR register. Only a single sp is used in the default power up\nstate. Previously Linux only used this single sp mode. But modern versions\nof Linux use the user sp mode now, so we need correct behavior for Linux\nto work.\n\nSigned-off-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nReviewed-by: Peter Crosthwaite \u003cpeter.crosthwaite@xilinx.com\u003e\nReviewed-by: Laurent Vivier \u003claurent@vivier.eu\u003e\nTested-by: Laurent Vivier \u003claurent@vivier.eu\u003e\nMessage-id: 1434721406-25288-4-git-send-email-gerg@uclinux.org\nSigned-off-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4f8fabb922bf398fff5101051584995dcb6e5478",
      "old_mode": 33188,
      "old_path": "target-m68k/op_helper.c",
      "new_id": "1af0ca647b81ef5b18060760dcfd27ef067fb0d4",
      "new_mode": 33188,
      "new_path": "target-m68k/op_helper.c"
    }
  ]
}
