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>
This commit is contained in:
parent
4d8e772bf8
commit
c63cf538eb
|
@ -1823,7 +1823,8 @@ int kvm_set_msi(struct kvm_kernel_irq_routing_entry *e,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e,
|
int kvm_set_routing_entry(struct kvm *kvm,
|
||||||
|
struct kvm_kernel_irq_routing_entry *e,
|
||||||
const struct kvm_irq_routing_entry *ue)
|
const struct kvm_irq_routing_entry *ue)
|
||||||
{
|
{
|
||||||
int r = -EINVAL;
|
int r = -EINVAL;
|
||||||
|
|
|
@ -2246,7 +2246,8 @@ static int set_adapter_int(struct kvm_kernel_irq_routing_entry *e,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e,
|
int kvm_set_routing_entry(struct kvm *kvm,
|
||||||
|
struct kvm_kernel_irq_routing_entry *e,
|
||||||
const struct kvm_irq_routing_entry *ue)
|
const struct kvm_irq_routing_entry *ue)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
|
@ -248,7 +248,8 @@ static int kvm_hv_set_sint(struct kvm_kernel_irq_routing_entry *e,
|
||||||
return kvm_hv_synic_set_irq(kvm, e->hv_sint.vcpu, e->hv_sint.sint);
|
return kvm_hv_synic_set_irq(kvm, e->hv_sint.vcpu, e->hv_sint.sint);
|
||||||
}
|
}
|
||||||
|
|
||||||
int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e,
|
int kvm_set_routing_entry(struct kvm *kvm,
|
||||||
|
struct kvm_kernel_irq_routing_entry *e,
|
||||||
const struct kvm_irq_routing_entry *ue)
|
const struct kvm_irq_routing_entry *ue)
|
||||||
{
|
{
|
||||||
int r = -EINVAL;
|
int r = -EINVAL;
|
||||||
|
|
|
@ -1011,7 +1011,8 @@ int kvm_set_irq_routing(struct kvm *kvm,
|
||||||
const struct kvm_irq_routing_entry *entries,
|
const struct kvm_irq_routing_entry *entries,
|
||||||
unsigned nr,
|
unsigned nr,
|
||||||
unsigned flags);
|
unsigned flags);
|
||||||
int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e,
|
int kvm_set_routing_entry(struct kvm *kvm,
|
||||||
|
struct kvm_kernel_irq_routing_entry *e,
|
||||||
const struct kvm_irq_routing_entry *ue);
|
const struct kvm_irq_routing_entry *ue);
|
||||||
void kvm_free_irq_routing(struct kvm *kvm);
|
void kvm_free_irq_routing(struct kvm *kvm);
|
||||||
|
|
||||||
|
|
|
@ -135,7 +135,8 @@ void kvm_free_irq_routing(struct kvm *kvm)
|
||||||
free_irq_routing_table(rt);
|
free_irq_routing_table(rt);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int setup_routing_entry(struct kvm_irq_routing_table *rt,
|
static int setup_routing_entry(struct kvm *kvm,
|
||||||
|
struct kvm_irq_routing_table *rt,
|
||||||
struct kvm_kernel_irq_routing_entry *e,
|
struct kvm_kernel_irq_routing_entry *e,
|
||||||
const struct kvm_irq_routing_entry *ue)
|
const struct kvm_irq_routing_entry *ue)
|
||||||
{
|
{
|
||||||
|
@ -154,7 +155,7 @@ static int setup_routing_entry(struct kvm_irq_routing_table *rt,
|
||||||
|
|
||||||
e->gsi = ue->gsi;
|
e->gsi = ue->gsi;
|
||||||
e->type = ue->type;
|
e->type = ue->type;
|
||||||
r = kvm_set_routing_entry(e, ue);
|
r = kvm_set_routing_entry(kvm, e, ue);
|
||||||
if (r)
|
if (r)
|
||||||
goto out;
|
goto out;
|
||||||
if (e->type == KVM_IRQ_ROUTING_IRQCHIP)
|
if (e->type == KVM_IRQ_ROUTING_IRQCHIP)
|
||||||
|
@ -211,7 +212,7 @@ int kvm_set_irq_routing(struct kvm *kvm,
|
||||||
kfree(e);
|
kfree(e);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
r = setup_routing_entry(new, e, ue);
|
r = setup_routing_entry(kvm, new, e, ue);
|
||||||
if (r) {
|
if (r) {
|
||||||
kfree(e);
|
kfree(e);
|
||||||
goto out;
|
goto out;
|
||||||
|
|
Loading…
Reference in New Issue