aboutsummaryrefslogtreecommitdiffstats
path: root/virt/kvm/irqchip.c
diff options
context:
space:
mode:
Diffstat (limited to 'virt/kvm/irqchip.c')
-rw-r--r--virt/kvm/irqchip.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/virt/kvm/irqchip.c b/virt/kvm/irqchip.c
index f0b08a2a48ba..fe84e1a95dd5 100644
--- a/virt/kvm/irqchip.c
+++ b/virt/kvm/irqchip.c
@@ -166,6 +166,10 @@ out:
166 return r; 166 return r;
167} 167}
168 168
169void __attribute__((weak)) kvm_arch_irq_routing_update(struct kvm *kvm)
170{
171}
172
169int kvm_set_irq_routing(struct kvm *kvm, 173int kvm_set_irq_routing(struct kvm *kvm,
170 const struct kvm_irq_routing_entry *ue, 174 const struct kvm_irq_routing_entry *ue,
171 unsigned nr, 175 unsigned nr,
@@ -219,9 +223,10 @@ int kvm_set_irq_routing(struct kvm *kvm,
219 old = kvm->irq_routing; 223 old = kvm->irq_routing;
220 rcu_assign_pointer(kvm->irq_routing, new); 224 rcu_assign_pointer(kvm->irq_routing, new);
221 kvm_irq_routing_update(kvm); 225 kvm_irq_routing_update(kvm);
226 kvm_arch_irq_routing_update(kvm);
222 mutex_unlock(&kvm->irq_lock); 227 mutex_unlock(&kvm->irq_lock);
223 228
224 kvm_arch_irq_routing_update(kvm); 229 kvm_arch_post_irq_routing_update(kvm);
225 230
226 synchronize_srcu_expedited(&kvm->irq_srcu); 231 synchronize_srcu_expedited(&kvm->irq_srcu);
227 232