)]}'
{
  "commit": "bd97e076606afc19240bb8914fa5235e358d8124",
  "tree": "b154713f2ab441f430949b63ff64714c90e1db2d",
  "parents": [
    "971851b0463806bae208ecae1ff200012d528b30"
  ],
  "author": {
    "name": "Bruno Sa",
    "email": "bruno.vilaca.sa@gmail.com",
    "time": "Fri Apr 10 12:08:42 2026 +0100"
  },
  "committer": {
    "name": "Alistair Francis",
    "email": "alistair.francis@wdc.com",
    "time": "Wed Apr 29 13:38:13 2026 +1000"
  },
  "message": "target/riscv: fix RV32 stateen CSR handling\n\nThe RV32 stateen CSRs are split between the low-half CSR and the\ncorresponding xH CSR, but the current implementation still handles some\nupper-half bits through the low-half write paths and also accepts the\nxH CSRs on RV64.\n\nFix this by:\n- rejecting mstateen*h and hstateen*h accesses on RV64\n- keeping the RV64-only writable bits in the low-half write paths\n- handling the RV32 upper-half writable bits in write_mstateen0h() and\n  write_hstateen0h()\n- dropping unsupported writable bits from write_sstateen0()\n\nSigned-off-by: Bruno Sa \u003cbruno.vilaca.sa@gmail.com\u003e\nMessage-ID: \u003c20260410110928.1014170-1-bruno.vilaca.sa@gmail.com\u003e\nReviewed-by: Alistair Francis \u003calistair.francis@wdc.com\u003e\nSigned-off-by: Alistair Francis \u003calistair.francis@wdc.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cfd076b368110c4f3917a3eb9e94449b9cf862e5",
      "old_mode": 33188,
      "old_path": "target/riscv/csr.c",
      "new_id": "80727aa81efbfb3d3919433c99fe7aeeee4ec64f",
      "new_mode": 33188,
      "new_path": "target/riscv/csr.c"
    }
  ]
}
