Lines Matching refs:target_vm

84 int32_t hcall_service_vm_offline_cpu(struct acrn_vcpu *vcpu, __unused struct acrn_vm *target_vm,  in hcall_service_vm_offline_cpu()  argument
121 int32_t hcall_get_api_version(struct acrn_vcpu *vcpu, __unused struct acrn_vm *target_vm, in hcall_get_api_version() argument
196 int32_t hcall_create_vm(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, uint64_t param1, __unuse… in hcall_create_vm() argument
199 uint16_t vmid = target_vm->vm_id; in hcall_create_vm()
249 if (((ret != 0) || (cv.vmid == ACRN_INVALID_VMID)) && (!is_static_configured_vm(target_vm))) { in hcall_create_vm()
266 int32_t hcall_destroy_vm(__unused struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_destroy_vm() argument
271 if (is_paused_vm(target_vm)) { in hcall_destroy_vm()
273 ret = shutdown_vm(target_vm); in hcall_destroy_vm()
290 int32_t hcall_start_vm(__unused struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_start_vm() argument
295 if ((is_created_vm(target_vm)) && (target_vm->sw.io_shared_page != NULL)) { in hcall_start_vm()
297 start_vm(target_vm); in hcall_start_vm()
315 int32_t hcall_pause_vm(__unused struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_pause_vm() argument
320 if (!is_poweroff_vm(target_vm)) { in hcall_pause_vm()
322 pause_vm(target_vm); in hcall_pause_vm()
340 int32_t hcall_reset_vm(__unused struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_reset_vm() argument
345 if (is_paused_vm(target_vm)) { in hcall_reset_vm()
347 ret = reset_vm(target_vm, COLD_RESET); in hcall_reset_vm()
367 int32_t hcall_set_vcpu_regs(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_set_vcpu_regs() argument
376 if ((!is_poweroff_vm(target_vm)) && (param2 != 0U) && (target_vm->state != VM_RUNNING)) { in hcall_set_vcpu_regs()
381 target_vcpu = vcpu_from_vid(target_vm, vcpu_regs.vcpu_id); in hcall_set_vcpu_regs()
394 int32_t hcall_create_vcpu(__unused struct acrn_vcpu *vcpu, __unused struct acrn_vm *target_vm, in hcall_create_vcpu() argument
414 int32_t hcall_set_irqline(__unused struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_set_irqline() argument
421 if (is_severity_pass(target_vm->vm_id) && !is_poweroff_vm(target_vm)) { in hcall_set_irqline()
422 if (ops->gsi < get_vm_gsicount(target_vm)) { in hcall_set_irqline()
430 vpic_set_irqline(vm_pic(target_vm), irq_pic, ops->op); in hcall_set_irqline()
434 vioapic_set_irqline_lock(target_vm, ops->gsi, ops->op); in hcall_set_irqline()
455 int32_t hcall_inject_msi(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, __unused uint64_t param… in hcall_inject_msi() argument
460 if (is_severity_pass(target_vm->vm_id) && !is_poweroff_vm(target_vm)) { in hcall_inject_msi()
464 ret = vlapic_inject_msi(target_vm, msi.msi_addr, msi.msi_data); in hcall_inject_msi()
484 int32_t hcall_set_ioreq_buffer(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_set_ioreq_buffer() argument
492 if (is_created_vm(target_vm)) { in hcall_set_ioreq_buffer()
497 target_vm->vm_id, iobuf); in hcall_set_ioreq_buffer()
503 target_vm->sw.io_shared_page = NULL; in hcall_set_ioreq_buffer()
505 target_vm->sw.io_shared_page = hpa2hva(hpa); in hcall_set_ioreq_buffer()
507 set_io_req_state(target_vm, i, ACRN_IOREQ_STATE_FREE); in hcall_set_ioreq_buffer()
527 int32_t hcall_setup_sbuf(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_setup_sbuf() argument
538 ret = sbuf_setup_common(target_vm, asp.cpu_id, asp.sbuf_id, hva); in hcall_setup_sbuf()
544 int32_t hcall_asyncio_assign(__unused struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_asyncio_assign() argument
552 add_asyncio(target_vm, &asyncio_info); in hcall_asyncio_assign()
558 int32_t hcall_asyncio_deassign(__unused struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_asyncio_deassign() argument
566 remove_asyncio(target_vm, &asyncio_info); in hcall_asyncio_deassign()
583 int32_t hcall_notify_ioreq_finish(__unused struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_notify_ioreq_finish() argument
591 if (is_severity_pass(target_vm->vm_id) && in hcall_notify_ioreq_finish()
592 (!is_poweroff_vm(target_vm)) && (target_vm->sw.io_shared_page != NULL)) { in hcall_notify_ioreq_finish()
594 target_vm->vm_id, vcpu_id); in hcall_notify_ioreq_finish()
596 if (vcpu_id >= target_vm->hw.created_vcpus) { in hcall_notify_ioreq_finish()
598 __func__, vcpu_id, target_vm->vm_id); in hcall_notify_ioreq_finish()
600 target_vcpu = vcpu_from_vid(target_vm, vcpu_id); in hcall_notify_ioreq_finish()
615 static void add_vm_memory_region(struct acrn_vm *vm, struct acrn_vm *target_vm, in add_vm_memory_region() argument
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
672 pml4_page = (uint64_t *)target_vm->arch_vm.nworld_eptp; 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()
706 int32_t hcall_set_vm_memory_regions(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_set_vm_memory_regions() argument
717 if (!is_poweroff_vm(target_vm) && in hcall_set_vm_memory_regions()
718 (is_severity_pass(target_vm->vm_id) || (target_vm->state != VM_RUNNING))) { in hcall_set_vm_memory_regions()
726 ret = set_vm_memory_region(vm, target_vm, &mr); in hcall_set_vm_memory_regions()
733 pr_err("%p %s:target_vm is invalid or Targeting to service vm", target_vm, __func__); in hcall_set_vm_memory_regions()
795 int32_t hcall_write_protect_page(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_write_protect_page() argument
802 if (!is_poweroff_vm(target_vm)) { in hcall_write_protect_page()
806 ret = write_protect_page(target_vm, &wp); in hcall_write_protect_page()
809 pr_err("%p %s: target_vm is invalid", target_vm, __func__); in hcall_write_protect_page()
828 int32_t hcall_gpa_to_hpa(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, __unused uint64_t param… in hcall_gpa_to_hpa() argument
835 if (!is_poweroff_vm(target_vm) && in hcall_gpa_to_hpa()
837 v_gpa2hpa.hpa = gpa2hpa(target_vm, v_gpa2hpa.gpa); in hcall_gpa_to_hpa()
840 __func__, target_vm->vm_id, v_gpa2hpa.gpa); in hcall_gpa_to_hpa()
862 int32_t hcall_assign_pcidev(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_assign_pcidev() argument
870 if (is_created_vm(target_vm)) { in hcall_assign_pcidev()
872 ret = vpci_assign_pcidev(target_vm, &pcidev); in hcall_assign_pcidev()
892 int32_t hcall_deassign_pcidev(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_deassign_pcidev() argument
900 if ((is_paused_vm(target_vm) || is_created_vm(target_vm))) { in hcall_deassign_pcidev()
902 ret = vpci_deassign_pcidev(target_vm, &pcidev); in hcall_deassign_pcidev()
922 int32_t hcall_assign_mmiodev(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_assign_mmiodev() argument
930 if (is_created_vm(target_vm)) { in hcall_assign_mmiodev()
934 ret = assign_mmio_dev(target_vm, &mmiodev); in hcall_assign_mmiodev()
938 pr_err("vm[%d] %s failed!\n",target_vm->vm_id, __func__); in hcall_assign_mmiodev()
955 int32_t hcall_deassign_mmiodev(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_deassign_mmiodev() argument
963 if ((is_paused_vm(target_vm) || is_created_vm(target_vm))) { in hcall_deassign_mmiodev()
965 ret = deassign_mmio_dev(target_vm, &mmiodev); in hcall_deassign_mmiodev()
971 pr_err("vm[%d] %s failed!\n",target_vm->vm_id, __func__); in hcall_deassign_mmiodev()
988 int32_t hcall_set_ptdev_intr_info(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_set_ptdev_intr_info() argument
994 if (is_created_vm(target_vm)) { in hcall_set_ptdev_intr_info()
1001 struct acrn_vpci *vpci = &target_vm->vpci; in hcall_set_ptdev_intr_info()
1012 if ((((!irq.intx.pic_pin) && (irq.intx.virt_pin < get_vm_gsicount(target_vm))) in hcall_set_ptdev_intr_info()
1016 ret = ptirq_add_intx_remapping(target_vm, irq.intx.virt_pin, in hcall_set_ptdev_intr_info()
1041 int32_t hcall_reset_ptdev_intr_info(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_reset_ptdev_intr_info() argument
1047 if (is_created_vm(target_vm) || is_paused_vm(target_vm)) { in hcall_reset_ptdev_intr_info()
1054 struct acrn_vpci *vpci = &target_vm->vpci; in hcall_reset_ptdev_intr_info()
1065 if (((!irq.intx.pic_pin) && (irq.intx.virt_pin < get_vm_gsicount(target_vm))) || in hcall_reset_ptdev_intr_info()
1067 ptirq_remove_intx_remapping(target_vm, irq.intx.virt_pin, irq.intx.pic_pin, false); in hcall_reset_ptdev_intr_info()
1099 int32_t hcall_get_cpu_pm_state(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, uint64_t param1, … in hcall_get_cpu_pm_state() argument
1105 if (is_created_vm(target_vm) || is_paused_vm(target_vm)) { in hcall_get_cpu_pm_state()
1113 if (is_vhwp_configured(target_vm)) { in hcall_get_cpu_pm_state()
1115 } else if (!is_pt_pstate(target_vm)) { in hcall_get_cpu_pm_state()
1117 } else if (target_vm->pm.px_cnt == 0U) { in hcall_get_cpu_pm_state()
1120 px_cnt = target_vm->pm.px_cnt; in hcall_get_cpu_pm_state()
1129 if (!is_pt_pstate(target_vm)) { in hcall_get_cpu_pm_state()
1137 if (target_vm->pm.px_cnt == 0U) { in hcall_get_cpu_pm_state()
1142 if (pn >= target_vm->pm.px_cnt) { in hcall_get_cpu_pm_state()
1146 px_data = target_vm->pm.px_data + pn; in hcall_get_cpu_pm_state()
1151 ret = copy_to_gpa(vm, &(target_vm->pm.cx_cnt), param2, sizeof(target_vm->pm.cx_cnt)); in hcall_get_cpu_pm_state()
1158 if (target_vm->pm.cx_cnt == 0U) { in hcall_get_cpu_pm_state()
1164 if ((cx_idx == 0U) || (cx_idx > target_vm->pm.cx_cnt)) { in hcall_get_cpu_pm_state()
1168 cx_data = target_vm->pm.cx_data + cx_idx; in hcall_get_cpu_pm_state()
1192 int32_t hcall_vm_intr_monitor(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, in hcall_vm_intr_monitor() argument
1200 if (!is_poweroff_vm(target_vm)) { in hcall_vm_intr_monitor()
1211 intr_hdr->buf_cnt = ptirq_get_intr_data(target_vm, in hcall_vm_intr_monitor()
1217 target_vm->intr_inject_delay_delta = in hcall_vm_intr_monitor()
1247 …32_t hcall_set_callback_vector(__unused struct acrn_vcpu *vcpu, __unused struct acrn_vm *target_vm, in hcall_set_callback_vector() argument
1291 int32_t hcall_add_vdev(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, __unused uint64_t param1,… in hcall_add_vdev() argument
1299 if (is_created_vm(target_vm)) { in hcall_add_vdev()
1303 ret = op->create(target_vm, &dev); in hcall_add_vdev()
1307 …s not a postlaunched VM, or not in CREATED status to create a vdev\n", __func__, target_vm->vm_id); in hcall_add_vdev()
1323 int32_t hcall_remove_vdev(struct acrn_vcpu *vcpu, struct acrn_vm *target_vm, __unused uint64_t para… in hcall_remove_vdev() argument
1333 if (is_created_vm(target_vm) || is_paused_vm(target_vm)) { in hcall_remove_vdev()
1338 vdev = pci_find_vdev(&target_vm->vpci, bdf); in hcall_remove_vdev()
1353 …postlaunched VM, or not in CREATED/PAUSED status to destroy a vdev\n", __func__, target_vm->vm_id); in hcall_remove_vdev()