kernel_optimize_test/arch/arm/kvm
Ard Biesheuvel a7d079cea2 ARM/arm64: KVM: fix use of WnR bit in kvm_is_write_fault()
The ISS encoding for an exception from a Data Abort has a WnR
bit[6] that indicates whether the Data Abort was caused by a
read or a write instruction. While there are several fields
in the encoding that are only valid if the ISV bit[24] is set,
WnR is not one of them, so we can read it unconditionally.

Instead of fixing both implementations of kvm_is_write_fault()
in place, reimplement it just once using kvm_vcpu_dabt_iswrite(),
which already does the right thing with respect to the WnR bit.
Also fix up the callers to pass 'vcpu'

Acked-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2014-09-11 11:31:13 +01:00
..
arm.c KVM: ARM/arm64: fix broken __percpu annotation 2014-08-27 22:49:45 +02:00
coproc_a7.c ARM: KVM: trap VM system registers until MMU and caches are ON 2014-03-03 01:15:24 +00:00
coproc_a15.c ARM: KVM: trap VM system registers until MMU and caches are ON 2014-03-03 01:15:24 +00:00
coproc.c KVM: ARM/arm64: avoid returning negative error code as bool 2014-08-27 22:49:45 +02:00
coproc.h ARM: KVM: trap VM system registers until MMU and caches are ON 2014-03-03 01:15:24 +00:00
emulate.c KVM: ARM: Fix typo in comments of inject_abt() 2013-10-02 17:29:19 +01:00
guest.c KVM: ARM/arm64: return -EFAULT if copy_from_user fails in set_timer_reg 2014-08-27 22:49:45 +02:00
handle_exit.c ARM/ARM64: KVM: Make kvm_psci_call() return convention more flexible 2014-04-30 04:18:57 -07:00
init.S Here are the PPC and ARM changes for KVM, which I separated because 2014-08-07 11:35:30 -07:00
interrupts_head.S ARM: KVM: handle 64bit values passed to mrcc or from mcrr instructions in BE case 2014-07-11 04:57:38 -07:00
interrupts.S ARM: KVM: __kvm_vcpu_run function return result fix in BE case 2014-07-11 04:57:39 -07:00
Kconfig ARM: KVM: enable KVM in Kconfig on big-endian systems 2014-07-11 04:57:41 -07:00
Makefile KVM: ARM: vgic: split GICv2 backend from the main vgic code 2014-07-11 04:57:34 -07:00
mmio.c arm/arm64: KVM: MMIO support for BE guest 2013-11-07 19:09:04 +00:00
mmu.c ARM/arm64: KVM: fix use of WnR bit in kvm_is_write_fault() 2014-09-11 11:31:13 +01:00
perf.c ARM: KVM: add support for minimal host vs guest profiling 2013-04-28 21:44:01 -07:00
psci.c ARM/ARM64: KVM: Emulate PSCI v0.2 CPU_SUSPEND 2014-04-30 04:18:58 -07:00
reset.c Updates for KVM/ARM, take 3 supporting more than 4 CPUs. 2013-11-11 12:02:27 +01:00
trace.h ARM: KVM: Simplify tracepoint text 2013-08-30 15:47:53 -07:00