Lines Matching refs:vm

73 vcpu_alloc_vmx(struct kvm_vm *vm, vm_vaddr_t *p_vmx_gva)  in vcpu_alloc_vmx()  argument
75 vm_vaddr_t vmx_gva = vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx()
76 struct vmx_pages *vmx = addr_gva2hva(vm, vmx_gva); in vcpu_alloc_vmx()
79 vmx->vmxon = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx()
80 vmx->vmxon_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmxon); in vcpu_alloc_vmx()
81 vmx->vmxon_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmxon); in vcpu_alloc_vmx()
84 vmx->vmcs = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx()
85 vmx->vmcs_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmcs); in vcpu_alloc_vmx()
86 vmx->vmcs_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmcs); in vcpu_alloc_vmx()
89 vmx->msr = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx()
90 vmx->msr_hva = addr_gva2hva(vm, (uintptr_t)vmx->msr); in vcpu_alloc_vmx()
91 vmx->msr_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->msr); in vcpu_alloc_vmx()
95 vmx->shadow_vmcs = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx()
96 vmx->shadow_vmcs_hva = addr_gva2hva(vm, (uintptr_t)vmx->shadow_vmcs); in vcpu_alloc_vmx()
97 vmx->shadow_vmcs_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->shadow_vmcs); in vcpu_alloc_vmx()
100 vmx->vmread = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx()
101 vmx->vmread_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmread); in vcpu_alloc_vmx()
102 vmx->vmread_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmread); in vcpu_alloc_vmx()
105 vmx->vmwrite = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx()
106 vmx->vmwrite_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmwrite); in vcpu_alloc_vmx()
107 vmx->vmwrite_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmwrite); in vcpu_alloc_vmx()
365 static void nested_create_pte(struct kvm_vm *vm, in nested_create_pte() argument
378 pte->address = paddr >> vm->page_shift; in nested_create_pte()
380 pte->address = vm_alloc_page_table(vm) >> vm->page_shift; in nested_create_pte()
397 void __nested_pg_map(struct vmx_pages *vmx, struct kvm_vm *vm, in __nested_pg_map() argument
404 TEST_ASSERT(vm->mode == VM_MODE_PXXV48_4K, "Attempt to use " in __nested_pg_map()
405 "unknown or unsupported guest mode, mode: 0x%x", vm->mode); in __nested_pg_map()
414 TEST_ASSERT((nested_paddr >> vm->page_shift) <= vm->max_gfn, in __nested_pg_map()
417 paddr, vm->max_gfn, vm->page_size); in __nested_pg_map()
422 TEST_ASSERT((paddr >> vm->page_shift) <= vm->max_gfn, in __nested_pg_map()
425 paddr, vm->max_gfn, vm->page_size); in __nested_pg_map()
431 nested_create_pte(vm, pte, nested_paddr, paddr, level, target_level); in __nested_pg_map()
436 pt = addr_gpa2hva(vm, pte->address * vm->page_size); in __nested_pg_map()
448 void nested_pg_map(struct vmx_pages *vmx, struct kvm_vm *vm, in nested_pg_map() argument
451 __nested_pg_map(vmx, vm, nested_paddr, paddr, PG_LEVEL_4K); in nested_pg_map()
471 void __nested_map(struct vmx_pages *vmx, struct kvm_vm *vm, in __nested_map() argument
482 __nested_pg_map(vmx, vm, nested_paddr, paddr, level); in __nested_map()
488 void nested_map(struct vmx_pages *vmx, struct kvm_vm *vm, in nested_map() argument
491 __nested_map(vmx, vm, nested_paddr, paddr, size, PG_LEVEL_4K); in nested_map()
497 void nested_map_memslot(struct vmx_pages *vmx, struct kvm_vm *vm, in nested_map_memslot() argument
502 memslot2region(vm, memslot); in nested_map_memslot()
504 i = (region->region.guest_phys_addr >> vm->page_shift) - 1; in nested_map_memslot()
505 last = i + (region->region.memory_size >> vm->page_shift); in nested_map_memslot()
511 nested_map(vmx, vm, in nested_map_memslot()
512 (uint64_t)i << vm->page_shift, in nested_map_memslot()
513 (uint64_t)i << vm->page_shift, in nested_map_memslot()
514 1 << vm->page_shift); in nested_map_memslot()
519 void nested_identity_map_1g(struct vmx_pages *vmx, struct kvm_vm *vm, in nested_identity_map_1g() argument
522 __nested_map(vmx, vm, addr, addr, size, PG_LEVEL_1G); in nested_identity_map_1g()
537 void prepare_eptp(struct vmx_pages *vmx, struct kvm_vm *vm, in prepare_eptp() argument
542 vmx->eptp = (void *)vm_vaddr_alloc_page(vm); in prepare_eptp()
543 vmx->eptp_hva = addr_gva2hva(vm, (uintptr_t)vmx->eptp); in prepare_eptp()
544 vmx->eptp_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->eptp); in prepare_eptp()
547 void prepare_virtualize_apic_accesses(struct vmx_pages *vmx, struct kvm_vm *vm) in prepare_virtualize_apic_accesses() argument
549 vmx->apic_access = (void *)vm_vaddr_alloc_page(vm); in prepare_virtualize_apic_accesses()
550 vmx->apic_access_hva = addr_gva2hva(vm, (uintptr_t)vmx->apic_access); in prepare_virtualize_apic_accesses()
551 vmx->apic_access_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->apic_access); in prepare_virtualize_apic_accesses()