/* This function set the exclusion range in the IOMMU. DMA accesses to the exclusion range are passed through untranslated  */
static void iommu_set_exclusion_range(struct amd_iommu *iommu)
/* This function set the exclusion range in the IOMMU. DMA accesses to the exclusion range are passed through untranslated  */
static void iommu_set_exclusion_range(struct amd_iommu *iommu)
{
	u64 start = iommu->exclusion_start & PAGE_MASK;
	u64 limit = (start + iommu->exclusion_length) & PAGE_MASK;
	u64 entry;
	if (!iommu->exclusion_start)
		return;
	entry = start | MMIO_EXCL_ENABLE_MASK;
	memcpy_toio(iommu->mmio_base + MMIO_EXCL_BASE_OFFSET,
			&entry, sizeof(entry));
	entry = limit;
	memcpy_toio(iommu->mmio_base + MMIO_EXCL_LIMIT_OFFSET,
			&entry, sizeof(entry));
}