On Mon, 6 Jul 2015 12:11:02 +1000 Alexey Kardashevskiy <a...@ozlabs.ru> wrote:
> 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 <a...@ozlabs.ru> > Reviewed-by: David Gibson <da...@gibson.dropbear.id.au> > --- > 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 > */ Reviewed-by: Thomas Huth <th...@redhat.com>