From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33957) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b49dg-0006L4-Kf for qemu-devel@nongnu.org; Sat, 21 May 2016 12:20:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b49db-0002yy-IL for qemu-devel@nongnu.org; Sat, 21 May 2016 12:20:31 -0400 Received: from mail-wm0-x241.google.com ([2a00:1450:400c:c09::241]:36227) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b49db-0002yr-4d for qemu-devel@nongnu.org; Sat, 21 May 2016 12:20:27 -0400 Received: by mail-wm0-x241.google.com with SMTP id q62so4221458wmg.3 for ; Sat, 21 May 2016 09:20:26 -0700 (PDT) From: "Aviv B.D" Date: Sat, 21 May 2016 19:19:47 +0300 Message-Id: <1463847590-22782-1-git-send-email-bd.aviv@gmail.com> Subject: [Qemu-devel] [PATCH v3 0/3] IOMMU: Add Support to VFIO devices with vIOMMU present List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: "Michael S. Tsirkin" , Alex Williamson , Peter Xu , Jan Kiszka , Aviv Ben-David From: "Aviv Ben-David" * Advertize Cache Mode capability in iommu cap register. * Register every VFIO device with IOMMU state. * On page cache invalidation in vIOMMU, check if the domain belong to VFIO device and mirror the guest requests to host. Changes from v1 to v2: * remove assumption that the cache do not clears * fix lockup on high load. Changes from v2 to v3: * remove debug leftovers * split to sepearate commits * change is_write to flags in vtd_do_iommu_translate, add IOMMU_NO_FAIL to suppress error propagating to guest. Aviv Ben-David (3): IOMMU: add VTD_CAP_VM to vIOMMU capability exposed to guest IOMMU: change iommu_op->translate's is_write to flags, add support to NO_FAIL flag mode IOMMU: Integrate between VFIO and vIOMMU to support device assignment exec.c | 2 +- hw/i386/intel_iommu.c | 137 ++++++++++++++++++++++++++++++++--------- hw/i386/intel_iommu_internal.h | 3 + hw/vfio/common.c | 11 +++- include/exec/memory.h | 4 +- include/hw/i386/intel_iommu.h | 4 ++ include/hw/vfio/vfio-common.h | 1 + memory.c | 2 +- 8 files changed, 129 insertions(+), 35 deletions(-) -- 1.9.1