mirror of
https://github.com/torvalds/linux.git
synced 2026-08-04 22:38:46 +02:00
The kvm_riscv_vcpu_timer_pending() checks per-VCPU next_cycles
and per-VCPU software injected VS timer interrupt. This function
returns incorrect value when Sstc is available because the per-VCPU
next_cycles are only updated by kvm_riscv_vcpu_timer_save() called
from kvm_arch_vcpu_put(). As a result, when Sstc is available the
VCPU does not block properly upon WFI traps.
To fix the above issue, we introduce kvm_riscv_vcpu_timer_sync()
which will update per-VCPU next_cycles upon every VM exit instead
of kvm_riscv_vcpu_timer_save().
Fixes:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| main.c | ||
| Makefile | ||
| mmu.c | ||
| tlb.c | ||
| vcpu_exit.c | ||
| vcpu_fp.c | ||
| vcpu_insn.c | ||
| vcpu_sbi_base.c | ||
| vcpu_sbi_hsm.c | ||
| vcpu_sbi_replace.c | ||
| vcpu_sbi_v01.c | ||
| vcpu_sbi.c | ||
| vcpu_switch.S | ||
| vcpu_timer.c | ||
| vcpu.c | ||
| vm.c | ||
| vmid.c | ||