static int iova_show(struct seq_file *s, void *unused)
{
	struct sprd_iommu_dev *iommu_dev = (struct sprd_iommu_dev *)s->private;
	seq_printf(s,"iommu_name:%s  iova_base:0x%lx  iova_size:0x%x\n",iommu_dev->init_data->name,iommu_dev->init_data->iova_base,iommu_dev->init_data->iova_size);
	gen_pool_for_each_chunk(iommu_dev->pool, iova_dump_chunk_bitmap, s);
	return 0;
}
/*only be used to test*/
size_t hisi_iommu_iova_available(void)
{
	struct hisi_iommu_domain *hisi_domain = hisi_iommu_domain_p;
	if(!hisi_domain->iova_pool){
		return -EINVAL;
	}
	gen_pool_for_each_chunk(hisi_domain->iova_pool, dump_chunk, NULL);
	return hisi_iova_available(hisi_domain->iova_pool);
}
static void ghes_estatus_pool_exit(void)
{
	gen_pool_for_each_chunk(ghes_estatus_pool,
				ghes_estatus_pool_free_chunk_page, NULL);
	gen_pool_destroy(ghes_estatus_pool);
}