From: Avi Kivity <avi@redhat.com>
To: Sheng Yang <sheng@linux.intel.com>
Cc: kvm@vger.kernel.org
Subject: Re: [PATCH 10/11] KVM: Enable MSI for device assignment
Date: Sun, 23 Nov 2008 12:25:58 +0200 [thread overview]
Message-ID: <49292FB6.9030805@redhat.com> (raw)
In-Reply-To: <1227095114-13792-11-git-send-email-sheng@linux.intel.com>
Sheng Yang wrote:
> We enable guest MSI and host MSI support in this patch. The userspace want to
> enable MSI should set KVM_DEV_IRQ_ASSIGN_ENABLE_MSI in the assigned_irq's flag.
> Function would return -ENOTTY if can't enable MSI, userspace shouldn't set MSI
> Enable bit when KVM_ASSIGN_IRQ return -ENOTTY with
> KVM_DEV_IRQ_ASSIGN_ENABLE_MSI.
>
> Userspace can tell the support of MSI device from #ifdef KVM_CAP_DEVICE_MSI.
>
> Signed-off-by: Sheng Yang <sheng@linux.intel.com>
> ---
> include/linux/kvm.h | 3 ++
> virt/kvm/kvm_main.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++----
> 2 files changed, 78 insertions(+), 6 deletions(-)
>
> diff --git a/include/linux/kvm.h b/include/linux/kvm.h
> index bb283c3..e7dae05 100644
> --- a/include/linux/kvm.h
> +++ b/include/linux/kvm.h
> @@ -392,6 +392,9 @@ struct kvm_trace_rec {
> #endif
> #define KVM_CAP_IOMMU 18
> #define KVM_CAP_NMI 19
> +#if defined(CONFIG_X86)||defined(CONFIG_IA64)
> +#define KVM_CAP_DEVICE_MSI 20
> +#endif
>
Since the code only enables x86 for now, please drop ia64.
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index c41488f..8e0b599 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -158,9 +158,15 @@ static void kvm_assigned_dev_interrupt_work_handler(struct work_struct *work)
> * finer-grained lock, update this
> */
> mutex_lock(&assigned_dev->kvm->lock);
> - kvm_set_irq(assigned_dev->kvm,
> - assigned_dev->irq_source_id,
> - assigned_dev->guest_irq, 1);
> + if (assigned_dev->irq_requested_type & KVM_ASSIGNED_DEV_GUEST_INTX)
> + kvm_set_irq(assigned_dev->kvm,
> + assigned_dev->irq_source_id,
> + assigned_dev->guest_irq, 1);
> + else if (assigned_dev->irq_requested_type &
> + KVM_ASSIGNED_DEV_GUEST_MSI) {
> + assigned_device_msi_dispatch(assigned_dev);
> + enable_irq(assigned_dev->host_irq);
> + }
>
Please move this logic to kvm_set_irq(). Hmm, that's not possible right
now, so we can leave it as is for now.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2008-11-23 10:26 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-19 11:45 [PATCH 0/11][v5] Enable MSI for KVM Sheng Yang
2008-11-19 11:45 ` [PATCH 01/11] KVM: Move ack notifier register and IRQ sourcd ID request Sheng Yang
2008-11-23 10:06 ` Avi Kivity
2008-11-19 11:45 ` [PATCH 02/11] KVM: Separate update irq to a single function Sheng Yang
2008-11-23 10:06 ` Avi Kivity
2008-11-19 11:45 ` [PATCH 03/11] KVM: Replace irq_requested with more generic irq_requested_type Sheng Yang
2008-11-23 10:07 ` Avi Kivity
2008-11-19 11:45 ` [PATCH 04/11] KVM: Clean up assigned_device_update_irq Sheng Yang
2008-11-19 11:45 ` [PATCH 05/11] KVM: Add fields for MSI device assignment Sheng Yang
2008-11-23 10:10 ` Avi Kivity
2008-11-24 1:51 ` Sheng Yang
2008-11-25 14:46 ` Avi Kivity
2008-11-25 14:49 ` Avi Kivity
2008-11-25 15:07 ` Sheng Yang
2008-11-19 11:45 ` [PATCH 06/11] KVM: Export ioapic_get_delivery_bitmask Sheng Yang
2008-11-19 11:45 ` [PATCH 07/11] x86: Rename MSI macro name Sheng Yang
2008-11-23 10:12 ` Avi Kivity
2008-11-24 2:02 ` Sheng Yang
2008-11-19 11:45 ` [PATCH 08/11] x86: Add MSI delivery mode value Sheng Yang
2008-11-19 11:45 ` [PATCH 09/11] KVM: Add assigned_device_msi_dispatch() Sheng Yang
2008-11-23 10:22 ` Avi Kivity
2008-11-24 2:02 ` Sheng Yang
2008-11-19 11:45 ` [PATCH 10/11] KVM: Enable MSI for device assignment Sheng Yang
2008-11-23 10:25 ` Avi Kivity [this message]
2008-11-19 11:45 ` [PATCH 11/11] KVM: MSI to INTx translate Sheng Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49292FB6.9030805@redhat.com \
--to=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=sheng@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.