arm/arm64: KVM: introduce per-VM ops
commitb26e5fdac43c1b7c394502917e42e3b91f3aa1a3
authorAndre Przywara <andre.przywara@arm.com>
Mon, 2 Jun 2014 14:19:12 +0000 (2 16:19 +0200)
committerChristoffer Dall <christoffer.dall@linaro.org>
Tue, 20 Jan 2015 17:25:26 +0000 (20 18:25 +0100)
tree128812f82e426b1d6d460421f9b2efe5b0904779
parent05bc8aafe664b3c7507736db305b3d3910ed2f05
arm/arm64: KVM: introduce per-VM ops

Currently we only have one virtual GIC model supported, so all guests
use the same emulation code. With the addition of another model we
end up with different guests using potentially different vGIC models,
so we have to split up some functions to be per VM.
Introduce a vgic_vm_ops struct to hold function pointers for those
functions that are different and provide the necessary code to
initialize them.
Also split up the vgic_init() function to separate out VGIC model
specific functionality into a separate function, which will later be
different for a GICv3 model.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
include/kvm/arm_vgic.h
virt/kvm/arm/vgic.c