qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Xu <peterx@redhat.com>
To: "Liu, Yi L" <yi.l.liu@linux.intel.com>
Cc: qemu-devel@nongnu.org, mst@redhat.com,
	david@gibson.dropbear.id.au, pbonzini@redhat.com,
	alex.williamson@redhat.com, eric.auger.pro@gmail.com,
	yi.l.liu@intel.com, kevin.tian@intel.com, jasowang@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3 04/12] vfio/pci: add notify framework based on IOMMUSVAContext
Date: Mon, 5 Mar 2018 15:45:55 +0800	[thread overview]
Message-ID: <20180305074555.GA7584@xz-mi> (raw)
In-Reply-To: <1519900415-30314-5-git-send-email-yi.l.liu@linux.intel.com>

On Thu, Mar 01, 2018 at 06:33:27PM +0800, Liu, Yi L wrote:
> This patch introduces a notify framework for IOMMUSVAContext.sva_notifiers.
> 
> Signed-off-by: Liu, Yi L <yi.l.liu@linux.intel.com>
> ---
>  hw/vfio/common.c              | 1 +
>  include/hw/vfio/vfio-common.h | 9 +++++++++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/hw/vfio/common.c b/hw/vfio/common.c
> index 06277d2..1cc96df 100644
> --- a/hw/vfio/common.c
> +++ b/hw/vfio/common.c
> @@ -1019,6 +1019,7 @@ static int vfio_connect_container(VFIOGroup *group, AddressSpace *as,
>      container->fd = fd;
>      QLIST_INIT(&container->giommu_mr_list);
>      QLIST_INIT(&container->hostwin_list);
> +    QLIST_INIT(&container->gsva_ctx_list);
>      if (ioctl(fd, VFIO_CHECK_EXTENSION, VFIO_TYPE1_IOMMU) ||
>          ioctl(fd, VFIO_CHECK_EXTENSION, VFIO_TYPE1v2_IOMMU)) {
>          bool v2 = !!ioctl(fd, VFIO_CHECK_EXTENSION, VFIO_TYPE1v2_IOMMU);
> diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h
> index 702a085..4c16b4c 100644
> --- a/include/hw/vfio/vfio-common.h
> +++ b/include/hw/vfio/vfio-common.h
> @@ -29,6 +29,7 @@
>  #ifdef CONFIG_LINUX
>  #include <linux/vfio.h>
>  #endif
> +#include "hw/core/pasid.h"
>  
>  #define ERR_PREFIX "vfio error: %s: "
>  #define WARN_PREFIX "vfio warning: %s: "
> @@ -88,6 +89,7 @@ typedef struct VFIOContainer {
>       * future
>       */
>      QLIST_HEAD(, VFIOGuestIOMMUMR) giommu_mr_list;
> +    QLIST_HEAD(, VFIOGuestIOMMUSVAContext) gsva_ctx_list;

IIUC vfio container is per-domain, so here we have a per-domain
context.  Does that mean that all the devices in the same IOMMU group
(or say, share the 2nd level page table) must share the same PASID
table (or say, the 1st level page table)?  Thanks,

>      QLIST_HEAD(, VFIOHostDMAWindow) hostwin_list;
>      QLIST_HEAD(, VFIOGroup) group_list;
>      QLIST_ENTRY(VFIOContainer) next;
> @@ -101,6 +103,13 @@ typedef struct VFIOGuestIOMMUMR {
>      QLIST_ENTRY(VFIOGuestIOMMUMR) giommu_next;
>  } VFIOGuestIOMMUMR;
>  
> +typedef struct VFIOGuestIOMMUSVAContext {
> +    VFIOContainer *container;
> +    IOMMUSVAContext *sva_ctx;
> +    IOMMUSVANotifier n;
> +    QLIST_ENTRY(VFIOGuestIOMMUSVAContext) gsva_ctx_next;
> +} VFIOGuestIOMMUSVAContext;
> +
>  typedef struct VFIOHostDMAWindow {
>      hwaddr min_iova;
>      hwaddr max_iova;
> -- 
> 1.9.1
> 

-- 
Peter Xu

  reply	other threads:[~2018-03-05  7:46 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-01 10:33 [Qemu-devel] [PATCH v3 00/12] Introduce new iommu notifier framework for virt-SVA Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 01/12] memory: rename existing iommu notifier to be iommu mr notifier Liu, Yi L
2018-03-02 15:01   ` Paolo Bonzini
2018-03-05 10:09     ` Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 02/12] vfio: rename GuestIOMMU to be GuestIOMMUMR Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 03/12] hw/core: introduce IOMMUSVAContext for virt-SVA Liu, Yi L
2018-03-02 15:13   ` Paolo Bonzini
2018-03-05  8:10     ` Liu, Yi L
2018-03-06  8:51   ` Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 04/12] vfio/pci: add notify framework based on IOMMUSVAContext Liu, Yi L
2018-03-05  7:45   ` Peter Xu [this message]
2018-03-05  8:05     ` Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 05/12] hw/pci: introduce PCISVAOps to PCIDevice Liu, Yi L
2018-03-02 15:10   ` Paolo Bonzini
2018-03-05  8:11     ` Liu, Yi L
2018-03-06 10:33   ` Liu, Yi L
2018-04-12  2:36     ` David Gibson
2018-04-12 11:06       ` Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 06/12] vfio/pci: provide vfio_pci_sva_ops instance Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 07/12] vfio/pci: register sva notifier Liu, Yi L
2018-03-06  6:44   ` Peter Xu
2018-03-06  8:00     ` Liu, Yi L
2018-03-06 12:09       ` Peter Xu
2018-03-08 11:22         ` Liu, Yi L
2018-03-09  7:05           ` Peter Xu
2018-03-09 10:25             ` Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 08/12] hw/pci: introduce pci_device_notify_iommu() Liu, Yi L
2018-03-02 15:12   ` Paolo Bonzini
2018-03-05  8:42     ` Liu, Yi L
2018-03-06 10:18       ` Paolo Bonzini
2018-03-06 11:03         ` Liu, Yi L
2018-03-06 11:22           ` Paolo Bonzini
2018-03-06 11:27             ` Liu, Yi L
2018-03-02 16:06   ` Paolo Bonzini
2018-03-05  8:43     ` Liu, Yi L
2018-03-05 10:43       ` Peter Xu
2018-03-06 10:19         ` Paolo Bonzini
2018-03-06 10:47           ` Peter Xu
2018-03-06 11:06             ` Liu, Yi L
2018-03-05  8:27   ` Peter Xu
2018-03-05  8:46     ` Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 09/12] intel_iommu: record assigned devices in a list Liu, Yi L
2018-03-02 15:08   ` Paolo Bonzini
2018-03-05  9:39     ` Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 10/12] intel_iommu: bind guest pasid table to host Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 11/12] intel_iommu: add framework for PASID AddressSpace management Liu, Yi L
2018-03-02 14:52   ` Paolo Bonzini
2018-03-05  9:12     ` Liu, Yi L
2018-03-02 15:00   ` Paolo Bonzini
2018-03-05  9:11     ` Liu, Yi L
2018-03-06 10:26       ` Paolo Bonzini
2018-03-08 10:42         ` Liu, Yi L
2018-03-01 10:33 ` [Qemu-devel] [PATCH v3 12/12] intel_iommu: bind device to PASID tagged AddressSpace Liu, Yi L
2018-03-02 14:51   ` Paolo Bonzini
2018-03-05  9:56     ` Liu, Yi L
2018-03-06 11:43   ` Peter Xu
2018-03-08  9:39     ` Liu, Yi L
2018-03-09  7:59       ` Peter Xu
2018-03-09  8:09         ` Tian, Kevin
2018-03-09 11:05         ` Liu, Yi L
2018-03-06  6:55 ` [Qemu-devel] [PATCH v3 00/12] Introduce new iommu notifier framework for virt-SVA Peter Xu
2018-03-06  7:45   ` Liu, Yi L
2018-03-07  5:38     ` Peter Xu
2018-03-08  9:10       ` Liu, Yi L
  -- strict thread matches above, loose matches on Subject: below --
2018-03-01 10:31 Liu, Yi L
2018-03-01 10:31 ` [Qemu-devel] [PATCH v3 04/12] vfio/pci: add notify framework based on IOMMUSVAContext Liu, Yi L

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=20180305074555.GA7584@xz-mi \
    --to=peterx@redhat.com \
    --cc=alex.williamson@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=eric.auger.pro@gmail.com \
    --cc=jasowang@redhat.com \
    --cc=kevin.tian@intel.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=yi.l.liu@intel.com \
    --cc=yi.l.liu@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 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).