Message ID | 20231026103104.1686921-5-zhenzhong.duan@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vfio: Adopt iommufd | expand |
On 10/26/23 12:30, Zhenzhong Duan wrote: > vfio_spapr_create_window calls vfio_spapr_remove_window, > With reoder of definition of the two, we can make > vfio_spapr_create/remove_window static. > > No functional changes intended. > > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Thanks, C. > --- > include/hw/vfio/vfio-common.h | 6 ----- > hw/vfio/spapr.c | 48 +++++++++++++++++------------------ > 2 files changed, 24 insertions(+), 30 deletions(-) > > diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h > index 8d1d4f0a89..f3174b3c5c 100644 > --- a/include/hw/vfio/vfio-common.h > +++ b/include/hw/vfio/vfio-common.h > @@ -293,12 +293,6 @@ struct vfio_info_cap_header * > vfio_get_cap(void *ptr, uint32_t cap_offset, uint16_t id); > #endif > > -int vfio_spapr_create_window(VFIOContainer *container, > - MemoryRegionSection *section, > - hwaddr *pgsize); > -int vfio_spapr_remove_window(VFIOContainer *container, > - hwaddr offset_within_address_space); > - > bool vfio_migration_realize(VFIODevice *vbasedev, Error **errp); > void vfio_migration_exit(VFIODevice *vbasedev); > > diff --git a/hw/vfio/spapr.c b/hw/vfio/spapr.c > index fd0613dfde..43adbdb7b3 100644 > --- a/hw/vfio/spapr.c > +++ b/hw/vfio/spapr.c > @@ -146,9 +146,30 @@ static const MemoryListener vfio_prereg_listener = { > .region_del = vfio_prereg_listener_region_del, > }; > > -int vfio_spapr_create_window(VFIOContainer *container, > - MemoryRegionSection *section, > - hwaddr *pgsize) > +static int vfio_spapr_remove_window(VFIOContainer *container, > + hwaddr offset_within_address_space) > +{ > + struct vfio_iommu_spapr_tce_remove remove = { > + .argsz = sizeof(remove), > + .start_addr = offset_within_address_space, > + }; > + int ret; > + > + ret = ioctl(container->fd, VFIO_IOMMU_SPAPR_TCE_REMOVE, &remove); > + if (ret) { > + error_report("Failed to remove window at %"PRIx64, > + (uint64_t)remove.start_addr); > + return -errno; > + } > + > + trace_vfio_spapr_remove_window(offset_within_address_space); > + > + return 0; > +} > + > +static int vfio_spapr_create_window(VFIOContainer *container, > + MemoryRegionSection *section, > + hwaddr *pgsize) > { > int ret = 0; > IOMMUMemoryRegion *iommu_mr = IOMMU_MEMORY_REGION(section->mr); > @@ -238,27 +259,6 @@ int vfio_spapr_create_window(VFIOContainer *container, > return 0; > } > > -int vfio_spapr_remove_window(VFIOContainer *container, > - hwaddr offset_within_address_space) > -{ > - struct vfio_iommu_spapr_tce_remove remove = { > - .argsz = sizeof(remove), > - .start_addr = offset_within_address_space, > - }; > - int ret; > - > - ret = ioctl(container->fd, VFIO_IOMMU_SPAPR_TCE_REMOVE, &remove); > - if (ret) { > - error_report("Failed to remove window at %"PRIx64, > - (uint64_t)remove.start_addr); > - return -errno; > - } > - > - trace_vfio_spapr_remove_window(offset_within_address_space); > - > - return 0; > -} > - > int vfio_container_add_section_window(VFIOContainer *container, > MemoryRegionSection *section, > Error **errp)
diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h index 8d1d4f0a89..f3174b3c5c 100644 --- a/include/hw/vfio/vfio-common.h +++ b/include/hw/vfio/vfio-common.h @@ -293,12 +293,6 @@ struct vfio_info_cap_header * vfio_get_cap(void *ptr, uint32_t cap_offset, uint16_t id); #endif -int vfio_spapr_create_window(VFIOContainer *container, - MemoryRegionSection *section, - hwaddr *pgsize); -int vfio_spapr_remove_window(VFIOContainer *container, - hwaddr offset_within_address_space); - bool vfio_migration_realize(VFIODevice *vbasedev, Error **errp); void vfio_migration_exit(VFIODevice *vbasedev); diff --git a/hw/vfio/spapr.c b/hw/vfio/spapr.c index fd0613dfde..43adbdb7b3 100644 --- a/hw/vfio/spapr.c +++ b/hw/vfio/spapr.c @@ -146,9 +146,30 @@ static const MemoryListener vfio_prereg_listener = { .region_del = vfio_prereg_listener_region_del, }; -int vfio_spapr_create_window(VFIOContainer *container, - MemoryRegionSection *section, - hwaddr *pgsize) +static int vfio_spapr_remove_window(VFIOContainer *container, + hwaddr offset_within_address_space) +{ + struct vfio_iommu_spapr_tce_remove remove = { + .argsz = sizeof(remove), + .start_addr = offset_within_address_space, + }; + int ret; + + ret = ioctl(container->fd, VFIO_IOMMU_SPAPR_TCE_REMOVE, &remove); + if (ret) { + error_report("Failed to remove window at %"PRIx64, + (uint64_t)remove.start_addr); + return -errno; + } + + trace_vfio_spapr_remove_window(offset_within_address_space); + + return 0; +} + +static int vfio_spapr_create_window(VFIOContainer *container, + MemoryRegionSection *section, + hwaddr *pgsize) { int ret = 0; IOMMUMemoryRegion *iommu_mr = IOMMU_MEMORY_REGION(section->mr); @@ -238,27 +259,6 @@ int vfio_spapr_create_window(VFIOContainer *container, return 0; } -int vfio_spapr_remove_window(VFIOContainer *container, - hwaddr offset_within_address_space) -{ - struct vfio_iommu_spapr_tce_remove remove = { - .argsz = sizeof(remove), - .start_addr = offset_within_address_space, - }; - int ret; - - ret = ioctl(container->fd, VFIO_IOMMU_SPAPR_TCE_REMOVE, &remove); - if (ret) { - error_report("Failed to remove window at %"PRIx64, - (uint64_t)remove.start_addr); - return -errno; - } - - trace_vfio_spapr_remove_window(offset_within_address_space); - - return 0; -} - int vfio_container_add_section_window(VFIOContainer *container, MemoryRegionSection *section, Error **errp)
vfio_spapr_create_window calls vfio_spapr_remove_window, With reoder of definition of the two, we can make vfio_spapr_create/remove_window static. No functional changes intended. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> --- include/hw/vfio/vfio-common.h | 6 ----- hw/vfio/spapr.c | 48 +++++++++++++++++------------------ 2 files changed, 24 insertions(+), 30 deletions(-)