From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33319) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZFJHI-000396-O1 for qemu-devel@nongnu.org; Wed, 15 Jul 2015 05:47:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZFJHD-0007Yr-B0 for qemu-devel@nongnu.org; Wed, 15 Jul 2015 05:47:00 -0400 Received: from e23smtp05.au.ibm.com ([202.81.31.147]:45897) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZFJH5-0007O5-PS for qemu-devel@nongnu.org; Wed, 15 Jul 2015 05:46:55 -0400 Received: from /spool/local by e23smtp05.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 15 Jul 2015 19:46:33 +1000 From: Alexey Kardashevskiy Date: Wed, 15 Jul 2015 19:45:01 +1000 Message-Id: <1436953507-16391-6-git-send-email-aik@ozlabs.ru> In-Reply-To: <1436953507-16391-1-git-send-email-aik@ozlabs.ru> References: <1436953507-16391-1-git-send-email-aik@ozlabs.ru> Subject: [Qemu-devel] [PATCH qemu v11 05/11] spapr_iommu: Remove vfio_accel flag from sPAPRTCETable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Laurent Vivier , Thomas Huth , Michael Roth , Alexey Kardashevskiy , Alexander Graf , Gavin Shan , Alex Williamson , qemu-ppc@nongnu.org, David Gibson sPAPRTCETable has a vfio_accel flag which is passed to kvmppc_create_spapr_tce() and controls whether to create a guest view table in KVM as this depends on the host kernel ability to accelerate H_PUT_TCE for VFIO devices. We would set this flag at the moment when sPAPRTCETable is created in spapr_tce_new_table() and use when the table is allocated in spapr_tce_table_realize(). Now we explicitly enable/disable DMA windows via spapr_tce_table_enable() and spapr_tce_table_disable() and can pass this flag directly without caching it in sPAPRTCETable. This removes the flag. This should cause no behavioural change. Signed-off-by: Alexey Kardashevskiy Reviewed-by: David Gibson Reviewed-by: Laurent Vivier Reviewed-by: Thomas Huth --- Changes: v8: * new to patchset, this is cleanup --- hw/ppc/spapr_iommu.c | 8 +++----- include/hw/ppc/spapr.h | 1 - 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/hw/ppc/spapr_iommu.c b/hw/ppc/spapr_iommu.c index fbca136..1378a7a 100644 --- a/hw/ppc/spapr_iommu.c +++ b/hw/ppc/spapr_iommu.c @@ -207,7 +207,7 @@ sPAPRTCETable *spapr_tce_new_table(DeviceState *owner, uint32_t liobn) return tcet; } -static void spapr_tce_table_do_enable(sPAPRTCETable *tcet) +static void spapr_tce_table_do_enable(sPAPRTCETable *tcet, bool vfio_accel) { if (!tcet->nb_table) { return; @@ -217,7 +217,7 @@ static void spapr_tce_table_do_enable(sPAPRTCETable *tcet) tcet->nb_table, tcet->page_shift, &tcet->fd, - tcet->vfio_accel); + vfio_accel); memory_region_set_size(&tcet->iommu, (uint64_t)tcet->nb_table << tcet->page_shift); @@ -236,9 +236,8 @@ void spapr_tce_table_enable(sPAPRTCETable *tcet, tcet->bus_offset = bus_offset; tcet->page_shift = page_shift; tcet->nb_table = nb_table; - tcet->vfio_accel = vfio_accel; - spapr_tce_table_do_enable(tcet); + spapr_tce_table_do_enable(tcet, vfio_accel); } void spapr_tce_table_disable(sPAPRTCETable *tcet) @@ -256,7 +255,6 @@ void spapr_tce_table_disable(sPAPRTCETable *tcet) tcet->bus_offset = 0; tcet->page_shift = 0; tcet->nb_table = 0; - tcet->vfio_accel = false; } static void spapr_tce_table_unrealize(DeviceState *dev, Error **errp) diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index 46d18e5..7f76fb8 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -562,7 +562,6 @@ struct sPAPRTCETable { uint32_t page_shift; uint64_t *table; bool bypass; - bool vfio_accel; int fd; MemoryRegion iommu; struct VIOsPAPRDevice *vdev; /* for @bypass migration compatibility only */ -- 2.4.0.rc3.8.gfb3e7d5