Lines Matching refs:rmrr
304 struct list_head list; /* list of rmrr units */
323 #define for_each_rmrr_units(rmrr) \
324 list_for_each_entry(rmrr, &dmar_rmrr_units, list)
2839 struct dmar_rmrr_unit *rmrr;
2873 for_each_rmrr_units(rmrr) {
2874 for_each_active_dev_scope(rmrr->devices, rmrr->devices_cnt,
2876 unsigned long long start = rmrr->base_address;
2877 unsigned long long end = rmrr->end_address;
2913 struct dmar_rmrr_unit *rmrr;
2918 for_each_rmrr_units(rmrr) {
2923 for_each_active_dev_scope(rmrr->devices,
2924 rmrr->devices_cnt, i, tmp)
4339 static int rmrr_sanity_check(struct acpi_dmar_reserved_memory *rmrr)
4341 if (!IS_ALIGNED(rmrr->base_address, PAGE_SIZE) ||
4342 !IS_ALIGNED(rmrr->end_address + 1, PAGE_SIZE) ||
4343 rmrr->end_address <= rmrr->base_address ||
4344 arch_rmrr_sanity_check(rmrr))
4352 struct acpi_dmar_reserved_memory *rmrr;
4355 rmrr = (struct acpi_dmar_reserved_memory *)header;
4356 if (rmrr_sanity_check(rmrr)) {
4360 rmrr->base_address, rmrr->end_address,
4373 rmrru->base_address = rmrr->base_address;
4374 rmrru->end_address = rmrr->end_address;
4376 rmrru->devices = dmar_alloc_dev_scope((void *)(rmrr + 1),
4377 ((void *)rmrr) + rmrr->header.length,
4657 struct acpi_dmar_reserved_memory *rmrr;
4663 rmrr = container_of(rmrru->hdr,
4666 ret = dmar_insert_dev_scope(info, (void *)(rmrr + 1),
4667 ((void *)rmrr) + rmrr->header.length,
4668 rmrr->segment, rmrru->devices,
4673 dmar_remove_dev_scope(info, rmrr->segment,
5860 struct dmar_rmrr_unit *rmrr;
5865 for_each_rmrr_units(rmrr) {
5866 for_each_active_dev_scope(rmrr->devices, rmrr->devices_cnt,
5876 length = rmrr->end_address - rmrr->base_address + 1;
5881 resv = iommu_alloc_resv_region(rmrr->base_address,