On Tue, May 30, 2023 at 04:46:14PM -0300, Daniel Henrique Barboza wrote: > Allow 'marchid' and 'mimpid' to also be initialized in > kvm_riscv_init_machine_ids(). > > After this change, the handling of mvendorid/marchid/mimpid for the > 'host' CPU type will be equal to what we already have for TCG named > CPUs, i.e. the user is not able to set these values to a different val > than the one that is already preset. > > Signed-off-by: Daniel Henrique Barboza <dbarb...@ventanamicro.com> > --- > target/riscv/kvm.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/target/riscv/kvm.c b/target/riscv/kvm.c > index 37f0f70794..cd2974c663 100644 > --- a/target/riscv/kvm.c > +++ b/target/riscv/kvm.c > @@ -378,6 +378,22 @@ static void kvm_riscv_init_machine_ids(RISCVCPU *cpu, > KVMScratchCPU *kvmcpu) > if (ret != 0) { > error_report("Unable to retrieve mvendorid from host, error %d", > ret); > } > + > + reg.id = kvm_riscv_reg_id(env, KVM_REG_RISCV_CONFIG, > + KVM_REG_RISCV_CONFIG_REG(marchid)); > + reg.addr = (uint64_t)&cpu->cfg.marchid; > + ret = ioctl(kvmcpu->cpufd, KVM_GET_ONE_REG, ®); > + if (ret != 0) { > + error_report("Unable to retrieve marchid from host, error %d", ret); > + } > + > + reg.id = kvm_riscv_reg_id(env, KVM_REG_RISCV_CONFIG, > + KVM_REG_RISCV_CONFIG_REG(mimpid)); > + reg.addr = (uint64_t)&cpu->cfg.mimpid; > + ret = ioctl(kvmcpu->cpufd, KVM_GET_ONE_REG, ®); > + if (ret != 0) { > + error_report("Unable to retrieve mimpid from host, error %d", ret); > + } > } > > void kvm_riscv_init_user_properties(Object *cpu_obj) > -- > 2.40.1 > >
Reviewed-by: Andrew Jones <ajo...@ventanamicro.com>