/arch/arm64/include/asm/ |
D | kvm_emulate.h | 31 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/ |
D | kvm_emulate.h | 27 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/ |
D | booke_emulate.c | 35 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 …]
|
D | emulate_loadstore.c | 50 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 …]
|
D | booke.c | 73 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 …]
|
D | book3s_pr.c | 54 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 …]
|
D | book3s_emulate.c | 76 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 …]
|
D | timing.h | 27 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 …]
|
D | book3s.c | 67 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 …]
|
D | emulate.c | 37 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 …]
|
D | book3s_paired_singles.c | 161 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/ |
D | priv.c | 34 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 …]
|
D | diag.c | 23 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 …]
|
D | intercept.c | 41 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 …]
|
D | kvm-s390.h | 22 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 …]
|
D | kvm-s390.c | 488 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/ |
D | inject_fault.c | 32 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/ |
D | x86.h | 7 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 …]
|
D | kvm_cache_regs.h | 9 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 …]
|
D | x86.c | 88 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/ |
D | psci.c | 41 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 …]
|
D | handle_exit.c | 31 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/ |
D | kvm_booke.h | 37 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/ |
D | vcpu.c | 95 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 …]
|
D | process.c | 81 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 …]
|