linux/arch/arm64/kvm
Joey Gouly 55f4b215fb KVM: arm64: use at s1e1a for POE
FEAT_ATS1E1A introduces a new instruction: `at s1e1a`.
This is an address translation, without permission checks.

POE allows read permissions to be removed from S1 by the guest.  This means
that an `at` instruction could fail, and not get the IPA.

Switch to using `at s1e1a` so that KVM can get the IPA regardless of S1
permissions.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20240822151113.1479789-10-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2024-09-04 12:52:39 +01:00
..
hyp KVM: arm64: use at s1e1a for POE 2024-09-04 12:52:39 +01:00
vgic KVM: arm64: Disassociate vcpus from redistributor region on teardown 2024-06-06 08:54:15 +01:00
.gitignore KVM: arm64: Generate hyp_constants.h for the host 2021-12-06 08:37:03 +00:00
arch_timer.c KVM: arm64: Fix typos 2024-02-24 09:13:33 +00:00
arm.c KVM generic changes for 6.11 2024-07-16 09:51:36 -04:00
debug.c KVM: arm64: debug: fix kernel-doc warnings 2024-02-01 20:25:41 +00:00
emulate-nested.c Merge branch kvm-arm64/nv-tcr2 into kvmarm/next 2024-07-14 00:28:37 +00:00
fpsimd.c KVM: arm64: nv: Ensure correct VL is loaded before saving SVE state 2024-06-20 19:02:40 +00:00
guest.c KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode 2024-05-27 17:45:35 +01:00
handle_exit.c Merge branch kvm-arm64/nv-sve into kvmarm/next 2024-07-14 00:27:06 +00:00
hypercalls.c Merge branch kvm-arm64/smccc-filter-cleanups into kvmarm/next 2023-10-30 20:18:37 +00:00
inject_fault.c KVM: arm64: Fix typos 2024-02-24 09:13:33 +00:00
Kconfig Revert "KVM: arm64: Snapshot all non-zero RES0/RES1 sysreg fields for later checking" 2024-03-15 17:50:22 -07:00
Makefile Kbuild updates for v6.10 2024-05-18 12:39:20 -07:00
mmio.c KVM: arm64: Force injection of a data abort on NISV MMIO exit 2024-05-01 16:48:15 +01:00
mmu.c KVM: arm64: nv: Tag shadow S2 entries with guest's leaf S2 level 2024-06-19 08:14:38 +00:00
nested.c Merge branch kvm-arm64/nv-sve into kvmarm/next 2024-07-14 00:27:06 +00:00
pauth.c KVM: arm64: nv: Work around lack of pauth support in old toolchains 2024-04-23 19:27:11 +01:00
pkvm.c KVM: arm64: Prevent kmemleak from accessing .hyp.data 2024-05-01 16:48:14 +01:00
pmu-emul.c ARM: 2024-07-20 12:41:03 -07:00
pmu.c KVM: arm64: Add accessor for per-CPU state 2024-04-12 13:57:30 +01:00
psci.c Merge branch kvm-arm64/smccc-filtering into kvmarm-master/next 2023-04-21 09:44:32 +01:00
pvtime.c KVM: MMU: Make the definition of 'INVALID_GPA' common 2023-01-19 21:48:38 +00:00
reset.c KVM: arm64: nv: Support multiple nested Stage-2 mmu structures 2024-06-19 08:13:49 +00:00
stacktrace.c arm64: stacktrace: track hyp stacks in unwinder's address space 2022-09-09 12:30:08 +01:00
sys_regs.c KVM: arm64: Save/restore POE registers 2024-09-04 12:52:39 +01:00
sys_regs.h KVM: arm64: Rename __check_nv_sr_forward() to triage_sysreg_trap() 2024-02-19 17:13:01 +00:00
trace_arm.h KVM: arm64: Add tracepoint for MMIO accesses where ISV==0 2023-10-30 20:17:22 +00:00
trace_handle_exit.h KVM: arm64: Upgrade trace_kvm_arm_set_dreg32() to 64bit 2021-08-20 11:12:18 +01:00
trace.h KVM: arm64: Move virt/kvm/arm to arch/arm64 2020-05-16 15:03:59 +01:00
trng.c KVM: arm64: Implement the TRNG hypervisor call 2021-01-25 22:19:31 +00:00
va_layout.c arm64: alternatives: kvm: prepare for cap changes 2022-09-16 17:15:02 +01:00
vgic-sys-reg-v3.c KVM: arm64: vgic-v3: Convert userspace accessors over to FIELD_GET/FIELD_PREP 2022-07-17 11:55:33 +01:00
vmid.c KVM: arm64: Reload stage-2 for VMID change on VHE 2023-10-20 17:52:01 +00:00