aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRadim Krčmář <rkrcmar@redhat.com>2016-07-12 16:09:26 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2016-07-14 03:03:56 -0400
commitc63cf538eb4bf6a5ffd3750366d8d56f023645a5 (patch)
tree3f5633e4e461850ac5ff219985bf8ed3641f0e84
parent4d8e772bf8e3fcf55fe17e84ce68c20e03041efc (diff)
KVM: pass struct kvm to kvm_set_routing_entry
Arch-specific code will use it. Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--arch/powerpc/kvm/mpic.c3
-rw-r--r--arch/s390/kvm/interrupt.c3
-rw-r--r--arch/x86/kvm/irq_comm.c3
-rw-r--r--include/linux/kvm_host.h3
-rw-r--r--virt/kvm/irqchip.c7
5 files changed, 12 insertions, 7 deletions
diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
index 6249cdc834d1..ed38f8114118 100644
--- a/arch/powerpc/kvm/mpic.c
+++ b/arch/powerpc/kvm/mpic.c
@@ -1823,7 +1823,8 @@ int kvm_set_msi(struct kvm_kernel_irq_routing_entry *e,
1823 return 0; 1823 return 0;
1824} 1824}
1825 1825
1826int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e, 1826int kvm_set_routing_entry(struct kvm *kvm,
1827 struct kvm_kernel_irq_routing_entry *e,
1827 const struct kvm_irq_routing_entry *ue) 1828 const struct kvm_irq_routing_entry *ue)
1828{ 1829{
1829 int r = -EINVAL; 1830 int r = -EINVAL;
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c
index ca19627779db..24524c0f3ef8 100644
--- a/arch/s390/kvm/interrupt.c
+++ b/arch/s390/kvm/interrupt.c
@@ -2246,7 +2246,8 @@ static int set_adapter_int(struct kvm_kernel_irq_routing_entry *e,
2246 return ret; 2246 return ret;
2247} 2247}
2248 2248
2249int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e, 2249int kvm_set_routing_entry(struct kvm *kvm,
2250 struct kvm_kernel_irq_routing_entry *e,
2250 const struct kvm_irq_routing_entry *ue) 2251 const struct kvm_irq_routing_entry *ue)
2251{ 2252{
2252 int ret; 2253 int ret;
diff --git a/arch/x86/kvm/irq_comm.c b/arch/x86/kvm/irq_comm.c
index 47ad681a33fd..889563d50c55 100644
--- a/arch/x86/kvm/irq_comm.c
+++ b/arch/x86/kvm/irq_comm.c
@@ -248,7 +248,8 @@ static int kvm_hv_set_sint(struct kvm_kernel_irq_routing_entry *e,
248 return kvm_hv_synic_set_irq(kvm, e->hv_sint.vcpu, e->hv_sint.sint); 248 return kvm_hv_synic_set_irq(kvm, e->hv_sint.vcpu, e->hv_sint.sint);
249} 249}
250 250
251int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e, 251int kvm_set_routing_entry(struct kvm *kvm,
252 struct kvm_kernel_irq_routing_entry *e,
252 const struct kvm_irq_routing_entry *ue) 253 const struct kvm_irq_routing_entry *ue)
253{ 254{
254 int r = -EINVAL; 255 int r = -EINVAL;
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 66b2f6159aad..60d339faa94c 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -1011,7 +1011,8 @@ int kvm_set_irq_routing(struct kvm *kvm,
1011 const struct kvm_irq_routing_entry *entries, 1011 const struct kvm_irq_routing_entry *entries,
1012 unsigned nr, 1012 unsigned nr,
1013 unsigned flags); 1013 unsigned flags);
1014int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e, 1014int kvm_set_routing_entry(struct kvm *kvm,
1015 struct kvm_kernel_irq_routing_entry *e,
1015 const struct kvm_irq_routing_entry *ue); 1016 const struct kvm_irq_routing_entry *ue);
1016void kvm_free_irq_routing(struct kvm *kvm); 1017void kvm_free_irq_routing(struct kvm *kvm);
1017 1018
diff --git a/virt/kvm/irqchip.c b/virt/kvm/irqchip.c
index 8db197bb6c7a..df99e9c3b64d 100644
--- a/virt/kvm/irqchip.c
+++ b/virt/kvm/irqchip.c
@@ -135,7 +135,8 @@ void kvm_free_irq_routing(struct kvm *kvm)
135 free_irq_routing_table(rt); 135 free_irq_routing_table(rt);
136} 136}
137 137
138static int setup_routing_entry(struct kvm_irq_routing_table *rt, 138static int setup_routing_entry(struct kvm *kvm,
139 struct kvm_irq_routing_table *rt,
139 struct kvm_kernel_irq_routing_entry *e, 140 struct kvm_kernel_irq_routing_entry *e,
140 const struct kvm_irq_routing_entry *ue) 141 const struct kvm_irq_routing_entry *ue)
141{ 142{
@@ -154,7 +155,7 @@ static int setup_routing_entry(struct kvm_irq_routing_table *rt,
154 155
155 e->gsi = ue->gsi; 156 e->gsi = ue->gsi;
156 e->type = ue->type; 157 e->type = ue->type;
157 r = kvm_set_routing_entry(e, ue); 158 r = kvm_set_routing_entry(kvm, e, ue);
158 if (r) 159 if (r)
159 goto out; 160 goto out;
160 if (e->type == KVM_IRQ_ROUTING_IRQCHIP) 161 if (e->type == KVM_IRQ_ROUTING_IRQCHIP)
@@ -211,7 +212,7 @@ int kvm_set_irq_routing(struct kvm *kvm,
211 kfree(e); 212 kfree(e);
212 goto out; 213 goto out;
213 } 214 }
214 r = setup_routing_entry(new, e, ue); 215 r = setup_routing_entry(kvm, new, e, ue);
215 if (r) { 216 if (r) {
216 kfree(e); 217 kfree(e);
217 goto out; 218 goto out;