)]}'
{
  "commit": "32fa177604a8f0e3be331add04da91fef28bfbbd",
  "tree": "63168af8d71341a978f0a20003194dd1f8bd90ea",
  "parents": [
    "ec34cd732ce33af59a913444320f870c6309de51"
  ],
  "author": {
    "name": "Daniel Henrique Barboza",
    "email": "dbarboza@ventanamicro.com",
    "time": "Mon Sep 25 14:56:58 2023 -0300"
  },
  "committer": {
    "name": "Alistair Francis",
    "email": "alistair.francis@wdc.com",
    "time": "Thu Oct 12 12:03:35 2023 +1000"
  },
  "message": "target/riscv: move riscv_cpu_add_kvm_properties() to kvm.c\n\nWe\u0027ll introduce the KVM accelerator class with a \u0027cpu_instance_init\u0027\nimplementation that is going to be invoked during the common\nriscv_cpu_post_init() (via accel_cpu_instance_init()). This\ninstance_init will execute KVM exclusive code that TCG doesn\u0027t care\nabout, such as adding KVM specific properties, initing registers using a\nKVM scratch CPU and so on.\n\nThe core of the forementioned cpu_instance_init impl is the current\nriscv_cpu_add_kvm_properties() that is being used by the common code via\nriscv_cpu_add_user_properties() in cpu.c. Move it to kvm.c, together\nwill all the relevant artifacts, exporting and renaming it to\nkvm_riscv_cpu_add_kvm_properties() so cpu.c can keep using it for now.\n\nTo make this work we\u0027ll need to export riscv_cpu_extensions,\nriscv_cpu_vendor_exts and riscv_cpu_experimental_exts from cpu.c as\nwell. The TCG accelerator will also need to access those in the near\nfuture so this export will benefit us in the long run.\n\nSigned-off-by: Daniel Henrique Barboza \u003cdbarboza@ventanamicro.com\u003e\nReviewed-by: Andrew Jones \u003cajones@ventanamicro.com\u003e\nReviewed-by: LIU Zhiwei \u003czhiwei_liu@linux.alibaba.com\u003e\nReviewed-by: Alistair Francis \u003calistair.francis@wdc.com\u003e\nMessage-ID: \u003c20230925175709.35696-9-dbarboza@ventanamicro.com\u003e\nSigned-off-by: Alistair Francis \u003calistair.francis@wdc.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d831dc375b9fab848e6b8e8ca2a2fcf8e9f4db04",
      "old_mode": 33188,
      "old_path": "target/riscv/cpu.c",
      "new_id": "c73500151f8d7032e3d5bc59ca983f4628a120ee",
      "new_mode": 33188,
      "new_path": "target/riscv/cpu.c"
    },
    {
      "type": "modify",
      "old_id": "3055d741c50f8c2d87e9d9253fdc43c4549b0842",
      "old_mode": 33188,
      "old_path": "target/riscv/cpu.h",
      "new_id": "0afa45aad1ed1924a3d00b88be94318e96ba27c7",
      "new_mode": 33188,
      "new_path": "target/riscv/cpu.h"
    },
    {
      "type": "modify",
      "old_id": "31d2ede4b6e1c1772c4e3f82092e902570e0ce48",
      "old_mode": 33188,
      "old_path": "target/riscv/kvm.c",
      "new_id": "e682a7031175605baffe36c1db6cc80f2dbb0bdb",
      "new_mode": 33188,
      "new_path": "target/riscv/kvm.c"
    },
    {
      "type": "modify",
      "old_id": "44b850a046ed9c0aad83f9f45490af039212d440",
      "old_mode": 33188,
      "old_path": "target/riscv/kvm_riscv.h",
      "new_id": "da9630c4af8a106cc298af78d6ed85af9c578de2",
      "new_mode": 33188,
      "new_path": "target/riscv/kvm_riscv.h"
    }
  ]
}
