summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kvm/mmio.c
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2020-07-29 11:28:21 +0100
committerMarc Zyngier <maz@kernel.org>2020-07-30 16:02:37 +0100
commit022c8328dc8021248047b373b9f67790641b8f2d (patch)
treeab029c9e5315e378084d49e8391b1ba64a5c7e7c /arch/arm64/kvm/mmio.c
parent54dc0d2404dd7aa0dd4e4f388a65622b68c6eaff (diff)
downloadlinux-022c8328dc8021248047b373b9f67790641b8f2d.tar.gz
linux-022c8328dc8021248047b373b9f67790641b8f2d.tar.bz2
linux-022c8328dc8021248047b373b9f67790641b8f2d.zip
KVM: arm64: Move S1PTW S2 fault logic out of io_mem_abort()
To allow for re-injection of stage-2 faults on stage-1 page-table walks due to either a missing or read-only memslot, move the triage logic out of io_mem_abort() and into kvm_handle_guest_abort(), where these aborts can be handled before anything else. Signed-off-by: Will Deacon <will@kernel.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Cc: Marc Zyngier <maz@kernel.org> Cc: Quentin Perret <qperret@google.com> Link: https://lore.kernel.org/r/20200729102821.23392-5-will@kernel.org
Diffstat (limited to 'arch/arm64/kvm/mmio.c')
-rw-r--r--arch/arm64/kvm/mmio.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/arm64/kvm/mmio.c b/arch/arm64/kvm/mmio.c
index 4e0366759726..58de2ae4f6bb 100644
--- a/arch/arm64/kvm/mmio.c
+++ b/arch/arm64/kvm/mmio.c
@@ -145,12 +145,6 @@ int io_mem_abort(struct kvm_vcpu *vcpu, struct kvm_run *run,
return -ENOSYS;
}
- /* Page table accesses IO mem: tell guest to fix its TTBR */
- if (kvm_vcpu_dabt_iss1tw(vcpu)) {
- kvm_inject_dabt(vcpu, kvm_vcpu_get_hfar(vcpu));
- return 1;
- }
-
/*
* Prepare MMIO operation. First decode the syndrome data we get
* from the CPU. Then try if some in-kernel emulation feels