)]}'
{
  "commit": "d1d74664ea99cdc571afee12e31c8625595765b0",
  "tree": "639eb192771b3b4fcca89a02bfe9cdf46c329b22",
  "parents": [
    "051c190bce5952ef4a61af260e843b1d76c1fd7f"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Mon Jun 14 19:11:54 2010 +0200"
  },
  "committer": {
    "name": "Aurelien Jarno",
    "email": "aurelien@aurel32.net",
    "time": "Tue Jun 29 23:07:52 2010 +0200"
  },
  "message": "lsi53c895a: fix Phase Mismatch Jump\n\nlsi_bad_phase has a bug in the choice of pmjad1/pmjad2.  This does\nnot matter with Linux guests because it uses just one routine for\nboth, but it breaks Windows 64-bit guests.  This is the text\nfrom the spec:\n\n   \"[The PMJCTL] bit controls which decision mechanism is used\n   when jumping on phase mismatch. When this bit is cleared the\n   LSI53C895A will use Phase Mismatch Jump Address 1 (PMJAD1) when\n   the WSR bit is cleared and Phase Mismatch Jump Address 2 (PMJAD2)\n   when the WSR bit is set.  When this bit is set the LSI53C895A will\n   use jump address one (PMJAD1) on data out (data out, command,\n   message out) transfers and jump address two (PMJAD2) on data in\n   (data in, status, message in) transfers.\"\n\nWhich means:\n\n    CCNTL0.PMJCTL\n        0              SCNTL2.WSR \u003d 0             PMJAD1\n        0              SCNTL2.WSR \u003d 1             PMJAD2\n        1                    out                  PMJAD1\n        1                    in                   PMJAD2\n\nIn qemu, what you get instead is:\n\n    CCNTL0.PMJCTL\n        0                    out                  PMJAD1\n        0                    in                   PMJAD2    \u003c\u003c\u003c\u003c\u003c\n        1                    out                  PMJAD1\n        1                    in                   PMJAD1    \u003c\u003c\u003c\u003c\u003c\n\nConsidering that qemu always has SCNTL2.WSR cleared, the two marked cases\n(corresponding to phase mismatch on input) are always jumping to the\nwrong PMJAD register.  The patch implements the correct semantics.\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Aurelien Jarno \u003caurelien@aurel32.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f5a91ba10aba11b3bf73d80443c7d768feb08668",
      "old_mode": 33188,
      "old_path": "hw/lsi53c895a.c",
      "new_id": "9a37fed3b3fb5ac39efdb779ebb5fcf8f2e91bc8",
      "new_mode": 33188,
      "new_path": "hw/lsi53c895a.c"
    }
  ]
}
