> -----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), &reg);
> >> +    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

Reply via email to