All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/25] KVM/arm64: VM configuration enforcement
@ 2024-01-30 20:45 ` Marc Zyngier
  0 siblings, 0 replies; 96+ 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


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

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

Thread overview: 96+ 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 ` 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   ` Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 02/25] KVM: arm64: Add feature checking helpers Marc Zyngier
2024-01-30 20:45   ` Marc Zyngier
2024-02-02 17:13   ` Suzuki K Poulose
2024-02-02 17:13     ` Suzuki K Poulose
2024-02-04 11:08     ` Marc Zyngier
2024-02-04 11:08       ` Marc Zyngier
2024-02-04 11:44       ` Marc Zyngier
2024-02-04 11:44         ` Marc Zyngier
2024-02-05 10:10         ` Suzuki K Poulose
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-30 20:45   ` Marc Zyngier
2024-01-31 14:52   ` Joey Gouly
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-30 20:45   ` Marc Zyngier
2024-01-31 17:16   ` Joey Gouly
2024-01-31 17:16     ` Joey Gouly
2024-02-02 15:05     ` Marc Zyngier
2024-02-02 15:05       ` Marc Zyngier
2024-02-01 14:56   ` Joey Gouly
2024-02-01 14:56     ` Joey Gouly
2024-02-02 15:10     ` Marc Zyngier
2024-02-02 15:10       ` Marc Zyngier
2024-02-02 16:26       ` Joey Gouly
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-01-30 20:45   ` Marc Zyngier
2024-02-01 14:38   ` Joey Gouly
2024-02-01 14:38     ` Joey Gouly
2024-02-02 14:58     ` Marc Zyngier
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-01-30 20:45   ` Marc Zyngier
2024-02-02  8:52   ` Oliver Upton
2024-02-02  8:52     ` Oliver Upton
2024-02-02 13:30     ` Mark Brown
2024-02-02 13:30       ` Mark Brown
2024-02-02 14:56     ` Marc Zyngier
2024-02-02 14:56       ` Marc Zyngier
2024-02-02 17:15       ` Oliver Upton
2024-02-02 17:15         ` Oliver Upton
2024-02-02 19:17         ` Oliver Upton
2024-02-02 19:17           ` Oliver Upton
2024-02-02 20:14           ` Marc Zyngier
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   ` 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   ` 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   ` 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-30 20:45   ` Marc Zyngier
2024-01-31 14:57   ` Joey Gouly
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   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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-30 20:45   ` Marc Zyngier
2024-01-31 15:05   ` Joey Gouly
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-30 20:45   ` Marc Zyngier
2024-01-31 14:46   ` Joey Gouly
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   ` Marc Zyngier
2024-01-30 20:45 ` [PATCH v2 24/25] KVM: arm64: Make FEAT_MOPS UNDEF if " Marc Zyngier
2024-01-30 20:45   ` Marc Zyngier
2024-01-31 15:02   ` Joey Gouly
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
2024-01-30 20:45   ` Marc Zyngier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.