)]}'
{
  "commit": "79b38d61b53ffba95dcbf5ff6a1ba8f6f4eefbef",
  "tree": "dbc11d95b851fea47f38e1b2a5361e495e828e37",
  "parents": [
    "eb22a064455aeebc105cc89bf77f48aa18b52938"
  ],
  "author": {
    "name": "Joel Holdsworth",
    "email": "jholdsworth@nvidia.com",
    "time": "Fri Jun 07 15:29:33 2024 -0700"
  },
  "committer": {
    "name": "Philippe Mathieu-Daudé",
    "email": "philmd@linaro.org",
    "time": "Tue Dec 03 12:26:24 2024 +0100"
  },
  "message": "hw/openrisc: Fixed undercounting of TTCR in continuous mode\n\nIn the existing design, TTCR is prone to undercounting when running in\ncontinuous mode. This manifests as a timer interrupt appearing to\ntrigger a few cycles prior to the deadline set in SPR_TTMR_TP.\n\nWhen the timer triggers, the virtual time delta in nanoseconds between\nthe time when the timer was set, and when it triggers is calculated.\nThis nanoseconds value is then divided by TIMER_PERIOD (50) to compute\nan increment of cycles to apply to TTCR.\n\nHowever, this calculation rounds down the number of cycles causing the\nundercounting.\n\nA simplistic solution would be to instead round up the number of cycles,\nhowever this will result in the accumulation of timing error over time.\n\nThis patch corrects the issue by calculating the time delta in\nnanoseconds between when the timer was last reset and the timer event.\nThis approach allows the TTCR value to be rounded up, but without\naccumulating error over time.\n\nSigned-off-by: Joel Holdsworth \u003cjholdsworth@nvidia.com\u003e\n[stafford: Incremented version in vmstate_or1k_timer, checkpatch fixes]\nSigned-off-by: Stafford Horne \u003cshorne@gmail.com\u003e\nMessage-ID: \u003c20241203110536.402131-3-shorne@gmail.com\u003e\nSigned-off-by: Philippe Mathieu-Daudé \u003cphilmd@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "835986c4dbe6ed8aec5db8dd31f62aa5a56c1e39",
      "old_mode": 33188,
      "old_path": "hw/openrisc/cputimer.c",
      "new_id": "87aa3533237685b2b0e1c8991f6ca2d949ce9494",
      "new_mode": 33188,
      "new_path": "hw/openrisc/cputimer.c"
    }
  ]
}
