• Home
  • Raw
  • Download

Lines Matching refs:vm

43 int vcpu_enable_evmcs(struct kvm_vm *vm, int vcpu_id)  in vcpu_enable_evmcs()  argument
52 vcpu_ioctl(vm, vcpu_id, KVM_ENABLE_CAP, &enable_evmcs_cap); in vcpu_enable_evmcs()
75 vcpu_alloc_vmx(struct kvm_vm *vm, vm_vaddr_t *p_vmx_gva) in vcpu_alloc_vmx() argument
77 vm_vaddr_t vmx_gva = vm_vaddr_alloc(vm, getpagesize(), 0x10000, 0, 0); in vcpu_alloc_vmx()
78 struct vmx_pages *vmx = addr_gva2hva(vm, vmx_gva); in vcpu_alloc_vmx()
81 vmx->vmxon = (void *)vm_vaddr_alloc(vm, getpagesize(), 0x10000, 0, 0); in vcpu_alloc_vmx()
82 vmx->vmxon_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmxon); in vcpu_alloc_vmx()
83 vmx->vmxon_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmxon); in vcpu_alloc_vmx()
86 vmx->vmcs = (void *)vm_vaddr_alloc(vm, getpagesize(), 0x10000, 0, 0); in vcpu_alloc_vmx()
87 vmx->vmcs_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmcs); in vcpu_alloc_vmx()
88 vmx->vmcs_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmcs); in vcpu_alloc_vmx()
91 vmx->msr = (void *)vm_vaddr_alloc(vm, getpagesize(), 0x10000, 0, 0); in vcpu_alloc_vmx()
92 vmx->msr_hva = addr_gva2hva(vm, (uintptr_t)vmx->msr); in vcpu_alloc_vmx()
93 vmx->msr_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->msr); in vcpu_alloc_vmx()
97 vmx->shadow_vmcs = (void *)vm_vaddr_alloc(vm, getpagesize(), 0x10000, 0, 0); in vcpu_alloc_vmx()
98 vmx->shadow_vmcs_hva = addr_gva2hva(vm, (uintptr_t)vmx->shadow_vmcs); in vcpu_alloc_vmx()
99 vmx->shadow_vmcs_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->shadow_vmcs); in vcpu_alloc_vmx()
102 vmx->vmread = (void *)vm_vaddr_alloc(vm, getpagesize(), 0x10000, 0, 0); in vcpu_alloc_vmx()
103 vmx->vmread_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmread); in vcpu_alloc_vmx()
104 vmx->vmread_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmread); in vcpu_alloc_vmx()
107 vmx->vmwrite = (void *)vm_vaddr_alloc(vm, getpagesize(), 0x10000, 0, 0); in vcpu_alloc_vmx()
108 vmx->vmwrite_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmwrite); in vcpu_alloc_vmx()
109 vmx->vmwrite_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmwrite); in vcpu_alloc_vmx()
113 vmx->vp_assist = (void *)vm_vaddr_alloc(vm, getpagesize(), in vcpu_alloc_vmx()
115 vmx->vp_assist_hva = addr_gva2hva(vm, (uintptr_t)vmx->vp_assist); in vcpu_alloc_vmx()
116 vmx->vp_assist_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vp_assist); in vcpu_alloc_vmx()
119 vmx->enlightened_vmcs = (void *)vm_vaddr_alloc(vm, getpagesize(), in vcpu_alloc_vmx()
122 addr_gva2hva(vm, (uintptr_t)vmx->enlightened_vmcs); in vcpu_alloc_vmx()
124 addr_gva2gpa(vm, (uintptr_t)vmx->enlightened_vmcs); in vcpu_alloc_vmx()
389 void nested_pg_map(struct vmx_pages *vmx, struct kvm_vm *vm, in nested_pg_map() argument
395 TEST_ASSERT(vm->mode == VM_MODE_PXXV48_4K, "Attempt to use " in nested_pg_map()
396 "unknown or unsupported guest mode, mode: 0x%x", vm->mode); in nested_pg_map()
398 TEST_ASSERT((nested_paddr % vm->page_size) == 0, in nested_pg_map()
401 nested_paddr, vm->page_size); in nested_pg_map()
402 TEST_ASSERT((nested_paddr >> vm->page_shift) <= vm->max_gfn, in nested_pg_map()
405 paddr, vm->max_gfn, vm->page_size); in nested_pg_map()
406 TEST_ASSERT((paddr % vm->page_size) == 0, in nested_pg_map()
409 paddr, vm->page_size); in nested_pg_map()
410 TEST_ASSERT((paddr >> vm->page_shift) <= vm->max_gfn, in nested_pg_map()
413 paddr, vm->max_gfn, vm->page_size); in nested_pg_map()
423 pml4e[index[3]].address = vm_phy_page_alloc(vm, in nested_pg_map()
425 >> vm->page_shift; in nested_pg_map()
433 pdpe = addr_gpa2hva(vm, pml4e[index[3]].address * vm->page_size); in nested_pg_map()
435 pdpe[index[2]].address = vm_phy_page_alloc(vm, in nested_pg_map()
437 >> vm->page_shift; in nested_pg_map()
445 pde = addr_gpa2hva(vm, pdpe[index[2]].address * vm->page_size); in nested_pg_map()
447 pde[index[1]].address = vm_phy_page_alloc(vm, in nested_pg_map()
449 >> vm->page_shift; in nested_pg_map()
457 pte = addr_gpa2hva(vm, pde[index[1]].address * vm->page_size); in nested_pg_map()
458 pte[index[0]].address = paddr >> vm->page_shift; in nested_pg_map()
488 void nested_map(struct vmx_pages *vmx, struct kvm_vm *vm, in nested_map() argument
492 size_t page_size = vm->page_size; in nested_map()
499 nested_pg_map(vmx, vm, nested_paddr, paddr, eptp_memslot); in nested_map()
508 void nested_map_memslot(struct vmx_pages *vmx, struct kvm_vm *vm, in nested_map_memslot() argument
513 memslot2region(vm, memslot); in nested_map_memslot()
515 i = (region->region.guest_phys_addr >> vm->page_shift) - 1; in nested_map_memslot()
516 last = i + (region->region.memory_size >> vm->page_shift); in nested_map_memslot()
522 nested_map(vmx, vm, in nested_map_memslot()
523 (uint64_t)i << vm->page_shift, in nested_map_memslot()
524 (uint64_t)i << vm->page_shift, in nested_map_memslot()
525 1 << vm->page_shift, in nested_map_memslot()
530 void prepare_eptp(struct vmx_pages *vmx, struct kvm_vm *vm, in prepare_eptp() argument
533 vmx->eptp = (void *)vm_vaddr_alloc(vm, getpagesize(), 0x10000, 0, 0); in prepare_eptp()
534 vmx->eptp_hva = addr_gva2hva(vm, (uintptr_t)vmx->eptp); in prepare_eptp()
535 vmx->eptp_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->eptp); in prepare_eptp()