All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
To: "Kalra, Ashish" <Ashish.Kalra@cavium.com>,
	"Tian, Kevin" <kevin.tian@intel.com>,
	Auger Eric <eric.auger@redhat.com>,
	Bharat Bhushan <bharat.bhushan@nxp.com>,
	"eric.auger.pro@gmail.com" <eric.auger.pro@gmail.com>,
	"peter.maydell@linaro.org" <peter.maydell@linaro.org>,
	"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
	"mst@redhat.com" <mst@redhat.com>,
	"qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: "marc.zyngier@arm.com" <marc.zyngier@arm.com>,
	"tn@semihalf.com" <tn@semihalf.com>,
	"will.deacon@arm.com" <will.deacon@arm.com>,
	"drjones@redhat.com" <drjones@redhat.com>,
	"robin.murphy@arm.com" <robin.murphy@arm.com>,
	"christoffer.dall@linaro.org" <christoffer.dall@linaro.org>
Subject: Re: [Qemu-devel] [Qemu-arm]  [RFC v2 0/8] VIRTIO-IOMMU device
Date: Tue, 11 Jul 2017 12:31:08 +0100	[thread overview]
Message-ID: <8933b36d-c552-c6d5-e4de-e4955f63fec3@arm.com> (raw)
In-Reply-To: <BN4PR07MB21615F830FCA5445EF4B7974E3AA0@BN4PR07MB2161.namprd07.prod.outlook.com>

On 07/07/17 23:11, Kalra, Ashish wrote:
> Hello Jean,
> 
> Thanks for the information.
> 
> Is someone already working on implementing this, or is this something I can look into and implementing ?

I'm still working on the specification, along with a prototype for the
Linux driver and the kvmtool device. I don't want to rush it because it's
a complicated subject, and we're barely supporting SVM in the host.
Supporting IO page faults is only part of the problem, we also need to
hand page tables over to the guest, which requires a new interface for
virtio-iommu. For the moment, my priority is on consolidating the base
device specification.

> Also, as Michael mentioned and I looked in the vfio iommu (type1) driver implementation that it supports mainly
> static mappings of user-space processes with  user-space pages pinned/locked in memory, so a generic support
> for ATS/PRI extensions needs to be added in VFIO too.

That's also in progress. As far as I know the latest version for fault
reporting is http://www.spinics.net/lists/kvm/msg146615.html

Thanks,
Jean

> Thanks,
> Ashish
> 
> -----Original Message-----
> From: Jean-Philippe Brucker [mailto:jean-philippe.brucker@arm.com] 
> Sent: Friday, July 07, 2017 8:45 PM
> To: Tian, Kevin; Kalra, Ashish; Auger Eric; Bharat Bhushan; eric.auger.pro@gmail.com; peter.maydell@linaro.org; alex.williamson@redhat.com; mst@redhat.com; qemu-arm@nongnu.org; qemu-devel@nongnu.org
> Cc: marc.zyngier@arm.com; tn@semihalf.com; will.deacon@arm.com; drjones@redhat.com; robin.murphy@arm.com; christoffer.dall@linaro.org
> Subject: Re: [Qemu-arm] [Qemu-devel] [RFC v2 0/8] VIRTIO-IOMMU device
> 
> Hi Ashish,
> 
> On 07/07/17 00:33, Tian, Kevin wrote:
>>> From: Kalra, Ashish [mailto:Ashish.Kalra@cavium.com]
>>> Sent: Friday, July 7, 2017 7:24 AM
>>>
>>> I have a generic question on vIOMMU support, is there any 
>>> proposal/plan to add ATS/PRI extension support to vIOMMUs and allow 
>>> handling for end to end (v)IOMMU Page faults (w/t the device side 
>>> implementation on Vhost) ?
>>>
>>> Again, the motivation will be to do DMA on paged guest memory and 
>>> potentially avoiding the requirement of pinned/locked guest physical 
>>> memory for DMA.
>>
>> yes, that's a necessary part to support SVM in both virtio-iommu 
>> approach and fully emulated approach (e.g. for Intel VTd). There are 
>> already patches and discussions in other thread about how to propagate 
>> IOMMU page fault to vIOMMU. Then after it is done vIOMMU page fault 
>> emulation will be further added.
>>
>> https://lkml.org/lkml/2017/6/27/964
> 
> For virtio-iommu, I'd like to add an event virtqueue for the device to send page faults to the driver, in a format similar to a PRI Page Request.
> The driver would then send a reply via the request virtqueue in a format similar to a PRG Response.
> 
> In Qemu the device implementation would hopefully be based on the same mechanism as VTd. The vhost implementation would receive IO Page Faults from VFIO and forward them on the event virtqueue similarly to the userspace implementation.
> 
> Thanks,
> Jean
> 

  reply	other threads:[~2017-07-11 11:28 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-07 16:01 [Qemu-devel] [RFC v2 0/8] VIRTIO-IOMMU device Eric Auger
2017-06-07 16:01 ` [Qemu-devel] [RFC v2 1/8] update-linux-headers: import virtio_iommu.h Eric Auger
2017-06-07 16:01 ` [Qemu-devel] [RFC v2 2/8] linux-headers: Update for virtio-iommu Eric Auger
2017-06-07 16:01 ` [Qemu-devel] [RFC v2 3/8] virtio_iommu: add skeleton Eric Auger
2017-06-08 11:09   ` Bharat Bhushan
2017-06-23 16:08     ` Jean-Philippe Brucker
2017-06-07 16:01 ` [Qemu-devel] [RFC v2 4/8] virtio-iommu: Decode the command payload Eric Auger
2017-06-07 16:01 ` [Qemu-devel] [RFC v2 5/8] virtio_iommu: Add the iommu regions Eric Auger
2017-06-12  5:59   ` Bharat Bhushan
2017-06-07 16:01 ` [Qemu-devel] [RFC v2 6/8] virtio-iommu: Implement the translation and commands Eric Auger
2017-06-23 16:09   ` Jean-Philippe Brucker
2017-07-04  9:13   ` Bharat Bhushan
2017-07-05  6:40     ` Auger Eric
2017-07-14  2:17   ` Peter Xu
2017-07-14  6:40     ` Bharat Bhushan
2017-07-17  1:28       ` Peter Xu
2017-07-31 13:08         ` Auger Eric
2017-08-03 10:48           ` Bharat Bhushan
2017-07-14 11:25     ` Jean-Philippe Brucker
2017-07-17  1:37       ` Peter Xu
2017-06-07 16:01 ` [Qemu-devel] [RFC v2 7/8] hw/arm/virt: Add 2.10 machine type Eric Auger
2017-06-07 16:01 ` [Qemu-devel] [RFC v2 8/8] hw/arm/virt: Add virtio-iommu the virt board Eric Auger
2017-06-09  6:16 ` [Qemu-devel] [RFC v2 0/8] VIRTIO-IOMMU device Bharat Bhushan
2017-06-09  6:43   ` Auger Eric
2017-06-09 11:30     ` Bharat Bhushan
2017-06-09 11:53       ` Auger Eric
2017-06-19  7:54         ` Bharat Bhushan
2017-06-19 10:15           ` Jean-Philippe Brucker
2017-06-26  8:22             ` Auger Eric
2017-06-26 16:13               ` Jean-Philippe Brucker
2017-06-27  6:38                 ` Auger Eric
2017-06-27  8:46                   ` Will Deacon
2017-06-27  8:59                     ` Auger Eric
2017-07-05  7:25                 ` Tian, Kevin
2017-07-05 12:44                   ` Jean-Philippe Brucker
2017-07-05  7:14             ` Tian, Kevin
2017-07-05 12:44               ` Jean-Philippe Brucker
2017-07-07  6:21                 ` Tian, Kevin
2017-07-07 15:15                   ` Jean-Philippe Brucker
2017-07-14  7:20                     ` Tian, Kevin
2017-07-14 11:25                       ` Jean-Philippe Brucker
2017-07-17  2:20                         ` Tian, Kevin
2017-07-05  7:15             ` Bharat Bhushan
2017-06-26  7:54           ` Auger Eric
2017-07-05  8:23             ` Bharat Bhushan
2017-07-05  8:44               ` Auger Eric
2017-07-05  8:49                 ` Bharat Bhushan
2017-07-06 10:02                   ` Jean-Philippe Brucker
2017-07-06 11:24                     ` Bharat Bhushan
2017-07-06 11:55                       ` Jean-Philippe Brucker
2017-07-06 21:16                       ` Auger Eric
2017-07-06 23:23                         ` [Qemu-devel] [Qemu-arm] " Kalra, Ashish
2017-07-06 23:29                           ` Michael S. Tsirkin
2017-07-06 23:33                           ` Tian, Kevin
2017-07-07 15:14                             ` Jean-Philippe Brucker
2017-07-07 22:11                               ` Kalra, Ashish
2017-07-11 11:31                                 ` Jean-Philippe Brucker [this message]
2017-07-14  6:58                               ` Tian, Kevin
2017-07-07  6:25                         ` [Qemu-devel] " Bharat Bhushan
2017-07-07  7:25                           ` Auger Eric
2017-07-07 11:36                             ` Bharat Bhushan
2017-07-07 15:19                               ` Jean-Philippe Brucker
2017-07-11  5:54                                 ` Bharat Bhushan
2017-07-11 12:51                                   ` Jean-Philippe Brucker
2017-07-12  3:50                                     ` Bharat Bhushan
2017-07-12 10:18                                       ` Jean-Philippe Brucker
2017-07-12 10:27                                         ` Bharat Bhushan
2017-07-12 10:58                                           ` Jean-Philippe Brucker
2017-07-12 11:12                                             ` Bharat Bhushan
2017-07-06 21:11                     ` Auger Eric
2017-07-07  7:31                       ` Auger Eric
2017-07-07 15:20                       ` Jean-Philippe Brucker
2017-06-09 12:15       ` Auger Eric

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=8933b36d-c552-c6d5-e4de-e4955f63fec3@arm.com \
    --to=jean-philippe.brucker@arm.com \
    --cc=Ashish.Kalra@cavium.com \
    --cc=alex.williamson@redhat.com \
    --cc=bharat.bhushan@nxp.com \
    --cc=christoffer.dall@linaro.org \
    --cc=drjones@redhat.com \
    --cc=eric.auger.pro@gmail.com \
    --cc=eric.auger@redhat.com \
    --cc=kevin.tian@intel.com \
    --cc=marc.zyngier@arm.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=robin.murphy@arm.com \
    --cc=tn@semihalf.com \
    --cc=will.deacon@arm.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.