UPSTREAM: KVM: arm/arm64: prepare GICv3 emulation to use kvm_io_bus MMIO handling

Using the framework provided by the recent vgic.c changes, we
register a kvm_io_bus device on mapping the virtual GICv3 resources.
The distributor mapping is pretty straight forward, but the
redistributors need some more love, since they need to be tagged with
the respective redistributor (read: VCPU) they are connected with.
We use the kvm_io_bus framework to register one devices per VCPU.

BUG=chromium:846515
TEST=build/boot on hana with USE=kvm_host

Change-Id: Ia9d952fcdf3170b638fc68a3030f343dd4b94547
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
(cherry picked from commit fb8f61abab48467ef670ef165ff664cdc94f742e)
Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1088086
2 files changed