summaryrefslogtreecommitdiffstats
path: root/arch/arm/kvm/interrupts.S
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2013-01-22 01:36:12 +0100
committerMarc Zyngier <marc.zyngier@arm.com>2013-02-11 19:58:55 +0100
commit1a89dd9113badd7487313410a5f2e09b2944f92b (patch)
treebc787a59d8a436dc5bb4916218dac77ac854bc9d /arch/arm/kvm/interrupts.S
parentARM: KVM: Keep track of currently running vcpus (diff)
downloadlinux-1a89dd9113badd7487313410a5f2e09b2944f92b.tar.xz
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/interrupts.S')
-rw-r--r--arch/arm/kvm/interrupts.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/kvm/interrupts.S b/arch/arm/kvm/interrupts.S
index c5400d2e97ca..5f113bedfaee 100644
--- a/arch/arm/kvm/interrupts.S
+++ b/arch/arm/kvm/interrupts.S
@@ -94,6 +94,8 @@ ENTRY(__kvm_vcpu_run)
save_host_regs
+ restore_vgic_state
+
@ Store hardware CP15 state and load guest state
read_cp15_state store_to_vcpu = 0
write_cp15_state read_from_vcpu = 1
@@ -187,6 +189,8 @@ after_vfp_restore:
read_cp15_state store_to_vcpu = 1
write_cp15_state read_from_vcpu = 0
+ save_vgic_state
+
restore_host_regs
clrex @ Clear exclusive monitor
mov r0, r1 @ Return the return code