[PATCH v3 0/2] KVM: RISC-V: Add CPU PM notifier for non-retention idle states
Yong-Xuan Wang
yongxuan.wang at sifive.com
Fri Jun 26 02:38:28 PDT 2026
This series adds CPU_PM notifier support to save and restore hypervisor
CSR state when CPUs enter non-retention idle states where the CPU domain
is powered off.
Patch 1 fixes a VCPU cache invalidation bug that could cause incorrect
CSR restoration after power state transitions.
Patch 2 implements the CPU_PM notifier to handle CSR save/restore during
CPU idle, completing KVM's power management coverage alongside existing
CPU hotplug and system suspend mechanisms.
---
Changes in v3:
- Remove the error kvm_riscv_nacl_disable() call in kvm_riscv_csr_disable()
(sashiko)
- Unregister CPU PM notifier first in riscv_kvm_exit() (sashiko)
- Link to v2: https://patch.msgid.link/20260626-kvm-cpu-pm-v2-0-478e5ef8dc9b@sifive.com
Changes in v2:
- Add patch 1 force restore VCPU after power state transitions (sashiko)
- Added CPU_PM_ENTER_FAILED event handling (sashiko)
- Optimized HGEIE save/restore with saved_value field (sashiko)
- Fixed HIE CSR restoration in lightweight idle resume path (sashiko)
- Link to v1: https://patch.msgid.link/20260624-kvm-cpu-pm-v1-1-52088e127a55@sifive.com
---
To: Anup Patel <anup at brainfault.org>
To: Atish Patra <atish.patra at linux.dev>
To: Paul Walmsley <pjw at kernel.org>
To: Palmer Dabbelt <palmer at dabbelt.com>
To: Albert Ou <aou at eecs.berkeley.edu>
To: Alexandre Ghiti <alex at ghiti.fr>
To: Radim Krčmář <radim.krcmar at oss.qualcomm.com>
To: Andrew Jones <andrew.jones at oss.qualcomm.com>
To: Nutty Liu <nutty.liu at hotmail.com>
To: Jinyu Tang <tjytimi at 163.com>
Cc: greentime.hu at sifive.com
Cc: vincent.chen at sifive.com
Cc: zong.li at sifive.com
Cc: kvm at vger.kernel.org
Cc: kvm-riscv at lists.infradead.org
Cc: linux-riscv at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
---
Yong-Xuan Wang (2):
KVM: RISC-V: Clear former VCPU cache on virtualization disable
KVM: RISC-V: Add CPU PM notifier for non-retention idle states
arch/riscv/include/asm/kvm_aia.h | 15 +++-
arch/riscv/include/asm/kvm_host.h | 2 +
arch/riscv/kvm/aia.c | 144 +++++++++++++++++++++-----------------
arch/riscv/kvm/main.c | 98 +++++++++++++++++++++-----
arch/riscv/kvm/vcpu.c | 11 +++
5 files changed, 187 insertions(+), 83 deletions(-)
---
base-commit: 52738352a6f29279e15285fcb7b50241ef867e27
change-id: 20260624-kvm-cpu-pm-94141aecd5fa
More information about the kvm-riscv
mailing list