[PATCH v2 00/25] KVM/arm64: VM configuration enforcement
Marc Zyngier
maz at kernel.org
Tue Jan 30 12:45:07 PST 2024
This is the second version of this configurationm enforcement series
after some really awesome reviewing with from Joey.
I think I have taken most of the feedback into account, but please
shout if I have ignored something.
* From v1: [1]
- Fix embarrassing crash with FEAT_MOPS
- Better error handling in the FGT code
- Added/Fixed comments
- Simplified the __vcpu_sys_reg() macro
- Fixed FEAT_PIR handling
- Folded in Oliver's PMU rework
[1] https://lore.kernel.org/all/20240122201852.262057-1-maz@kernel.org
Marc Zyngier (25):
arm64: sysreg: Add missing ID_AA64ISAR[13]_EL1 fields and variants
KVM: arm64: Add feature checking helpers
KVM: arm64: nv: Add sanitising to VNCR-backed sysregs
KVM: arm64: nv: Add sanitising to EL2 configuration registers
KVM: arm64: nv: Add sanitising to VNCR-backed FGT sysregs
KVM: arm64: nv: Add sanitising to VNCR-backed HCRX_EL2
KVM: arm64: nv: Drop sanitised_sys_reg() helper
KVM: arm64: Unify HDFG[WR]TR_GROUP FGT identifiers
KVM: arm64: nv: Correctly handle negative polarity FGTs
KVM: arm64: nv: Turn encoding ranges into discrete XArray stores
KVM: arm64: Drop the requirement for XARRAY_MULTI
KVM: arm64: nv: Move system instructions to their own sys_reg_desc
array
KVM: arm64: Always populate the trap configuration xarray
KVM: arm64: Register AArch64 system register entries with the sysreg
xarray
KVM: arm64: Use the xarray as the primary sysreg/sysinsn walker
KVM: arm64: Rename __check_nv_sr_forward() to triage_sysreg_trap()
KVM: arm64: Add Fine-Grained UNDEF tracking information
KVM: arm64: Propagate and handle Fine-Grained UNDEF bits
KVM: arm64: Move existing feature disabling over to FGU infrastructure
KVM: arm64: Streamline save/restore of HFG[RW]TR_EL2
KVM: arm64: Make TLBI OS/Range UNDEF if not advertised to the guest
KVM: arm64: Make PIR{,E0}_EL1 UNDEF if S1PIE is not advertised to the
guest
KVM: arm64: Make AMU sysreg UNDEF if FEAT_AMU is not advertised to the
guest
KVM: arm64: Make FEAT_MOPS UNDEF if not advertised to the guest
KVM: arm64: Add debugfs file for guest's ID registers
arch/arm64/include/asm/kvm_arm.h | 4 +-
arch/arm64/include/asm/kvm_host.h | 107 ++++++++-
arch/arm64/include/asm/kvm_nested.h | 1 -
arch/arm64/kvm/Kconfig | 1 -
arch/arm64/kvm/arm.c | 7 +
arch/arm64/kvm/emulate-nested.c | 231 +++++++++++++-----
arch/arm64/kvm/hyp/include/hyp/switch.h | 130 +++++-----
arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h | 24 +-
arch/arm64/kvm/nested.c | 265 ++++++++++++++++++++-
arch/arm64/kvm/pmu-emul.c | 11 +-
arch/arm64/kvm/sys_regs.c | 235 +++++++++++++++---
arch/arm64/kvm/sys_regs.h | 2 +
arch/arm64/tools/sysreg | 8 +-
include/kvm/arm_pmu.h | 11 -
14 files changed, 856 insertions(+), 181 deletions(-)
--
2.39.2
More information about the linux-arm-kernel
mailing list