linux/arch/arm64/kvm
Oliver Upton e0b5a7967d KVM: arm64: nv: Use FGT write trap of MDSCR_EL1 when available
Marc reports that the performance of running an L3 guest has regressed
by 60% as a result of setting MDCR_EL2.TDA to hide bad architecture.
That's of course terrible for the single user of recursive NV ;-)

While there's nothing to be done on non-FGT systems, take advantage of
the precise write trap of MDSCR_EL1 and leave the rest of the debug
registers untrapped.

Reported-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
Reviewed-by: Joey Gouly <joey.gouly@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2025-10-13 14:44:37 +01:00
..
hyp KVM: arm64: Compute per-vCPU FGTs at vcpu_load() 2025-10-13 14:44:37 +01:00
vgic KVM: arm64: gic-v3: Only set ICH_HCR traps for v2-on-v3 or v3 guests 2025-10-13 14:40:33 +01:00
.gitignore
Kconfig hyperv-next for v6.18 2025-10-07 08:40:15 -07:00
Makefile KVM: arm64: gic-v5: Probe for GICv5 2025-07-08 14:41:06 -07:00
arch_timer.c KVM: arm64: Kill leftovers of ad-hoc timer userspace access 2025-10-13 14:42:41 +01:00
arm.c KVM: arm64: Compute per-vCPU FGTs at vcpu_load() 2025-10-13 14:44:37 +01:00
at.c KVM: arm64: Remove unreachable break after return 2025-10-13 14:17:03 +01:00
config.c KVM: arm64: nv: Use FGT write trap of MDSCR_EL1 when available 2025-10-13 14:44:37 +01:00
debug.c KVM: arm64: Guard PMSCR_EL1 initialization with SPE presence check 2025-10-13 14:26:36 +01:00
emulate-nested.c Merge branch kvm-arm64/misc-6.18 into kvmarm-master/next 2025-09-20 12:26:29 +01:00
fpsimd.c KVM: arm64: Remove kvm_arch_vcpu_run_map_fp() 2025-07-03 10:39:24 +01:00
guest.c KVM: arm64: Kill leftovers of ad-hoc timer userspace access 2025-10-13 14:42:41 +01:00
handle_exit.c KVM: arm64: Fix WFxT handling of nested virt 2025-10-13 14:42:41 +01:00
hypercalls.c
inject_fault.c KVM: arm64: Populate level on S1PTW SEA injection 2025-09-20 11:05:14 +01:00
mmio.c KVM: arm64: Don't retire MMIO instruction w/ pending (emulated) SError 2025-07-08 11:36:36 -07:00
mmu.c KVM/arm64 updates for 6.18 2025-09-30 13:23:28 -04:00
nested.c KVM: arm64: nv: Use FGT write trap of MDSCR_EL1 when available 2025-10-13 14:44:37 +01:00
pauth.c
pkvm.c KVM/arm64 updates for 6.18 2025-09-30 13:23:28 -04:00
pmu-emul.c KVM: arm64: Add RMW specific sysreg accessor 2025-06-05 14:18:01 +01:00
pmu.c
psci.c
ptdump.c KVM: arm64: ptdump: Don't test PTE_VALID alongside other attributes 2025-09-08 20:01:21 +01:00
pvtime.c
reset.c
stacktrace.c
sys_regs.c KVM: arm64: Move CNT*CT_EL0 userspace accessors to generic infrastructure 2025-10-13 14:42:41 +01:00
sys_regs.h KVM: arm64: Add timer UAPI workaround to sysreg infrastructure 2025-10-13 14:42:40 +01:00
trace.h
trace_arm.h
trace_handle_exit.h arm64: kvm: trace_handle_exit: use string choices helper 2025-07-23 23:36:55 -07:00
trng.c
va_layout.c
vgic-sys-reg-v3.c KVM: arm64: Enforce the sorting of the GICv3 system register table 2025-07-26 08:36:58 -07:00
vmid.c