diff options
Diffstat (limited to 'virt/kvm/irqchip.c')
-rw-r--r-- | virt/kvm/irqchip.c | 7 |
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 | ||
169 | void __attribute__((weak)) kvm_arch_irq_routing_update(struct kvm *kvm) | ||
170 | { | ||
171 | } | ||
172 | |||
169 | int kvm_set_irq_routing(struct kvm *kvm, | 173 | int 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 | ||