Lines Matching refs:memmap
108 int acrn_vm_memseg_map(struct acrn_vm *vm, struct acrn_vm_memmap *memmap) in acrn_vm_memseg_map() argument
112 if (memmap->type == ACRN_MEMMAP_RAM) in acrn_vm_memseg_map()
113 return acrn_vm_ram_map(vm, memmap); in acrn_vm_memseg_map()
115 if (memmap->type != ACRN_MEMMAP_MMIO) { in acrn_vm_memseg_map()
117 "Invalid memmap type: %u\n", memmap->type); in acrn_vm_memseg_map()
121 ret = acrn_mm_region_add(vm, memmap->user_vm_pa, in acrn_vm_memseg_map()
122 memmap->service_vm_pa, memmap->len, in acrn_vm_memseg_map()
123 ACRN_MEM_TYPE_UC, memmap->attr); in acrn_vm_memseg_map()
131 int acrn_vm_memseg_unmap(struct acrn_vm *vm, struct acrn_vm_memmap *memmap) in acrn_vm_memseg_unmap() argument
135 if (memmap->type != ACRN_MEMMAP_MMIO) { in acrn_vm_memseg_unmap()
137 "Invalid memmap type: %u\n", memmap->type); in acrn_vm_memseg_unmap()
141 ret = acrn_mm_region_del(vm, memmap->user_vm_pa, memmap->len); in acrn_vm_memseg_unmap()
156 int acrn_vm_ram_map(struct acrn_vm *vm, struct acrn_vm_memmap *memmap) in acrn_vm_ram_map() argument
168 if (!vm || !memmap) in acrn_vm_ram_map()
172 nr_pages = memmap->len >> PAGE_SHIFT; in acrn_vm_ram_map()
177 vma = vma_lookup(current->mm, memmap->vma_base); in acrn_vm_ram_map()
182 if ((memmap->vma_base + memmap->len) > vma->vm_end) { in acrn_vm_ram_map()
190 .address = memmap->vma_base + i * PAGE_SIZE, in acrn_vm_ram_map()
205 (memmap->attr & ACRN_MEM_ACCESS_WRITE)) { in acrn_vm_ram_map()
227 "Failed to lookup PFN at VMA:%p.\n", (void *)memmap->vma_base); in acrn_vm_ram_map()
231 return acrn_mm_region_add(vm, memmap->user_vm_pa, in acrn_vm_ram_map()
232 PFN_PHYS(start_pfn), memmap->len, in acrn_vm_ram_map()
233 ACRN_MEM_TYPE_WB, memmap->attr); in acrn_vm_ram_map()
242 pinned = pin_user_pages_fast(memmap->vma_base, in acrn_vm_ram_map()
266 region_mapping->size = memmap->len; in acrn_vm_ram_map()
268 region_mapping->user_vm_pa = memmap->user_vm_pa; in acrn_vm_ram_map()
300 user_vm_pa = memmap->user_vm_pa; in acrn_vm_ram_map()
313 (memmap->attr & ACRN_MEM_ACCESS_RIGHT_MASK); in acrn_vm_ram_map()
331 remap_vaddr, (void *)memmap->user_vm_pa, memmap->len); in acrn_vm_ram_map()