search for: kvm_irq_routing_hv_sint

Displaying 15 results from an estimated 15 matches for "kvm_irq_routing_hv_sint".

2015 Oct 09
4
[PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller
..._msi_inatomic(struct kvm_kernel_irq_routing_entry *e, > struct kvm *kvm) > @@ -289,6 +300,11 @@ int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e, > e->msi.address_hi = ue->u.msi.address_hi; > e->msi.data = ue->u.msi.data; > break; > + case KVM_IRQ_ROUTING_HV_SINT: > + e->set = kvm_hv_set_sint; > + e->hv_sint.vcpu = ue->u.hv_sint.vcpu; > + e->hv_sint.sint = ue->u.hv_sint.sint; > + break; > default: > goto out; > } > diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c > index 944b38a..63edbec 100644 &g...
2015 Oct 09
4
[PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller
..._msi_inatomic(struct kvm_kernel_irq_routing_entry *e, > struct kvm *kvm) > @@ -289,6 +300,11 @@ int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e, > e->msi.address_hi = ue->u.msi.address_hi; > e->msi.data = ue->u.msi.data; > break; > + case KVM_IRQ_ROUTING_HV_SINT: > + e->set = kvm_hv_set_sint; > + e->hv_sint.vcpu = ue->u.hv_sint.vcpu; > + e->hv_sint.sint = ue->u.hv_sint.sint; > + break; > default: > goto out; > } > diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c > index 944b38a..63edbec 100644 &g...
2015 Oct 26
1
[PATCH 3/7] linux-headers/kvm: add Hyper-V SynIC irq routing type and struct
...ct kvm_ppc_smmu_info { #define KVM_CAP_GUEST_DEBUG_HW_WPS 120 #define KVM_CAP_SPLIT_IRQCHIP 121 #define KVM_CAP_IOEVENTFD_ANY_LENGTH 122 +#define KVM_CAP_HYPERV_SYNIC 123 #ifdef KVM_CAP_IRQ_ROUTING @@ -854,10 +855,16 @@ struct kvm_irq_routing_s390_adapter { __u32 adapter_id; }; +struct kvm_irq_routing_hv_sint { + __u32 vcpu; + __u32 sint; +}; + /* gsi routing entry types */ #define KVM_IRQ_ROUTING_IRQCHIP 1 #define KVM_IRQ_ROUTING_MSI 2 #define KVM_IRQ_ROUTING_S390_ADAPTER 3 +#define KVM_IRQ_ROUTING_HV_SINT 4 struct kvm_irq_routing_entry { __u32 gsi; @@ -868,6 +875,7 @@ struct kvm_irq_routing_e...
2015 Oct 09
0
[PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller
...int); +} static int kvm_set_msi_inatomic(struct kvm_kernel_irq_routing_entry *e, struct kvm *kvm) @@ -289,6 +300,11 @@ int kvm_set_routing_entry(struct kvm_kernel_irq_routing_entry *e, e->msi.address_hi = ue->u.msi.address_hi; e->msi.data = ue->u.msi.data; break; + case KVM_IRQ_ROUTING_HV_SINT: + e->set = kvm_hv_set_sint; + e->hv_sint.vcpu = ue->u.hv_sint.vcpu; + e->hv_sint.sint = ue->u.hv_sint.sint; + break; default: goto out; } diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index 944b38a..63edbec 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/l...
2015 Oct 09
5
[PATCH 0/2] Hyper-V synthetic interrupt controller
This patchset implements the KVM part of the synthetic interrupt controller (synic) which is a building block of the Hyper-V paravirtualized device bus (vmbus). Synic is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI
2015 Oct 09
5
[PATCH 0/2] Hyper-V synthetic interrupt controller
This patchset implements the KVM part of the synthetic interrupt controller (synic) which is a building block of the Hyper-V paravirtualized device bus (vmbus). Synic is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI
2015 Oct 12
0
[PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller
...;> + * Allow only one to one mapping between GSI and MSI/Hyper-V SINT. >> */ >> hlist_for_each_entry(ei, &rt->map[ue->gsi], link) >> if (ei->type == KVM_IRQ_ROUTING_MSI || >> ue->type == KVM_IRQ_ROUTING_MSI || >> + ei->type == KVM_IRQ_ROUTING_HV_SINT || >> + ue->type == KVM_IRQ_ROUTING_HV_SINT || >> ue->u.irqchip.irqchip == ei->irqchip.irqchip) >> return r; > > Christian, what's the desired behavior for s390 adapter interrupts here? > Should this actually become > > if (ei->ty...
2015 Oct 16
1
[PATCH 9/9] kvm/x86: Hyper-V kvm exit
...lated with Hyper-V emulation. Currently used to synchronize modified > +Hyper-V SynIC state with userspace. > + The documentation should include the definition of the struct and the definition of the subtypes (currently KVM_EXIT_HYPERV_SYNIC only). Documentation for KVM_CAP_HYPERV_SINIC and KVM_IRQ_ROUTING_HV_SINT is missing, too. Finally, it would be better to have unit tests in kvm-unit-tests. Either this or QEMU support is a requirement for merging, and the unit tests are probably easier. But apart from this, the series looks great and I'm already applying it to kvm/queue so that it gets some more t...
2015 Oct 16
1
[PATCH 9/9] kvm/x86: Hyper-V kvm exit
...lated with Hyper-V emulation. Currently used to synchronize modified > +Hyper-V SynIC state with userspace. > + The documentation should include the definition of the struct and the definition of the subtypes (currently KVM_EXIT_HYPERV_SYNIC only). Documentation for KVM_CAP_HYPERV_SINIC and KVM_IRQ_ROUTING_HV_SINT is missing, too. Finally, it would be better to have unit tests in kvm-unit-tests. Either this or QEMU support is a requirement for merging, and the unit tests are probably easier. But apart from this, the series looks great and I'm already applying it to kvm/queue so that it gets some more t...
2015 Oct 12
2
[PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller
...to one mapping between GSI and MSI/Hyper-V SINT. > >> */ > >> hlist_for_each_entry(ei, &rt->map[ue->gsi], link) > >> if (ei->type == KVM_IRQ_ROUTING_MSI || > >> ue->type == KVM_IRQ_ROUTING_MSI || > >> + ei->type == KVM_IRQ_ROUTING_HV_SINT || > >> + ue->type == KVM_IRQ_ROUTING_HV_SINT || > >> ue->u.irqchip.irqchip == ei->irqchip.irqchip) > >> return r; > > > > Christian, what's the desired behavior for s390 adapter interrupts here? > > Should this actually be...
2015 Oct 12
2
[PATCH 1/2] kvm/x86: Hyper-V synthetic interrupt controller
...to one mapping between GSI and MSI/Hyper-V SINT. > >> */ > >> hlist_for_each_entry(ei, &rt->map[ue->gsi], link) > >> if (ei->type == KVM_IRQ_ROUTING_MSI || > >> ue->type == KVM_IRQ_ROUTING_MSI || > >> + ei->type == KVM_IRQ_ROUTING_HV_SINT || > >> + ue->type == KVM_IRQ_ROUTING_HV_SINT || > >> ue->u.irqchip.irqchip == ei->irqchip.irqchip) > >> return r; > > > > Christian, what's the desired behavior for s390 adapter interrupts here? > > Should this actually be...
2015 Oct 16
10
[PATCH v2 0/9] Hyper-V synthetic interrupt controller
This patchset implements the KVM part of the synthetic interrupt controller (SynIC) which is a building block of the Hyper-V paravirtualized device bus (vmbus). SynIC is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI
2015 Oct 16
10
[PATCH v2 0/9] Hyper-V synthetic interrupt controller
This patchset implements the KVM part of the synthetic interrupt controller (SynIC) which is a building block of the Hyper-V paravirtualized device bus (vmbus). SynIC is a lapic extension, which is controlled via MSRs and maintains for each vCPU - 16 synthetic interrupt "lines" (SINT's); each can be configured to trigger a specific interrupt vector optionally with auto-EOI
2015 Oct 26
9
[PATCH 0/7] Hyper-V Synthetic interrupt controller
Hyper-V SynIC (synthetic interrupt controller) device implementation. The implementation contains: * msr's support * irq routing setup * irq injection * irq ack callback registration * event/message pages changes tracking at Hyper-V exit * Hyper-V test device to test SynIC by kvm-unit-tests Andrey Smetanin (7): standard-headers/x86: add Hyper-V SynIC constants target-i386/kvm: Hyper-V
2015 Oct 26
9
[PATCH 0/7] Hyper-V Synthetic interrupt controller
Hyper-V SynIC (synthetic interrupt controller) device implementation. The implementation contains: * msr's support * irq routing setup * irq injection * irq ack callback registration * event/message pages changes tracking at Hyper-V exit * Hyper-V test device to test SynIC by kvm-unit-tests Andrey Smetanin (7): standard-headers/x86: add Hyper-V SynIC constants target-i386/kvm: Hyper-V