Home
last modified time | relevance | path

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

12345678910>>...30

/kernel/linux/linux-4.19/arch/s390/kvm/
Dpriv.c34 static int handle_ri(struct kvm_vcpu *vcpu) in handle_ri() argument
36 vcpu->stat.instruction_ri++; in handle_ri()
38 if (test_kvm_facility(vcpu->kvm, 64)) { in handle_ri()
39 VCPU_EVENT(vcpu, 3, "%s", "ENABLE: RI (lazy)"); in handle_ri()
40 vcpu->arch.sie_block->ecb3 |= ECB3_RI; in handle_ri()
41 kvm_s390_retry_instr(vcpu); in handle_ri()
44 return kvm_s390_inject_program_int(vcpu, PGM_OPERATION); in handle_ri()
47 int kvm_s390_handle_aa(struct kvm_vcpu *vcpu) in kvm_s390_handle_aa() argument
49 if ((vcpu->arch.sie_block->ipa & 0xf) <= 4) in kvm_s390_handle_aa()
50 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 …]
Dkvm-s390.h23 #define IS_TE_ENABLED(vcpu) ((vcpu->arch.sie_block->ecb & ECB_TE)) argument
25 #define IS_ITDB_VALID(vcpu) ((*(char *)vcpu->arch.sie_block->itdba == TDB_FORMAT1)) argument
48 static inline void kvm_s390_set_cpuflags(struct kvm_vcpu *vcpu, u32 flags) in kvm_s390_set_cpuflags() argument
50 atomic_or(flags, &vcpu->arch.sie_block->cpuflags); in kvm_s390_set_cpuflags()
53 static inline void kvm_s390_clear_cpuflags(struct kvm_vcpu *vcpu, u32 flags) in kvm_s390_clear_cpuflags() argument
55 atomic_andnot(flags, &vcpu->arch.sie_block->cpuflags); in kvm_s390_clear_cpuflags()
58 static inline bool kvm_s390_test_cpuflags(struct kvm_vcpu *vcpu, u32 flags) in kvm_s390_test_cpuflags() argument
60 return (atomic_read(&vcpu->arch.sie_block->cpuflags) & flags) == flags; in kvm_s390_test_cpuflags()
63 static inline int is_vcpu_stopped(struct kvm_vcpu *vcpu) in is_vcpu_stopped() argument
65 return kvm_s390_test_cpuflags(vcpu, CPUSTAT_STOPPED); in is_vcpu_stopped()
[all …]
Ddiag.c21 static int diag_release_pages(struct kvm_vcpu *vcpu) in diag_release_pages() argument
24 unsigned long prefix = kvm_s390_get_prefix(vcpu); in diag_release_pages()
26 start = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; in diag_release_pages()
27 end = vcpu->run->s.regs.gprs[vcpu->arch.sie_block->ipa & 0xf] + PAGE_SIZE; in diag_release_pages()
28 vcpu->stat.diagnose_10++; in diag_release_pages()
32 return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION); in diag_release_pages()
34 VCPU_EVENT(vcpu, 5, "diag release pages %lX %lX", start, end); in diag_release_pages()
41 gmap_discard(vcpu->arch.gmap, start, end); in diag_release_pages()
49 gmap_discard(vcpu->arch.gmap, start, prefix); in diag_release_pages()
51 gmap_discard(vcpu->arch.gmap, 0, PAGE_SIZE); in diag_release_pages()
[all …]
/kernel/linux/linux-5.10/arch/arm64/include/asm/
Dkvm_emulate.h24 unsigned long *vcpu_reg32(const struct kvm_vcpu *vcpu, u8 reg_num);
25 unsigned long vcpu_read_spsr32(const struct kvm_vcpu *vcpu);
26 void vcpu_write_spsr32(struct kvm_vcpu *vcpu, unsigned long v);
28 bool kvm_condition_valid32(const struct kvm_vcpu *vcpu);
29 void kvm_skip_instr32(struct kvm_vcpu *vcpu, bool is_wide_instr);
31 void kvm_inject_undefined(struct kvm_vcpu *vcpu);
32 void kvm_inject_vabt(struct kvm_vcpu *vcpu);
33 void kvm_inject_dabt(struct kvm_vcpu *vcpu, unsigned long addr);
34 void kvm_inject_pabt(struct kvm_vcpu *vcpu, unsigned long addr);
35 void kvm_inject_undef32(struct kvm_vcpu *vcpu);
[all …]
/kernel/linux/linux-5.10/arch/powerpc/kvm/
Dbooke.c64 void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu) in kvmppc_dump_vcpu() argument
68 printk("pc: %08lx msr: %08llx\n", vcpu->arch.regs.nip, in kvmppc_dump_vcpu()
69 vcpu->arch.shared->msr); in kvmppc_dump_vcpu()
70 printk("lr: %08lx ctr: %08lx\n", vcpu->arch.regs.link, in kvmppc_dump_vcpu()
71 vcpu->arch.regs.ctr); in kvmppc_dump_vcpu()
72 printk("srr0: %08llx srr1: %08llx\n", vcpu->arch.shared->srr0, in kvmppc_dump_vcpu()
73 vcpu->arch.shared->srr1); in kvmppc_dump_vcpu()
75 printk("exceptions: %08lx\n", vcpu->arch.pending_exceptions); in kvmppc_dump_vcpu()
79 kvmppc_get_gpr(vcpu, i), in kvmppc_dump_vcpu()
80 kvmppc_get_gpr(vcpu, i+1), in kvmppc_dump_vcpu()
[all …]
Dbook3s_emulate.c74 static bool spr_allowed(struct kvm_vcpu *vcpu, enum priv_level level) in spr_allowed() argument
77 if (vcpu->arch.papr_enabled && (level > PRIV_SUPER)) in spr_allowed()
81 if ((kvmppc_get_msr(vcpu) & MSR_PR) && level > PRIV_PROBLEM) in spr_allowed()
88 static inline void kvmppc_copyto_vcpu_tm(struct kvm_vcpu *vcpu) in kvmppc_copyto_vcpu_tm() argument
90 memcpy(&vcpu->arch.gpr_tm[0], &vcpu->arch.regs.gpr[0], in kvmppc_copyto_vcpu_tm()
91 sizeof(vcpu->arch.gpr_tm)); in kvmppc_copyto_vcpu_tm()
92 memcpy(&vcpu->arch.fp_tm, &vcpu->arch.fp, in kvmppc_copyto_vcpu_tm()
94 memcpy(&vcpu->arch.vr_tm, &vcpu->arch.vr, in kvmppc_copyto_vcpu_tm()
96 vcpu->arch.ppr_tm = vcpu->arch.ppr; in kvmppc_copyto_vcpu_tm()
97 vcpu->arch.dscr_tm = vcpu->arch.dscr; in kvmppc_copyto_vcpu_tm()
[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.c52 static int kvmppc_handle_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr,
55 static int kvmppc_handle_fac(struct kvm_vcpu *vcpu, ulong fac);
66 static bool kvmppc_is_split_real(struct kvm_vcpu *vcpu) in kvmppc_is_split_real() argument
68 ulong msr = kvmppc_get_msr(vcpu); in kvmppc_is_split_real()
72 static void kvmppc_fixup_split_real(struct kvm_vcpu *vcpu) in kvmppc_fixup_split_real() argument
74 ulong msr = kvmppc_get_msr(vcpu); in kvmppc_fixup_split_real()
75 ulong pc = kvmppc_get_pc(vcpu); in kvmppc_fixup_split_real()
82 if (vcpu->arch.hflags & BOOK3S_HFLAG_SPLIT_HACK) in kvmppc_fixup_split_real()
89 vcpu->arch.hflags |= BOOK3S_HFLAG_SPLIT_HACK; in kvmppc_fixup_split_real()
90 kvmppc_set_pc(vcpu, pc | SPLIT_HACK_OFFS); in kvmppc_fixup_split_real()
[all …]
Dbook3s.c74 static inline void kvmppc_update_int_pending(struct kvm_vcpu *vcpu, in kvmppc_update_int_pending() argument
77 if (is_kvmppc_hv_enabled(vcpu->kvm)) in kvmppc_update_int_pending()
80 kvmppc_set_int_pending(vcpu, 1); in kvmppc_update_int_pending()
82 kvmppc_set_int_pending(vcpu, 0); in kvmppc_update_int_pending()
85 static inline bool kvmppc_critical_section(struct kvm_vcpu *vcpu) in kvmppc_critical_section() argument
91 if (is_kvmppc_hv_enabled(vcpu->kvm)) in kvmppc_critical_section()
94 crit_raw = kvmppc_get_critical(vcpu); in kvmppc_critical_section()
95 crit_r1 = kvmppc_get_gpr(vcpu, 1); in kvmppc_critical_section()
98 if (!(kvmppc_get_msr(vcpu) & MSR_SF)) { in kvmppc_critical_section()
106 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 …]
/kernel/linux/linux-5.10/arch/s390/kvm/
Dpriv.c34 static int handle_ri(struct kvm_vcpu *vcpu) in handle_ri() argument
36 vcpu->stat.instruction_ri++; in handle_ri()
38 if (test_kvm_facility(vcpu->kvm, 64)) { in handle_ri()
39 VCPU_EVENT(vcpu, 3, "%s", "ENABLE: RI (lazy)"); in handle_ri()
40 vcpu->arch.sie_block->ecb3 |= ECB3_RI; in handle_ri()
41 kvm_s390_retry_instr(vcpu); in handle_ri()
44 return kvm_s390_inject_program_int(vcpu, PGM_OPERATION); in handle_ri()
47 int kvm_s390_handle_aa(struct kvm_vcpu *vcpu) in kvm_s390_handle_aa() argument
49 if ((vcpu->arch.sie_block->ipa & 0xf) <= 4) in kvm_s390_handle_aa()
50 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 …]
/kernel/linux/linux-4.19/arch/powerpc/kvm/
Dbooke.c76 void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu) in kvmppc_dump_vcpu() argument
80 printk("pc: %08lx msr: %08llx\n", vcpu->arch.regs.nip, in kvmppc_dump_vcpu()
81 vcpu->arch.shared->msr); in kvmppc_dump_vcpu()
82 printk("lr: %08lx ctr: %08lx\n", vcpu->arch.regs.link, in kvmppc_dump_vcpu()
83 vcpu->arch.regs.ctr); in kvmppc_dump_vcpu()
84 printk("srr0: %08llx srr1: %08llx\n", vcpu->arch.shared->srr0, in kvmppc_dump_vcpu()
85 vcpu->arch.shared->srr1); in kvmppc_dump_vcpu()
87 printk("exceptions: %08lx\n", vcpu->arch.pending_exceptions); in kvmppc_dump_vcpu()
91 kvmppc_get_gpr(vcpu, i), in kvmppc_dump_vcpu()
92 kvmppc_get_gpr(vcpu, i+1), in kvmppc_dump_vcpu()
[all …]
Dbook3s_emulate.c85 static bool spr_allowed(struct kvm_vcpu *vcpu, enum priv_level level) in spr_allowed() argument
88 if (vcpu->arch.papr_enabled && (level > PRIV_SUPER)) in spr_allowed()
92 if ((kvmppc_get_msr(vcpu) & MSR_PR) && level > PRIV_PROBLEM) in spr_allowed()
99 static inline void kvmppc_copyto_vcpu_tm(struct kvm_vcpu *vcpu) in kvmppc_copyto_vcpu_tm() argument
101 memcpy(&vcpu->arch.gpr_tm[0], &vcpu->arch.regs.gpr[0], in kvmppc_copyto_vcpu_tm()
102 sizeof(vcpu->arch.gpr_tm)); in kvmppc_copyto_vcpu_tm()
103 memcpy(&vcpu->arch.fp_tm, &vcpu->arch.fp, in kvmppc_copyto_vcpu_tm()
105 memcpy(&vcpu->arch.vr_tm, &vcpu->arch.vr, in kvmppc_copyto_vcpu_tm()
107 vcpu->arch.ppr_tm = vcpu->arch.ppr; in kvmppc_copyto_vcpu_tm()
108 vcpu->arch.dscr_tm = vcpu->arch.dscr; in kvmppc_copyto_vcpu_tm()
[all …]
Dbooke_emulate.c35 static void kvmppc_emul_rfi(struct kvm_vcpu *vcpu) in kvmppc_emul_rfi() argument
37 vcpu->arch.regs.nip = vcpu->arch.shared->srr0; in kvmppc_emul_rfi()
38 kvmppc_set_msr(vcpu, vcpu->arch.shared->srr1); in kvmppc_emul_rfi()
41 static void kvmppc_emul_rfdi(struct kvm_vcpu *vcpu) in kvmppc_emul_rfdi() argument
43 vcpu->arch.regs.nip = vcpu->arch.dsrr0; in kvmppc_emul_rfdi()
44 kvmppc_set_msr(vcpu, vcpu->arch.dsrr1); in kvmppc_emul_rfdi()
47 static void kvmppc_emul_rfci(struct kvm_vcpu *vcpu) in kvmppc_emul_rfci() argument
49 vcpu->arch.regs.nip = vcpu->arch.csrr0; in kvmppc_emul_rfci()
50 kvmppc_set_msr(vcpu, vcpu->arch.csrr1); in kvmppc_emul_rfci()
53 int kvmppc_booke_emulate_op(struct kvm_run *run, struct kvm_vcpu *vcpu, in kvmppc_booke_emulate_op() argument
[all …]
Dbook3s_pr.c55 static int kvmppc_handle_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr,
58 static int kvmppc_handle_fac(struct kvm_vcpu *vcpu, ulong fac);
69 static bool kvmppc_is_split_real(struct kvm_vcpu *vcpu) in kvmppc_is_split_real() argument
71 ulong msr = kvmppc_get_msr(vcpu); in kvmppc_is_split_real()
75 static void kvmppc_fixup_split_real(struct kvm_vcpu *vcpu) in kvmppc_fixup_split_real() argument
77 ulong msr = kvmppc_get_msr(vcpu); in kvmppc_fixup_split_real()
78 ulong pc = kvmppc_get_pc(vcpu); in kvmppc_fixup_split_real()
85 if (vcpu->arch.hflags & BOOK3S_HFLAG_SPLIT_HACK) in kvmppc_fixup_split_real()
92 vcpu->arch.hflags |= BOOK3S_HFLAG_SPLIT_HACK; in kvmppc_fixup_split_real()
93 kvmppc_set_pc(vcpu, pc | SPLIT_HACK_OFFS); in kvmppc_fixup_split_real()
[all …]
Dbook3s.c77 void kvmppc_unfixup_split_real(struct kvm_vcpu *vcpu) in kvmppc_unfixup_split_real() argument
79 if (vcpu->arch.hflags & BOOK3S_HFLAG_SPLIT_HACK) { in kvmppc_unfixup_split_real()
80 ulong pc = kvmppc_get_pc(vcpu); in kvmppc_unfixup_split_real()
81 ulong lr = kvmppc_get_lr(vcpu); in kvmppc_unfixup_split_real()
83 kvmppc_set_pc(vcpu, pc & ~SPLIT_HACK_MASK); in kvmppc_unfixup_split_real()
85 kvmppc_set_lr(vcpu, lr & ~SPLIT_HACK_MASK); in kvmppc_unfixup_split_real()
86 vcpu->arch.hflags &= ~BOOK3S_HFLAG_SPLIT_HACK; in kvmppc_unfixup_split_real()
91 static inline unsigned long kvmppc_interrupt_offset(struct kvm_vcpu *vcpu) in kvmppc_interrupt_offset() argument
93 if (!is_kvmppc_hv_enabled(vcpu->kvm)) in kvmppc_interrupt_offset()
94 return to_book3s(vcpu)->hior; in kvmppc_interrupt_offset()
[all …]
Dbook3s_paired_singles.c161 static inline void kvmppc_sync_qpr(struct kvm_vcpu *vcpu, int rt) in kvmppc_sync_qpr() argument
163 kvm_cvt_df(&VCPU_FPR(vcpu, rt), &vcpu->arch.qpr[rt]); in kvmppc_sync_qpr()
166 static void kvmppc_inject_pf(struct kvm_vcpu *vcpu, ulong eaddr, bool is_store) in kvmppc_inject_pf() argument
169 u64 msr = kvmppc_get_msr(vcpu); in kvmppc_inject_pf()
173 kvmppc_set_msr(vcpu, msr); in kvmppc_inject_pf()
174 kvmppc_set_dar(vcpu, eaddr); in kvmppc_inject_pf()
179 kvmppc_set_dsisr(vcpu, dsisr); in kvmppc_inject_pf()
180 kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_DATA_STORAGE); in kvmppc_inject_pf()
183 static int kvmppc_emulate_fpr_load(struct kvm_run *run, struct kvm_vcpu *vcpu, in kvmppc_emulate_fpr_load() argument
195 r = kvmppc_ld(vcpu, &addr, len, tmp, true); in kvmppc_emulate_fpr_load()
[all …]
/kernel/linux/linux-4.19/arch/arm64/include/asm/
Dkvm_emulate.h35 unsigned long *vcpu_reg32(const struct kvm_vcpu *vcpu, u8 reg_num);
36 unsigned long vcpu_read_spsr32(const struct kvm_vcpu *vcpu);
37 void vcpu_write_spsr32(struct kvm_vcpu *vcpu, unsigned long v);
39 bool kvm_condition_valid32(const struct kvm_vcpu *vcpu);
40 void kvm_skip_instr32(struct kvm_vcpu *vcpu, bool is_wide_instr);
42 void kvm_inject_undefined(struct kvm_vcpu *vcpu);
43 void kvm_inject_vabt(struct kvm_vcpu *vcpu);
44 void kvm_inject_dabt(struct kvm_vcpu *vcpu, unsigned long addr);
45 void kvm_inject_pabt(struct kvm_vcpu *vcpu, unsigned long addr);
46 void kvm_inject_undef32(struct kvm_vcpu *vcpu);
[all …]
/kernel/linux/linux-4.19/arch/arm/include/asm/
Dkvm_emulate.h49 unsigned long *vcpu_reg(struct kvm_vcpu *vcpu, u8 reg_num);
51 static inline unsigned long *vcpu_reg32(struct kvm_vcpu *vcpu, u8 reg_num) in vcpu_reg32() argument
53 return vcpu_reg(vcpu, reg_num); in vcpu_reg32()
56 unsigned long *__vcpu_spsr(struct kvm_vcpu *vcpu);
58 static inline unsigned long vpcu_read_spsr(struct kvm_vcpu *vcpu) in vpcu_read_spsr() argument
60 return *__vcpu_spsr(vcpu); in vpcu_read_spsr()
63 static inline void vcpu_write_spsr(struct kvm_vcpu *vcpu, unsigned long v) in vcpu_write_spsr() argument
65 *__vcpu_spsr(vcpu) = v; in vcpu_write_spsr()
73 static inline unsigned long vcpu_get_reg(struct kvm_vcpu *vcpu, in vcpu_get_reg() argument
76 return *vcpu_reg(vcpu, reg_num); in vcpu_get_reg()
[all …]
/kernel/linux/linux-5.10/arch/x86/kvm/
Dx86.h50 static inline void kvm_clear_exception_queue(struct kvm_vcpu *vcpu) in kvm_clear_exception_queue() argument
52 vcpu->arch.exception.pending = false; in kvm_clear_exception_queue()
53 vcpu->arch.exception.injected = false; in kvm_clear_exception_queue()
56 static inline void kvm_queue_interrupt(struct kvm_vcpu *vcpu, u8 vector, in kvm_queue_interrupt() argument
59 vcpu->arch.interrupt.injected = true; in kvm_queue_interrupt()
60 vcpu->arch.interrupt.soft = soft; in kvm_queue_interrupt()
61 vcpu->arch.interrupt.nr = vector; in kvm_queue_interrupt()
64 static inline void kvm_clear_interrupt_queue(struct kvm_vcpu *vcpu) in kvm_clear_interrupt_queue() argument
66 vcpu->arch.interrupt.injected = false; in kvm_clear_interrupt_queue()
69 static inline bool kvm_event_needs_reinjection(struct kvm_vcpu *vcpu) in kvm_event_needs_reinjection() argument
[all …]
Dx86.c88 ((struct kvm_vcpu *)(ctxt)->vcpu)
106 static void update_cr8_intercept(struct kvm_vcpu *vcpu);
107 static void process_nmi(struct kvm_vcpu *vcpu);
108 static void process_smi(struct kvm_vcpu *vcpu);
109 static void enter_smm(struct kvm_vcpu *vcpu);
110 static void __kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
111 static void store_regs(struct kvm_vcpu *vcpu);
112 static int sync_regs(struct kvm_vcpu *vcpu);
262 static bool kvm_msr_ignored_check(struct kvm_vcpu *vcpu, u32 msr, in kvm_msr_ignored_check() argument
293 static inline void kvm_async_pf_hash_reset(struct kvm_vcpu *vcpu) in kvm_async_pf_hash_reset() argument
[all …]
Dkvm_cache_regs.h13 static __always_inline unsigned long kvm_##lname##_read(struct kvm_vcpu *vcpu)\
15 return vcpu->arch.regs[VCPU_REGS_##uname]; \
17 static __always_inline void kvm_##lname##_write(struct kvm_vcpu *vcpu, \
20 vcpu->arch.regs[VCPU_REGS_##uname] = val; \
40 static inline bool kvm_register_is_available(struct kvm_vcpu *vcpu, in BUILD_KVM_GPR_ACCESSORS()
43 return test_bit(reg, (unsigned long *)&vcpu->arch.regs_avail); in BUILD_KVM_GPR_ACCESSORS()
46 static inline bool kvm_register_is_dirty(struct kvm_vcpu *vcpu, in kvm_register_is_dirty() argument
49 return test_bit(reg, (unsigned long *)&vcpu->arch.regs_dirty); in kvm_register_is_dirty()
52 static inline void kvm_register_mark_available(struct kvm_vcpu *vcpu, in kvm_register_mark_available() argument
55 __set_bit(reg, (unsigned long *)&vcpu->arch.regs_avail); in kvm_register_mark_available()
[all …]
/kernel/linux/linux-4.19/arch/x86/kvm/
Dx86.c103 static void update_cr8_intercept(struct kvm_vcpu *vcpu);
104 static void process_nmi(struct kvm_vcpu *vcpu);
105 static void enter_smm(struct kvm_vcpu *vcpu);
106 static void __kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
107 static void store_regs(struct kvm_vcpu *vcpu);
108 static int sync_regs(struct kvm_vcpu *vcpu);
221 static inline void kvm_async_pf_hash_reset(struct kvm_vcpu *vcpu) in kvm_async_pf_hash_reset() argument
225 vcpu->arch.apf.gfns[i] = ~0; in kvm_async_pf_hash_reset()
321 u64 kvm_get_apic_base(struct kvm_vcpu *vcpu) in kvm_get_apic_base() argument
323 return vcpu->arch.apic_base; in kvm_get_apic_base()
[all …]

12345678910>>...30