Lines Matching refs:rmrr
404 #define for_each_rmrr_units(rmrr) \ argument
405 list_for_each_entry(rmrr, &dmar_rmrr_units, list)
2754 static inline int iommu_prepare_rmrr_dev(struct dmar_rmrr_unit *rmrr, in iommu_prepare_rmrr_dev() argument
2759 return iommu_prepare_identity_map(dev, rmrr->base_address, in iommu_prepare_rmrr_dev()
2760 rmrr->end_address); in iommu_prepare_rmrr_dev()
2856 struct dmar_rmrr_unit *rmrr; in device_has_rmrr() local
2861 for_each_rmrr_units(rmrr) { in device_has_rmrr()
2866 for_each_active_dev_scope(rmrr->devices, in device_has_rmrr()
2867 rmrr->devices_cnt, i, tmp) in device_has_rmrr()
3262 struct dmar_rmrr_unit *rmrr; in init_dmars() local
3435 for_each_rmrr_units(rmrr) { in init_dmars()
3437 for_each_active_dev_scope(rmrr->devices, rmrr->devices_cnt, in init_dmars()
3439 ret = iommu_prepare_rmrr_dev(rmrr, dev); in init_dmars()
3537 struct dmar_rmrr_unit *rmrr; in get_valid_domain_for_dev() local
3551 for_each_rmrr_units(rmrr) { in get_valid_domain_for_dev()
3552 for_each_active_dev_scope(rmrr->devices, rmrr->devices_cnt, in get_valid_domain_for_dev()
3558 rmrr->base_address, in get_valid_domain_for_dev()
3559 rmrr->end_address); in get_valid_domain_for_dev()
4183 struct acpi_dmar_reserved_memory *rmrr; in dmar_parse_one_rmrr() local
4193 rmrr = (struct acpi_dmar_reserved_memory *)header; in dmar_parse_one_rmrr()
4194 rmrru->base_address = rmrr->base_address; in dmar_parse_one_rmrr()
4195 rmrru->end_address = rmrr->end_address; in dmar_parse_one_rmrr()
4197 length = rmrr->end_address - rmrr->base_address + 1; in dmar_parse_one_rmrr()
4198 rmrru->resv = iommu_alloc_resv_region(rmrr->base_address, length, prot, in dmar_parse_one_rmrr()
4203 rmrru->devices = dmar_alloc_dev_scope((void *)(rmrr + 1), in dmar_parse_one_rmrr()
4204 ((void *)rmrr) + rmrr->header.length, in dmar_parse_one_rmrr()
4491 struct acpi_dmar_reserved_memory *rmrr; in dmar_iommu_notify_scope_dev() local
4497 rmrr = container_of(rmrru->hdr, in dmar_iommu_notify_scope_dev()
4500 ret = dmar_insert_dev_scope(info, (void *)(rmrr + 1), in dmar_iommu_notify_scope_dev()
4501 ((void *)rmrr) + rmrr->header.length, in dmar_iommu_notify_scope_dev()
4502 rmrr->segment, rmrru->devices, in dmar_iommu_notify_scope_dev()
4507 dmar_remove_dev_scope(info, rmrr->segment, in dmar_iommu_notify_scope_dev()
5203 struct dmar_rmrr_unit *rmrr; in intel_iommu_get_resv_regions() local
5208 for_each_rmrr_units(rmrr) { in intel_iommu_get_resv_regions()
5209 for_each_active_dev_scope(rmrr->devices, rmrr->devices_cnt, in intel_iommu_get_resv_regions()
5214 list_add_tail(&rmrr->resv->list, head); in intel_iommu_get_resv_regions()