Lines Matching refs:region
616 const struct vm_memory_region *region,uint64_t *pml4_page) in add_vm_memory_region() argument
619 uint64_t hpa = gpa2hpa(vm, region->service_vm_gpa); in add_vm_memory_region()
622 if ((region->prot & MEM_ACCESS_READ) != 0U) { in add_vm_memory_region()
625 if ((region->prot & MEM_ACCESS_WRITE) != 0U) { in add_vm_memory_region()
628 if ((region->prot & MEM_ACCESS_EXEC) != 0U) { in add_vm_memory_region()
633 if ((region->prot & MEM_TYPE_WB) != 0U) { in add_vm_memory_region()
635 } else if ((region->prot & MEM_TYPE_WT) != 0U) { in add_vm_memory_region()
637 } else if ((region->prot & MEM_TYPE_WC) != 0U) { in add_vm_memory_region()
639 } else if ((region->prot & MEM_TYPE_WP) != 0U) { in add_vm_memory_region()
653 ((hpa + region->size) <= (base_paddr + get_software_sram_size()))) { in add_vm_memory_region()
659 ept_add_mr(target_vm, pml4_page, hpa, region->gpa, region->size, prot); in add_vm_memory_region()
666 struct acrn_vm *target_vm, const struct vm_memory_region *region) in set_vm_memory_region() argument
671 if ((region->size & (PAGE_SIZE - 1UL)) == 0UL) { in set_vm_memory_region()
673 if (region->type == MR_ADD) { in set_vm_memory_region()
675 if (ept_is_valid_mr(vm, region->service_vm_gpa, region->size)) { in set_vm_memory_region()
677 add_vm_memory_region(vm, target_vm, region, pml4_page); in set_vm_memory_region()
681 if (ept_is_valid_mr(target_vm, region->gpa, region->size)) { in set_vm_memory_region()
682 ept_del_mr(target_vm, pml4_page, region->gpa, region->size); in set_vm_memory_region()
690 target_vm->vm_id, region->type, region->gpa, in set_vm_memory_region()
691 region->service_vm_gpa, region->size); in set_vm_memory_region()