From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <stable-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 1D0E4A0613
	for <public@inbox.dpdk.org>; Fri, 27 Sep 2019 20:38:23 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id F292C1BEEC;
	Fri, 27 Sep 2019 20:38:22 +0200 (CEST)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28])
 by dpdk.org (Postfix) with ESMTP id 0FBDD1BEA3;
 Fri, 27 Sep 2019 20:38:18 +0200 (CEST)
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com
 [10.5.11.16])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mx1.redhat.com (Postfix) with ESMTPS id 443C73061213;
 Fri, 27 Sep 2019 18:38:17 +0000 (UTC)
Received: from amorenoz.users.ipa.redhat.com (ovpn-116-96.ams2.redhat.com
 [10.36.116.96])
 by smtp.corp.redhat.com (Postfix) with ESMTP id A3E0D5C21A;
 Fri, 27 Sep 2019 18:38:12 +0000 (UTC)
From: Adrian Moreno <amorenoz@redhat.com>
To: dev@dpdk.org
Cc: tiwei.bie@intel.com, zhihong.wang@intel.com, maxime.coquelin@redhat.com,
 Adrian Moreno <amorenoz@redhat.com>, stable@dpdk.org
Date: Fri, 27 Sep 2019 20:37:56 +0200
Message-Id: <20190927183759.18816-1-amorenoz@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16
 (mx1.redhat.com [10.5.110.48]); Fri, 27 Sep 2019 18:38:17 +0000 (UTC)
Subject: [dpdk-stable] [PATCH v3 0/3] vhost: add support for IOVA_VA mode
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
Errors-To: stable-bounces@dpdk.org
Sender: "stable" <stable-bounces@dpdk.org>

Currently, IOVAs are assumed to be GPA when the dirty page logging
is performed.

Add support for guest IOVA_VA mode by translating addresses
to GPA before doing the dirty page logging.

Also, the guest_pages tracking mechanism used for zero_copy will not work
either if IOVA_VA is enabled. In fact, enabling dequeue_zero_copy and
IOMMU is dangerous altogether because IOTLB invalidation of guest
pages can happen while the buffers are being used. So, ensure this
cannot happen by preventing both features to be activated
simultaneously.

Further information: https://bugs.dpdk.org/show_bug.cgi?id=337

Fixes: 69c90e98f483 ("vhost: enable IOMMU support")
Cc: maxime.coquelin@redhat.com
Cc: stable@dpdk.org

----
v3 changes: Address style warnings
----
----
v2 changes: Also translate buffer addresses
----

Adrian Moreno (3):
  vhost: translate incoming log address to gpa
  vhost: convert buffer addresses to GPA for logging
  vhost: prevent zero copy mode if iommu is on

 lib/librte_vhost/rte_vhost.h  |  2 +-
 lib/librte_vhost/socket.c     |  8 +++++++
 lib/librte_vhost/vdpa.c       |  4 +++-
 lib/librte_vhost/vhost.c      | 22 ++++++++++++++++++
 lib/librte_vhost/vhost.h      | 36 ++++++++++++++++++++++++++++
 lib/librte_vhost/vhost_user.c | 44 ++++++++++++++++++++++++++++++++++-
 lib/librte_vhost/virtio_net.c | 12 ++++++----
 7 files changed, 120 insertions(+), 8 deletions(-)

-- 
2.21.0