Lines Matching refs:rsv

641 			struct linux_efi_memreserve *rsv;  in efi_config_parse_tables()  local
656 rsv = (void *)(p + prsv % PAGE_SIZE); in efi_config_parse_tables()
660 struct_size(rsv, entry, rsv->size)); in efi_config_parse_tables()
662 for (i = 0; i < atomic_read(&rsv->count); i++) { in efi_config_parse_tables()
663 memblock_reserve(rsv->entry[i].base, in efi_config_parse_tables()
664 rsv->entry[i].size); in efi_config_parse_tables()
667 prsv = rsv->next; in efi_config_parse_tables()
968 struct linux_efi_memreserve *rsv; in efi_mem_reserve_persistent() local
983 rsv = memremap(prsv, sizeof(*rsv), MEMREMAP_WB); in efi_mem_reserve_persistent()
984 index = atomic_fetch_add_unless(&rsv->count, 1, rsv->size); in efi_mem_reserve_persistent()
985 if (index < rsv->size) { in efi_mem_reserve_persistent()
986 rsv->entry[index].base = addr; in efi_mem_reserve_persistent()
987 rsv->entry[index].size = size; in efi_mem_reserve_persistent()
989 memunmap(rsv); in efi_mem_reserve_persistent()
992 prsv = rsv->next; in efi_mem_reserve_persistent()
993 memunmap(rsv); in efi_mem_reserve_persistent()
997 rsv = (struct linux_efi_memreserve *)__get_free_page(GFP_ATOMIC); in efi_mem_reserve_persistent()
998 if (!rsv) in efi_mem_reserve_persistent()
1001 rc = efi_mem_reserve_iomem(__pa(rsv), SZ_4K); in efi_mem_reserve_persistent()
1003 free_page((unsigned long)rsv); in efi_mem_reserve_persistent()
1013 rsv->size = EFI_MEMRESERVE_COUNT(SZ_4K); in efi_mem_reserve_persistent()
1014 atomic_set(&rsv->count, 1); in efi_mem_reserve_persistent()
1015 rsv->entry[0].base = addr; in efi_mem_reserve_persistent()
1016 rsv->entry[0].size = size; in efi_mem_reserve_persistent()
1019 rsv->next = efi_memreserve_root->next; in efi_mem_reserve_persistent()
1020 efi_memreserve_root->next = __pa(rsv); in efi_mem_reserve_persistent()