summaryrefslogtreecommitdiff
path: root/virt/kvm/arm/arm.c
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2020-03-24 15:45:27 +0300
committerMarc Zyngier <maz@kernel.org>2020-03-24 15:45:27 +0300
commitcc98702c1775a9ff3d943674c97d9561cf605fcd (patch)
treefbc3f129b173e6f31343cb73a9fb4d79754f0d4c /virt/kvm/arm/arm.c
parent76a5db107273b1ad01471e48c49635e2b944a7f4 (diff)
parentdab4fe3bf6dd87a7d6dbab2c929afd1ef62a120b (diff)
downloadlinux-cc98702c1775a9ff3d943674c97d9561cf605fcd.tar.xz
Merge branch 'kvm-arm64/gic-v4.1' into kvmarm-master/next
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'virt/kvm/arm/arm.c')
-rw-r--r--virt/kvm/arm/arm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/virt/kvm/arm/arm.c b/virt/kvm/arm/arm.c
index eda7b624eab8..4d864f857ac8 100644
--- a/virt/kvm/arm/arm.c
+++ b/virt/kvm/arm/arm.c
@@ -625,6 +625,14 @@ static void check_vcpu_requests(struct kvm_vcpu *vcpu)
if (kvm_check_request(KVM_REQ_RECORD_STEAL, vcpu))
kvm_update_stolen_time(vcpu);
+
+ if (kvm_check_request(KVM_REQ_RELOAD_GICv4, vcpu)) {
+ /* The distributor enable bits were changed */
+ preempt_disable();
+ vgic_v4_put(vcpu, false);
+ vgic_v4_load(vcpu);
+ preempt_enable();
+ }
}
}