| /Linux-v6.1/arch/arm64/kvm/ |
| D | vmid.c | 3 * VMID allocator. 32 #define vmid2idx(vmid) ((vmid) & ~VMID_MASK) argument 36 * As vmid #0 is always reserved, we will never allocate one 42 #define vmid_gen_match(vmid) \ argument 43 (!(((vmid) ^ atomic64_read(&vmid_generation)) >> kvm_arm_vmid_bits)) 48 u64 vmid; in flush_context() local 53 vmid = atomic64_xchg_relaxed(&per_cpu(active_vmids, cpu), 0); in flush_context() 55 /* Preserve reserved VMID */ in flush_context() 56 if (vmid == 0) in flush_context() 57 vmid = per_cpu(reserved_vmids, cpu); in flush_context() [all …]
|
| /Linux-v6.1/drivers/virt/acrn/ |
| D | hypercall.h | 76 * @vmid: User VM ID 80 static inline long hcall_start_vm(u64 vmid) in hcall_start_vm() argument 82 return acrn_hypercall1(HC_START_VM, vmid); in hcall_start_vm() 87 * @vmid: User VM ID 91 static inline long hcall_pause_vm(u64 vmid) in hcall_pause_vm() argument 93 return acrn_hypercall1(HC_PAUSE_VM, vmid); in hcall_pause_vm() 98 * @vmid: User VM ID 102 static inline long hcall_destroy_vm(u64 vmid) in hcall_destroy_vm() argument 104 return acrn_hypercall1(HC_DESTROY_VM, vmid); in hcall_destroy_vm() 109 * @vmid: User VM ID [all …]
|
| D | vm.c | 31 if (ret < 0 || vm_param->vmid == ACRN_INVALID_VMID) { in acrn_vm_create() 40 vm->vmid = vm_param->vmid; in acrn_vm_create() 44 hcall_destroy_vm(vm_param->vmid); in acrn_vm_create() 45 vm->vmid = ACRN_INVALID_VMID; in acrn_vm_create() 55 dev_dbg(acrn_dev.this_device, "VM %u created.\n", vm->vmid); in acrn_vm_create() 63 if (vm->vmid == ACRN_INVALID_VMID || in acrn_vm_destroy() 67 ret = hcall_destroy_vm(vm->vmid); in acrn_vm_destroy() 70 "Failed to destroy VM %u\n", vm->vmid); in acrn_vm_destroy() 91 dev_dbg(acrn_dev.this_device, "VM %u destroyed.\n", vm->vmid); in acrn_vm_destroy() 92 vm->vmid = ACRN_INVALID_VMID; in acrn_vm_destroy() [all …]
|
| D | hsm.c | 37 vm->vmid = ACRN_INVALID_VMID; in acrn_dev_open() 126 if (vm->vmid == ACRN_INVALID_VMID && cmd != ACRN_IOCTL_CREATE_VM) { in acrn_dev_ioctl() 160 ret = hcall_start_vm(vm->vmid); in acrn_dev_ioctl() 163 "Failed to start VM %u!\n", vm->vmid); in acrn_dev_ioctl() 166 ret = hcall_pause_vm(vm->vmid); in acrn_dev_ioctl() 169 "Failed to pause VM %u!\n", vm->vmid); in acrn_dev_ioctl() 172 ret = hcall_reset_vm(vm->vmid); in acrn_dev_ioctl() 175 "Failed to restart VM %u!\n", vm->vmid); in acrn_dev_ioctl() 211 ret = hcall_set_vcpu_regs(vm->vmid, virt_to_phys(cpu_regs)); in acrn_dev_ioctl() 215 vm->vmid); in acrn_dev_ioctl() [all …]
|
| /Linux-v6.1/arch/riscv/kvm/ |
| D | tlb.c | 21 void kvm_riscv_local_hfence_gvma_vmid_gpa(unsigned long vmid, in kvm_riscv_local_hfence_gvma_vmid_gpa() argument 28 kvm_riscv_local_hfence_gvma_vmid_all(vmid); in kvm_riscv_local_hfence_gvma_vmid_gpa() 36 : : "r" (pos >> 2), "r" (vmid) : "memory"); in kvm_riscv_local_hfence_gvma_vmid_gpa() 41 : : "r" (pos >> 2), "r" (vmid) : "memory"); in kvm_riscv_local_hfence_gvma_vmid_gpa() 45 void kvm_riscv_local_hfence_gvma_vmid_all(unsigned long vmid) in kvm_riscv_local_hfence_gvma_vmid_all() argument 47 asm volatile(HFENCE_GVMA(zero, %0) : : "r" (vmid) : "memory"); in kvm_riscv_local_hfence_gvma_vmid_all() 78 void kvm_riscv_local_hfence_vvma_asid_gva(unsigned long vmid, in kvm_riscv_local_hfence_vvma_asid_gva() argument 87 kvm_riscv_local_hfence_vvma_asid_all(vmid, asid); in kvm_riscv_local_hfence_vvma_asid_gva() 91 hgatp = csr_swap(CSR_HGATP, vmid << HGATP_VMID_SHIFT); in kvm_riscv_local_hfence_vvma_asid_gva() 108 void kvm_riscv_local_hfence_vvma_asid_all(unsigned long vmid, in kvm_riscv_local_hfence_vvma_asid_all() argument [all …]
|
| D | vmid.c | 27 /* Figure-out number of VMID bits in HW */ in kvm_riscv_gstage_vmid_detect() 38 /* We don't use VMID bits if they are not sufficient */ in kvm_riscv_gstage_vmid_detect() 50 /* Mark the initial VMID and VMID version invalid */ in kvm_riscv_gstage_vmid_init() 51 kvm->arch.vmid.vmid_version = 0; in kvm_riscv_gstage_vmid_init() 52 kvm->arch.vmid.vmid = 0; in kvm_riscv_gstage_vmid_init() 57 bool kvm_riscv_gstage_vmid_ver_changed(struct kvm_vmid *vmid) in kvm_riscv_gstage_vmid_ver_changed() argument 62 return unlikely(READ_ONCE(vmid->vmid_version) != in kvm_riscv_gstage_vmid_ver_changed() 75 struct kvm_vmid *vmid = &vcpu->kvm->arch.vmid; in kvm_riscv_gstage_vmid_update() local 77 if (!kvm_riscv_gstage_vmid_ver_changed(vmid)) in kvm_riscv_gstage_vmid_update() 84 * another vcpu already allocated a valid vmid for this vm. in kvm_riscv_gstage_vmid_update() [all …]
|
| /Linux-v6.1/drivers/scsi/lpfc/ |
| D | lpfc_vmid.c | 44 * Return the VMID entry associated with the UUID 60 * lpfc_put_vmid_in_hashtable - put the VMID in the hash table 63 * @vmp: Pointer to a VMID entry representing a VM sending I/O 65 * This routine will insert the newly acquired VMID entity in the hash table. 77 * @vmid: uuid associated with the VE 78 * @len: length of the VMID string 81 int lpfc_vmid_hash_fn(const char *vmid, int len) in lpfc_vmid_hash_fn() argument 89 c = *vmid++; in lpfc_vmid_hash_fn() 101 * lpfc_vmid_update_entry - update the vmid entry in the hash table 104 * @vmp: Pointer to a VMID entry representing a VM sending I/O [all …]
|
| /Linux-v6.1/drivers/gpu/drm/amd/display/modules/vmid/ |
| D | vmid.c | 41 static void add_ptb_to_table(struct core_vmid *core_vmid, unsigned int vmid, uint64_t ptb) in add_ptb_to_table() argument 43 if (vmid < MAX_VMID) { in add_ptb_to_table() 44 core_vmid->ptb_assigned_to_vmid[vmid] = ptb; in add_ptb_to_table() 49 static void clear_entry_from_vmid_table(struct core_vmid *core_vmid, unsigned int vmid) in clear_entry_from_vmid_table() argument 51 if (vmid < MAX_VMID) { in clear_entry_from_vmid_table() 52 core_vmid->ptb_assigned_to_vmid[vmid] = 0; in clear_entry_from_vmid_table() 69 // Return value of -1 indicates vmid table uninitialized or ptb dne in the table 82 // Expected to be called only when there's an available vmid 98 int vmid = 0; in mod_vmid_get_for_ptb() local 100 // Physical address gets vmid 0 in mod_vmid_get_for_ptb() [all …]
|
| /Linux-v6.1/drivers/gpu/drm/amd/amdgpu/ |
| D | amdgpu_ids.c | 148 * VMID manager 157 * @id: VMID structure 159 * Check if GPU reset occured since last use of the VMID. 169 * amdgpu_vmid_grab_idle - grab idle VMID 174 * @idle: resulting idle VMID 176 * Try to find an idle VMID, if none is idle add a fence to wait to the sync 198 /* Check if we have an idle VMID */ in amdgpu_vmid_grab_idle() 201 /* Don't use per engine and per process VMID at the same time */ in amdgpu_vmid_grab_idle() 211 /* If we can't find a idle VMID to use, wait till one becomes available */ in amdgpu_vmid_grab_idle() 242 * amdgpu_vmid_grab_reserved - try to assign reserved VMID [all …]
|
| D | amdgpu_amdkfd_gfx_v9.c | 50 uint32_t queue, uint32_t vmid) in lock_srbm() argument 53 soc15_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm() 85 void kgd_gfx_v9_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid, in kgd_gfx_v9_program_sh_mem_settings() argument 91 lock_srbm(adev, 0, 0, 0, vmid); in kgd_gfx_v9_program_sh_mem_settings() 101 unsigned int vmid) in kgd_gfx_v9_set_pasid_vmid_mapping() argument 115 * for ATC add 16 to VMID for mmhub, for IH different registers. in kgd_gfx_v9_set_pasid_vmid_mapping() 119 WREG32(SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid, in kgd_gfx_v9_set_pasid_vmid_mapping() 125 (1U << vmid))) in kgd_gfx_v9_set_pasid_vmid_mapping() 130 1U << vmid); in kgd_gfx_v9_set_pasid_vmid_mapping() 132 /* Mapping vmid to pasid also for IH block */ in kgd_gfx_v9_set_pasid_vmid_mapping() [all …]
|
| D | amdgpu_amdkfd_gfx_v7.c | 49 uint32_t queue, uint32_t vmid) in lock_srbm() argument 51 uint32_t value = PIPEID(pipe) | MEID(mec) | VMID(vmid) | QUEUEID(queue); in lock_srbm() 77 static void kgd_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid, in kgd_program_sh_mem_settings() argument 83 lock_srbm(adev, 0, 0, 0, vmid); in kgd_program_sh_mem_settings() 94 unsigned int vmid) in kgd_set_pasid_vmid_mapping() argument 105 WREG32(mmATC_VMID0_PASID_MAPPING + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping() 107 while (!(RREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS) & (1U << vmid))) in kgd_set_pasid_vmid_mapping() 109 WREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS, 1U << vmid); in kgd_set_pasid_vmid_mapping() 111 /* Mapping vmid to pasid also for IH block */ in kgd_set_pasid_vmid_mapping() 112 WREG32(mmIH_VMID_0_LUT + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping() [all …]
|
| D | amdgpu_amdkfd_gfx_v10.c | 43 uint32_t queue, uint32_t vmid) in lock_srbm() argument 46 nv_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm() 78 static void kgd_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid, in kgd_program_sh_mem_settings() argument 84 lock_srbm(adev, 0, 0, 0, vmid); in kgd_program_sh_mem_settings() 94 unsigned int vmid) in kgd_set_pasid_vmid_mapping() argument 106 pr_debug("pasid 0x%x vmid %d, reg value %x\n", pasid, vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping() 108 pr_debug("ATHUB, reg %x\n", SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid); in kgd_set_pasid_vmid_mapping() 109 WREG32(SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid, in kgd_set_pasid_vmid_mapping() 117 (1U << vmid))) in kgd_set_pasid_vmid_mapping() 123 1U << vmid); in kgd_set_pasid_vmid_mapping() [all …]
|
| D | amdgpu_amdkfd_gfx_v8.c | 43 uint32_t queue, uint32_t vmid) in lock_srbm() argument 45 uint32_t value = PIPEID(pipe) | MEID(mec) | VMID(vmid) | QUEUEID(queue); in lock_srbm() 71 static void kgd_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid, in kgd_program_sh_mem_settings() argument 77 lock_srbm(adev, 0, 0, 0, vmid); in kgd_program_sh_mem_settings() 88 unsigned int vmid) in kgd_set_pasid_vmid_mapping() argument 100 WREG32(mmATC_VMID0_PASID_MAPPING + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping() 102 while (!(RREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS) & (1U << vmid))) in kgd_set_pasid_vmid_mapping() 104 WREG32(mmATC_VMID_PASID_MAPPING_UPDATE_STATUS, 1U << vmid); in kgd_set_pasid_vmid_mapping() 106 /* Mapping vmid to pasid also for IH block */ in kgd_set_pasid_vmid_mapping() 107 WREG32(mmIH_VMID_0_LUT + vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping() [all …]
|
| D | gmc_v11_0.c | 113 "[%s] page fault (src_id:%u ring:%u vmid:%u pasid:%u, " in gmc_v11_0_process_interrupt() 116 entry->src_id, entry->ring_id, entry->vmid, in gmc_v11_0_process_interrupt() 165 uint8_t vmid, uint16_t *p_pasid) in gmc_v11_0_get_vmid_pasid_mapping_info() argument 167 *p_pasid = RREG32(SOC15_REG_OFFSET(OSSSYS, 0, regIH_VMID_0_LUT) + vmid) & 0xffff; in gmc_v11_0_get_vmid_pasid_mapping_info() 174 * VMID 0 is the physical GPU addresses as used by the kernel. 179 static void gmc_v11_0_flush_vm_hub(struct amdgpu_device *adev, uint32_t vmid, in gmc_v11_0_flush_vm_hub() argument 184 u32 inv_req = hub->vmhub_funcs->get_invalidate_req(vmid, flush_type); in gmc_v11_0_flush_vm_hub() 223 tmp &= 1 << vmid; in gmc_v11_0_flush_vm_hub() 264 * @vmid: vm instance to flush 268 static void gmc_v11_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, in gmc_v11_0_flush_gpu_tlb() argument [all …]
|
| D | amdgpu_amdkfd_gfx_v10_3.c | 44 uint32_t queue, uint32_t vmid) in lock_srbm() argument 47 nv_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm() 79 static void program_sh_mem_settings_v10_3(struct amdgpu_device *adev, uint32_t vmid, in program_sh_mem_settings_v10_3() argument 85 lock_srbm(adev, 0, 0, 0, vmid); in program_sh_mem_settings_v10_3() 96 unsigned int vmid) in set_pasid_vmid_mapping_v10_3() argument 100 /* Mapping vmid to pasid also for IH block */ in set_pasid_vmid_mapping_v10_3() 101 pr_debug("mapping vmid %d -> pasid %d in IH block for GFX client\n", in set_pasid_vmid_mapping_v10_3() 102 vmid, pasid); in set_pasid_vmid_mapping_v10_3() 103 WREG32(SOC15_REG_OFFSET(OSSSYS, 0, mmIH_VMID_0_LUT) + vmid, value); in set_pasid_vmid_mapping_v10_3() 191 /* HIQ is set during driver init period with vmid set to 0*/ in hqd_load_v10_3() [all …]
|
| D | amdgpu_amdkfd_gfx_v11.c | 42 uint32_t queue, uint32_t vmid) in lock_srbm() argument 45 soc21_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm() 77 static void program_sh_mem_settings_v11(struct amdgpu_device *adev, uint32_t vmid, in program_sh_mem_settings_v11() argument 83 lock_srbm(adev, 0, 0, 0, vmid); in program_sh_mem_settings_v11() 92 unsigned int vmid) in set_pasid_vmid_mapping_v11() argument 96 /* Mapping vmid to pasid also for IH block */ in set_pasid_vmid_mapping_v11() 97 pr_debug("mapping vmid %d -> pasid %d in IH block for GFX client\n", in set_pasid_vmid_mapping_v11() 98 vmid, pasid); in set_pasid_vmid_mapping_v11() 99 WREG32(SOC15_REG_OFFSET(OSSSYS, 0, regIH_VMID_0_LUT) + vmid, value); in set_pasid_vmid_mapping_v11() 176 /* HIQ is set during driver init period with vmid set to 0*/ in hqd_load_v11() [all …]
|
| D | gmc_v10_0.c | 155 "[%s] page fault (src_id:%u ring:%u vmid:%u pasid:%u, " in gmc_v10_0_process_interrupt() 158 entry->src_id, entry->ring_id, entry->vmid, in gmc_v10_0_process_interrupt() 210 uint8_t vmid, uint16_t *p_pasid) in gmc_v10_0_get_atc_vmid_pasid_mapping_info() argument 215 + vmid); in gmc_v10_0_get_atc_vmid_pasid_mapping_info() 223 * VMID 0 is the physical GPU addresses as used by the kernel. 228 static void gmc_v10_0_flush_vm_hub(struct amdgpu_device *adev, uint32_t vmid, in gmc_v10_0_flush_vm_hub() argument 233 u32 inv_req = hub->vmhub_funcs->get_invalidate_req(vmid, flush_type); in gmc_v10_0_flush_vm_hub() 285 tmp &= 1 << vmid; in gmc_v10_0_flush_vm_hub() 313 * @vmid: vm instance to flush 319 static void gmc_v10_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, in gmc_v10_0_flush_gpu_tlb() argument [all …]
|
| D | amdgpu_amdkfd_gfx_v9.h | 25 void kgd_gfx_v9_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid, 30 unsigned int vmid); 53 uint8_t vmid, uint16_t *p_pasid); 56 uint32_t vmid, uint64_t page_table_base); 60 uint32_t vmid, uint64_t tba_addr, uint64_t tma_addr);
|
| /Linux-v6.1/drivers/gpu/drm/amd/amdkfd/ |
| D | cik_event_interrupt.c | 37 unsigned int vmid; in cik_event_interrupt_isr() local 42 * VMID and PASID are not written into ih_ring_entry in cik_event_interrupt_isr() 53 vmid = f2g->read_vmid_from_vmfault_reg(dev->adev); in cik_event_interrupt_isr() 54 ret = f2g->get_atc_vmid_pasid_mapping_info(dev->adev, vmid, &pasid); in cik_event_interrupt_isr() 57 tmp_ihre->ring_id |= vmid << 8; in cik_event_interrupt_isr() 61 vmid >= dev->vm_info.first_vmid_kfd && in cik_event_interrupt_isr() 62 vmid <= dev->vm_info.last_vmid_kfd; in cik_event_interrupt_isr() 66 vmid = (ihre->ring_id & 0x0000ff00) >> 8; in cik_event_interrupt_isr() 67 if (vmid < dev->vm_info.first_vmid_kfd || in cik_event_interrupt_isr() 68 vmid > dev->vm_info.last_vmid_kfd) in cik_event_interrupt_isr() [all …]
|
| /Linux-v6.1/arch/arm64/kvm/hyp/nvhe/ |
| D | tlb.c | 26 * VMID set in the VTTBR in order to invalidate TLBs. in __tlb_switch_to_guest() 51 /* Ensure write of the host VMID */ in __tlb_switch_to_host() 65 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid_ipa() 91 * I-cache lines allocated with a different VMID, we don't need in __kvm_tlb_flush_vmid_ipa() 93 * VMID rollover), but we do need to be careful when remapping in __kvm_tlb_flush_vmid_ipa() 118 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid() 132 /* Switch to requested VMID */ in __kvm_flush_cpu_context() 149 * VIPT and PIPT caches are not affected by VMID, so no maintenance in __kvm_flush_vm_context() 150 * is necessary across a VMID rollover. in __kvm_flush_vm_context() 152 * VPIPT caches constrain lookup and maintenance to the active VMID, in __kvm_flush_vm_context() [all …]
|
| /Linux-v6.1/drivers/gpu/drm/amd/include/ |
| D | kgd_kfd_interface.h | 51 uint32_t vmid; member 116 /* Bit n == 1 means VMID n is available for KFD. */ 179 * @set_pasid_vmid_mapping: Exposes pasid/vmid pair to the H/W for no cp 203 * @set_scratch_backing_va: Sets VA for scratch backing memory of a VMID. 206 * @set_vm_context_page_table_base: Program page table base for a VMID 210 * @invalidate_tlbs_vmid: Invalidate TLBs for a specific VMID 212 * @read_vmid_from_vmfault_reg: On Hawaii the VMID is not set in the 213 * IH ring entry. This function allows the KFD ISR to get the VMID 231 void (*program_sh_mem_settings)(struct amdgpu_device *adev, uint32_t vmid, 236 unsigned int vmid); [all …]
|
| /Linux-v6.1/drivers/gpu/drm/amd/display/dc/dcn20/ |
| D | dcn20_vmid.c | 32 vmid->regs->reg 35 vmid->ctx 39 vmid->shifts->field_name, vmid->masks->field_name 41 static void dcn20_wait_for_vmid_ready(struct dcn20_vmid *vmid) in dcn20_wait_for_vmid_ready() argument 73 void dcn20_vmid_setup(struct dcn20_vmid *vmid, const struct dcn_vmid_page_table_config *config) in dcn20_vmid_setup() argument 95 dcn20_wait_for_vmid_ready(vmid); in dcn20_vmid_setup()
|
| /Linux-v6.1/arch/riscv/include/asm/ |
| D | kvm_host.h | 79 * Writes to vmid_version and vmid happen with vmid_lock held 83 unsigned long vmid; member 87 /* G-stage vmid */ 88 struct kvm_vmid vmid; member 240 void kvm_riscv_local_hfence_gvma_vmid_gpa(unsigned long vmid, 243 void kvm_riscv_local_hfence_gvma_vmid_all(unsigned long vmid); 247 void kvm_riscv_local_hfence_vvma_asid_gva(unsigned long vmid, 252 void kvm_riscv_local_hfence_vvma_asid_all(unsigned long vmid, 254 void kvm_riscv_local_hfence_vvma_gva(unsigned long vmid, 257 void kvm_riscv_local_hfence_vvma_all(unsigned long vmid); [all …]
|
| /Linux-v6.1/arch/arm64/kvm/hyp/vhe/ |
| D | tlb.c | 89 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid_ipa() 120 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid() 134 /* Switch to requested VMID */ in __kvm_flush_cpu_context() 151 * VIPT and PIPT caches are not affected by VMID, so no maintenance in __kvm_flush_vm_context() 152 * is necessary across a VMID rollover. in __kvm_flush_vm_context() 154 * VPIPT caches constrain lookup and maintenance to the active VMID, in __kvm_flush_vm_context() 155 * so we need to invalidate lines with a stale VMID to avoid an ABA in __kvm_flush_vm_context()
|
| /Linux-v6.1/samples/acrn/ |
| D | vm-sample.c | 31 __u16 vmid; variable 43 ioctl(hsm_fd, ACRN_IOCTL_PAUSE_VM, vmid); in vm_exit() 71 vmid = create_vm.vmid; in main() 105 ret = ioctl(hsm_fd, ACRN_IOCTL_START_VM, vmid); in main() 124 notify.vmid = vmid; in main()
|