android_kernel_xiaomi_sm8350/arch/arm
Andre Przywara 950324ab81 KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus
Currently we have struct kvm_exit_mmio for encapsulating MMIO abort
data to be passed on from syndrome decoding all the way down to the
VGIC register handlers. Now as we switch the MMIO handling to be
routed through the KVM MMIO bus, it does not make sense anymore to
use that structure already from the beginning. So we keep the data in
local variables until we put them into the kvm_io_bus framework.
Then we fill kvm_exit_mmio in the VGIC only, making it a VGIC private
structure. On that way we replace the data buffer in that structure
with a pointer pointing to a single location in a local variable, so
we get rid of some copying on the way.
With all of the virtual GIC emulation code now being registered with
the kvm_io_bus, we can remove all of the old MMIO handling code and
its dispatching functionality.

I didn't bother to rename kvm_exit_mmio (to vgic_mmio or something),
because that touches a lot of code lines without any good reason.

This is based on an original patch by Nikolay.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Cc: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2015-03-30 17:07:19 +01:00
..
boot ARM: SoC fixes for 3.20-rc1 2015-02-21 19:21:54 -08:00
common
configs ARM: SoC defconfig changes 2015-02-17 09:44:50 -08:00
crypto
firmware
include KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus 2015-03-30 17:07:19 +01:00
kernel arm/arm64: KVM: Kill CONFIG_KVM_ARM_{VGIC,TIMER} 2015-03-12 15:15:27 +01:00
kvm KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus 2015-03-30 17:07:19 +01:00
lib
mach-asm9260
mach-at91 ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-axxia ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-bcm ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-berlin
mach-clps711x
mach-cns3xxx Merge branch 'pci/config' into next 2015-02-02 14:49:29 -06:00
mach-davinci ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-digicolor
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-footbridge
mach-gemini
mach-highbank ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-hisi ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-imx ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx ARM: ixp4xx: fix {in,out}s{bwl} data types 2015-02-18 12:20:27 +01:00
mach-keystone ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-ks8695 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-02-12 08:51:56 -08:00
mach-lpc32xx
mach-mediatek
mach-meson
mach-mmp ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-moxart
mach-msm
mach-mv78xx0
mach-mvebu ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-omap1 ARM: SoC cleanups 2015-02-17 09:17:33 -08:00
mach-omap2 ARM: SoC fixes for 3.20-rc1 2015-02-21 19:21:54 -08:00
mach-orion5x
mach-picoxcell
mach-prima2 ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-pxa ARM: SoC cleanups 2015-02-17 09:17:33 -08:00
mach-qcom ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
mach-realview arm: realview: specify PMU types 2015-02-06 00:12:55 -08:00
mach-rockchip ARM: rockchip: force built-in regulator support for PM 2015-02-18 12:20:30 +01:00
mach-rpc
mach-s3c24xx
mach-s3c64xx
mach-s5pv210 ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-sa1100 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-02-12 08:51:56 -08:00
mach-shmobile ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-socfpga
mach-spear
mach-sti ARM: sti: always enable RESET_CONTROLLER 2015-02-18 12:20:29 +01:00
mach-sunxi
mach-tegra The clock framework changes for 3.20 contain the usual driver additions, 2015-02-21 12:30:30 -08:00
mach-u300
mach-ux500 ARM: make of_device_ids const 2015-02-19 09:44:25 +01:00
mach-versatile ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
mach-vexpress ARM: vexpress: use ARM_CPU_SUSPEND if needed 2015-02-18 12:19:09 +01:00
mach-vt8500
mach-w90x900
mach-zynq
mm Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-02-22 09:57:16 -08:00
net
nwfpe
oprofile
plat-iop arm: iop: specify PMUs are for XScale CPUs 2015-02-06 00:12:59 -08:00
plat-omap
plat-orion
plat-pxa
plat-samsung ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
plat-versatile
probes ARM: kprobes: Fix compilation error caused by superfluous '*' 2015-02-10 15:05:30 +08:00
tools
vfp
xen
Kconfig ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
Kconfig-nommu
Kconfig.debug ARM: SoC platform changes 2015-02-17 09:27:54 -08:00
Makefile