/linux-master/include/kvm/ |
H A D | arm_pmu.h | 48 u64 kvm_pmu_get_counter_value(struct kvm_vcpu *vcpu, u64 select_idx); 49 void kvm_pmu_set_counter_value(struct kvm_vcpu *vcpu, u64 select_idx, u64 val); 50 u64 kvm_pmu_valid_counter_mask(struct kvm_vcpu *vcpu); 51 u64 kvm_pmu_get_pmceid(struct kvm_vcpu *vcpu, bool pmceid1); 52 void kvm_pmu_vcpu_init(struct kvm_vcpu *vcpu); 53 void kvm_pmu_vcpu_reset(struct kvm_vcpu *vcpu); 54 void kvm_pmu_vcpu_destroy(struct kvm_vcpu *vcpu); 55 void kvm_pmu_disable_counter_mask(struct kvm_vcpu *vcpu, u64 val); 56 void kvm_pmu_enable_counter_mask(struct kvm_vcpu *vcpu, u64 val); 57 void kvm_pmu_flush_hwstate(struct kvm_vcpu *vcp [all...] |
H A D | arm_arch_timer.h | 54 struct kvm_vcpu *vcpu; 85 void get_timer_map(struct kvm_vcpu *vcpu, struct timer_map *map); 98 int kvm_timer_enable(struct kvm_vcpu *vcpu); 99 void kvm_timer_vcpu_reset(struct kvm_vcpu *vcpu); 100 void kvm_timer_vcpu_init(struct kvm_vcpu *vcpu); 101 void kvm_timer_sync_user(struct kvm_vcpu *vcpu); 102 bool kvm_timer_should_notify_user(struct kvm_vcpu *vcpu); 103 void kvm_timer_update_run(struct kvm_vcpu *vcpu); 104 void kvm_timer_vcpu_terminate(struct kvm_vcpu *vcpu); 108 u64 kvm_arm_timer_get_reg(struct kvm_vcpu *, u6 [all...] |
H A D | arm_hypercalls.h | 9 int kvm_smccc_call_handler(struct kvm_vcpu *vcpu); 11 static inline u32 smccc_get_function(struct kvm_vcpu *vcpu) 16 static inline unsigned long smccc_get_arg1(struct kvm_vcpu *vcpu) 21 static inline unsigned long smccc_get_arg2(struct kvm_vcpu *vcpu) 26 static inline unsigned long smccc_get_arg3(struct kvm_vcpu *vcpu) 31 static inline void smccc_set_retval(struct kvm_vcpu *vcpu, 47 int kvm_arm_get_fw_num_regs(struct kvm_vcpu *vcpu); 48 int kvm_arm_copy_fw_reg_indices(struct kvm_vcpu *vcpu, u64 __user *uindices); 49 int kvm_arm_get_fw_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg); 50 int kvm_arm_set_fw_reg(struct kvm_vcpu *vcp [all...] |
/linux-master/arch/riscv/include/asm/ |
H A D | kvm_vcpu_timer.h | 35 int (*timer_next_event)(struct kvm_vcpu *vcpu, u64 ncycles); 38 int kvm_riscv_vcpu_timer_next_event(struct kvm_vcpu *vcpu, u64 ncycles); 39 int kvm_riscv_vcpu_get_reg_timer(struct kvm_vcpu *vcpu, 41 int kvm_riscv_vcpu_set_reg_timer(struct kvm_vcpu *vcpu, 43 int kvm_riscv_vcpu_timer_init(struct kvm_vcpu *vcpu); 44 int kvm_riscv_vcpu_timer_deinit(struct kvm_vcpu *vcpu); 45 int kvm_riscv_vcpu_timer_reset(struct kvm_vcpu *vcpu); 46 void kvm_riscv_vcpu_timer_restore(struct kvm_vcpu *vcpu); 48 void kvm_riscv_vcpu_timer_sync(struct kvm_vcpu *vcpu); 49 void kvm_riscv_vcpu_timer_save(struct kvm_vcpu *vcp [all...] |
H A D | kvm_vcpu_insn.h | 9 struct kvm_vcpu; 35 void kvm_riscv_vcpu_wfi(struct kvm_vcpu *vcpu); 36 int kvm_riscv_vcpu_csr_return(struct kvm_vcpu *vcpu, struct kvm_run *run); 37 int kvm_riscv_vcpu_virtual_insn(struct kvm_vcpu *vcpu, struct kvm_run *run, 40 int kvm_riscv_vcpu_mmio_load(struct kvm_vcpu *vcpu, struct kvm_run *run, 43 int kvm_riscv_vcpu_mmio_store(struct kvm_vcpu *vcpu, struct kvm_run *run, 46 int kvm_riscv_vcpu_mmio_return(struct kvm_vcpu *vcpu, struct kvm_run *run);
|
H A D | kvm_vcpu_sbi.h | 47 int (*handler)(struct kvm_vcpu *vcpu, struct kvm_run *run, 51 unsigned long (*probe)(struct kvm_vcpu *vcpu); 54 void kvm_riscv_vcpu_sbi_forward(struct kvm_vcpu *vcpu, struct kvm_run *run); 55 void kvm_riscv_vcpu_sbi_system_reset(struct kvm_vcpu *vcpu, 58 int kvm_riscv_vcpu_sbi_return(struct kvm_vcpu *vcpu, struct kvm_run *run); 59 int kvm_riscv_vcpu_set_reg_sbi_ext(struct kvm_vcpu *vcpu, 61 int kvm_riscv_vcpu_get_reg_sbi_ext(struct kvm_vcpu *vcpu, 63 int kvm_riscv_vcpu_set_reg_sbi(struct kvm_vcpu *vcpu, 65 int kvm_riscv_vcpu_get_reg_sbi(struct kvm_vcpu *vcpu, 68 struct kvm_vcpu *vcp [all...] |
H A D | kvm_vcpu_pmu.h | 56 #define pmu_to_vcpu(pmu) (container_of((pmu), struct kvm_vcpu, arch.pmu_context)) 67 int kvm_riscv_vcpu_pmu_incr_fw(struct kvm_vcpu *vcpu, unsigned long fid); 68 int kvm_riscv_vcpu_pmu_read_hpm(struct kvm_vcpu *vcpu, unsigned int csr_num, 72 int kvm_riscv_vcpu_pmu_num_ctrs(struct kvm_vcpu *vcpu, struct kvm_vcpu_sbi_return *retdata); 73 int kvm_riscv_vcpu_pmu_ctr_info(struct kvm_vcpu *vcpu, unsigned long cidx, 75 int kvm_riscv_vcpu_pmu_ctr_start(struct kvm_vcpu *vcpu, unsigned long ctr_base, 78 int kvm_riscv_vcpu_pmu_ctr_stop(struct kvm_vcpu *vcpu, unsigned long ctr_base, 81 int kvm_riscv_vcpu_pmu_ctr_cfg_match(struct kvm_vcpu *vcpu, unsigned long ctr_base, 85 int kvm_riscv_vcpu_pmu_ctr_read(struct kvm_vcpu *vcpu, unsigned long cidx, 87 void kvm_riscv_vcpu_pmu_init(struct kvm_vcpu *vcp [all...] |
H A D | kvm_aia.h | 93 void kvm_riscv_vcpu_aia_imsic_release(struct kvm_vcpu *vcpu); 94 int kvm_riscv_vcpu_aia_imsic_update(struct kvm_vcpu *vcpu); 97 int kvm_riscv_vcpu_aia_imsic_rmw(struct kvm_vcpu *vcpu, unsigned long isel, 103 void kvm_riscv_vcpu_aia_imsic_reset(struct kvm_vcpu *vcpu); 104 int kvm_riscv_vcpu_aia_imsic_inject(struct kvm_vcpu *vcpu, 106 int kvm_riscv_vcpu_aia_imsic_init(struct kvm_vcpu *vcpu); 107 void kvm_riscv_vcpu_aia_imsic_cleanup(struct kvm_vcpu *vcpu); 117 void kvm_riscv_vcpu_aia_flush_interrupts(struct kvm_vcpu *vcpu); 118 void kvm_riscv_vcpu_aia_sync_interrupts(struct kvm_vcpu *vcpu); 120 static inline void kvm_riscv_vcpu_aia_flush_interrupts(struct kvm_vcpu *vcp [all...] |
/linux-master/arch/powerpc/kvm/ |
H A D | booke.h | 65 void kvmppc_set_msr(struct kvm_vcpu *vcpu, u32 new_msr); 66 void kvmppc_mmu_msr_notify(struct kvm_vcpu *vcpu, u32 old_msr); 68 void kvmppc_set_epcr(struct kvm_vcpu *vcpu, u32 new_epcr); 69 void kvmppc_set_tcr(struct kvm_vcpu *vcpu, u32 new_tcr); 70 void kvmppc_set_tsr_bits(struct kvm_vcpu *vcpu, u32 tsr_bits); 71 void kvmppc_clr_tsr_bits(struct kvm_vcpu *vcpu, u32 tsr_bits); 73 int kvmppc_booke_emulate_op(struct kvm_vcpu *vcpu, 75 int kvmppc_booke_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val); 76 int kvmppc_booke_emulate_mtspr(struct kvm_vcpu *vcpu, int sprn, ulong spr_val); 79 void kvmppc_load_guest_spe(struct kvm_vcpu *vcp [all...] |
H A D | book3s.h | 17 extern int kvmppc_mmu_init_pr(struct kvm_vcpu *vcpu); 18 extern void kvmppc_mmu_destroy_pr(struct kvm_vcpu *vcpu); 19 extern int kvmppc_core_emulate_op_pr(struct kvm_vcpu *vcpu, 21 extern int kvmppc_core_emulate_mtspr_pr(struct kvm_vcpu *vcpu, 23 extern int kvmppc_core_emulate_mfspr_pr(struct kvm_vcpu *vcpu, 27 extern int kvmppc_handle_exit_pr(struct kvm_vcpu *vcpu, unsigned int exit_nr); 30 extern void kvmppc_emulate_tabort(struct kvm_vcpu *vcpu, int ra_val); 32 static inline void kvmppc_emulate_tabort(struct kvm_vcpu *vcpu, int ra_val) {} 35 extern void kvmppc_set_msr_hv(struct kvm_vcpu *vcpu, u64 msr); 36 extern void kvmppc_inject_interrupt_hv(struct kvm_vcpu *vcp [all...] |
H A D | timing.h | 15 void kvmppc_init_timing_stats(struct kvm_vcpu *vcpu); 16 void kvmppc_update_timing_stats(struct kvm_vcpu *vcpu); 17 int kvmppc_create_vcpu_debugfs_e500(struct kvm_vcpu *vcpu, 20 static inline void kvmppc_set_exit_type(struct kvm_vcpu *vcpu, int type) 27 static inline void kvmppc_init_timing_stats(struct kvm_vcpu *vcpu) {} 28 static inline void kvmppc_update_timing_stats(struct kvm_vcpu *vcpu) {} 29 static inline int kvmppc_create_vcpu_debugfs_e500(struct kvm_vcpu *vcpu, 34 static inline void kvmppc_set_exit_type(struct kvm_vcpu *vcpu, int type) {} 38 static inline void kvmppc_account_exit_stat(struct kvm_vcpu *vcpu, int type) 93 static inline void kvmppc_account_exit(struct kvm_vcpu *vcp [all...] |
/linux-master/arch/x86/kvm/vmx/ |
H A D | sgx.h | 13 int handle_encls(struct kvm_vcpu *vcpu); 16 void vcpu_setup_sgx_lepubkeyhash(struct kvm_vcpu *vcpu); 18 void vmx_write_encls_bitmap(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12); 23 static inline void vcpu_setup_sgx_lepubkeyhash(struct kvm_vcpu *vcpu) { } 25 static inline void vmx_write_encls_bitmap(struct kvm_vcpu *vcpu,
|
/linux-master/arch/loongarch/include/asm/ |
H A D | kvm_vcpu.h | 40 typedef int (*exit_handle_fn)(struct kvm_vcpu *); 42 int kvm_emu_mmio_read(struct kvm_vcpu *vcpu, larch_inst inst); 43 int kvm_emu_mmio_write(struct kvm_vcpu *vcpu, larch_inst inst); 44 int kvm_complete_mmio_read(struct kvm_vcpu *vcpu, struct kvm_run *run); 45 int kvm_complete_iocsr_read(struct kvm_vcpu *vcpu, struct kvm_run *run); 46 int kvm_emu_idle(struct kvm_vcpu *vcpu); 47 int kvm_pending_timer(struct kvm_vcpu *vcpu); 48 int kvm_handle_fault(struct kvm_vcpu *vcpu, int fault); 49 void kvm_deliver_intr(struct kvm_vcpu *vcpu); 50 void kvm_deliver_exception(struct kvm_vcpu *vcp [all...] |
/linux-master/arch/powerpc/include/asm/ |
H A D | kvm_booke.h | 26 static inline void kvmppc_set_gpr(struct kvm_vcpu *vcpu, int num, ulong val) 31 static inline ulong kvmppc_get_gpr(struct kvm_vcpu *vcpu, int num) 36 static inline void kvmppc_set_cr(struct kvm_vcpu *vcpu, u32 val) 41 static inline u32 kvmppc_get_cr(struct kvm_vcpu *vcpu) 46 static inline void kvmppc_set_xer(struct kvm_vcpu *vcpu, ulong val) 51 static inline ulong kvmppc_get_xer(struct kvm_vcpu *vcpu) 56 static inline bool kvmppc_need_byteswap(struct kvm_vcpu *vcpu) 62 static inline void kvmppc_set_ctr(struct kvm_vcpu *vcpu, ulong val) 67 static inline ulong kvmppc_get_ctr(struct kvm_vcpu *vcpu) 72 static inline void kvmppc_set_lr(struct kvm_vcpu *vcp [all...] |
H A D | kvm_ppc.h | 12 /* This file exists just so we can dereference kvm_vcpu, avoiding nested header 62 extern int kvmppc_vcpu_run(struct kvm_vcpu *vcpu); 63 extern int __kvmppc_vcpu_run(struct kvm_vcpu *vcpu); 66 extern void kvmppc_dump_vcpu(struct kvm_vcpu *vcpu); 67 extern int kvmppc_handle_load(struct kvm_vcpu *vcpu, 70 extern int kvmppc_handle_loads(struct kvm_vcpu *vcpu, 73 extern int kvmppc_handle_vsx_load(struct kvm_vcpu *vcpu, 76 extern int kvmppc_handle_vmx_load(struct kvm_vcpu *vcpu, 78 extern int kvmppc_handle_vmx_store(struct kvm_vcpu *vcpu, 80 extern int kvmppc_handle_store(struct kvm_vcpu *vcp [all...] |
H A D | asm-prototypes.h | 55 struct kvm_vcpu; 56 void _kvmppc_restore_tm_pr(struct kvm_vcpu *vcpu, u64 guest_msr); 57 void _kvmppc_save_tm_pr(struct kvm_vcpu *vcpu, u64 guest_msr); 60 void kvmppc_save_tm_hv(struct kvm_vcpu *vcpu, u64 msr, bool preserve_nv); 61 void kvmppc_restore_tm_hv(struct kvm_vcpu *vcpu, u64 msr, bool preserve_nv); 63 static inline void kvmppc_save_tm_hv(struct kvm_vcpu *vcpu, u64 msr, 65 static inline void kvmppc_restore_tm_hv(struct kvm_vcpu *vcpu, u64 msr, 69 void kvmppc_p9_enter_guest(struct kvm_vcpu *vcpu); 71 long kvmppc_h_set_dabr(struct kvm_vcpu *vcpu, unsigned long dabr); 72 long kvmppc_h_set_xdabr(struct kvm_vcpu *vcp [all...] |
/linux-master/arch/x86/kvm/ |
H A D | hyperv.h | 64 static inline struct kvm_vcpu_hv *to_hv_vcpu(struct kvm_vcpu *vcpu) 69 static inline struct kvm_vcpu_hv_synic *to_hv_synic(struct kvm_vcpu *vcpu) 76 static inline struct kvm_vcpu *hv_synic_to_vcpu(struct kvm_vcpu_hv_synic *synic) 83 static inline struct kvm_hv_syndbg *to_hv_syndbg(struct kvm_vcpu *vcpu) 88 static inline u32 kvm_hv_get_vpindex(struct kvm_vcpu *vcpu) 95 int kvm_hv_set_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 data, bool host); 96 int kvm_hv_get_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 *pdata, bool host); 98 static inline bool kvm_hv_hypercall_enabled(struct kvm_vcpu *vcpu) 103 int kvm_hv_hypercall(struct kvm_vcpu *vcpu); 107 void kvm_hv_synic_send_eoi(struct kvm_vcpu *vcp [all...] |
H A D | xen.h | 19 int __kvm_xen_has_interrupt(struct kvm_vcpu *vcpu); 20 void kvm_xen_inject_pending_events(struct kvm_vcpu *vcpu); 21 void kvm_xen_inject_vcpu_vector(struct kvm_vcpu *vcpu); 22 int kvm_xen_vcpu_set_attr(struct kvm_vcpu *vcpu, struct kvm_xen_vcpu_attr *data); 23 int kvm_xen_vcpu_get_attr(struct kvm_vcpu *vcpu, struct kvm_xen_vcpu_attr *data); 27 int kvm_xen_write_hypercall_page(struct kvm_vcpu *vcpu, u64 data); 31 void kvm_xen_init_vcpu(struct kvm_vcpu *vcpu); 32 void kvm_xen_destroy_vcpu(struct kvm_vcpu *vcpu); 38 void kvm_xen_update_tsc_info(struct kvm_vcpu *vcpu); 40 static inline void kvm_xen_sw_enable_lapic(struct kvm_vcpu *vcp [all...] |
H A D | lapic.h | 64 struct kvm_vcpu *vcpu; 88 int kvm_create_lapic(struct kvm_vcpu *vcpu, int timer_advance_ns); 89 void kvm_free_lapic(struct kvm_vcpu *vcpu); 91 int kvm_apic_has_interrupt(struct kvm_vcpu *vcpu); 92 int kvm_apic_accept_pic_intr(struct kvm_vcpu *vcpu); 93 int kvm_get_apic_interrupt(struct kvm_vcpu *vcpu); 94 int kvm_apic_accept_events(struct kvm_vcpu *vcpu); 95 void kvm_lapic_reset(struct kvm_vcpu *vcpu, bool init_event); 96 u64 kvm_lapic_get_cr8(struct kvm_vcpu *vcpu); 97 void kvm_lapic_set_tpr(struct kvm_vcpu *vcp [all...] |
/linux-master/arch/arm64/include/asm/ |
H A D | kvm_emulate.h | 43 bool kvm_condition_valid32(const struct kvm_vcpu *vcpu); 44 void kvm_skip_instr32(struct kvm_vcpu *vcpu); 46 void kvm_inject_undefined(struct kvm_vcpu *vcpu); 47 void kvm_inject_vabt(struct kvm_vcpu *vcpu); 48 void kvm_inject_dabt(struct kvm_vcpu *vcpu, unsigned long addr); 49 void kvm_inject_pabt(struct kvm_vcpu *vcpu, unsigned long addr); 50 void kvm_inject_size_fault(struct kvm_vcpu *vcpu); 52 void kvm_vcpu_wfi(struct kvm_vcpu *vcpu); 54 void kvm_emulate_nested_eret(struct kvm_vcpu *vcpu); 55 int kvm_inject_nested_sync(struct kvm_vcpu *vcp [all...] |
/linux-master/arch/x86/kvm/svm/ |
H A D | hyperv.h | 15 static inline void nested_svm_hv_update_vm_vp_ids(struct kvm_vcpu *vcpu) 29 static inline bool nested_svm_l2_tlb_flush_enabled(struct kvm_vcpu *vcpu) 44 void svm_hv_inject_synthetic_vmexit_post_tlb_flush(struct kvm_vcpu *vcpu); 46 static inline void nested_svm_hv_update_vm_vp_ids(struct kvm_vcpu *vcpu) {} 47 static inline bool nested_svm_l2_tlb_flush_enabled(struct kvm_vcpu *vcpu) 51 static inline void svm_hv_inject_synthetic_vmexit_post_tlb_flush(struct kvm_vcpu *vcpu) {}
|
/linux-master/virt/kvm/ |
H A D | async_pf.h | 17 void kvm_async_pf_vcpu_init(struct kvm_vcpu *vcpu);
|
/linux-master/include/linux/ |
H A D | entry-kvm.h | 23 struct kvm_vcpu; 34 static inline int arch_xfer_to_guest_mode_handle_work(struct kvm_vcpu *vcpu, 38 static inline int arch_xfer_to_guest_mode_handle_work(struct kvm_vcpu *vcpu, 52 int xfer_to_guest_mode_handle_work(struct kvm_vcpu *vcpu);
|
/linux-master/arch/arm64/kvm/vgic/ |
H A D | vgic-mmio.h | 14 unsigned long (*read)(struct kvm_vcpu *vcpu, gpa_t addr, 20 void (*write)(struct kvm_vcpu *vcpu, gpa_t addr, 26 unsigned long (*uaccess_read)(struct kvm_vcpu *vcpu, gpa_t addr, 29 int (*uaccess_write)(struct kvm_vcpu *vcpu, gpa_t addr, 112 unsigned long vgic_mmio_read_raz(struct kvm_vcpu *vcpu, 115 unsigned long vgic_mmio_read_rao(struct kvm_vcpu *vcpu, 118 void vgic_mmio_write_wi(struct kvm_vcpu *vcpu, gpa_t addr, 121 int vgic_mmio_uaccess_write_wi(struct kvm_vcpu *vcpu, gpa_t addr, 124 unsigned long vgic_mmio_read_group(struct kvm_vcpu *vcpu, gpa_t addr, 127 void vgic_mmio_write_group(struct kvm_vcpu *vcp [all...] |
/linux-master/arch/mips/kvm/ |
H A D | interrupt.h | 37 int kvm_mips_pending_timer(struct kvm_vcpu *vcpu); 39 void kvm_mips_deliver_interrupts(struct kvm_vcpu *vcpu, u32 cause);
|