diff options
author | Will Deacon <will@kernel.org> | 2020-07-29 11:28:21 +0100 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2020-07-30 16:02:37 +0100 |
commit | 022c8328dc8021248047b373b9f67790641b8f2d (patch) | |
tree | ab029c9e5315e378084d49e8391b1ba64a5c7e7c /arch/arm64/kvm/mmio.c | |
parent | 54dc0d2404dd7aa0dd4e4f388a65622b68c6eaff (diff) | |
download | linux-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.c | 6 |
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 |