Commit abdb080f authored by Andrey Smetanin's avatar Andrey Smetanin Committed by Paolo Bonzini

kvm/irqchip: kvm_arch_irq_routing_update renaming split

Actually kvm_arch_irq_routing_update() should be
kvm_arch_post_irq_routing_update() as it's called at the end
of irq routing update.

This renaming frees kvm_arch_irq_routing_update function name.
kvm_arch_irq_routing_update() weak function which will be used
to update mappings for arch-specific irq routing entries
(in particular, the upcoming Hyper-V synthetic interrupts).
Signed-off-by: default avatarAndrey Smetanin <asmetanin@virtuozzo.com>
Reviewed-by: default avatarRoman Kagan <rkagan@virtuozzo.com>
Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
CC: Gleb Natapov <gleb@kernel.org>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Roman Kagan <rkagan@virtuozzo.com>
CC: Denis V. Lunev <den@openvz.org>
CC: qemu-devel@nongnu.org
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent b2467e74
...@@ -332,7 +332,7 @@ int kvm_setup_empty_irq_routing(struct kvm *kvm) ...@@ -332,7 +332,7 @@ int kvm_setup_empty_irq_routing(struct kvm *kvm)
return kvm_set_irq_routing(kvm, empty_routing, 0, 0); return kvm_set_irq_routing(kvm, empty_routing, 0, 0);
} }
void kvm_arch_irq_routing_update(struct kvm *kvm) void kvm_arch_post_irq_routing_update(struct kvm *kvm)
{ {
if (ioapic_in_kernel(kvm) || !irqchip_in_kernel(kvm)) if (ioapic_in_kernel(kvm) || !irqchip_in_kernel(kvm))
return; return;
......
...@@ -484,12 +484,12 @@ void vcpu_put(struct kvm_vcpu *vcpu); ...@@ -484,12 +484,12 @@ void vcpu_put(struct kvm_vcpu *vcpu);
#ifdef __KVM_HAVE_IOAPIC #ifdef __KVM_HAVE_IOAPIC
void kvm_vcpu_request_scan_ioapic(struct kvm *kvm); void kvm_vcpu_request_scan_ioapic(struct kvm *kvm);
void kvm_arch_irq_routing_update(struct kvm *kvm); void kvm_arch_post_irq_routing_update(struct kvm *kvm);
#else #else
static inline void kvm_vcpu_request_scan_ioapic(struct kvm *kvm) static inline void kvm_vcpu_request_scan_ioapic(struct kvm *kvm)
{ {
} }
static inline void kvm_arch_irq_routing_update(struct kvm *kvm) static inline void kvm_arch_post_irq_routing_update(struct kvm *kvm)
{ {
} }
#endif #endif
...@@ -1091,6 +1091,7 @@ static inline void kvm_irq_routing_update(struct kvm *kvm) ...@@ -1091,6 +1091,7 @@ static inline void kvm_irq_routing_update(struct kvm *kvm)
{ {
} }
#endif #endif
void kvm_arch_irq_routing_update(struct kvm *kvm);
static inline int kvm_ioeventfd(struct kvm *kvm, struct kvm_ioeventfd *args) static inline int kvm_ioeventfd(struct kvm *kvm, struct kvm_ioeventfd *args)
{ {
......
...@@ -166,6 +166,10 @@ static int setup_routing_entry(struct kvm_irq_routing_table *rt, ...@@ -166,6 +166,10 @@ static int setup_routing_entry(struct kvm_irq_routing_table *rt,
return r; return r;
} }
void __attribute__((weak)) kvm_arch_irq_routing_update(struct kvm *kvm)
{
}
int kvm_set_irq_routing(struct kvm *kvm, int kvm_set_irq_routing(struct kvm *kvm,
const struct kvm_irq_routing_entry *ue, const struct kvm_irq_routing_entry *ue,
unsigned nr, unsigned nr,
...@@ -219,9 +223,10 @@ int kvm_set_irq_routing(struct kvm *kvm, ...@@ -219,9 +223,10 @@ int kvm_set_irq_routing(struct kvm *kvm,
old = kvm->irq_routing; old = kvm->irq_routing;
rcu_assign_pointer(kvm->irq_routing, new); rcu_assign_pointer(kvm->irq_routing, new);
kvm_irq_routing_update(kvm); kvm_irq_routing_update(kvm);
kvm_arch_irq_routing_update(kvm);
mutex_unlock(&kvm->irq_lock); mutex_unlock(&kvm->irq_lock);
kvm_arch_irq_routing_update(kvm); kvm_arch_post_irq_routing_update(kvm);
synchronize_srcu_expedited(&kvm->irq_srcu); synchronize_srcu_expedited(&kvm->irq_srcu);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment