Home
last modified time | relevance | path

Searched full:vmid (Results 1 – 25 of 251) sorted by relevance

1234567891011

/linux/arch/arm64/kvm/
H A Dvmid.c3 * 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/drivers/virt/acrn/
H A Dhypercall.h76 * @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 …]
H A Dvm.c31 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 …]
H A Dhsm.c37 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/arch/riscv/kvm/
H A Dtlb.c23 void kvm_riscv_local_hfence_gvma_vmid_gpa(unsigned long vmid, in kvm_riscv_local_hfence_gvma_vmid_gpa() argument
30 kvm_riscv_local_hfence_gvma_vmid_all(vmid); in kvm_riscv_local_hfence_gvma_vmid_gpa()
38 : : "r" (pos >> 2), "r" (vmid) : "memory"); in kvm_riscv_local_hfence_gvma_vmid_gpa()
43 : : "r" (pos >> 2), "r" (vmid) : "memory"); in kvm_riscv_local_hfence_gvma_vmid_gpa()
47 void kvm_riscv_local_hfence_gvma_vmid_all(unsigned long vmid) in kvm_riscv_local_hfence_gvma_vmid_all() argument
49 asm volatile(HFENCE_GVMA(zero, %0) : : "r" (vmid) : "memory"); in kvm_riscv_local_hfence_gvma_vmid_all()
80 void kvm_riscv_local_hfence_vvma_asid_gva(unsigned long vmid, in kvm_riscv_local_hfence_vvma_asid_gva() argument
89 kvm_riscv_local_hfence_vvma_asid_all(vmid, asid); in kvm_riscv_local_hfence_vvma_asid_gva()
93 hgatp = csr_swap(CSR_HGATP, vmid << HGATP_VMID_SHIFT); in kvm_riscv_local_hfence_vvma_asid_gva()
110 void kvm_riscv_local_hfence_vvma_asid_all(unsigned long vmid, in kvm_riscv_local_hfence_vvma_asid_all() argument
[all …]
H A Dvmid.c28 /* 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 …]
H A Dvcpu_sbi_v01.c26 unsigned long vmid; in kvm_sbi_ext_v01_handler() local
81 vmid = READ_ONCE(vcpu->kvm->arch.vmid.vmid); in kvm_sbi_ext_v01_handler()
83 kvm_riscv_hfence_vvma_all(vcpu->kvm, 0, hmask, vmid); in kvm_sbi_ext_v01_handler()
86 cp->a2, PAGE_SHIFT, vmid); in kvm_sbi_ext_v01_handler()
88 vmid = READ_ONCE(vcpu->kvm->arch.vmid.vmid); in kvm_sbi_ext_v01_handler()
91 cp->a3, vmid); in kvm_sbi_ext_v01_handler()
95 cp->a3, vmid); in kvm_sbi_ext_v01_handler()
H A Dmmu.c29 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in mmu_wp_memory_region()
54 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in kvm_riscv_mmu_ioremap()
94 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in kvm_riscv_mmu_iounmap()
114 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in kvm_arch_mmu_enable_log_dirty_pt_masked()
146 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in kvm_arch_flush_shadow_memslot()
255 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in kvm_unmap_gfn_range()
280 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in kvm_age_gfn()
303 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in kvm_test_age_gfn()
468 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in kvm_riscv_mmu_map()
591 gstage.vmid = READ_ONCE(kvm->arch.vmid.vmid); in kvm_riscv_mmu_free_pgd()
[all …]
H A Dvcpu_sbi_replace.c99 unsigned long vmid; in kvm_sbi_ext_rfence_handler() local
107 vmid = READ_ONCE(vcpu->kvm->arch.vmid.vmid); in kvm_sbi_ext_rfence_handler()
109 kvm_riscv_hfence_vvma_all(vcpu->kvm, hbase, hmask, vmid); in kvm_sbi_ext_rfence_handler()
112 cp->a2, cp->a3, PAGE_SHIFT, vmid); in kvm_sbi_ext_rfence_handler()
116 vmid = READ_ONCE(vcpu->kvm->arch.vmid.vmid); in kvm_sbi_ext_rfence_handler()
119 cp->a4, vmid); in kvm_sbi_ext_rfence_handler()
122 cp->a3, PAGE_SHIFT, cp->a4, vmid); in kvm_sbi_ext_rfence_handler()
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_ids.c147 * VMID manager
156 * @id: VMID structure
158 * Check if GPU reset occured since last use of the VMID.
188 * amdgpu_vmid_grab_idle - grab idle VMID
191 * @idle: resulting idle VMID
194 * Try to find an idle VMID, if none is idle add a fence to wait to the sync
205 /* If anybody is waiting for a VMID let everybody wait for fairness */ in amdgpu_vmid_grab_idle()
211 /* Check if we have an idle VMID */ in amdgpu_vmid_grab_idle()
213 /* Don't use per engine and per process VMID at the same time */ in amdgpu_vmid_grab_idle()
223 * If we can't find a idle VMID to use, wait on a fence from the least in amdgpu_vmid_grab_idle()
[all …]
H A Damdgpu_amdkfd_gfx_v9.c51 uint32_t queue, uint32_t vmid, uint32_t inst) in kgd_gfx_v9_lock_srbm() argument
54 soc15_grbm_select(adev, mec, pipe, queue, vmid, GET_INST(GC, inst)); in kgd_gfx_v9_lock_srbm()
86 void kgd_gfx_v9_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid, in kgd_gfx_v9_program_sh_mem_settings() argument
92 kgd_gfx_v9_lock_srbm(adev, 0, 0, 0, vmid, inst); in kgd_gfx_v9_program_sh_mem_settings()
102 unsigned int vmid, uint32_t inst) in kgd_gfx_v9_set_pasid_vmid_mapping() argument
116 * for ATC add 16 to VMID for mmhub, for IH different registers. in kgd_gfx_v9_set_pasid_vmid_mapping()
120 WREG32(SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid, in kgd_gfx_v9_set_pasid_vmid_mapping()
126 (1U << vmid))) in kgd_gfx_v9_set_pasid_vmid_mapping()
131 1U << vmid); in kgd_gfx_v9_set_pasid_vmid_mapping()
133 /* Mapping vmid to pasid also for IH block */ in kgd_gfx_v9_set_pasid_vmid_mapping()
[all …]
H A Damdgpu_amdkfd_gfx_v10.c45 uint32_t queue, uint32_t vmid) in lock_srbm() argument
48 nv_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm()
80 static void kgd_program_sh_mem_settings(struct amdgpu_device *adev, uint32_t vmid, in kgd_program_sh_mem_settings() argument
86 lock_srbm(adev, 0, 0, 0, vmid); in kgd_program_sh_mem_settings()
96 unsigned int vmid, uint32_t inst) in kgd_set_pasid_vmid_mapping() argument
108 pr_debug("pasid 0x%x vmid %d, reg value %x\n", pasid, vmid, pasid_mapping); in kgd_set_pasid_vmid_mapping()
110 pr_debug("ATHUB, reg %x\n", SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid); in kgd_set_pasid_vmid_mapping()
111 WREG32(SOC15_REG_OFFSET(ATHUB, 0, mmATC_VMID0_PASID_MAPPING) + vmid, in kgd_set_pasid_vmid_mapping()
119 (1U << vmid))) in kgd_set_pasid_vmid_mapping()
125 1U << vmid); in kgd_set_pasid_vmid_mapping()
[all …]
H A Damdgpu_amdkfd_gfx_v7.c49 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, uint32_t inst) 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 …]
H A Damdgpu_amdkfd_gfx_v8.c43 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, uint32_t inst) 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 …]
H A Damdgpu_amdkfd_gfx_v11.c43 uint32_t queue, uint32_t vmid) in lock_srbm() argument
46 soc21_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm()
78 static void program_sh_mem_settings_v11(struct amdgpu_device *adev, uint32_t vmid, in program_sh_mem_settings_v11() argument
84 lock_srbm(adev, 0, 0, 0, vmid); in program_sh_mem_settings_v11()
93 unsigned int vmid, uint32_t inst) in set_pasid_vmid_mapping_v11() argument
97 /* Mapping vmid to pasid also for IH block */ in set_pasid_vmid_mapping_v11()
98 pr_debug("mapping vmid %d -> pasid %d in IH block for GFX client\n", in set_pasid_vmid_mapping_v11()
99 vmid, pasid); in set_pasid_vmid_mapping_v11()
100 WREG32(SOC15_REG_OFFSET(OSSSYS, 0, regIH_VMID_0_LUT) + vmid, value); in set_pasid_vmid_mapping_v11()
178 /* HIQ is set during driver init period with vmid set to 0*/ in hqd_load_v11()
[all …]
H A Damdgpu_amdkfd_gfx_v10_3.c45 uint32_t queue, uint32_t vmid) in lock_srbm() argument
48 nv_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm()
80 static void program_sh_mem_settings_v10_3(struct amdgpu_device *adev, uint32_t vmid, in program_sh_mem_settings_v10_3() argument
86 lock_srbm(adev, 0, 0, 0, vmid); in program_sh_mem_settings_v10_3()
97 unsigned int vmid, uint32_t inst) in set_pasid_vmid_mapping_v10_3() argument
101 /* Mapping vmid to pasid also for IH block */ in set_pasid_vmid_mapping_v10_3()
102 pr_debug("mapping vmid %d -> pasid %d in IH block for GFX client\n", in set_pasid_vmid_mapping_v10_3()
103 vmid, pasid); in set_pasid_vmid_mapping_v10_3()
104 WREG32(SOC15_REG_OFFSET(OSSSYS, 0, mmIH_VMID_0_LUT) + vmid, value); in set_pasid_vmid_mapping_v10_3()
193 /* HIQ is set during driver init period with vmid set to 0*/ in hqd_load_v10_3()
[all …]
H A Dgmc_v7_0.c439 int vmid; in gmc_v7_0_flush_gpu_tlb_pasid() local
441 for (vmid = 1; vmid < 16; vmid++) { in gmc_v7_0_flush_gpu_tlb_pasid()
442 u32 tmp = RREG32(mmATC_VMID0_PASID_MAPPING + vmid); in gmc_v7_0_flush_gpu_tlb_pasid()
446 mask |= 1 << vmid; in gmc_v7_0_flush_gpu_tlb_pasid()
455 * VMID 0 is the physical GPU addresses as used by the kernel.
464 * @vmid: vm instance to flush
470 static void gmc_v7_0_flush_gpu_tlb(struct amdgpu_device *adev, uint32_t vmid, in gmc_v7_0_flush_gpu_tlb() argument
474 WREG32(mmVM_INVALIDATE_REQUEST, 1 << vmid); in gmc_v7_0_flush_gpu_tlb()
478 unsigned int vmid, uint64_t pd_addr) in gmc_v7_0_emit_flush_gpu_tlb() argument
482 if (vmid < 8) in gmc_v7_0_emit_flush_gpu_tlb()
[all …]
/linux/drivers/gpu/drm/amd/display/modules/vmid/
H A Dvmid.c41 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/arch/riscv/include/asm/
H A Dkvm_tlb.h24 unsigned long vmid; member
34 void kvm_riscv_local_hfence_gvma_vmid_gpa(unsigned long vmid,
37 void kvm_riscv_local_hfence_gvma_vmid_all(unsigned long vmid);
41 void kvm_riscv_local_hfence_vvma_asid_gva(unsigned long vmid,
46 void kvm_riscv_local_hfence_vvma_asid_all(unsigned long vmid,
48 void kvm_riscv_local_hfence_vvma_gva(unsigned long vmid,
51 void kvm_riscv_local_hfence_vvma_all(unsigned long vmid);
65 unsigned long order, unsigned long vmid);
68 unsigned long vmid);
73 unsigned long vmid);
[all …]
/linux/drivers/gpu/drm/amd/amdkfd/
H A Dcik_event_interrupt.c37 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()
/linux/drivers/gpu/drm/amd/display/dc/dcn20/
H A Ddcn20_vmid.c32 vmid->regs->reg
35 vmid->ctx
39 vmid->shifts->field_name, vmid->masks->field_name
44 static void dcn20_wait_for_vmid_ready(struct dcn20_vmid *vmid) in dcn20_wait_for_vmid_ready() argument
76 void dcn20_vmid_setup(struct dcn20_vmid *vmid, const struct dcn_vmid_page_table_config *config) in dcn20_vmid_setup() argument
98 dcn20_wait_for_vmid_ready(vmid); in dcn20_vmid_setup()
/linux/samples/acrn/
H A Dvm-sample.c30 __u16 vmid; variable
40 ioctl(hsm_fd, ACRN_IOCTL_PAUSE_VM, vmid); in vm_exit()
67 vmid = create_vm.vmid; in main()
101 ret = ioctl(hsm_fd, ACRN_IOCTL_START_VM, vmid); in main()
120 notify.vmid = vmid; in main()
/linux/drivers/soc/qcom/
H A Drmtfs_mem.c178 u32 vmid[NUM_MAX_VMIDS]; in qcom_rmtfs_mem_probe() local
239 num_vmids = of_property_count_u32_elems(node, "qcom,vmid"); in qcom_rmtfs_mem_probe()
241 /* qcom,vmid is optional */ in qcom_rmtfs_mem_probe()
244 dev_err(&pdev->dev, "failed to count qcom,vmid elements: %d\n", num_vmids); in qcom_rmtfs_mem_probe()
254 ret = of_property_read_u32_array(node, "qcom,vmid", vmid, num_vmids); in qcom_rmtfs_mem_probe()
256 dev_err(&pdev->dev, "failed to parse qcom,vmid\n"); in qcom_rmtfs_mem_probe()
264 perms[0].vmid = QCOM_SCM_VMID_HLOS; in qcom_rmtfs_mem_probe()
268 perms[i + 1].vmid = vmid[i]; in qcom_rmtfs_mem_probe()
299 perm.vmid = QCOM_SCM_VMID_HLOS; in qcom_rmtfs_mem_remove()
/linux/drivers/gpu/drm/radeon/
H A Dradeon_trace.h51 TP_PROTO(unsigned vmid, int ring),
52 TP_ARGS(vmid, ring),
54 __field(u32, vmid)
59 __entry->vmid = vmid;
62 TP_printk("vmid=%u, ring=%u", __entry->vmid, __entry->ring)
/linux/arch/arm64/kvm/hyp/nvhe/
H A Dtlb.c79 * avoid a Stage-1 walk with the old VMID while we have in enter_vmid_context()
80 * the new VMID set in the VTTBR in order to invalidate TLBs. in enter_vmid_context()
135 /* Ensure write of the old VMID */ in exit_vmid_context()
153 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid_ipa()
183 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid_ipa_nsh()
221 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid_range()
239 /* Switch to requested VMID */ in __kvm_tlb_flush_vmid()
253 /* Switch to requested VMID */ in __kvm_flush_cpu_context()

1234567891011