linux/arch/arm
Christoffer Dall 05e0127f9e arm/arm64: KVM: Complete WFI/WFE instructions
The architecture specifies that when the processor wakes up from a WFE
or WFI instruction, the instruction is considered complete, however we
currrently return to EL1 (or EL0) at the WFI/WFE instruction itself.

While most guests may not be affected by this because their local
exception handler performs an exception returning setting the event bit
or with an interrupt pending, some guests like UEFI will get wedged due
this little mishap.

Simply skip the instruction when we have completed the emulation.

Cc: <stable@vger.kernel.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2014-08-29 11:53:53 +02:00
..
boot The branch contains the following device tree changes the v3.17 merge 2014-08-14 09:53:39 -06:00
common Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2014-08-11 07:14:01 -07:00
configs ARM: SoC defconfig updates for 3.17 2014-08-08 11:35:11 -07:00
crypto Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-08-05 10:05:29 -07:00
firmware
include ARM: wire up memfd_create syscall 2014-08-09 14:07:59 +01:00
kernel Nicolas Pitre added generic tracepoints for tracing IPIs and updated the 2014-08-09 17:33:44 -07:00
kvm arm/arm64: KVM: Complete WFI/WFE instructions 2014-08-29 11:53:53 +02:00
lib ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-at91 This is the bulk of GPIO changes for the v3.17 development 2014-08-08 18:00:35 -07:00
mach-axxia
mach-bcm ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-berlin Berlin SoC changes for v3.17 2014-07-07 22:42:24 -07:00
mach-clps711x ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
mach-cns3xxx
mach-davinci ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
mach-dove
mach-ebsa110 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-efm32
mach-ep93xx ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-exynos ARM: EXYNOS: Fix suspend/resume sequences 2014-08-09 08:24:36 -07:00
mach-footbridge ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-gemini
mach-highbank PM / OPP: Remove ARCH_HAS_OPP 2014-07-23 00:51:30 +02:00
mach-hisi ARM: hisi: remove smp from machine descriptor 2014-07-30 22:32:21 -07:00
mach-imx ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-integrator ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-iop13xx ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-keystone
mach-ks8695 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-lpc32xx
mach-mediatek arm: add basic support for Mediatek MT6589 boards 2014-07-22 17:52:37 +02:00
mach-mmp
mach-moxart
mach-msm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-08-06 21:03:53 -07:00
mach-mv78xx0
mach-mvebu ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1 ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
mach-omap2 Few fixes for the v3.17 merge window: 2014-08-09 08:23:27 -07:00
mach-orion5x
mach-picoxcell
mach-prima2
mach-pxa Merge branch 'akpm' (second patchbomb from Andrew Morton) 2014-08-08 15:57:47 -07:00
mach-qcom
mach-realview ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
mach-rockchip ARM: SoC device-tree changes for 3.17 2014-08-08 11:16:58 -07:00
mach-rpc ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-s3c24xx Merge branch 'akpm' (second patchbomb from Andrew Morton) 2014-08-08 15:57:47 -07:00
mach-s3c64xx ARM: SAMSUNG: Remove legacy clock code 2014-07-19 04:24:59 +09:00
mach-s5pv210 ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
mach-sa1100 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-shmobile ARM: SoC device-tree changes for 3.17 2014-08-08 11:16:58 -07:00
mach-socfpga
mach-spear ARM: SoC driver changes for 3.17 2014-08-08 11:34:32 -07:00
mach-sti Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
mach-sunxi ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-tegra This is the bulk of GPIO changes for the v3.17 development 2014-08-08 18:00:35 -07:00
mach-u300
mach-ux500 Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
mach-versatile ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-vexpress ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
mach-vt8500 ARM: vt8500: Staticize local symbols 2014-07-06 17:50:01 -07:00
mach-w90x900 arch/arm/mach-w90x900/cpu.c: replace obsolete strict_strto 2014-08-08 15:57:28 -07:00
mach-zynq PM / OPP: Remove ARCH_HAS_OPP 2014-07-23 00:51:30 +02:00
mm ARM: 8114/1: LPAE: load upper bits of early TTBR0/TTBR1 2014-08-09 08:42:12 +01:00
net net: filter: split 'struct sk_filter' into socket and bpf parts 2014-08-02 15:03:58 -07:00
nwfpe ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
oprofile Merge branch 'devel-stable' into for-next 2014-08-05 10:27:25 +01:00
plat-iop
plat-omap ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
plat-orion
plat-pxa
plat-samsung Merge branch 'cleanup/gpio-header-removal' into next/soc 2014-07-26 18:00:40 +02:00
plat-versatile
tools
vfp ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
xen arm/xen: remove duplicate arch_gnttab_init() function 2014-08-11 11:59:14 +01:00
Kconfig Merge branch 'akpm' (second patchbomb from Andrew Morton) 2014-08-08 15:57:47 -07:00
Kconfig-nommu
Kconfig.debug ARM: SoC device-tree changes for 3.17 2014-08-08 11:16:58 -07:00
Makefile ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00