Lines Matching full:vm
28 * @user_vm_pa: Physical address of User VM to be mapped.
29 * @service_vm_pa: Physical address of Service VM to be mapped.
33 * to manage the EPT mappings of a single memory region of the User VM. Several
47 * @vmid: A User VM ID.
53 * multiple memory regions of a User VM. A &struct vm_memory_region_batch
65 * struct vm_memory_mapping - Memory map between a User VM and the Service VM
66 * @pages: Pages in Service VM kernel.
68 * @service_vm_va: Virtual address in Service VM kernel.
69 * @user_vm_pa: Physical address in User VM.
72 * HSM maintains memory mappings between a User VM GPA and the Service VM
73 * kernel VA for accelerating the User VM GPA translation.
84 * struct acrn_ioreq_buffer - Data for setting the ioreq buffer of User VM
85 * @ioreq_buf: The GPA of the IO request shared buffer of a VM
88 * the shared I/O request buffer between Service VM and ACRN hypervisor.
107 * @vm: The VM that the client belongs to
121 struct acrn_vm *vm; member
141 * struct acrn_vm - Properties of ACRN User VM.
143 * @vmid: User VM ID.
144 * @vcpu_num: Number of virtual CPUs in the VM.
145 * @flags: Flags (ACRN_VM_FLAG_*) of the VM. This is VM
150 * @regions_mapping: Memory mappings of this VM.
151 * @regions_mapping_count: Number of memory mapping of this VM.
153 * @ioreq_clients: The I/O request clients list of this VM
158 * @monitor_page: Page of interrupt statistics of User VM
161 * @ioeventfd_client: I/O client for ioeventfds of the VM
189 struct acrn_vm *acrn_vm_create(struct acrn_vm *vm,
191 int acrn_vm_destroy(struct acrn_vm *vm);
192 int acrn_mm_region_add(struct acrn_vm *vm, u64 user_gpa, u64 service_gpa,
194 int acrn_mm_region_del(struct acrn_vm *vm, u64 user_gpa, u64 size);
195 int acrn_vm_memseg_map(struct acrn_vm *vm, struct acrn_vm_memmap *memmap);
196 int acrn_vm_memseg_unmap(struct acrn_vm *vm, struct acrn_vm_memmap *memmap);
197 int acrn_vm_ram_map(struct acrn_vm *vm, struct acrn_vm_memmap *memmap);
198 void acrn_vm_all_ram_unmap(struct acrn_vm *vm);
200 int acrn_ioreq_init(struct acrn_vm *vm, u64 buf_vma);
201 void acrn_ioreq_deinit(struct acrn_vm *vm);
204 void acrn_ioreq_request_clear(struct acrn_vm *vm);
206 int acrn_ioreq_request_default_complete(struct acrn_vm *vm, u16 vcpu);
207 struct acrn_ioreq_client *acrn_ioreq_client_create(struct acrn_vm *vm,
217 int acrn_msi_inject(struct acrn_vm *vm, u64 msi_addr, u64 msi_data);
219 int acrn_ioeventfd_init(struct acrn_vm *vm);
220 int acrn_ioeventfd_config(struct acrn_vm *vm, struct acrn_ioeventfd *args);
221 void acrn_ioeventfd_deinit(struct acrn_vm *vm);
223 int acrn_irqfd_init(struct acrn_vm *vm);
224 int acrn_irqfd_config(struct acrn_vm *vm, struct acrn_irqfd *args);
225 void acrn_irqfd_deinit(struct acrn_vm *vm);