[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v2 10/12] target/riscv: Add kvm_riscv_get/put_regs_timer
From: |
Jiangyifei |
Subject: |
RE: [PATCH v2 10/12] target/riscv: Add kvm_riscv_get/put_regs_timer |
Date: |
Mon, 20 Dec 2021 13:02:01 +0000 |
> -----Original Message-----
> From: Richard Henderson [mailto:richard.henderson@linaro.org]
> Sent: Monday, December 13, 2021 11:20 PM
> To: Anup Patel <anup@brainfault.org>; Jiangyifei <jiangyifei@huawei.com>
> Cc: Bin Meng <bin.meng@windriver.com>; open list:RISC-V
> <qemu-riscv@nongnu.org>; limingwang (A) <limingwang@huawei.com>; KVM
> General <kvm@vger.kernel.org>; libvir-list@redhat.com; Anup Patel
> <anup.patel@wdc.com>; QEMU Developers <qemu-devel@nongnu.org>;
> wanbo (G) <wanbo13@huawei.com>; Palmer Dabbelt <palmer@dabbelt.com>;
> kvm-riscv@lists.infradead.org; Wanghaibin (D)
> <wanghaibin.wang@huawei.com>; Alistair Francis
> <Alistair.Francis@wdc.com>; Fanliang (EulerOS) <fanliang@huawei.com>;
> Wubin (H) <wu.wubin@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