Lines Matching full:vm
18 static int modify_region(struct acrn_vm *vm, struct vm_memory_region_op *region) in modify_region() argument
27 regions->vmid = vm->vmid; in modify_region()
34 "Failed to set memory region for VM[%u]!\n", vm->vmid); in modify_region()
42 * @vm: User VM.
43 * @user_gpa: A GPA of User VM.
44 * @service_gpa: A GPA of Service VM.
51 int acrn_mm_region_add(struct acrn_vm *vm, u64 user_gpa, u64 service_gpa, in acrn_mm_region_add() argument
67 ret = modify_region(vm, region); in acrn_mm_region_add()
78 * @vm: User VM.
79 * @user_gpa: A GPA of the User VM.
84 int acrn_mm_region_del(struct acrn_vm *vm, u64 user_gpa, u64 size) in acrn_mm_region_del() argument
99 ret = modify_region(vm, region); in acrn_mm_region_del()
107 int acrn_vm_memseg_map(struct acrn_vm *vm, struct acrn_vm_memmap *memmap) in acrn_vm_memseg_map() argument
112 return acrn_vm_ram_map(vm, memmap); in acrn_vm_memseg_map()
120 ret = acrn_mm_region_add(vm, memmap->user_vm_pa, in acrn_vm_memseg_map()
125 "Add memory region failed, VM[%u]!\n", vm->vmid); in acrn_vm_memseg_map()
130 int acrn_vm_memseg_unmap(struct acrn_vm *vm, struct acrn_vm_memmap *memmap) in acrn_vm_memseg_unmap() argument
140 ret = acrn_mm_region_del(vm, memmap->user_vm_pa, memmap->len); in acrn_vm_memseg_unmap()
143 "Del memory region failed, VM[%u]!\n", vm->vmid); in acrn_vm_memseg_unmap()
149 * acrn_vm_ram_map() - Create a RAM EPT mapping of User VM.
150 * @vm: The User VM pointer
155 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()
187 return acrn_mm_region_add(vm, memmap->user_vm_pa, in acrn_vm_ram_map()
218 /* Record Service VM va <-> User VM pa mapping */ in acrn_vm_ram_map()
219 mutex_lock(&vm->regions_mapping_lock); in acrn_vm_ram_map()
220 region_mapping = &vm->regions_mapping[vm->regions_mapping_count]; in acrn_vm_ram_map()
221 if (vm->regions_mapping_count < ACRN_MEM_MAPPING_MAX) { in acrn_vm_ram_map()
227 vm->regions_mapping_count++; in acrn_vm_ram_map()
232 mutex_unlock(&vm->regions_mapping_lock); in acrn_vm_ram_map()
235 mutex_unlock(&vm->regions_mapping_lock); in acrn_vm_ram_map()
256 regions_info->vmid = vm->vmid; in acrn_vm_ram_map()
284 "Failed to set regions, VM[%u]!\n", vm->vmid); in acrn_vm_ram_map()
290 "%s: VM[%u] service-GVA[%pK] user-GPA[%pK] size[0x%llx]\n", in acrn_vm_ram_map()
291 __func__, vm->vmid, in acrn_vm_ram_map()
298 mutex_lock(&vm->regions_mapping_lock); in acrn_vm_ram_map()
299 vm->regions_mapping_count--; in acrn_vm_ram_map()
300 mutex_unlock(&vm->regions_mapping_lock); in acrn_vm_ram_map()
312 * acrn_vm_all_ram_unmap() - Destroy a RAM EPT mapping of User VM.
313 * @vm: The User VM
315 void acrn_vm_all_ram_unmap(struct acrn_vm *vm) in acrn_vm_all_ram_unmap() argument
320 mutex_lock(&vm->regions_mapping_lock); in acrn_vm_all_ram_unmap()
321 for (i = 0; i < vm->regions_mapping_count; i++) { in acrn_vm_all_ram_unmap()
322 region_mapping = &vm->regions_mapping[i]; in acrn_vm_all_ram_unmap()
328 mutex_unlock(&vm->regions_mapping_lock); in acrn_vm_all_ram_unmap()