diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2019-12-18 17:47:38 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-12-18 17:47:38 +0100 |
commit | f5d5f5fae4605b66fd17e3c46feb14c6c3372e5c (patch) | |
tree | 04fa761fb1d7adbbecfec06914d6702428c08b3c /virt/kvm/arm/mmio.c | |
parent | 8715f05269bfbc6453e25e80825d781a82902f8e (diff) | |
parent | 6d674e28f642e3ff676fbae2d8d1b872814d32b6 (diff) |
Merge tag 'kvmarm-fixes-5.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master
KVM/arm fixes for .5.5, take #1
- Fix uninitialised sysreg accessor
- Fix handling of demand-paged device mappings
- Stop spamming the console on IMPDEF sysregs
- Relax mappings of writable memslots
- Assorted cleanups
Diffstat (limited to 'virt/kvm/arm/mmio.c')
-rw-r--r-- | virt/kvm/arm/mmio.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/virt/kvm/arm/mmio.c b/virt/kvm/arm/mmio.c index 6af5c91337f2..70d3b449692c 100644 --- a/virt/kvm/arm/mmio.c +++ b/virt/kvm/arm/mmio.c @@ -167,7 +167,14 @@ int io_mem_abort(struct kvm_vcpu *vcpu, struct kvm_run *run, if (ret) return ret; } else { - kvm_err("load/store instruction decoding not implemented\n"); + if (vcpu->kvm->arch.return_nisv_io_abort_to_user) { + run->exit_reason = KVM_EXIT_ARM_NISV; + run->arm_nisv.esr_iss = kvm_vcpu_dabt_iss_nisv_sanitized(vcpu); + run->arm_nisv.fault_ipa = fault_ipa; + return 0; + } + + kvm_pr_unimpl("Data abort outside memslots with no valid syndrome info\n"); return -ENOSYS; } |