From: Alex Williamson <alex.williamson@redhat.com>
To: Nitin Saxena <nitin.lnx@gmail.com>
Cc: linux-kernel@vger.kernel.org, qemu-devel <qemu-devel@nongnu.org>,
Peter Xu <peterx@redhat.com>
Subject: Re: [Qemu-devel] Query on VFIO in Virtual machine
Date: Thu, 22 Jun 2017 10:59:35 -0600 [thread overview]
Message-ID: <20170622105935.2dbd574d@w520.home> (raw)
In-Reply-To: <CAB995MvCYo=tWGg-tC5R-GmRqtdiaLaU_rHTprpRJ_hMJK6Rtw@mail.gmail.com>
[cc +qemu-devel, +peterx]
On Thu, 22 Jun 2017 22:18:06 +0530
Nitin Saxena <nitin.lnx@gmail.com> wrote:
> Hi,
>
> I have a PCI device connected as an endpoint to Intel host machine.
> The requirement is to run dpdk like user space data path application
> in VM using PCI PF passthrough (SRIOV disabled). This application
> works fine on host kernel and uses VFIO to get MSIX interrupts from
> PCI device. We are trying to run this existing application in VM using
> PCI passthrough. This application has capability to use
> VFIO_IOMMU_TYPE1 as wells as VFIO_NOIOMMU.
>
> On Intel host machine VT-d has been enabled and using virt-manager PCI
> device PF is assigned to the VM. This makes virt-manager to implicitly
> binds PCI device PF to vfio with vfio_iommu_type1. The VM LINUX kernel
> was booted with intel_iommu=on as boot parameter.
>
> My question: Is it possible that vfio can coexist in host (by
> virt-manager) as well as VM (by application)? If yes, does application
> running inside VM needs to configure VFIO with iommu_type=IOMMU or
> iommu_type=no-iommu.
>
> In VM I tried inserting vfio_iommu_type1.ko kernel module which failed
> with "No such device error". Thats why I am confused whether my
> requirement is legitimate or not. What could be the best solution?
This is really more of a QEMU question. In order to use
vfio_iommu_type1 in the guest, you need an iommu in the guest. The
most recent release of QEMU supports this with an emulated VT-d
device. Therefore if you create a VM with emulated VT-d and a device
assigned through vfio-pci, you can expose it to userspace in the VM with
physical iommu protection. Without an iommu in the VM, you'd be
limited to no-iommu support for VM userspace, the physical iommu would
only protect the device to the extent of VM memory, no to specific
userspace mappings within the VM. Thanks,
Alex
next parent reply other threads:[~2017-06-22 16:59 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAB995MvCYo=tWGg-tC5R-GmRqtdiaLaU_rHTprpRJ_hMJK6Rtw@mail.gmail.com>
2017-06-22 16:59 ` Alex Williamson [this message]
2017-06-22 17:12 ` [Qemu-devel] Query on VFIO in Virtual machine Nitin Saxena
2017-06-22 17:27 ` Alex Williamson
2017-06-23 4:17 ` Peter Xu
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=20170622105935.2dbd574d@w520.home \
--to=alex.williamson@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nitin.lnx@gmail.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).