diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2013-05-14 12:11:38 +0100 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2013-06-26 10:50:03 -0700 |
commit | 8734f16fb2aa4ff0bb57ad6532661a38bc8ff957 (patch) | |
tree | e19cfee3ff6878cd868fbe1083d52fe3ddd26bbf /arch/arm/kvm/mmio.c | |
parent | dac288f7b38a7439502b77dabcdf8a9a5c4ae721 (diff) | |
download | linux-stable-8734f16fb2aa4ff0bb57ad6532661a38bc8ff957.tar.gz linux-stable-8734f16fb2aa4ff0bb57ad6532661a38bc8ff957.tar.bz2 linux-stable-8734f16fb2aa4ff0bb57ad6532661a38bc8ff957.zip |
ARM: KVM: don't special case PC when doing an MMIO
Admitedly, reading a MMIO register to load PC is very weird.
Writing PC to a MMIO register is probably even worse. But
the architecture doesn't forbid any of these, and injecting
a Prefetch Abort is the wrong thing to do anyway.
Remove this check altogether, and let the adventurous guest
wander into LaLaLand if they feel compelled to do so.
Reported-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Diffstat (limited to 'arch/arm/kvm/mmio.c')
-rw-r--r-- | arch/arm/kvm/mmio.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/arm/kvm/mmio.c b/arch/arm/kvm/mmio.c index 72a12f2171b2..b8e06b7a2833 100644 --- a/arch/arm/kvm/mmio.c +++ b/arch/arm/kvm/mmio.c @@ -86,12 +86,6 @@ static int decode_hsr(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa, sign_extend = kvm_vcpu_dabt_issext(vcpu); rt = kvm_vcpu_dabt_get_rd(vcpu); - if (kvm_vcpu_reg_is_pc(vcpu, rt)) { - /* IO memory trying to read/write pc */ - kvm_inject_pabt(vcpu, kvm_vcpu_get_hfar(vcpu)); - return 1; - } - mmio->is_write = is_write; mmio->phys_addr = fault_ipa; mmio->len = len; |