diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2013-06-21 06:57:56 -0400 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2014-07-11 07:57:36 -0400 |
commit | 1a9b13056dde7e3092304d6041ccc60a913042ea (patch) | |
tree | 3e70b5ee93eb9c0bbc8271b240a19cf69a605bb2 /virt/kvm/arm | |
parent | 45451914c875bba44903ce4f1445e047b7992bf7 (diff) |
arm64: KVM: split GICv2 world switch from hyp code
Move the GICv2 world switch code into its own file, and add the
necessary indirection to the arm64 switch code.
Also introduce a new type field to the vgic_params structure.
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'virt/kvm/arm')
-rw-r--r-- | virt/kvm/arm/vgic-v2.c | 1 | ||||
-rw-r--r-- | virt/kvm/arm/vgic.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/virt/kvm/arm/vgic-v2.c b/virt/kvm/arm/vgic-v2.c index 940418ebd0d0..d6c9c142f813 100644 --- a/virt/kvm/arm/vgic-v2.c +++ b/virt/kvm/arm/vgic-v2.c | |||
@@ -236,6 +236,7 @@ int vgic_v2_probe(struct device_node *vgic_node, | |||
236 | kvm_info("%s@%llx IRQ%d\n", vgic_node->name, | 236 | kvm_info("%s@%llx IRQ%d\n", vgic_node->name, |
237 | vctrl_res.start, vgic->maint_irq); | 237 | vctrl_res.start, vgic->maint_irq); |
238 | 238 | ||
239 | vgic->type = VGIC_V2; | ||
239 | *ops = &vgic_v2_ops; | 240 | *ops = &vgic_v2_ops; |
240 | *params = vgic; | 241 | *params = vgic; |
241 | goto out; | 242 | goto out; |
diff --git a/virt/kvm/arm/vgic.c b/virt/kvm/arm/vgic.c index 1348e74c4d11..7867b9a1f694 100644 --- a/virt/kvm/arm/vgic.c +++ b/virt/kvm/arm/vgic.c | |||
@@ -1568,6 +1568,9 @@ int kvm_vgic_hyp_init(void) | |||
1568 | 1568 | ||
1569 | on_each_cpu(vgic_init_maintenance_interrupt, NULL, 1); | 1569 | on_each_cpu(vgic_init_maintenance_interrupt, NULL, 1); |
1570 | 1570 | ||
1571 | /* Callback into for arch code for setup */ | ||
1572 | vgic_arch_setup(vgic); | ||
1573 | |||
1571 | return 0; | 1574 | return 0; |
1572 | 1575 | ||
1573 | out_free_irq: | 1576 | out_free_irq: |