Home
last modified time | relevance | path

Searched refs:vcpu (Results 1 – 25 of 424) sorted by relevance

12345678910>>...17

/linux-6.1.9/arch/arm64/include/asm/
Dkvm_emulate.h36 bool kvm_condition_valid32(const struct kvm_vcpu *vcpu);
37 void kvm_skip_instr32(struct kvm_vcpu *vcpu);
39 void kvm_inject_undefined(struct kvm_vcpu *vcpu);
40 void kvm_inject_vabt(struct kvm_vcpu *vcpu);
41 void kvm_inject_dabt(struct kvm_vcpu *vcpu, unsigned long addr);
42 void kvm_inject_pabt(struct kvm_vcpu *vcpu, unsigned long addr);
43 void kvm_inject_size_fault(struct kvm_vcpu *vcpu);
45 void kvm_vcpu_wfi(struct kvm_vcpu *vcpu);
48 static __always_inline bool vcpu_el1_is_32bit(struct kvm_vcpu *vcpu) in vcpu_el1_is_32bit() argument
50 return !(vcpu->arch.hcr_el2 & HCR_RW); in vcpu_el1_is_32bit()
[all …]
/linux-6.1.9/arch/s390/kvm/
Dpriv.c33 static int handle_ri(struct kvm_vcpu *vcpu) in handle_ri() argument
35 vcpu->stat.instruction_ri++; in handle_ri()
37 if (test_kvm_facility(vcpu->kvm, 64)) { in handle_ri()
38 VCPU_EVENT(vcpu, 3, "%s", "ENABLE: RI (lazy)"); in handle_ri()
39 vcpu->arch.sie_block->ecb3 |= ECB3_RI; in handle_ri()
40 kvm_s390_retry_instr(vcpu); in handle_ri()
43 return kvm_s390_inject_program_int(vcpu, PGM_OPERATION); in handle_ri()
46 int kvm_s390_handle_aa(struct kvm_vcpu *vcpu) in kvm_s390_handle_aa() argument
48 if ((vcpu->arch.sie_block->ipa & 0xf) <= 4) in kvm_s390_handle_aa()
49 return handle_ri(vcpu); in kvm_s390_handle_aa()
[all …]
Dintercept.c25 u8 kvm_s390_get_ilen(struct kvm_vcpu *vcpu) in kvm_s390_get_ilen() argument
27 struct kvm_s390_sie_block *sie_block = vcpu->arch.sie_block; in kvm_s390_get_ilen()
30 switch (vcpu->arch.sie_block->icptcode) { in kvm_s390_get_ilen()
37 ilen = insn_length(vcpu->arch.sie_block->ipa >> 8); in kvm_s390_get_ilen()
47 ilen = vcpu->arch.sie_block->pgmilc & 0x6; in kvm_s390_get_ilen()
53 static int handle_stop(struct kvm_vcpu *vcpu) in handle_stop() argument
55 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in handle_stop()
59 vcpu->stat.exit_stop_request++; in handle_stop()
62 if (kvm_s390_vcpu_has_irq(vcpu, 1)) in handle_stop()
68 stop_pending = kvm_s390_is_stop_irq_pending(vcpu); in handle_stop()
[all …]
Ddiag.c20 static int diag_release_pages(struct kvm_vcpu *vcpu) in diag_release_pages() argument
23 unsigned long prefix = kvm_s390_get_prefix(vcpu); in diag_release_pages()
25 start = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; in diag_release_pages()
26 end = vcpu->run->s.regs.gprs[vcpu->arch.sie_block->ipa & 0xf] + PAGE_SIZE; in diag_release_pages()
27 vcpu->stat.instruction_diagnose_10++; in diag_release_pages()
31 return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION); in diag_release_pages()
33 VCPU_EVENT(vcpu, 5, "diag release pages %lX %lX", start, end); in diag_release_pages()
40 gmap_discard(vcpu->arch.gmap, start, end); in diag_release_pages()
48 gmap_discard(vcpu->arch.gmap, start, prefix); in diag_release_pages()
50 gmap_discard(vcpu->arch.gmap, 0, PAGE_SIZE); in diag_release_pages()
[all …]
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 …]
Dkvm-s390.h24 #define IS_TE_ENABLED(vcpu) ((vcpu->arch.sie_block->ecb & ECB_TE)) argument
26 #define IS_ITDB_VALID(vcpu) ((*(char *)vcpu->arch.sie_block->itdba == TDB_FORMAT1)) argument
60 static inline void kvm_s390_set_cpuflags(struct kvm_vcpu *vcpu, u32 flags) in kvm_s390_set_cpuflags() argument
62 atomic_or(flags, &vcpu->arch.sie_block->cpuflags); in kvm_s390_set_cpuflags()
65 static inline void kvm_s390_clear_cpuflags(struct kvm_vcpu *vcpu, u32 flags) in kvm_s390_clear_cpuflags() argument
67 atomic_andnot(flags, &vcpu->arch.sie_block->cpuflags); in kvm_s390_clear_cpuflags()
70 static inline bool kvm_s390_test_cpuflags(struct kvm_vcpu *vcpu, u32 flags) in kvm_s390_test_cpuflags() argument
72 return (atomic_read(&vcpu->arch.sie_block->cpuflags) & flags) == flags; in kvm_s390_test_cpuflags()
75 static inline int is_vcpu_stopped(struct kvm_vcpu *vcpu) in is_vcpu_stopped() argument
77 return kvm_s390_test_cpuflags(vcpu, CPUSTAT_STOPPED); in is_vcpu_stopped()
[all …]
/linux-6.1.9/arch/arm64/kvm/
Ddebug.c40 static void save_guest_debug_regs(struct kvm_vcpu *vcpu) in save_guest_debug_regs() argument
42 u64 val = vcpu_read_sys_reg(vcpu, MDSCR_EL1); in save_guest_debug_regs()
44 vcpu->arch.guest_debug_preserved.mdscr_el1 = val; in save_guest_debug_regs()
47 vcpu->arch.guest_debug_preserved.mdscr_el1); in save_guest_debug_regs()
49 vcpu->arch.guest_debug_preserved.pstate_ss = in save_guest_debug_regs()
50 (*vcpu_cpsr(vcpu) & DBG_SPSR_SS); in save_guest_debug_regs()
53 static void restore_guest_debug_regs(struct kvm_vcpu *vcpu) in restore_guest_debug_regs() argument
55 u64 val = vcpu->arch.guest_debug_preserved.mdscr_el1; in restore_guest_debug_regs()
57 vcpu_write_sys_reg(vcpu, val, MDSCR_EL1); in restore_guest_debug_regs()
60 vcpu_read_sys_reg(vcpu, MDSCR_EL1)); in restore_guest_debug_regs()
[all …]
Dpsci.c34 static unsigned long kvm_psci_vcpu_suspend(struct kvm_vcpu *vcpu) in kvm_psci_vcpu_suspend() argument
49 kvm_vcpu_wfi(vcpu); in kvm_psci_vcpu_suspend()
54 static inline bool kvm_psci_valid_affinity(struct kvm_vcpu *vcpu, in kvm_psci_valid_affinity() argument
64 struct kvm_vcpu *vcpu = NULL; in kvm_psci_vcpu_on() local
71 vcpu = kvm_mpidr_to_vcpu(kvm, cpu_id); in kvm_psci_vcpu_on()
77 if (!vcpu) in kvm_psci_vcpu_on()
79 if (!kvm_arm_vcpu_stopped(vcpu)) { in kvm_psci_vcpu_on()
86 reset_state = &vcpu->arch.reset_state; in kvm_psci_vcpu_on()
100 kvm_make_request(KVM_REQ_VCPU_RESET, vcpu); in kvm_psci_vcpu_on()
108 vcpu->arch.mp_state.mp_state = KVM_MP_STATE_RUNNABLE; in kvm_psci_vcpu_on()
[all …]
Dinject_fault.c17 static void inject_abt64(struct kvm_vcpu *vcpu, bool is_iabt, unsigned long addr) in inject_abt64() argument
19 unsigned long cpsr = *vcpu_cpsr(vcpu); in inject_abt64()
20 bool is_aarch32 = vcpu_mode_is_32bit(vcpu); in inject_abt64()
23 kvm_pend_exception(vcpu, EXCEPT_AA64_EL1_SYNC); in inject_abt64()
25 vcpu_write_sys_reg(vcpu, addr, FAR_EL1); in inject_abt64()
31 if (kvm_vcpu_trap_il_is32bit(vcpu)) in inject_abt64()
46 vcpu_write_sys_reg(vcpu, esr | ESR_ELx_FSC_EXTABT, ESR_EL1); in inject_abt64()
49 static void inject_undef64(struct kvm_vcpu *vcpu) in inject_undef64() argument
53 kvm_pend_exception(vcpu, EXCEPT_AA64_EL1_SYNC); in inject_undef64()
59 if (kvm_vcpu_trap_il_is32bit(vcpu)) in inject_undef64()
[all …]
/linux-6.1.9/arch/powerpc/kvm/
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 …]
Dbooke.c90 void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu) in kvmppc_dump_vcpu() argument
94 printk("pc: %08lx msr: %08llx\n", vcpu->arch.regs.nip, in kvmppc_dump_vcpu()
95 vcpu->arch.shared->msr); in kvmppc_dump_vcpu()
96 printk("lr: %08lx ctr: %08lx\n", vcpu->arch.regs.link, in kvmppc_dump_vcpu()
97 vcpu->arch.regs.ctr); in kvmppc_dump_vcpu()
98 printk("srr0: %08llx srr1: %08llx\n", vcpu->arch.shared->srr0, in kvmppc_dump_vcpu()
99 vcpu->arch.shared->srr1); in kvmppc_dump_vcpu()
101 printk("exceptions: %08lx\n", vcpu->arch.pending_exceptions); in kvmppc_dump_vcpu()
105 kvmppc_get_gpr(vcpu, i), in kvmppc_dump_vcpu()
106 kvmppc_get_gpr(vcpu, i+1), in kvmppc_dump_vcpu()
[all …]
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 …]
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 …]
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); 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); 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); in kvmppc_check_altivec_disabled()
72 int kvmppc_emulate_loadstore(struct kvm_vcpu *vcpu) in kvmppc_emulate_loadstore() argument
[all …]
Dbook3s_hv_tm.c16 static void emulate_tx_failure(struct kvm_vcpu *vcpu, u64 failure_cause) in emulate_tx_failure() argument
19 u64 msr = vcpu->arch.shregs.msr; in emulate_tx_failure()
21 tfiar = vcpu->arch.regs.nip & ~0x3ull; in emulate_tx_failure()
23 if (MSR_TM_SUSPENDED(vcpu->arch.shregs.msr)) in emulate_tx_failure()
29 vcpu->arch.tfiar = tfiar; in emulate_tx_failure()
31 vcpu->arch.texasr = (vcpu->arch.texasr & 0x3ffffff) | texasr; in emulate_tx_failure()
42 int kvmhv_p9_tm_emulation(struct kvm_vcpu *vcpu) in kvmhv_p9_tm_emulation() argument
44 u32 instr = vcpu->arch.emul_inst; in kvmhv_p9_tm_emulation()
45 u64 msr = vcpu->arch.shregs.msr; in kvmhv_p9_tm_emulation()
56 vcpu->arch.regs.nip -= 4; in kvmhv_p9_tm_emulation()
[all …]
Dbook3s.c98 static inline void kvmppc_update_int_pending(struct kvm_vcpu *vcpu, in kvmppc_update_int_pending() argument
101 if (is_kvmppc_hv_enabled(vcpu->kvm)) in kvmppc_update_int_pending()
104 kvmppc_set_int_pending(vcpu, 1); in kvmppc_update_int_pending()
106 kvmppc_set_int_pending(vcpu, 0); in kvmppc_update_int_pending()
109 static inline bool kvmppc_critical_section(struct kvm_vcpu *vcpu) in kvmppc_critical_section() argument
115 if (is_kvmppc_hv_enabled(vcpu->kvm)) in kvmppc_critical_section()
118 crit_raw = kvmppc_get_critical(vcpu); in kvmppc_critical_section()
119 crit_r1 = kvmppc_get_gpr(vcpu, 1); in kvmppc_critical_section()
122 if (!(kvmppc_get_msr(vcpu) & MSR_SF)) { in kvmppc_critical_section()
130 crit = crit && !(kvmppc_get_msr(vcpu) & MSR_PR); in kvmppc_critical_section()
[all …]
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 …]
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-6.1.9/arch/mips/kvm/
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()
272 int kvm_get_badinstr(u32 *opc, struct kvm_vcpu *vcpu, u32 *out) in kvm_get_badinstr() argument
275 *out = vcpu->arch.host_cp0_badinstr; in kvm_get_badinstr()
[all …]
/linux-6.1.9/arch/x86/kvm/
Dx86.c98 ((struct kvm_vcpu *)(ctxt)->vcpu)
120 static void update_cr8_intercept(struct kvm_vcpu *vcpu);
121 static void process_nmi(struct kvm_vcpu *vcpu);
122 static void process_smi(struct kvm_vcpu *vcpu);
123 static void enter_smm(struct kvm_vcpu *vcpu);
124 static void __kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
125 static void store_regs(struct kvm_vcpu *vcpu);
126 static int sync_regs(struct kvm_vcpu *vcpu);
127 static int kvm_vcpu_do_singlestep(struct kvm_vcpu *vcpu);
129 static int __set_sregs2(struct kvm_vcpu *vcpu, struct kvm_sregs2 *sregs2);
[all …]
Dkvm_cache_regs.h19 static __always_inline unsigned long kvm_##lname##_read(struct kvm_vcpu *vcpu)\
21 return vcpu->arch.regs[VCPU_REGS_##uname]; \
23 static __always_inline void kvm_##lname##_write(struct kvm_vcpu *vcpu, \
26 vcpu->arch.regs[VCPU_REGS_##uname] = val; \
53 static inline bool kvm_register_is_available(struct kvm_vcpu *vcpu, in BUILD_KVM_GPR_ACCESSORS()
56 return test_bit(reg, (unsigned long *)&vcpu->arch.regs_avail); in BUILD_KVM_GPR_ACCESSORS()
59 static inline bool kvm_register_is_dirty(struct kvm_vcpu *vcpu, in kvm_register_is_dirty() argument
62 return test_bit(reg, (unsigned long *)&vcpu->arch.regs_dirty); in kvm_register_is_dirty()
65 static inline void kvm_register_mark_available(struct kvm_vcpu *vcpu, in kvm_register_mark_available() argument
68 __set_bit(reg, (unsigned long *)&vcpu->arch.regs_avail); in kvm_register_mark_available()
[all …]
Dx86.h82 void kvm_service_local_tlb_flush_requests(struct kvm_vcpu *vcpu);
83 int kvm_check_nested_events(struct kvm_vcpu *vcpu);
85 static inline bool kvm_is_exception_pending(struct kvm_vcpu *vcpu) in kvm_is_exception_pending() argument
87 return vcpu->arch.exception.pending || in kvm_is_exception_pending()
88 vcpu->arch.exception_vmexit.pending || in kvm_is_exception_pending()
89 kvm_test_request(KVM_REQ_TRIPLE_FAULT, vcpu); in kvm_is_exception_pending()
92 static inline void kvm_clear_exception_queue(struct kvm_vcpu *vcpu) in kvm_clear_exception_queue() argument
94 vcpu->arch.exception.pending = false; in kvm_clear_exception_queue()
95 vcpu->arch.exception.injected = false; in kvm_clear_exception_queue()
96 vcpu->arch.exception_vmexit.pending = false; in kvm_clear_exception_queue()
[all …]
/linux-6.1.9/arch/riscv/kvm/
Dvcpu.c109 static void kvm_riscv_reset_vcpu(struct kvm_vcpu *vcpu) in kvm_riscv_reset_vcpu() argument
111 struct kvm_vcpu_csr *csr = &vcpu->arch.guest_csr; in kvm_riscv_reset_vcpu()
112 struct kvm_vcpu_csr *reset_csr = &vcpu->arch.guest_reset_csr; in kvm_riscv_reset_vcpu()
113 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context; in kvm_riscv_reset_vcpu()
114 struct kvm_cpu_context *reset_cntx = &vcpu->arch.guest_reset_context; in kvm_riscv_reset_vcpu()
123 loaded = (vcpu->cpu != -1); in kvm_riscv_reset_vcpu()
125 kvm_arch_vcpu_put(vcpu); in kvm_riscv_reset_vcpu()
127 vcpu->arch.last_exit_cpu = -1; in kvm_riscv_reset_vcpu()
133 kvm_riscv_vcpu_fp_reset(vcpu); in kvm_riscv_reset_vcpu()
135 kvm_riscv_vcpu_timer_reset(vcpu); in kvm_riscv_reset_vcpu()
[all …]
/linux-6.1.9/arch/x86/kvm/vmx/
Dsgx.c23 static int sgx_get_encls_gva(struct kvm_vcpu *vcpu, unsigned long offset, in sgx_get_encls_gva() argument
31 if (!is_long_mode(vcpu)) { in sgx_get_encls_gva()
32 vmx_get_segment(vcpu, &s, VCPU_SREG_DS); in sgx_get_encls_gva()
38 } else if (likely(is_long_mode(vcpu))) { in sgx_get_encls_gva()
39 fault = is_noncanonical_address(*gva, vcpu); in sgx_get_encls_gva()
49 kvm_inject_gp(vcpu, 0); in sgx_get_encls_gva()
53 static void sgx_handle_emulation_failure(struct kvm_vcpu *vcpu, u64 addr, in sgx_handle_emulation_failure() argument
58 __kvm_prepare_emulation_failure_exit(vcpu, data, ARRAY_SIZE(data)); in sgx_handle_emulation_failure()
61 static int sgx_read_hva(struct kvm_vcpu *vcpu, unsigned long hva, void *data, in sgx_read_hva() argument
65 sgx_handle_emulation_failure(vcpu, hva, size); in sgx_read_hva()
[all …]
/linux-6.1.9/arch/powerpc/include/asm/
Dkvm_ppc.h61 extern int kvmppc_vcpu_run(struct kvm_vcpu *vcpu);
62 extern int __kvmppc_vcpu_run(struct kvm_vcpu *vcpu);
65 extern void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu);
66 extern int kvmppc_handle_load(struct kvm_vcpu *vcpu,
69 extern int kvmppc_handle_loads(struct kvm_vcpu *vcpu,
72 extern int kvmppc_handle_vsx_load(struct kvm_vcpu *vcpu,
75 extern int kvmppc_handle_vmx_load(struct kvm_vcpu *vcpu,
77 extern int kvmppc_handle_vmx_store(struct kvm_vcpu *vcpu,
79 extern int kvmppc_handle_store(struct kvm_vcpu *vcpu,
82 extern int kvmppc_handle_vsx_store(struct kvm_vcpu *vcpu,
[all …]

12345678910>>...17