)]}'
{
  "commit": "3283fc3f6160baf63bec24fbaa24e094e9ff6daf",
  "tree": "35efa1cca0e5d44e37f50aced60a31020b7e7b69",
  "parents": [
    "29e55b2fd3f55c5c24c36d1995a5242f1ee34014"
  ],
  "author": {
    "name": "Mark Ryan",
    "email": "markdryan@rivosinc.com",
    "time": "Wed Aug 14 15:24:42 2024 +0200"
  },
  "committer": {
    "name": "Joel Sing",
    "email": "joel@sing.id.au",
    "time": "Fri Aug 23 10:43:34 2024 +0000"
  },
  "message": "cpu: add support for detecting RISC-V extensions\n\nAdd a RISCV64 variable to cpu that indicates both the presence\nof RISC-V extensions and performance information about the underlying\nRISC-V cores.  The variable is only populated with non false values on\nLinux.  The detection code first attempts to use the riscv_hwprobe\nsyscall introduced in Linux 6.4, falling back to HWCAP if riscv_hwprobe\nis not supported.  The patch can detect the C, V, Zba, Zbb and Zbs\nextensions.  V, Zba, Zbb and Zbs can only be detected on a 6.5 kernel\nor later (without backports).\n\nUpdates golang/go#61416\n\nChange-Id: I40f92724ee3d337c06bdc559ff0b18a8f6bfda9f\nReviewed-on: https://go-review.googlesource.com/c/sys/+/605815\nReviewed-by: Cherry Mui \u003ccherryyz@google.com\u003e\nReviewed-by: Dmitri Shuralyov \u003cdmitshur@google.com\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Joel Sing \u003cjoel@sing.id.au\u003e\nReviewed-by: Meng Zhuo \u003cmengzhuo1203@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ec07aab05788c8732bee74fc3837f5b188ae4c84",
      "old_mode": 33188,
      "old_path": "cpu/cpu.go",
      "new_id": "02609d5b21d56a5b82ce169a3bd1f933f9d091f3",
      "new_mode": 33188,
      "new_path": "cpu/cpu.go"
    },
    {
      "type": "modify",
      "old_id": "cd63e73355734ca8a12f992c5db23c002a0b6166",
      "old_mode": 33188,
      "old_path": "cpu/cpu_linux_noinit.go",
      "new_id": "7d902b6847bbf90526eb980e09039a79cebcceda",
      "new_mode": 33188,
      "new_path": "cpu/cpu_linux_noinit.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cb4a0c5728073c634d2cf69b3d76286e013a82ae",
      "new_mode": 33188,
      "new_path": "cpu/cpu_linux_riscv64.go"
    },
    {
      "type": "modify",
      "old_id": "7f0c79c004b44a57b821bdf405363148da434314",
      "old_mode": 33188,
      "old_path": "cpu/cpu_riscv64.go",
      "new_id": "aca3199c911690b3b2899e2ee373083e2ac66cdd",
      "new_mode": 33188,
      "new_path": "cpu/cpu_riscv64.go"
    },
    {
      "type": "modify",
      "old_id": "ba25551509f05084c2ecd193a9cd6fcaef903ffd",
      "old_mode": 33188,
      "old_path": "cpu/cpu_test.go",
      "new_id": "7a9bac7e5de1f595b9adf6e496077ad01cd32f22",
      "new_mode": 33188,
      "new_path": "cpu/cpu_test.go"
    }
  ]
}
