linux/arch/arm64
Marc Zyngier 8fc153cda9 arm64: KVM: Fix AArch64 guest userspace exception injection
At the moment, our fault injection is pretty limited. We always
generate a SYNC exception into EL1, as if the fault was actually
from EL1h, no matter how it was generated.

This is obviously wrong, as EL0 can generate faults of its own
(not to mention the pretty-much unused EL1t mode).

This patch fixes it by implementing section D1.10.2 of the ARMv8 ARM,
and in particular table D1-7 ("Vector offsets from vector table base
address"), which describes which vector to use depending on the source
exception level and type (synchronous, IRQ, FIQ or SError).

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Tested-by: Shannon Zhao <shannon.zhao@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-01-24 21:55:57 +00:00
..
boot ARM: SoC support for Tegra platforms for v4.5 2016-01-22 17:30:52 -08:00
configs Third Round of Renesas ARM64 Based SoC Defconfig Updates for v4.5 2015-12-22 12:50:29 -08:00
crypto arm64: crypto: reduce priority of core AES cipher 2015-11-18 12:09:08 +00:00
include dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
kernel arm64: insn: remove BUG_ON from codegen 2016-01-17 19:15:26 -05:00
kvm arm64: KVM: Fix AArch64 guest userspace exception injection 2016-01-24 21:55:57 +00:00
lib arm64: add KASAN support 2015-10-12 17:46:36 +01:00
mm arm64, thp: remove infrastructure for handling splitting PMDs 2016-01-15 17:56:32 -08:00
net arm64: bpf: add extra pass to handle faulty codegen 2016-01-17 19:15:26 -05:00
xen xen/arm: introduce HYPERVISOR_platform_op on arm and arm64 2015-12-21 14:40:56 +00:00
Kconfig dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
Kconfig.debug arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug 2016-01-09 06:30:49 -08:00
Kconfig.platforms ARM: SoC support for Tegra platforms for v4.5 2016-01-22 17:30:52 -08:00
Makefile arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00