[PATCH v3 0/4] Improve dirty ring warning report

From: Gavin Shan
Date: Thu Jan 26 2023 - 18:56:00 EST


It has been known case where no running VCPU context exists when the
vgic/its tables are saved. There are other two unknown cases where we
don't have the running VCPU context: (a) restore vgic3 LPI pending
status. (b) restoring vgic3 pending tables.

PATCH[1] includes 'kvm_mmu.h' to 'vgic.h'
PATCH[2] adds unified helper vgic_write_guest_lock()
PATCH[3 - 4] allows no-running-vcpu context for (a) and (b)

v2: https://lore.kernel.org/kvmarm/Y9Lg1ESUVJov0WpH@xxxxxxxxxx/T/#t
v1: https://lore.kernel.org/kvmarm/20230116040405.260935-1-gshan@xxxxxxxxxx/T/#t

Changelog
=========
v3:
* Pick Oliver's r-bs
* Include 'kvm_mmu.h' to 'vgic.h' (Oliver)
v2:
* Add unified helper vgic_write_guest_lock() (Oliver)
* Dropped two patches to refactor mark_page_dirty_in_slot() (Sean)


Gavin Shan (4):
KVM: arm64: Include kvm_mmu.h from vgic.h
KVM: arm64: Add helper vgic_write_guest_lock()
KVM: arm64: Allow no running vcpu on restoring vgic3 LPI pending
status
KVM: arm64: Allow no running vcpu on saving vgic3 pending table

Documentation/virt/kvm/api.rst | 10 +++++++---
arch/arm64/kvm/vgic/vgic-debug.c | 1 -
arch/arm64/kvm/vgic/vgic-init.c | 1 -
arch/arm64/kvm/vgic/vgic-its.c | 14 +++++---------
arch/arm64/kvm/vgic/vgic-kvm-device.c | 1 -
arch/arm64/kvm/vgic/vgic-mmio-v3.c | 1 -
arch/arm64/kvm/vgic/vgic-v2.c | 1 -
arch/arm64/kvm/vgic/vgic-v3.c | 5 ++---
arch/arm64/kvm/vgic/vgic.h | 14 ++++++++++++++
include/kvm/arm_vgic.h | 2 +-
10 files changed, 29 insertions(+), 21 deletions(-)

--
2.23.0