summaryrefslogtreecommitdiffstats
path: root/arch/arm/kvm/mmio.c
diff options
context:
space:
mode:
authorMarc Zyngier2013-01-22 01:36:12 +0100
committerMarc Zyngier2013-02-11 19:58:55 +0100
commit1a89dd9113badd7487313410a5f2e09b2944f92b (patch)
treebc787a59d8a436dc5bb4916218dac77ac854bc9d /arch/arm/kvm/mmio.c
parentARM: KVM: Keep track of currently running vcpus (diff)
downloadkernel-qcow2-linux-1a89dd9113badd7487313410a5f2e09b2944f92b.tar.gz
kernel-qcow2-linux-1a89dd9113badd7487313410a5f2e09b2944f92b.tar.xz
kernel-qcow2-linux-1a89dd9113badd7487313410a5f2e09b2944f92b.zip
ARM: KVM: Initial VGIC infrastructure code
Wire the basic framework code for VGIC support and the initial in-kernel MMIO support code for the VGIC, used for the distributor emulation. Reviewed-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Christoffer Dall <c.dall@virtualopensystems.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm/kvm/mmio.c')
-rw-r--r--arch/arm/kvm/mmio.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/kvm/mmio.c b/arch/arm/kvm/mmio.c
index 0144baf82904..98a870ff1a5c 100644
--- a/arch/arm/kvm/mmio.c
+++ b/arch/arm/kvm/mmio.c
@@ -148,6 +148,9 @@ int io_mem_abort(struct kvm_vcpu *vcpu, struct kvm_run *run,
if (mmio.is_write)
memcpy(mmio.data, vcpu_reg(vcpu, rt), mmio.len);
+ if (vgic_handle_mmio(vcpu, run, &mmio))
+ return 1;
+
kvm_prepare_mmio(run, &mmio);
return 0;
}