[PATCH v2 00/20] KVM: arm64: vgic-v3 userspace access consolidation (and other goodies)
Marc Zyngier
maz at kernel.org
Thu Jul 14 08:20:04 PDT 2022
This is a follow-up to [1], which aims a performing a bunch of
cleanups in the way we expose sysregs to userspace, with a particular
focus on the GICv3 part of that code.
* From v1:
- A couple of extra cleanups thanks to Reiji's comments
- A fix for the breakage of the legacy GICv2 address setup
- Collected RBs from Reiji and Oliver, with thanks.
[1] https://lore.kernel.org/r/20220706164304.1582687-1-maz@kernel.org
Marc Zyngier (20):
KVM: arm64: Add get_reg_by_id() as a sys_reg_desc retrieving helper
KVM: arm64: Reorder handling of invariant sysregs from userspace
KVM: arm64: Introduce generic get_user/set_user helpers for system
registers
KVM: arm64: Rely on index_to_param() for size checks on userspace
access
KVM: arm64: Consolidate sysreg userspace accesses
KVM: arm64: Get rid of reg_from/to_user()
KVM: arm64: vgic-v3: Simplify vgic_v3_has_cpu_sysregs_attr()
KVM: arm64: vgic-v3: Push user access into
vgic_v3_cpu_sysregs_uaccess()
KVM: arm64: vgic-v3: Make the userspace accessors use sysreg API
KVM: arm64: vgic-v3: Convert userspace accessors over to
FIELD_GET/FIELD_PREP
KVM: arm64: vgic-v3: Use u32 to manage the line level from userspace
KVM: arm64: vgic-v3: Consolidate userspace access for MMIO registers
KVM: arm64: vgic-v2: Consolidate userspace access for MMIO registers
KVM: arm64: vgic: Use {get,put}_user() instead of copy_{from.to}_user
KVM: arm64: vgic-v2: Add helper for legacy dist/cpuif base address
setting
KVM: arm64: vgic: Consolidate userspace access for base address
setting
KVM: arm64: vgic: Tidy-up calls to vgic_{get,set}_common_attr()
KVM: arm64: Get rid of find_reg_by_id()
KVM: arm64: Descope kvm_arm_sys_reg_{get,set}_reg()
KVM: arm64: Get rid or outdated comments
arch/arm64/include/asm/kvm_host.h | 2 -
arch/arm64/kvm/arm.c | 11 +-
arch/arm64/kvm/sys_regs.c | 282 +++++++---------
arch/arm64/kvm/sys_regs.h | 18 +-
arch/arm64/kvm/vgic-sys-reg-v3.c | 462 +++++++++++++++-----------
arch/arm64/kvm/vgic/vgic-kvm-device.c | 342 ++++++++-----------
arch/arm64/kvm/vgic/vgic-mmio-v3.c | 10 +-
arch/arm64/kvm/vgic/vgic-mmio.c | 6 +-
arch/arm64/kvm/vgic/vgic-mmio.h | 4 +-
arch/arm64/kvm/vgic/vgic.h | 9 +-
include/kvm/arm_vgic.h | 2 +-
11 files changed, 547 insertions(+), 601 deletions(-)
--
2.34.1
More information about the linux-arm-kernel
mailing list