Home
last modified time | relevance | path

Searched full:vcpu (Results 1 – 25 of 518) sorted by relevance

12345678910>>...21

/linux/arch/powerpc/kvm/
H A Dbooke.c56 STATS_DESC_COUNTER(VCPU, sum_exits),
57 STATS_DESC_COUNTER(VCPU, mmio_exits),
58 STATS_DESC_COUNTER(VCPU, signal_exits),
59 STATS_DESC_COUNTER(VCPU, light_exits),
60 STATS_DESC_COUNTER(VCPU, itlb_real_miss_exits),
61 STATS_DESC_COUNTER(VCPU, itlb_virt_miss_exits),
62 STATS_DESC_COUNTER(VCPU, dtlb_real_miss_exits),
63 STATS_DESC_COUNTER(VCPU, dtlb_virt_miss_exits),
64 STATS_DESC_COUNTER(VCPU, syscall_exits),
65 STATS_DESC_COUNTER(VCPU, isi_exits),
[all …]
H A Dbook3s_emulate.c70 static bool spr_allowed(struct kvm_vcpu *vcpu, enum priv_level level) in spr_allowed() argument
73 if (vcpu->arch.papr_enabled && (level > PRIV_SUPER)) in spr_allowed()
77 if ((kvmppc_get_msr(vcpu) & MSR_PR) && level > PRIV_PROBLEM) in spr_allowed()
84 static inline void kvmppc_copyto_vcpu_tm(struct kvm_vcpu *vcpu) in kvmppc_copyto_vcpu_tm() argument
86 memcpy(&vcpu->arch.gpr_tm[0], &vcpu->arch.regs.gpr[0], in kvmppc_copyto_vcpu_tm()
87 sizeof(vcpu->arch.gpr_tm)); in kvmppc_copyto_vcpu_tm()
88 memcpy(&vcpu->arch.fp_tm, &vcpu->arch.fp, in kvmppc_copyto_vcpu_tm()
90 memcpy(&vcpu->arch.vr_tm, &vcpu->arch.vr, in kvmppc_copyto_vcpu_tm()
92 vcpu->arch.ppr_tm = vcpu->arch.ppr; in kvmppc_copyto_vcpu_tm()
93 vcpu->arch.dscr_tm = vcpu->arch.dscr; in kvmppc_copyto_vcpu_tm()
[all …]
H A Dbooke_emulate.c24 static void kvmppc_emul_rfi(struct kvm_vcpu *vcpu) in kvmppc_emul_rfi() argument
26 vcpu->arch.regs.nip = vcpu->arch.shared->srr0; in kvmppc_emul_rfi()
27 kvmppc_set_msr(vcpu, vcpu->arch.shared->srr1); in kvmppc_emul_rfi()
30 static void kvmppc_emul_rfdi(struct kvm_vcpu *vcpu) in kvmppc_emul_rfdi() argument
32 vcpu->arch.regs.nip = vcpu->arch.dsrr0; in kvmppc_emul_rfdi()
33 kvmppc_set_msr(vcpu, vcpu->arch.dsrr1); in kvmppc_emul_rfdi()
36 static void kvmppc_emul_rfci(struct kvm_vcpu *vcpu) in kvmppc_emul_rfci() argument
38 vcpu->arch.regs.nip = vcpu->arch.csrr0; in kvmppc_emul_rfci()
39 kvmppc_set_msr(vcpu, vcpu->arch.csrr1); in kvmppc_emul_rfci()
42 int kvmppc_booke_emulate_op(struct kvm_vcpu *vcpu, in kvmppc_booke_emulate_op() argument
[all …]
H A Dbook3s_pr.c53 static int kvmppc_handle_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr,
56 static int kvmppc_handle_fac(struct kvm_vcpu *vcpu, ulong fac);
67 static bool kvmppc_is_split_real(struct kvm_vcpu *vcpu) in kvmppc_is_split_real() argument
69 ulong msr = kvmppc_get_msr(vcpu); in kvmppc_is_split_real()
73 static void kvmppc_fixup_split_real(struct kvm_vcpu *vcpu) in kvmppc_fixup_split_real() argument
75 ulong msr = kvmppc_get_msr(vcpu); in kvmppc_fixup_split_real()
76 ulong pc = kvmppc_get_pc(vcpu); in kvmppc_fixup_split_real()
83 if (vcpu->arch.hflags & BOOK3S_HFLAG_SPLIT_HACK) in kvmppc_fixup_split_real()
90 vcpu->arch.hflags |= BOOK3S_HFLAG_SPLIT_HACK; in kvmppc_fixup_split_real()
91 kvmppc_set_pc(vcpu, pc | SPLIT_HACK_OFFS); in kvmppc_fixup_split_real()
[all …]
H A Dbook3s.c58 STATS_DESC_COUNTER(VCPU, sum_exits),
59 STATS_DESC_COUNTER(VCPU, mmio_exits),
60 STATS_DESC_COUNTER(VCPU, signal_exits),
61 STATS_DESC_COUNTER(VCPU, light_exits),
62 STATS_DESC_COUNTER(VCPU, itlb_real_miss_exits),
63 STATS_DESC_COUNTER(VCPU, itlb_virt_miss_exits),
64 STATS_DESC_COUNTER(VCPU, dtlb_real_miss_exits),
65 STATS_DESC_COUNTER(VCPU, dtlb_virt_miss_exits),
66 STATS_DESC_COUNTER(VCPU, syscall_exits),
67 STATS_DESC_COUNTER(VCPU, isi_exits),
[all …]
H A Demulate_loadstore.c28 static bool kvmppc_check_fp_disabled(struct kvm_vcpu *vcpu) in kvmppc_check_fp_disabled() argument
30 if (!(kvmppc_get_msr(vcpu) & MSR_FP)) { in kvmppc_check_fp_disabled()
31 kvmppc_core_queue_fpunavail(vcpu, kvmppc_get_msr(vcpu) & SRR1_PREFIXED); in kvmppc_check_fp_disabled()
40 static bool kvmppc_check_vsx_disabled(struct kvm_vcpu *vcpu) in kvmppc_check_vsx_disabled() argument
42 if (!(kvmppc_get_msr(vcpu) & MSR_VSX)) { in kvmppc_check_vsx_disabled()
43 kvmppc_core_queue_vsx_unavail(vcpu, kvmppc_get_msr(vcpu) & SRR1_PREFIXED); in kvmppc_check_vsx_disabled()
52 static bool kvmppc_check_altivec_disabled(struct kvm_vcpu *vcpu) in kvmppc_check_altivec_disabled() argument
54 if (!(kvmppc_get_msr(vcpu) & MSR_VEC)) { in kvmppc_check_altivec_disabled()
55 kvmppc_core_queue_vec_unavail(vcpu, kvmppc_get_msr(vcpu) & SRR1_PREFIXED); in kvmppc_check_altivec_disabled()
72 int kvmppc_emulate_loadstore(struct kvm_vcpu *vcpu) in kvmppc_emulate_loadstore() argument
[all …]
H A Dbook3s_paired_singles.c150 static inline void kvmppc_sync_qpr(struct kvm_vcpu *vcpu, int rt) in kvmppc_sync_qpr() argument
152 kvm_cvt_df(&VCPU_FPR(vcpu, rt), &vcpu->arch.qpr[rt]); in kvmppc_sync_qpr()
155 static void kvmppc_inject_pf(struct kvm_vcpu *vcpu, ulong eaddr, bool is_store) in kvmppc_inject_pf() argument
158 u64 msr = kvmppc_get_msr(vcpu); in kvmppc_inject_pf()
162 kvmppc_set_msr(vcpu, msr); in kvmppc_inject_pf()
163 kvmppc_set_dar(vcpu, eaddr); in kvmppc_inject_pf()
168 kvmppc_set_dsisr(vcpu, dsisr); in kvmppc_inject_pf()
169 kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_DATA_STORAGE); in kvmppc_inject_pf()
172 static int kvmppc_emulate_fpr_load(struct kvm_vcpu *vcpu, in kvmppc_emulate_fpr_load() argument
184 r = kvmppc_ld(vcpu, &addr, len, tmp, true); in kvmppc_emulate_fpr_load()
[all …]
H A Dbook3s_hv.c135 static int kvmppc_hv_setup_htab_rma(struct kvm_vcpu *vcpu);
167 struct kvm_vcpu *vcpu; in next_runnable_thread() local
170 vcpu = READ_ONCE(vc->runnable_threads[i]); in next_runnable_thread()
171 if (vcpu) { in next_runnable_thread()
173 return vcpu; in next_runnable_thread()
180 #define for_each_runnable_thread(i, vcpu, vc) \ argument
181 for (i = -1; (vcpu = next_runnable_thread(vc, &i)); )
227 static void kvmppc_fast_vcpu_kick_hv(struct kvm_vcpu *vcpu) in kvmppc_fast_vcpu_kick_hv() argument
235 * is the barrier in vcpu run that orders setting the cpu fields vs in kvmppc_fast_vcpu_kick_hv()
239 waitp = kvm_arch_vcpu_get_wait(vcpu); in kvmppc_fast_vcpu_kick_hv()
[all …]
H A Dpowerpc.c55 bool kvm_arch_dy_runnable(struct kvm_vcpu *vcpu) in kvm_arch_dy_runnable() argument
57 return kvm_arch_vcpu_runnable(vcpu); in kvm_arch_dy_runnable()
60 bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu) in kvm_arch_vcpu_in_kernel() argument
65 int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu) in kvm_arch_vcpu_should_kick() argument
79 int kvmppc_prepare_to_enter(struct kvm_vcpu *vcpu) in kvmppc_prepare_to_enter() argument
95 kvmppc_account_exit(vcpu, SIGNAL_EXITS); in kvmppc_prepare_to_enter()
96 vcpu->run->exit_reason = KVM_EXIT_INTR; in kvmppc_prepare_to_enter()
101 vcpu->mode = IN_GUEST_MODE; in kvmppc_prepare_to_enter()
104 * Reading vcpu->requests must happen after setting vcpu->mode, in kvmppc_prepare_to_enter()
109 * to the page tables done while the VCPU is running. in kvmppc_prepare_to_enter()
[all …]
H A Dbook3s_pr_papr.c23 static unsigned long get_pteg_addr(struct kvm_vcpu *vcpu, long pte_index) in get_pteg_addr() argument
25 struct kvmppc_vcpu_book3s *vcpu_book3s = to_book3s(vcpu); in get_pteg_addr()
36 static int kvmppc_h_pr_enter(struct kvm_vcpu *vcpu) in kvmppc_h_pr_enter() argument
38 long flags = kvmppc_get_gpr(vcpu, 4); in kvmppc_h_pr_enter()
39 long pte_index = kvmppc_get_gpr(vcpu, 5); in kvmppc_h_pr_enter()
47 pteg_addr = get_pteg_addr(vcpu, pte_index); in kvmppc_h_pr_enter()
49 mutex_lock(&vcpu->kvm->arch.hpt_mutex); in kvmppc_h_pr_enter()
70 hpte[0] = cpu_to_be64(kvmppc_get_gpr(vcpu, 6)); in kvmppc_h_pr_enter()
71 hpte[1] = cpu_to_be64(kvmppc_get_gpr(vcpu, 7)); in kvmppc_h_pr_enter()
76 kvmppc_set_gpr(vcpu, 4, pte_index | i); in kvmppc_h_pr_enter()
[all …]
/linux/arch/x86/kvm/vmx/
H A Dmain.c68 static int vt_vcpu_create(struct kvm_vcpu *vcpu) in vt_vcpu_create() argument
70 if (is_td_vcpu(vcpu)) in vt_vcpu_create()
71 return tdx_vcpu_create(vcpu); in vt_vcpu_create()
73 return vmx_vcpu_create(vcpu); in vt_vcpu_create()
76 static void vt_vcpu_free(struct kvm_vcpu *vcpu) in vt_vcpu_free() argument
78 if (is_td_vcpu(vcpu)) { in vt_vcpu_free()
79 tdx_vcpu_free(vcpu); in vt_vcpu_free()
83 vmx_vcpu_free(vcpu); in vt_vcpu_free()
86 static void vt_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) in vt_vcpu_reset() argument
88 if (is_td_vcpu(vcpu)) { in vt_vcpu_reset()
[all …]
H A Dx86_ops.h22 int vmx_vcpu_create(struct kvm_vcpu *vcpu);
23 int vmx_vcpu_pre_run(struct kvm_vcpu *vcpu);
24 fastpath_t vmx_vcpu_run(struct kvm_vcpu *vcpu, u64 run_flags);
25 void vmx_vcpu_free(struct kvm_vcpu *vcpu);
26 void vmx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event);
27 void vmx_vcpu_load(struct kvm_vcpu *vcpu, int cpu);
28 void vmx_vcpu_put(struct kvm_vcpu *vcpu);
29 int vmx_handle_exit(struct kvm_vcpu *vcpu, fastpath_t exit_fastpath);
30 void vmx_handle_exit_irqoff(struct kvm_vcpu *vcpu);
31 int vmx_skip_emulated_instruction(struct kvm_vcpu *vcpu);
[all …]
/linux/arch/riscv/kvm/
H A Dvcpu.c29 STATS_DESC_COUNTER(VCPU, ecall_exit_stat),
30 STATS_DESC_COUNTER(VCPU, wfi_exit_stat),
31 STATS_DESC_COUNTER(VCPU, wrs_exit_stat),
32 STATS_DESC_COUNTER(VCPU, mmio_exit_user),
33 STATS_DESC_COUNTER(VCPU, mmio_exit_kernel),
34 STATS_DESC_COUNTER(VCPU, csr_exit_user),
35 STATS_DESC_COUNTER(VCPU, csr_exit_kernel),
36 STATS_DESC_COUNTER(VCPU, signal_exits),
37 STATS_DESC_COUNTER(VCPU, exits),
38 STATS_DESC_COUNTER(VCPU, instr_illegal_exits),
[all …]
/linux/arch/arm64/include/asm/
H A Dkvm_emulate.h44 bool kvm_condition_valid32(const struct kvm_vcpu *vcpu);
45 void kvm_skip_instr32(struct kvm_vcpu *vcpu);
47 void kvm_inject_undefined(struct kvm_vcpu *vcpu);
48 void kvm_inject_sync(struct kvm_vcpu *vcpu, u64 esr);
49 int kvm_inject_serror_esr(struct kvm_vcpu *vcpu, u64 esr);
50 int kvm_inject_sea(struct kvm_vcpu *vcpu, bool iabt, u64 addr);
51 int kvm_inject_dabt_excl_atomic(struct kvm_vcpu *vcpu, u64 addr);
52 void kvm_inject_size_fault(struct kvm_vcpu *vcpu);
54 static inline int kvm_inject_sea_dabt(struct kvm_vcpu *vcpu, u64 addr) in kvm_inject_sea_dabt() argument
56 return kvm_inject_sea(vcpu, false, addr); in kvm_inject_sea_dabt()
[all …]
/linux/arch/loongarch/kvm/
H A Dvcpu.c19 STATS_DESC_COUNTER(VCPU, int_exits),
20 STATS_DESC_COUNTER(VCPU, idle_exits),
21 STATS_DESC_COUNTER(VCPU, cpucfg_exits),
22 STATS_DESC_COUNTER(VCPU, signal_exits),
23 STATS_DESC_COUNTER(VCPU, hypercall_exits),
24 STATS_DESC_COUNTER(VCPU, ipi_read_exits),
25 STATS_DESC_COUNTER(VCPU, ipi_write_exits),
26 STATS_DESC_COUNTER(VCPU, eiointc_read_exits),
27 STATS_DESC_COUNTER(VCPU, eiointc_write_exits),
28 STATS_DESC_COUNTER(VCPU, pch_pic_read_exit
41 kvm_save_host_pmu(struct kvm_vcpu * vcpu) kvm_save_host_pmu() argument
56 kvm_restore_host_pmu(struct kvm_vcpu * vcpu) kvm_restore_host_pmu() argument
72 kvm_save_guest_pmu(struct kvm_vcpu * vcpu) kvm_save_guest_pmu() argument
86 kvm_restore_guest_pmu(struct kvm_vcpu * vcpu) kvm_restore_guest_pmu() argument
100 kvm_own_pmu(struct kvm_vcpu * vcpu) kvm_own_pmu() argument
119 kvm_lose_pmu(struct kvm_vcpu * vcpu) kvm_lose_pmu() argument
152 kvm_check_pmu(struct kvm_vcpu * vcpu) kvm_check_pmu() argument
160 kvm_update_stolen_time(struct kvm_vcpu * vcpu) kvm_update_stolen_time() argument
215 kvm_check_requests(struct kvm_vcpu * vcpu) kvm_check_requests() argument
232 kvm_late_check_requests(struct kvm_vcpu * vcpu) kvm_late_check_requests() argument
272 kvm_enter_guest_check(struct kvm_vcpu * vcpu) kvm_enter_guest_check() argument
296 kvm_pre_enter_guest(struct kvm_vcpu * vcpu) kvm_pre_enter_guest() argument
345 kvm_handle_exit(struct kvm_run * run,struct kvm_vcpu * vcpu) kvm_handle_exit() argument
386 kvm_arch_vcpu_runnable(struct kvm_vcpu * vcpu) kvm_arch_vcpu_runnable() argument
392 kvm_arch_vcpu_should_kick(struct kvm_vcpu * vcpu) kvm_arch_vcpu_should_kick() argument
397 kvm_arch_vcpu_in_kernel(struct kvm_vcpu * vcpu) kvm_arch_vcpu_in_kernel() argument
409 kvm_arch_vcpu_get_ip(struct kvm_vcpu * vcpu) kvm_arch_vcpu_get_ip() argument
419 kvm_arch_pmi_in_guest(struct kvm_vcpu * vcpu) kvm_arch_pmi_in_guest() argument
425 kvm_arch_vcpu_preempted_in_kernel(struct kvm_vcpu * vcpu) kvm_arch_vcpu_preempted_in_kernel() argument
430 kvm_arch_vcpu_fault(struct kvm_vcpu * vcpu,struct vm_fault * vmf) kvm_arch_vcpu_fault() argument
435 kvm_arch_vcpu_ioctl_translate(struct kvm_vcpu * vcpu,struct kvm_translation * tr) kvm_arch_vcpu_ioctl_translate() argument
441 kvm_cpu_has_pending_timer(struct kvm_vcpu * vcpu) kvm_cpu_has_pending_timer() argument
454 kvm_arch_vcpu_dump_regs(struct kvm_vcpu * vcpu) kvm_arch_vcpu_dump_regs() argument
477 kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu * vcpu,struct kvm_mp_state * mp_state) kvm_arch_vcpu_ioctl_get_mpstate() argument
485 kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu * vcpu,struct kvm_mp_state * mp_state) kvm_arch_vcpu_ioctl_set_mpstate() argument
501 kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu * vcpu,struct kvm_guest_debug * dbg) kvm_arch_vcpu_ioctl_set_guest_debug() argument
515 kvm_set_cpuid(struct kvm_vcpu * vcpu,u64 val) kvm_set_cpuid() argument
566 kvm_drop_cpuid(struct kvm_vcpu * vcpu) kvm_drop_cpuid() argument
601 _kvm_getcsr(struct kvm_vcpu * vcpu,unsigned int id,u64 * val) _kvm_getcsr() argument
636 _kvm_setcsr(struct kvm_vcpu * vcpu,unsigned int id,u64 val) _kvm_setcsr() argument
813 kvm_get_one_reg(struct kvm_vcpu * vcpu,const struct kvm_one_reg * reg,u64 * v) kvm_get_one_reg() argument
880 kvm_get_reg(struct kvm_vcpu * vcpu,const struct kvm_one_reg * reg) kvm_get_reg() argument
900 kvm_set_one_reg(struct kvm_vcpu * vcpu,const struct kvm_one_reg * reg,u64 v) kvm_set_one_reg() argument
984 kvm_set_reg(struct kvm_vcpu * vcpu,const struct kvm_one_reg * reg) kvm_set_reg() argument
1002 kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu * vcpu,struct kvm_sregs * sregs) kvm_arch_vcpu_ioctl_get_sregs() argument
1007 kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu * vcpu,struct kvm_sregs * sregs) kvm_arch_vcpu_ioctl_set_sregs() argument
1012 kvm_arch_vcpu_ioctl_get_regs(struct kvm_vcpu * vcpu,struct kvm_regs * regs) kvm_arch_vcpu_ioctl_get_regs() argument
1024 kvm_arch_vcpu_ioctl_set_regs(struct kvm_vcpu * vcpu,struct kvm_regs * regs) kvm_arch_vcpu_ioctl_set_regs() argument
1037 kvm_vcpu_ioctl_enable_cap(struct kvm_vcpu * vcpu,struct kvm_enable_cap * cap) kvm_vcpu_ioctl_enable_cap() argument
1044 kvm_loongarch_cpucfg_has_attr(struct kvm_vcpu * vcpu,struct kvm_device_attr * attr) kvm_loongarch_cpucfg_has_attr() argument
1060 kvm_loongarch_pvtime_has_attr(struct kvm_vcpu * vcpu,struct kvm_device_attr * attr) kvm_loongarch_pvtime_has_attr() argument
1070 kvm_loongarch_vcpu_has_attr(struct kvm_vcpu * vcpu,struct kvm_device_attr * attr) kvm_loongarch_vcpu_has_attr() argument
1089 kvm_loongarch_cpucfg_get_attr(struct kvm_vcpu * vcpu,struct kvm_device_attr * attr) kvm_loongarch_cpucfg_get_attr() argument
1114 kvm_loongarch_pvtime_get_attr(struct kvm_vcpu * vcpu,struct kvm_device_attr * attr) kvm_loongarch_pvtime_get_attr() argument
1131 kvm_loongarch_vcpu_get_attr(struct kvm_vcpu * vcpu,struct kvm_device_attr * attr) kvm_loongarch_vcpu_get_attr() argument
1150 kvm_loongarch_cpucfg_set_attr(struct kvm_vcpu * vcpu,struct kvm_device_attr * attr) kvm_loongarch_cpucfg_set_attr() argument
1177 kvm_loongarch_pvtime_set_attr(struct kvm_vcpu * vcpu,struct kvm_device_attr * attr) kvm_loongarch_pvtime_set_attr() argument
1214 kvm_loongarch_vcpu_set_attr(struct kvm_vcpu * vcpu,struct kvm_device_attr * attr) kvm_loongarch_vcpu_set_attr() argument
1239 struct kvm_vcpu *vcpu = filp->private_data; kvm_arch_vcpu_ioctl() local
1306 kvm_arch_vcpu_ioctl_get_fpu(struct kvm_vcpu * vcpu,struct kvm_fpu * fpu) kvm_arch_vcpu_ioctl_get_fpu() argument
1318 kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu * vcpu,struct kvm_fpu * fpu) kvm_arch_vcpu_ioctl_set_fpu() argument
1331 kvm_own_lbt(struct kvm_vcpu * vcpu) kvm_own_lbt() argument
1342 kvm_lose_lbt(struct kvm_vcpu * vcpu) kvm_lose_lbt() argument
1353 kvm_check_fcsr(struct kvm_vcpu * vcpu,unsigned long fcsr) kvm_check_fcsr() argument
1363 kvm_check_fcsr_alive(struct kvm_vcpu * vcpu) kvm_check_fcsr_alive() argument
1372 kvm_lose_lbt(struct kvm_vcpu * vcpu) kvm_lose_lbt() argument
1373 kvm_check_fcsr(struct kvm_vcpu * vcpu,unsigned long fcsr) kvm_check_fcsr() argument
1374 kvm_check_fcsr_alive(struct kvm_vcpu * vcpu) kvm_check_fcsr_alive() argument
1378 kvm_own_fpu(struct kvm_vcpu * vcpu) kvm_own_fpu() argument
1394 kvm_own_lsx(struct kvm_vcpu * vcpu) kvm_own_lsx() argument
1424 kvm_own_lasx(struct kvm_vcpu * vcpu) kvm_own_lasx() argument
1453 kvm_lose_fpu(struct kvm_vcpu * vcpu) kvm_lose_fpu() argument
1485 kvm_vcpu_ioctl_interrupt(struct kvm_vcpu * vcpu,struct kvm_interrupt * irq) kvm_vcpu_ioctl_interrupt() argument
1507 struct kvm_vcpu *vcpu = filp->private_data; kvm_arch_vcpu_unlocked_ioctl() local
1528 kvm_arch_vcpu_create(struct kvm_vcpu * vcpu) kvm_arch_vcpu_create() argument
1586 kvm_arch_vcpu_postcreate(struct kvm_vcpu * vcpu) kvm_arch_vcpu_postcreate() argument
1590 kvm_arch_vcpu_destroy(struct kvm_vcpu * vcpu) kvm_arch_vcpu_destroy() argument
1611 _kvm_vcpu_load(struct kvm_vcpu * vcpu,int cpu) _kvm_vcpu_load() argument
1712 kvm_arch_vcpu_load(struct kvm_vcpu * vcpu,int cpu) kvm_arch_vcpu_load() argument
1722 _kvm_vcpu_put(struct kvm_vcpu * vcpu,int cpu) _kvm_vcpu_put() argument
1803 kvm_vcpu_set_pv_preempted(struct kvm_vcpu * vcpu) kvm_vcpu_set_pv_preempted() argument
1839 kvm_arch_vcpu_put(struct kvm_vcpu * vcpu) kvm_arch_vcpu_put() argument
1863 kvm_arch_vcpu_ioctl_run(struct kvm_vcpu * vcpu) kvm_arch_vcpu_ioctl_run() argument
[all...]
/linux/arch/x86/kvm/
H A Dx86.c107 ((struct kvm_vcpu *)(ctxt)->vcpu)
129 static void update_cr8_intercept(struct kvm_vcpu *vcpu);
130 static void process_nmi(struct kvm_vcpu *vcpu);
131 static void __kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
132 static void store_regs(struct kvm_vcpu *vcpu);
133 static int sync_regs(struct kvm_vcpu *vcpu);
134 static int kvm_vcpu_do_singlestep(struct kvm_vcpu *vcpu);
136 static int __set_sregs2(struct kvm_vcpu *vcpu, struct kvm_sregs2 *sregs2);
137 static void __get_sregs2(struct kvm_vcpu *vcpu, struct kvm_sregs2 *sregs2);
140 static void kvm_load_guest_fpu(struct kvm_vcpu *vcpu);
[all …]
H A Dkvm_cache_regs.h20 static __always_inline unsigned long kvm_##lname##_read(struct kvm_vcpu *vcpu)\
22 return vcpu->arch.regs[VCPU_REGS_##uname]; \
24 static __always_inline void kvm_##lname##_write(struct kvm_vcpu *vcpu, \
27 vcpu->arch.regs[VCPU_REGS_##uname] = val; \
51 * the vCPU task is in the process of updating the cache. The exception is if in BUILD_KVM_GPR_ACCESSORS()
56 #define kvm_assert_register_caching_allowed(vcpu) \ in BUILD_KVM_GPR_ACCESSORS() argument
57 lockdep_assert_once(in_task() || kvm_arch_pmi_in_guest(vcpu)) in BUILD_KVM_GPR_ACCESSORS()
63 * 1 0 register in vcpu->arch in BUILD_KVM_GPR_ACCESSORS()
64 * 1 1 register in vcpu->arch, needs to be stored back in BUILD_KVM_GPR_ACCESSORS()
66 static inline bool kvm_register_is_available(struct kvm_vcpu *vcpu, in BUILD_KVM_GPR_ACCESSORS()
[all …]
H A Dsmm.c112 void kvm_smm_changed(struct kvm_vcpu *vcpu, bool entering_smm) in kvm_smm_changed() argument
114 trace_kvm_smm_transition(vcpu->vcpu_id, vcpu->arch.smbase, entering_smm); in kvm_smm_changed()
117 vcpu->arch.hflags |= HF_SMM_MASK; in kvm_smm_changed()
119 vcpu->arch.hflags &= ~(HF_SMM_MASK | HF_SMM_INSIDE_NMI_MASK); in kvm_smm_changed()
122 kvm_make_request(KVM_REQ_EVENT, vcpu); in kvm_smm_changed()
129 vcpu->arch.pdptrs_from_userspace = false; in kvm_smm_changed()
132 kvm_mmu_reset_context(vcpu); in kvm_smm_changed()
136 void process_smi(struct kvm_vcpu *vcpu) in process_smi() argument
138 vcpu->arch.smi_pending = true; in process_smi()
139 kvm_make_request(KVM_REQ_EVENT, vcpu); in process_smi()
[all …]
H A Dhyperv.h64 static inline struct kvm_vcpu_hv *to_hv_vcpu(struct kvm_vcpu *vcpu) in to_hv_vcpu() argument
66 return vcpu->arch.hyperv; in to_hv_vcpu()
69 static inline struct kvm_vcpu_hv_synic *to_hv_synic(struct kvm_vcpu *vcpu) in to_hv_synic() argument
71 struct kvm_vcpu_hv *hv_vcpu = to_hv_vcpu(vcpu); in to_hv_synic()
80 return hv_vcpu->vcpu; in hv_synic_to_vcpu()
83 static inline struct kvm_hv_syndbg *to_hv_syndbg(struct kvm_vcpu *vcpu) in to_hv_syndbg() argument
85 return &vcpu->kvm->arch.hyperv.hv_syndbg; in to_hv_syndbg()
88 static inline u32 kvm_hv_get_vpindex(struct kvm_vcpu *vcpu) in kvm_hv_get_vpindex() argument
90 struct kvm_vcpu_hv *hv_vcpu = to_hv_vcpu(vcpu); in kvm_hv_get_vpindex()
92 return hv_vcpu ? hv_vcpu->vp_index : vcpu->vcpu_idx; in kvm_hv_get_vpindex()
[all …]
/linux/arch/arm64/kvm/hyp/vhe/
H A Dswitch.c52 static u64 __compute_hcr(struct kvm_vcpu *vcpu) in __compute_hcr() argument
54 u64 guest_hcr, hcr = vcpu->arch.hcr_el2; in __compute_hcr()
56 if (!vcpu_has_nv(vcpu)) in __compute_hcr()
60 * We rely on the invariant that a vcpu entered from HYP in __compute_hcr()
65 if (is_hyp_ctxt(vcpu)) { in __compute_hcr()
70 if (!vcpu_el2_e2h_is_set(vcpu)) in __compute_hcr()
81 guest_hcr = kvm_vcpu_apply_reg_masks(vcpu, HCR_EL2, 0); in __compute_hcr()
83 write_sysreg_s(vcpu->arch.ctxt.vncr_array, SYS_VNCR_EL2); in __compute_hcr()
87 guest_hcr = __vcpu_sys_reg(vcpu, HCR_EL2); in __compute_hcr()
92 va |= __vcpu_sys_reg(vcpu, VNCR_EL2) & GENMASK(PAGE_SHIFT - 1, 0); in __compute_hcr()
[all …]
/linux/arch/s390/kvm/
H A Dguestdbg.c59 static void enable_all_hw_bp(struct kvm_vcpu *vcpu) in enable_all_hw_bp() argument
62 u64 *cr9 = &vcpu->arch.sie_block->gcr[9]; in enable_all_hw_bp()
63 u64 *cr10 = &vcpu->arch.sie_block->gcr[10]; in enable_all_hw_bp()
64 u64 *cr11 = &vcpu->arch.sie_block->gcr[11]; in enable_all_hw_bp()
67 if (vcpu->arch.guestdbg.nr_hw_bp <= 0 || in enable_all_hw_bp()
68 vcpu->arch.guestdbg.hw_bp_info == NULL) in enable_all_hw_bp()
79 for (i = 0; i < vcpu->arch.guestdbg.nr_hw_bp; i++) { in enable_all_hw_bp()
80 start = vcpu->arch.guestdbg.hw_bp_info[i].addr; in enable_all_hw_bp()
81 len = vcpu->arch.guestdbg.hw_bp_info[i].len; in enable_all_hw_bp()
99 static void enable_all_hw_wp(struct kvm_vcpu *vcpu) in enable_all_hw_wp() argument
[all …]
H A Dsigp.c20 static int __sigp_sense(struct kvm_vcpu *vcpu, struct kvm_vcpu *dst_vcpu, in __sigp_sense() argument
39 VCPU_EVENT(vcpu, 4, "sensed status of cpu %x rc %x", dst_vcpu->vcpu_id, in __sigp_sense()
44 static int __inject_sigp_emergency(struct kvm_vcpu *vcpu, in __inject_sigp_emergency() argument
49 .u.emerg.code = vcpu->vcpu_id, in __inject_sigp_emergency()
55 VCPU_EVENT(vcpu, 4, "sent sigp emerg to cpu %x", in __inject_sigp_emergency()
61 static int __sigp_emergency(struct kvm_vcpu *vcpu, struct kvm_vcpu *dst_vcpu) in __sigp_emergency() argument
63 return __inject_sigp_emergency(vcpu, dst_vcpu); in __sigp_emergency()
66 static int __sigp_conditional_emergency(struct kvm_vcpu *vcpu, in __sigp_conditional_emergency() argument
75 idle = is_vcpu_idle(vcpu); in __sigp_conditional_emergency()
81 if (!is_vcpu_stopped(vcpu) in __sigp_conditional_emergency()
[all …]
/linux/arch/arm64/kvm/hyp/include/hyp/
H A Dswitch.h43 static inline void __fpsimd_save_fpexc32(struct kvm_vcpu *vcpu) in __fpsimd_save_fpexc32() argument
45 if (!vcpu_el1_is_32bit(vcpu)) in __fpsimd_save_fpexc32()
48 __vcpu_assign_sys_reg(vcpu, FPEXC32_EL2, read_sysreg(fpexc32_el2)); in __fpsimd_save_fpexc32()
51 static inline void __activate_traps_fpsimd32(struct kvm_vcpu *vcpu) in __activate_traps_fpsimd32() argument
62 if (vcpu_el1_is_32bit(vcpu) && system_supports_fpsimd()) in __activate_traps_fpsimd32()
66 static inline void __activate_cptr_traps_nvhe(struct kvm_vcpu *vcpu) in __activate_cptr_traps_nvhe() argument
76 if (!vcpu_has_sve(vcpu) || !guest_owns_fp_regs()) in __activate_cptr_traps_nvhe()
85 static inline void __activate_cptr_traps_vhe(struct kvm_vcpu *vcpu) in __activate_cptr_traps_vhe() argument
100 if (vcpu_has_sve(vcpu)) in __activate_cptr_traps_vhe()
104 if (!vcpu_has_nv(vcpu)) in __activate_cptr_traps_vhe()
[all …]
/linux/arch/mips/kvm/
H A Demulate.c40 static int kvm_compute_return_epc(struct kvm_vcpu *vcpu, unsigned long instpc, in kvm_compute_return_epc() argument
45 struct kvm_vcpu_arch *arch = &vcpu->arch; in kvm_compute_return_epc()
56 err = kvm_get_badinstrp((u32 *)epc, vcpu, &insn.word); in kvm_compute_return_epc()
243 enum emulation_result update_pc(struct kvm_vcpu *vcpu, u32 cause) in update_pc() argument
248 err = kvm_compute_return_epc(vcpu, vcpu->arch.pc, in update_pc()
249 &vcpu->arch.pc); in update_pc()
253 vcpu->arch.pc += 4; in update_pc()
256 kvm_debug("update_pc(): New PC: %#lx\n", vcpu->arch.pc); in update_pc()
264 * @vcpu: KVM VCPU information.
272 int kvm_get_badinstr(u32 *opc, struct kvm_vcpu *vcpu, u32 *out) in kvm_get_badinstr() argument
[all …]
H A Dmips.c56 STATS_DESC_COUNTER(VCPU, wait_exits),
57 STATS_DESC_COUNTER(VCPU, cache_exits),
58 STATS_DESC_COUNTER(VCPU, signal_exits),
59 STATS_DESC_COUNTER(VCPU, int_exits),
60 STATS_DESC_COUNTER(VCPU, cop_unusable_exits),
61 STATS_DESC_COUNTER(VCPU, tlbmod_exits),
62 STATS_DESC_COUNTER(VCPU, tlbmiss_ld_exits),
63 STATS_DESC_COUNTER(VCPU, tlbmiss_st_exits),
64 STATS_DESC_COUNTER(VCPU, addrerr_st_exits),
65 STATS_DESC_COUNTER(VCPU, addrerr_ld_exits),
[all …]

12345678910>>...21