Home
last modified time | relevance | path

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

123456

/arch/arm64/include/asm/
Dkvm_emulate.h31 unsigned long *vcpu_reg32(const struct kvm_vcpu *vcpu, u8 reg_num);
32 unsigned long *vcpu_spsr32(const struct kvm_vcpu *vcpu);
34 bool kvm_condition_valid32(const struct kvm_vcpu *vcpu);
35 void kvm_skip_instr32(struct kvm_vcpu *vcpu, bool is_wide_instr);
37 void kvm_inject_undefined(struct kvm_vcpu *vcpu);
38 void kvm_inject_dabt(struct kvm_vcpu *vcpu, unsigned long addr);
39 void kvm_inject_pabt(struct kvm_vcpu *vcpu, unsigned long addr);
41 static inline void vcpu_reset_hcr(struct kvm_vcpu *vcpu) in vcpu_reset_hcr() argument
43 vcpu->arch.hcr_el2 = HCR_GUEST_FLAGS; in vcpu_reset_hcr()
44 if (test_bit(KVM_ARM_VCPU_EL1_32BIT, vcpu->arch.features)) in vcpu_reset_hcr()
[all …]
/arch/arm/include/asm/
Dkvm_emulate.h27 unsigned long *vcpu_reg(struct kvm_vcpu *vcpu, u8 reg_num);
28 unsigned long *vcpu_spsr(struct kvm_vcpu *vcpu);
30 bool kvm_condition_valid(struct kvm_vcpu *vcpu);
31 void kvm_skip_instr(struct kvm_vcpu *vcpu, bool is_wide_instr);
32 void kvm_inject_undefined(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);
36 static inline void vcpu_reset_hcr(struct kvm_vcpu *vcpu) in vcpu_reset_hcr() argument
38 vcpu->arch.hcr = HCR_GUEST_MASK; in vcpu_reset_hcr()
41 static inline unsigned long vcpu_get_hcr(struct kvm_vcpu *vcpu) in vcpu_get_hcr() argument
[all …]
/arch/powerpc/kvm/
Dbooke_emulate.c35 static void kvmppc_emul_rfi(struct kvm_vcpu *vcpu) in kvmppc_emul_rfi() argument
37 vcpu->arch.pc = 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.pc = 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.pc = 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 …]
Demulate_loadstore.c50 int kvmppc_emulate_loadstore(struct kvm_vcpu *vcpu) in kvmppc_emulate_loadstore() argument
52 struct kvm_run *run = vcpu->run; in kvmppc_emulate_loadstore()
59 kvmppc_set_exit_type(vcpu, EMULATED_INST_EXITS); in kvmppc_emulate_loadstore()
61 emulated = kvmppc_get_last_inst(vcpu, INST_GENERIC, &inst); in kvmppc_emulate_loadstore()
73 emulated = kvmppc_handle_load(run, vcpu, rt, 4, 1); in kvmppc_emulate_loadstore()
77 emulated = kvmppc_handle_load(run, vcpu, rt, 1, 1); in kvmppc_emulate_loadstore()
81 emulated = kvmppc_handle_load(run, vcpu, rt, 1, 1); in kvmppc_emulate_loadstore()
82 kvmppc_set_gpr(vcpu, ra, vcpu->arch.vaddr_accessed); in kvmppc_emulate_loadstore()
86 emulated = kvmppc_handle_store(run, vcpu, in kvmppc_emulate_loadstore()
87 kvmppc_get_gpr(vcpu, rs), in kvmppc_emulate_loadstore()
[all …]
Dbooke.c73 void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu) in kvmppc_dump_vcpu() argument
77 printk("pc: %08lx msr: %08llx\n", vcpu->arch.pc, vcpu->arch.shared->msr); in kvmppc_dump_vcpu()
78 printk("lr: %08lx ctr: %08lx\n", vcpu->arch.lr, vcpu->arch.ctr); in kvmppc_dump_vcpu()
79 printk("srr0: %08llx srr1: %08llx\n", vcpu->arch.shared->srr0, in kvmppc_dump_vcpu()
80 vcpu->arch.shared->srr1); in kvmppc_dump_vcpu()
82 printk("exceptions: %08lx\n", vcpu->arch.pending_exceptions); in kvmppc_dump_vcpu()
86 kvmppc_get_gpr(vcpu, i), in kvmppc_dump_vcpu()
87 kvmppc_get_gpr(vcpu, i+1), in kvmppc_dump_vcpu()
88 kvmppc_get_gpr(vcpu, i+2), in kvmppc_dump_vcpu()
89 kvmppc_get_gpr(vcpu, i+3)); in kvmppc_dump_vcpu()
[all …]
Dbook3s_pr.c54 static int kvmppc_handle_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr,
56 static void kvmppc_giveup_fac(struct kvm_vcpu *vcpu, ulong fac);
65 static bool kvmppc_is_split_real(struct kvm_vcpu *vcpu) in kvmppc_is_split_real() argument
67 ulong msr = kvmppc_get_msr(vcpu); in kvmppc_is_split_real()
71 static void kvmppc_fixup_split_real(struct kvm_vcpu *vcpu) in kvmppc_fixup_split_real() argument
73 ulong msr = kvmppc_get_msr(vcpu); in kvmppc_fixup_split_real()
74 ulong pc = kvmppc_get_pc(vcpu); in kvmppc_fixup_split_real()
81 if (vcpu->arch.hflags & BOOK3S_HFLAG_SPLIT_HACK) in kvmppc_fixup_split_real()
88 vcpu->arch.hflags |= BOOK3S_HFLAG_SPLIT_HACK; in kvmppc_fixup_split_real()
89 kvmppc_set_pc(vcpu, pc | SPLIT_HACK_OFFS); in kvmppc_fixup_split_real()
[all …]
Dbook3s_emulate.c76 static bool spr_allowed(struct kvm_vcpu *vcpu, enum priv_level level) in spr_allowed() argument
79 if (vcpu->arch.papr_enabled && (level > PRIV_SUPER)) in spr_allowed()
83 if ((kvmppc_get_msr(vcpu) & MSR_PR) && level > PRIV_PROBLEM) in spr_allowed()
89 int kvmppc_core_emulate_op_pr(struct kvm_run *run, struct kvm_vcpu *vcpu, in kvmppc_core_emulate_op_pr() argument
102 if ((kvmppc_get_msr(vcpu) & MSR_LE) && in kvmppc_core_emulate_op_pr()
111 kvmppc_set_gpr(vcpu, 3, EV_UNIMPLEMENTED); in kvmppc_core_emulate_op_pr()
112 kvmppc_set_pc(vcpu, kvmppc_get_pc(vcpu) + 4); in kvmppc_core_emulate_op_pr()
120 kvmppc_set_pc(vcpu, kvmppc_get_srr0(vcpu)); in kvmppc_core_emulate_op_pr()
121 kvmppc_set_msr(vcpu, kvmppc_get_srr1(vcpu)); in kvmppc_core_emulate_op_pr()
133 kvmppc_set_gpr(vcpu, rt, kvmppc_get_msr(vcpu)); in kvmppc_core_emulate_op_pr()
[all …]
Dtiming.h27 void kvmppc_init_timing_stats(struct kvm_vcpu *vcpu);
28 void kvmppc_update_timing_stats(struct kvm_vcpu *vcpu);
29 void kvmppc_create_vcpu_debugfs(struct kvm_vcpu *vcpu, unsigned int id);
30 void kvmppc_remove_vcpu_debugfs(struct kvm_vcpu *vcpu);
32 static inline void kvmppc_set_exit_type(struct kvm_vcpu *vcpu, int type) in kvmppc_set_exit_type() argument
34 vcpu->arch.last_exit_type = type; in kvmppc_set_exit_type()
39 static inline void kvmppc_init_timing_stats(struct kvm_vcpu *vcpu) {} in kvmppc_init_timing_stats() argument
40 static inline void kvmppc_update_timing_stats(struct kvm_vcpu *vcpu) {} in kvmppc_update_timing_stats() argument
41 static inline void kvmppc_create_vcpu_debugfs(struct kvm_vcpu *vcpu, in kvmppc_create_vcpu_debugfs() argument
43 static inline void kvmppc_remove_vcpu_debugfs(struct kvm_vcpu *vcpu) {} in kvmppc_remove_vcpu_debugfs() argument
[all …]
Dbook3s.c67 void kvmppc_core_load_host_debugstate(struct kvm_vcpu *vcpu) in kvmppc_core_load_host_debugstate() argument
71 void kvmppc_core_load_guest_debugstate(struct kvm_vcpu *vcpu) in kvmppc_core_load_guest_debugstate() argument
75 void kvmppc_unfixup_split_real(struct kvm_vcpu *vcpu) in kvmppc_unfixup_split_real() argument
77 if (vcpu->arch.hflags & BOOK3S_HFLAG_SPLIT_HACK) { in kvmppc_unfixup_split_real()
78 ulong pc = kvmppc_get_pc(vcpu); in kvmppc_unfixup_split_real()
80 kvmppc_set_pc(vcpu, pc & ~SPLIT_HACK_MASK); in kvmppc_unfixup_split_real()
81 vcpu->arch.hflags &= ~BOOK3S_HFLAG_SPLIT_HACK; in kvmppc_unfixup_split_real()
86 static inline unsigned long kvmppc_interrupt_offset(struct kvm_vcpu *vcpu) in kvmppc_interrupt_offset() argument
88 if (!is_kvmppc_hv_enabled(vcpu->kvm)) in kvmppc_interrupt_offset()
89 return to_book3s(vcpu)->hior; in kvmppc_interrupt_offset()
[all …]
Demulate.c37 void kvmppc_emulate_dec(struct kvm_vcpu *vcpu) in kvmppc_emulate_dec() argument
42 pr_debug("mtDEC: %x\n", vcpu->arch.dec); in kvmppc_emulate_dec()
43 hrtimer_try_to_cancel(&vcpu->arch.dec_timer); in kvmppc_emulate_dec()
47 kvmppc_core_dequeue_dec(vcpu); in kvmppc_emulate_dec()
50 if (vcpu->arch.dec & 0x80000000) { in kvmppc_emulate_dec()
51 kvmppc_core_queue_dec(vcpu); in kvmppc_emulate_dec()
58 if (vcpu->arch.dec == 0) in kvmppc_emulate_dec()
68 dec_time = vcpu->arch.dec; in kvmppc_emulate_dec()
76 hrtimer_start(&vcpu->arch.dec_timer, in kvmppc_emulate_dec()
78 vcpu->arch.dec_jiffies = get_tb(); in kvmppc_emulate_dec()
[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 …]
/arch/s390/kvm/
Dpriv.c34 static int handle_set_clock(struct kvm_vcpu *vcpu) in handle_set_clock() argument
41 if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) in handle_set_clock()
42 return kvm_s390_inject_program_int(vcpu, PGM_PRIVILEGED_OP); in handle_set_clock()
44 op2 = kvm_s390_get_base_disp_s(vcpu); in handle_set_clock()
46 return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION); in handle_set_clock()
47 rc = read_guest(vcpu, op2, &val, sizeof(val)); in handle_set_clock()
49 return kvm_s390_inject_prog_cond(vcpu, rc); in handle_set_clock()
52 kvm_s390_set_psw_cc(vcpu, 3); in handle_set_clock()
57 mutex_lock(&vcpu->kvm->lock); in handle_set_clock()
58 kvm_for_each_vcpu(i, cpup, vcpu->kvm) in handle_set_clock()
[all …]
Ddiag.c23 static int diag_release_pages(struct kvm_vcpu *vcpu) in diag_release_pages() argument
26 unsigned long prefix = kvm_s390_get_prefix(vcpu); in diag_release_pages()
28 start = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; in diag_release_pages()
29 end = vcpu->run->s.regs.gprs[vcpu->arch.sie_block->ipa & 0xf] + 4096; in diag_release_pages()
33 return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION); in diag_release_pages()
35 VCPU_EVENT(vcpu, 5, "diag release pages %lX %lX", start, end); in diag_release_pages()
36 vcpu->stat.diagnose_10++; in diag_release_pages()
43 gmap_discard(vcpu->arch.gmap, start, end); in diag_release_pages()
51 gmap_discard(vcpu->arch.gmap, start, prefix); in diag_release_pages()
53 gmap_discard(vcpu->arch.gmap, 0, 4096); in diag_release_pages()
[all …]
Dintercept.c41 static int handle_noop(struct kvm_vcpu *vcpu) in handle_noop() argument
43 switch (vcpu->arch.sie_block->icptcode) { in handle_noop()
45 vcpu->stat.exit_null++; in handle_noop()
48 vcpu->stat.exit_external_request++; in handle_noop()
56 static int handle_stop(struct kvm_vcpu *vcpu) in handle_stop() argument
61 vcpu->stat.exit_stop_request++; in handle_stop()
62 trace_kvm_s390_stop_request(vcpu->arch.local_int.action_bits); in handle_stop()
64 action_bits = vcpu->arch.local_int.action_bits; in handle_stop()
70 rc = kvm_s390_vcpu_store_status(vcpu, in handle_stop()
76 if (!kvm_s390_user_cpu_state_ctrl(vcpu->kvm)) in handle_stop()
[all …]
Dkvm-s390.h22 typedef int (*intercept_handler_t)(struct kvm_vcpu *vcpu);
27 int kvm_handle_sie_intercept(struct kvm_vcpu *vcpu);
30 #define IS_TE_ENABLED(vcpu) ((vcpu->arch.sie_block->ecb & 0x10)) argument
32 #define IS_ITDB_VALID(vcpu) ((*(char *)vcpu->arch.sie_block->itdba == TDB_FORMAT1)) argument
48 static inline int is_vcpu_stopped(struct kvm_vcpu *vcpu) in is_vcpu_stopped() argument
50 return atomic_read(&vcpu->arch.sie_block->cpuflags) & CPUSTAT_STOPPED; in is_vcpu_stopped()
65 static inline u32 kvm_s390_get_prefix(struct kvm_vcpu *vcpu) in kvm_s390_get_prefix() argument
67 return vcpu->arch.sie_block->prefix << GUEST_PREFIX_SHIFT; in kvm_s390_get_prefix()
70 static inline void kvm_s390_set_prefix(struct kvm_vcpu *vcpu, u32 prefix) in kvm_s390_set_prefix() argument
72 vcpu->arch.sie_block->prefix = prefix >> GUEST_PREFIX_SHIFT; in kvm_s390_set_prefix()
[all …]
Dkvm-s390.c488 void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu) in kvm_arch_vcpu_destroy() argument
490 VCPU_EVENT(vcpu, 3, "%s", "free cpu"); in kvm_arch_vcpu_destroy()
491 trace_kvm_s390_destroy_vcpu(vcpu->vcpu_id); in kvm_arch_vcpu_destroy()
492 kvm_s390_clear_local_irqs(vcpu); in kvm_arch_vcpu_destroy()
493 kvm_clear_async_pf_completion_queue(vcpu); in kvm_arch_vcpu_destroy()
494 if (!kvm_is_ucontrol(vcpu->kvm)) { in kvm_arch_vcpu_destroy()
495 clear_bit(63 - vcpu->vcpu_id, in kvm_arch_vcpu_destroy()
496 (unsigned long *) &vcpu->kvm->arch.sca->mcn); in kvm_arch_vcpu_destroy()
497 if (vcpu->kvm->arch.sca->cpu[vcpu->vcpu_id].sda == in kvm_arch_vcpu_destroy()
498 (__u64) vcpu->arch.sie_block) in kvm_arch_vcpu_destroy()
[all …]
/arch/arm64/kvm/
Dinject_fault.c32 static void prepare_fault32(struct kvm_vcpu *vcpu, u32 mode, u32 vect_offset) in prepare_fault32() argument
35 unsigned long new_spsr_value = *vcpu_cpsr(vcpu); in prepare_fault32()
38 u32 sctlr = vcpu_cp15(vcpu, c1_SCTLR); in prepare_fault32()
47 *vcpu_cpsr(vcpu) = cpsr; in prepare_fault32()
50 *vcpu_spsr(vcpu) = new_spsr_value; in prepare_fault32()
51 *vcpu_reg(vcpu, 14) = *vcpu_pc(vcpu) + return_offset; in prepare_fault32()
57 vect_offset += vcpu_cp15(vcpu, c12_VBAR); in prepare_fault32()
59 *vcpu_pc(vcpu) = vect_offset; in prepare_fault32()
62 static void inject_undef32(struct kvm_vcpu *vcpu) in inject_undef32() argument
64 prepare_fault32(vcpu, COMPAT_PSR_MODE_UND, 4); in inject_undef32()
[all …]
/arch/x86/kvm/
Dx86.h7 static inline void kvm_clear_exception_queue(struct kvm_vcpu *vcpu) in kvm_clear_exception_queue() argument
9 vcpu->arch.exception.pending = false; in kvm_clear_exception_queue()
12 static inline void kvm_queue_interrupt(struct kvm_vcpu *vcpu, u8 vector, in kvm_queue_interrupt() argument
15 vcpu->arch.interrupt.pending = true; in kvm_queue_interrupt()
16 vcpu->arch.interrupt.soft = soft; in kvm_queue_interrupt()
17 vcpu->arch.interrupt.nr = vector; in kvm_queue_interrupt()
20 static inline void kvm_clear_interrupt_queue(struct kvm_vcpu *vcpu) in kvm_clear_interrupt_queue() argument
22 vcpu->arch.interrupt.pending = false; in kvm_clear_interrupt_queue()
25 static inline bool kvm_event_needs_reinjection(struct kvm_vcpu *vcpu) in kvm_event_needs_reinjection() argument
27 return vcpu->arch.exception.pending || vcpu->arch.interrupt.pending || in kvm_event_needs_reinjection()
[all …]
Dkvm_cache_regs.h9 static inline unsigned long kvm_register_read(struct kvm_vcpu *vcpu, in kvm_register_read() argument
12 if (!test_bit(reg, (unsigned long *)&vcpu->arch.regs_avail)) in kvm_register_read()
13 kvm_x86_ops->cache_reg(vcpu, reg); in kvm_register_read()
15 return vcpu->arch.regs[reg]; in kvm_register_read()
18 static inline void kvm_register_write(struct kvm_vcpu *vcpu, in kvm_register_write() argument
22 vcpu->arch.regs[reg] = val; in kvm_register_write()
23 __set_bit(reg, (unsigned long *)&vcpu->arch.regs_dirty); in kvm_register_write()
24 __set_bit(reg, (unsigned long *)&vcpu->arch.regs_avail); in kvm_register_write()
27 static inline unsigned long kvm_rip_read(struct kvm_vcpu *vcpu) in kvm_rip_read() argument
29 return kvm_register_read(vcpu, VCPU_REGS_RIP); in kvm_rip_read()
[all …]
Dx86.c88 static void update_cr8_intercept(struct kvm_vcpu *vcpu);
89 static void process_nmi(struct kvm_vcpu *vcpu);
90 static void __kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
171 static inline void kvm_async_pf_hash_reset(struct kvm_vcpu *vcpu) in kvm_async_pf_hash_reset() argument
175 vcpu->arch.apf.gfns[i] = ~0; in kvm_async_pf_hash_reset()
263 u64 kvm_get_apic_base(struct kvm_vcpu *vcpu) in kvm_get_apic_base() argument
265 return vcpu->arch.apic_base; in kvm_get_apic_base()
269 int kvm_set_apic_base(struct kvm_vcpu *vcpu, struct msr_data *msr_info) in kvm_set_apic_base() argument
271 u64 old_state = vcpu->arch.apic_base & in kvm_set_apic_base()
275 u64 reserved_bits = ((~0ULL) << cpuid_maxphyaddr(vcpu)) | in kvm_set_apic_base()
[all …]
/arch/arm/kvm/
Dpsci.c41 static unsigned long kvm_psci_vcpu_suspend(struct kvm_vcpu *vcpu) in kvm_psci_vcpu_suspend() argument
56 kvm_vcpu_block(vcpu); in kvm_psci_vcpu_suspend()
61 static void kvm_psci_vcpu_off(struct kvm_vcpu *vcpu) in kvm_psci_vcpu_off() argument
63 vcpu->arch.pause = true; in kvm_psci_vcpu_off()
69 struct kvm_vcpu *vcpu = NULL, *tmp; in kvm_psci_vcpu_on() local
84 vcpu = tmp; in kvm_psci_vcpu_on()
93 if (!vcpu) in kvm_psci_vcpu_on()
95 if (!vcpu->arch.pause) { in kvm_psci_vcpu_on()
105 kvm_reset_vcpu(vcpu); in kvm_psci_vcpu_on()
108 if (vcpu_mode_is_32bit(vcpu) && (target_pc & 1)) { in kvm_psci_vcpu_on()
[all …]
Dhandle_exit.c31 static int handle_svc_hyp(struct kvm_vcpu *vcpu, struct kvm_run *run) in handle_svc_hyp() argument
39 static int handle_hvc(struct kvm_vcpu *vcpu, struct kvm_run *run) in handle_hvc() argument
43 trace_kvm_hvc(*vcpu_pc(vcpu), *vcpu_reg(vcpu, 0), in handle_hvc()
44 kvm_vcpu_hvc_get_imm(vcpu)); in handle_hvc()
46 ret = kvm_psci_call(vcpu); in handle_hvc()
48 kvm_inject_undefined(vcpu); in handle_hvc()
55 static int handle_smc(struct kvm_vcpu *vcpu, struct kvm_run *run) in handle_smc() argument
57 kvm_inject_undefined(vcpu); in handle_smc()
61 static int handle_pabt_hyp(struct kvm_vcpu *vcpu, struct kvm_run *run) in handle_pabt_hyp() argument
65 kvm_vcpu_get_hfar(vcpu), kvm_vcpu_get_hsr(vcpu)); in handle_pabt_hyp()
[all …]
/arch/powerpc/include/asm/
Dkvm_booke.h37 static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val) in kvmppc_set_gpr() argument
39 vcpu->arch.gpr[num] = val; in kvmppc_set_gpr()
42 static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num) in kvmppc_get_gpr() argument
44 return vcpu->arch.gpr[num]; in kvmppc_get_gpr()
47 static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val) in kvmppc_set_cr() argument
49 vcpu->arch.cr = val; in kvmppc_set_cr()
52 static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu) in kvmppc_get_cr() argument
54 return vcpu->arch.cr; in kvmppc_get_cr()
57 static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, u32 val) in kvmppc_set_xer() argument
59 vcpu->arch.xer = val; in kvmppc_set_xer()
[all …]
/arch/ia64/kvm/
Dvcpu.c95 void physical_mode_init(struct kvm_vcpu *vcpu) in physical_mode_init() argument
97 vcpu->arch.mode_flags = GUEST_IN_PHY; in physical_mode_init()
100 void switch_to_physical_rid(struct kvm_vcpu *vcpu) in switch_to_physical_rid() argument
106 ia64_set_rr(VRN0<<VRN_SHIFT, vcpu->arch.metaphysical_rr0); in switch_to_physical_rid()
108 ia64_set_rr(VRN4<<VRN_SHIFT, vcpu->arch.metaphysical_rr4); in switch_to_physical_rid()
115 void switch_to_virtual_rid(struct kvm_vcpu *vcpu) in switch_to_virtual_rid() argument
120 ia64_set_rr(VRN0 << VRN_SHIFT, vcpu->arch.metaphysical_saved_rr0); in switch_to_virtual_rid()
122 ia64_set_rr(VRN4 << VRN_SHIFT, vcpu->arch.metaphysical_saved_rr4); in switch_to_virtual_rid()
133 void switch_mm_mode(struct kvm_vcpu *vcpu, struct ia64_psr old_psr, in switch_mm_mode() argument
142 switch_to_physical_rid(vcpu); in switch_mm_mode()
[all …]
Dprocess.c81 static void collect_interruption(struct kvm_vcpu *vcpu) in collect_interruption() argument
87 struct kvm_pt_regs *regs = vcpu_regs(vcpu); in collect_interruption()
89 vpsr = vcpu_get_psr(vcpu); in collect_interruption()
90 vcpu_bsw0(vcpu); in collect_interruption()
102 vcpu_set_ipsr(vcpu, vpsr); in collect_interruption()
109 vcpu_set_iip(vcpu , regs->cr_iip); in collect_interruption()
112 vifs = VCPU(vcpu, ifs); in collect_interruption()
114 vcpu_set_ifs(vcpu, vifs); in collect_interruption()
116 vcpu_set_iipa(vcpu, VMX(vcpu, cr_iipa)); in collect_interruption()
119 vdcr = VCPU(vcpu, dcr); in collect_interruption()
[all …]

123456