linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/25] KVM/arm64: VM configuration enforcement
@ 2024-01-30 20:45 Marc Zyngier
  2024-01-30 20:45 ` [PATCH v2 01/25] arm64: sysreg: Add missing ID_AA64ISAR[13]_EL1 fields and variants Marc Zyngier
                   ` (24 more replies)
  0 siblings, 25 replies; 48+ messages in thread
From: Marc Zyngier @ 2024-01-30 20:45 UTC (permalink / raw)
  To: kvmarm, linux-arm-kernel
  Cc: James Morse, Suzuki K Poulose, Oliver Upton, Zenghui Yu,
	Catalin Marinas, Will Deacon, Joey Gouly, Mark Brown

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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2024-02-05 10:11 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-30 20:45 [PATCH v2 00/25] KVM/arm64: VM configuration enforcement Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 01/25] arm64: sysreg: Add missing ID_AA64ISAR[13]_EL1 fields and variants Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 02/25] KVM: arm64: Add feature checking helpers Marc Zyngier
2024-02-02 17:13   ` Suzuki K Poulose
2024-02-04 11:08     ` Marc Zyngier
2024-02-04 11:44       ` Marc Zyngier
2024-02-05 10:10         ` Suzuki K Poulose
2024-01-30 20:45 ` [PATCH v2 03/25] KVM: arm64: nv: Add sanitising to VNCR-backed sysregs Marc Zyngier
2024-01-31 14:52   ` Joey Gouly
2024-01-30 20:45 ` [PATCH v2 04/25] KVM: arm64: nv: Add sanitising to EL2 configuration registers Marc Zyngier
2024-01-31 17:16   ` Joey Gouly
2024-02-02 15:05     ` Marc Zyngier
2024-02-01 14:56   ` Joey Gouly
2024-02-02 15:10     ` Marc Zyngier
2024-02-02 16:26       ` Joey Gouly
2024-01-30 20:45 ` [PATCH v2 05/25] KVM: arm64: nv: Add sanitising to VNCR-backed FGT sysregs Marc Zyngier
2024-02-01 14:38   ` Joey Gouly
2024-02-02 14:58     ` Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 06/25] KVM: arm64: nv: Add sanitising to VNCR-backed HCRX_EL2 Marc Zyngier
2024-02-02  8:52   ` Oliver Upton
2024-02-02 13:30     ` Mark Brown
2024-02-02 14:56     ` Marc Zyngier
2024-02-02 17:15       ` Oliver Upton
2024-02-02 19:17         ` Oliver Upton
2024-02-02 20:14           ` Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 07/25] KVM: arm64: nv: Drop sanitised_sys_reg() helper Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 08/25] KVM: arm64: Unify HDFG[WR]TR_GROUP FGT identifiers Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 09/25] KVM: arm64: nv: Correctly handle negative polarity FGTs Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 10/25] KVM: arm64: nv: Turn encoding ranges into discrete XArray stores Marc Zyngier
2024-01-31 14:57   ` Joey Gouly
2024-01-30 20:45 ` [PATCH v2 11/25] KVM: arm64: Drop the requirement for XARRAY_MULTI Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 12/25] KVM: arm64: nv: Move system instructions to their own sys_reg_desc array Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 13/25] KVM: arm64: Always populate the trap configuration xarray Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 14/25] KVM: arm64: Register AArch64 system register entries with the sysreg xarray Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 15/25] KVM: arm64: Use the xarray as the primary sysreg/sysinsn walker Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 16/25] KVM: arm64: Rename __check_nv_sr_forward() to triage_sysreg_trap() Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 17/25] KVM: arm64: Add Fine-Grained UNDEF tracking information Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 18/25] KVM: arm64: Propagate and handle Fine-Grained UNDEF bits Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 19/25] KVM: arm64: Move existing feature disabling over to FGU infrastructure Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 20/25] KVM: arm64: Streamline save/restore of HFG[RW]TR_EL2 Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 21/25] KVM: arm64: Make TLBI OS/Range UNDEF if not advertised to the guest Marc Zyngier
2024-01-31 15:05   ` Joey Gouly
2024-01-30 20:45 ` [PATCH v2 22/25] KVM: arm64: Make PIR{,E0}_EL1 UNDEF if S1PIE is " Marc Zyngier
2024-01-31 14:46   ` Joey Gouly
2024-01-30 20:45 ` [PATCH v2 23/25] KVM: arm64: Make AMU sysreg UNDEF if FEAT_AMU " Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 24/25] KVM: arm64: Make FEAT_MOPS UNDEF if " Marc Zyngier
2024-01-31 15:02   ` Joey Gouly
2024-01-30 20:45 ` [PATCH v2 25/25] KVM: arm64: Add debugfs file for guest's ID registers Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).