From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38185) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZBvto-0008U1-Us for qemu-devel@nongnu.org; Sun, 05 Jul 2015 22:12:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZBvtj-0001eK-LM for qemu-devel@nongnu.org; Sun, 05 Jul 2015 22:12:48 -0400 Received: from e23smtp08.au.ibm.com ([202.81.31.141]:39606) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZBvti-0001cC-Rv for qemu-devel@nongnu.org; Sun, 05 Jul 2015 22:12:43 -0400 Received: from /spool/local by e23smtp08.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 6 Jul 2015 12:12:41 +1000 From: Alexey Kardashevskiy Date: Mon, 6 Jul 2015 12:11:02 +1000 Message-Id: <1436148670-6592-7-git-send-email-aik@ozlabs.ru> In-Reply-To: <1436148670-6592-1-git-send-email-aik@ozlabs.ru> References: <1436148670-6592-1-git-send-email-aik@ozlabs.ru> Subject: [Qemu-devel] [PATCH qemu v10 06/14] 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: Alexey Kardashevskiy , Michael Roth , 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 --- 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 ed68c95..1da0ade 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -559,7 +559,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