linux-stable/arch/arm
Christoffer Dall 83091db981 KVM: arm/arm64: Fix MMIO emulation data handling
When the kernel was handling a guest MMIO read access internally, we
need to copy the emulation result into the run->mmio structure in order
for the kvm_handle_mmio_return() function to pick it up and inject the
	result back into the guest.

Currently the only user of kvm_io_bus for ARM is the VGIC, which did
this copying itself, so this was not causing issues so far.

But with the upcoming new vgic implementation we need this done
properly.

Update the kvm_handle_mmio_return description and cleanup the code to
only perform a single copying when needed.

Code and commit message inspired by Andre Przywara.

Reported-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2016-05-20 15:39:42 +02:00
..
boot ARM: DT changes, part 2 2016-03-24 19:01:38 -07:00
common Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2016-03-19 16:31:54 -07:00
configs ARM: SoC defconfig updates for v4.6 2016-03-20 15:32:14 -07:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
firmware
include kvm: arm64: Enable hardware updates of the Access Flag for Stage 2 page tables 2016-05-09 22:23:08 +02:00
kernel arch, ftrace: for KASAN put hard/soft IRQ entries into separate sections 2016-03-25 16:37:42 -07:00
kvm KVM: arm/arm64: Fix MMIO emulation data handling 2016-05-20 15:39:42 +02:00
lib
mach-alpine
mach-artpec
mach-asm9260
mach-at91
mach-axxia
mach-bcm
mach-berlin
mach-clps711x
mach-cns3xxx ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-davinci ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-digicolor
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-footbridge
mach-gemini
mach-highbank
mach-hisi
mach-imx ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx This is the bulk of GPIO changes for kernel v4.6: 2016-03-17 21:05:32 -07:00
mach-keystone ARM: DT updates for v4.6 2016-03-20 15:15:48 -07:00
mach-ks8695 ARM: SoC non-urgent fixes for v4.6 2016-03-20 14:26:57 -07:00
mach-lpc18xx
mach-lpc32xx ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-mediatek ARM: DT updates for v4.6 2016-03-20 15:15:48 -07:00
mach-meson
mach-mmp
mach-moxart
mach-mv78xx0 ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-mvebu The clk changes for this release cycle are mostly dominated by 2016-03-23 06:06:45 -07:00
mach-mxs
mach-netx ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-nomadik
mach-nspire ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-omap1 ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-omap2 ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-orion5x ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-picoxcell
mach-prima2 ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-pxa ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-qcom
mach-realview
mach-rockchip
mach-rpc
mach-s3c24xx ARM: SoC 64-bit changes for v4.6 2016-03-20 15:08:45 -07:00
mach-s3c64xx ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mach-s5pv210
mach-sa1100 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2016-03-19 16:31:54 -07:00
mach-shmobile The clk changes for this release cycle are mostly dominated by 2016-03-23 06:06:45 -07:00
mach-socfpga ARM: SoC non-urgent fixes for v4.6 2016-03-20 14:26:57 -07:00
mach-spear
mach-sti
mach-stm32
mach-sunxi
mach-tango
mach-tegra Here's another round of updates for -next: 2016-03-01 17:03:27 -05:00
mach-u300
mach-uniphier ARM: uniphier: rework SMP code to support new System Bus binding 2016-03-18 17:36:37 +01:00
mach-ux500 ARM: SoC cleanups for v4.6 2016-03-20 14:37:22 -07:00
mach-versatile
mach-vexpress
mach-vt8500
mach-w90x900 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2016-03-19 16:31:54 -07:00
mach-zx
mach-zynq ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
mm Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2016-03-19 16:31:54 -07:00
net
nwfpe
oprofile
plat-iop
plat-omap
plat-orion Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2016-03-19 16:31:54 -07:00
plat-pxa
plat-samsung MTD updates for v4.6 2016-03-24 19:57:15 -07:00
plat-versatile
probes
tools
vdso
vfp
xen
Kconfig ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00
Kconfig-nommu
Kconfig.debug
Makefile ARM: SoC platform updates for v4.6 2016-03-20 14:57:08 -07:00