)]}'
{
  "commit": "4b7a6bf402bd064605c287eecadc493ccf2d4897",
  "tree": "2da235a74cae51293675444895aaa89a507bd1ac",
  "parents": [
    "a1bc040dabc12039944e22d9529f20d6132400dd"
  ],
  "author": {
    "name": "Christoffer Dall",
    "email": "christoffer.dall@linaro.org",
    "time": "Tue Jul 21 11:18:45 2015 +0100"
  },
  "committer": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Tue Jul 21 11:18:45 2015 +0100"
  },
  "message": "target-arm: kvm: Differentiate registers based on write-back levels\n\nSome registers like the CNTVCT register should only be written to the\nkernel as part of machine initialization or on vmload operations, but\nnever during runtime, as this can potentially make time go backwards or\ncreate inconsistent time observations between VCPUs.\n\nIntroduce a list of registers that should not be written back at runtime\nand check this list on syncing the register state to the KVM state.\n\nSigned-off-by: Christoffer Dall \u003cchristoffer.dall@linaro.org\u003e\nMessage-id: 1437046488-10773-1-git-send-email-christoffer.dall@linaro.org\n[PMM: tweaked a few comments, added the new argument to the stub\n write_list_to_kvmstate() in target-arm/kvm-stub.c]\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": "cd1849f72cb34c17f8a77a79fb1ab7bf24a166ec",
      "old_mode": 33188,
      "old_path": "target-arm/kvm-stub.c",
      "new_id": "db2edc2c4cc5fd6cc7323e3c4391cc9bf8f1ad42",
      "new_mode": 33188,
      "new_path": "target-arm/kvm-stub.c"
    },
    {
      "type": "modify",
      "old_id": "548bfd768de908bf8540c16d7a1192675caffeaa",
      "old_mode": 33188,
      "old_path": "target-arm/kvm.c",
      "new_id": "b278542085d0cd29dc283990a8444f9871d0fdb4",
      "new_mode": 33188,
      "new_path": "target-arm/kvm.c"
    },
    {
      "type": "modify",
      "old_id": "d7e7d6877f81343ae92710451288e353d41fa514",
      "old_mode": 33188,
      "old_path": "target-arm/kvm32.c",
      "new_id": "421ce0ea0d0af52788e9dab203f7e89c69f068c7",
      "new_mode": 33188,
      "new_path": "target-arm/kvm32.c"
    },
    {
      "type": "modify",
      "old_id": "ac34f514987d6d6b47982e9038de2f829fb32d23",
      "old_mode": 33188,
      "old_path": "target-arm/kvm64.c",
      "new_id": "bd60889d12e615f3a51071aa9c9c5b2893c0bff5",
      "new_mode": 33188,
      "new_path": "target-arm/kvm64.c"
    },
    {
      "type": "modify",
      "old_id": "5abd5916d19766566b4bb08be929f593cf278550",
      "old_mode": 33188,
      "old_path": "target-arm/kvm_arm.h",
      "new_id": "7912d7433d95186bd251b9bf50c588a88a8b5015",
      "new_mode": 33188,
      "new_path": "target-arm/kvm_arm.h"
    },
    {
      "type": "modify",
      "old_id": "9eb51dfddd51fd5e588d27a0cd12d8b124a4a1ab",
      "old_mode": 33188,
      "old_path": "target-arm/machine.c",
      "new_id": "32adfe792e3a87686417533a2cf49465d6d62587",
      "new_mode": 33188,
      "new_path": "target-arm/machine.c"
    }
  ]
}
