> -----Original Message----- > From: Richard Henderson [mailto:richard.hender...@linaro.org] > Sent: Monday, December 13, 2021 11:20 PM > To: Anup Patel <a...@brainfault.org>; Jiangyifei <jiangyi...@huawei.com> > Cc: Bin Meng <bin.m...@windriver.com>; open list:RISC-V > <qemu-ri...@nongnu.org>; limingwang (A) <limingw...@huawei.com>; KVM > General <k...@vger.kernel.org>; libvir-l...@redhat.com; Anup Patel > <anup.pa...@wdc.com>; QEMU Developers <qemu-devel@nongnu.org>; > wanbo (G) <wanb...@huawei.com>; Palmer Dabbelt <pal...@dabbelt.com>; > kvm-ri...@lists.infradead.org; Wanghaibin (D) > <wanghaibin.w...@huawei.com>; Alistair Francis > <alistair.fran...@wdc.com>; Fanliang (EulerOS) <fanli...@huawei.com>; > Wubin (H) <wu.wu...@huawei.com> > Subject: Re: [PATCH v2 10/12] target/riscv: Add kvm_riscv_get/put_regs_timer > > On 12/12/21 9:05 PM, Anup Patel wrote: > >> + ret = kvm_get_one_reg(cs, RISCV_TIMER_REG(env, state), ®); > >> + if (ret) { > >> + abort(); > >> + } > >> + env->kvm_timer_state = reg; > > > > Please read the timer frequency here. > > Yep. > > >> + > >> + env->kvm_timer_dirty = true; > >> +} > >> + > >> +static void kvm_riscv_put_regs_timer(CPUState *cs) { > >> + int ret; > >> + uint64_t reg; > >> + CPURISCVState *env = &RISCV_CPU(cs)->env; > >> + > >> + if (!env->kvm_timer_dirty) { > >> + return; > >> + } > > > > Over here, we should get the timer frequency and abort() with an error > > message if it does not match env->kvm_timer_frequency > > > > For now, migration will not work between Hosts with different timer > > frequency. > > You shouldn't have to do this every "put", only on migration, at which point > you > can actually signal a migration error rather than aborting directly. > > > r~
Yes, it will be modified in the next series. Yifei