Lines Matching refs:kvm_vcpu
455 unsigned long (*get_guest_pgd)(struct kvm_vcpu *vcpu);
456 u64 (*get_pdptr)(struct kvm_vcpu *vcpu, int index);
457 int (*page_fault)(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault);
458 void (*inject_page_fault)(struct kvm_vcpu *vcpu,
460 gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
463 int (*sync_spte)(struct kvm_vcpu *vcpu,
532 struct kvm_vcpu *vcpu;
682 struct kvm_vcpu *vcpu;
927 int (*complete_userspace_io)(struct kvm_vcpu *vcpu);
1704 void (*vcpu_after_set_cpuid)(struct kvm_vcpu *vcpu);
1713 int (*vcpu_create)(struct kvm_vcpu *vcpu);
1714 void (*vcpu_free)(struct kvm_vcpu *vcpu);
1715 void (*vcpu_reset)(struct kvm_vcpu *vcpu, bool init_event);
1717 void (*prepare_switch_to_guest)(struct kvm_vcpu *vcpu);
1718 void (*vcpu_load)(struct kvm_vcpu *vcpu, int cpu);
1719 void (*vcpu_put)(struct kvm_vcpu *vcpu);
1727 void (*update_exception_bitmap)(struct kvm_vcpu *vcpu);
1728 int (*get_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr);
1729 int (*set_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr);
1730 u64 (*get_segment_base)(struct kvm_vcpu *vcpu, int seg);
1731 void (*get_segment)(struct kvm_vcpu *vcpu,
1733 int (*get_cpl)(struct kvm_vcpu *vcpu);
1734 int (*get_cpl_no_cache)(struct kvm_vcpu *vcpu);
1735 void (*set_segment)(struct kvm_vcpu *vcpu,
1737 void (*get_cs_db_l_bits)(struct kvm_vcpu *vcpu, int *db, int *l);
1738 bool (*is_valid_cr0)(struct kvm_vcpu *vcpu, unsigned long cr0);
1739 void (*set_cr0)(struct kvm_vcpu *vcpu, unsigned long cr0);
1740 void (*post_set_cr3)(struct kvm_vcpu *vcpu, unsigned long cr3);
1741 bool (*is_valid_cr4)(struct kvm_vcpu *vcpu, unsigned long cr4);
1742 void (*set_cr4)(struct kvm_vcpu *vcpu, unsigned long cr4);
1743 int (*set_efer)(struct kvm_vcpu *vcpu, u64 efer);
1744 void (*get_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1745 void (*set_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1746 void (*get_gdt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1747 void (*set_gdt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1748 void (*sync_dirty_debug_regs)(struct kvm_vcpu *vcpu);
1749 void (*set_dr7)(struct kvm_vcpu *vcpu, unsigned long value);
1750 void (*cache_reg)(struct kvm_vcpu *vcpu, enum kvm_reg reg);
1751 unsigned long (*get_rflags)(struct kvm_vcpu *vcpu);
1752 void (*set_rflags)(struct kvm_vcpu *vcpu, unsigned long rflags);
1753 bool (*get_if_flag)(struct kvm_vcpu *vcpu);
1755 void (*flush_tlb_all)(struct kvm_vcpu *vcpu);
1756 void (*flush_tlb_current)(struct kvm_vcpu *vcpu);
1769 void (*flush_tlb_gva)(struct kvm_vcpu *vcpu, gva_t addr);
1775 void (*flush_tlb_guest)(struct kvm_vcpu *vcpu);
1777 int (*vcpu_pre_run)(struct kvm_vcpu *vcpu);
1778 enum exit_fastpath_completion (*vcpu_run)(struct kvm_vcpu *vcpu,
1780 int (*handle_exit)(struct kvm_vcpu *vcpu,
1782 int (*skip_emulated_instruction)(struct kvm_vcpu *vcpu);
1783 void (*update_emulated_instruction)(struct kvm_vcpu *vcpu);
1784 void (*set_interrupt_shadow)(struct kvm_vcpu *vcpu, int mask);
1785 u32 (*get_interrupt_shadow)(struct kvm_vcpu *vcpu);
1786 void (*patch_hypercall)(struct kvm_vcpu *vcpu,
1788 void (*inject_irq)(struct kvm_vcpu *vcpu, bool reinjected);
1789 void (*inject_nmi)(struct kvm_vcpu *vcpu);
1790 void (*inject_exception)(struct kvm_vcpu *vcpu);
1791 void (*cancel_injection)(struct kvm_vcpu *vcpu);
1792 int (*interrupt_allowed)(struct kvm_vcpu *vcpu, bool for_injection);
1793 int (*nmi_allowed)(struct kvm_vcpu *vcpu, bool for_injection);
1794 bool (*get_nmi_mask)(struct kvm_vcpu *vcpu);
1795 void (*set_nmi_mask)(struct kvm_vcpu *vcpu, bool masked);
1797 bool (*is_vnmi_pending)(struct kvm_vcpu *vcpu);
1802 bool (*set_vnmi_pending)(struct kvm_vcpu *vcpu);
1803 void (*enable_nmi_window)(struct kvm_vcpu *vcpu);
1804 void (*enable_irq_window)(struct kvm_vcpu *vcpu);
1805 void (*update_cr8_intercept)(struct kvm_vcpu *vcpu, int tpr, int irr);
1810 void (*refresh_apicv_exec_ctrl)(struct kvm_vcpu *vcpu);
1811 void (*hwapic_isr_update)(struct kvm_vcpu *vcpu, int isr);
1812 void (*load_eoi_exitmap)(struct kvm_vcpu *vcpu, u64 *eoi_exit_bitmap);
1813 void (*set_virtual_apic_mode)(struct kvm_vcpu *vcpu);
1814 void (*set_apic_access_page_addr)(struct kvm_vcpu *vcpu);
1817 int (*sync_pir_to_irr)(struct kvm_vcpu *vcpu);
1820 u8 (*get_mt_mask)(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio);
1822 void (*load_mmu_pgd)(struct kvm_vcpu *vcpu, hpa_t root_hpa,
1842 u64 (*get_l2_tsc_offset)(struct kvm_vcpu *vcpu);
1843 u64 (*get_l2_tsc_multiplier)(struct kvm_vcpu *vcpu);
1844 void (*write_tsc_offset)(struct kvm_vcpu *vcpu);
1845 void (*write_tsc_multiplier)(struct kvm_vcpu *vcpu);
1851 void (*get_exit_info)(struct kvm_vcpu *vcpu, u32 *reason,
1855 void (*get_entry_info)(struct kvm_vcpu *vcpu,
1858 int (*check_intercept)(struct kvm_vcpu *vcpu,
1862 void (*handle_exit_irqoff)(struct kvm_vcpu *vcpu);
1864 void (*update_cpu_dirty_logging)(struct kvm_vcpu *vcpu);
1868 void (*vcpu_blocking)(struct kvm_vcpu *vcpu);
1869 void (*vcpu_unblocking)(struct kvm_vcpu *vcpu);
1873 struct kvm_vcpu *vcpu, u32 vector);
1875 void (*apicv_pre_state_restore)(struct kvm_vcpu *vcpu);
1876 void (*apicv_post_state_restore)(struct kvm_vcpu *vcpu);
1877 bool (*dy_apicv_has_pending_interrupt)(struct kvm_vcpu *vcpu);
1878 bool (*protected_apic_has_interrupt)(struct kvm_vcpu *vcpu);
1880 int (*set_hv_timer)(struct kvm_vcpu *vcpu, u64 guest_deadline_tsc,
1882 void (*cancel_hv_timer)(struct kvm_vcpu *vcpu);
1884 void (*setup_mce)(struct kvm_vcpu *vcpu);
1887 int (*smi_allowed)(struct kvm_vcpu *vcpu, bool for_injection);
1888 int (*enter_smm)(struct kvm_vcpu *vcpu, union kvm_smram *smram);
1889 int (*leave_smm)(struct kvm_vcpu *vcpu, const union kvm_smram *smram);
1890 void (*enable_smi_window)(struct kvm_vcpu *vcpu);
1895 int (*vcpu_mem_enc_ioctl)(struct kvm_vcpu *vcpu, void __user *argp);
1904 int (*check_emulate_instruction)(struct kvm_vcpu *vcpu, int emul_type,
1907 bool (*apic_init_signal_blocked)(struct kvm_vcpu *vcpu);
1908 int (*enable_l2_tlb_flush)(struct kvm_vcpu *vcpu);
1910 void (*migrate_timers)(struct kvm_vcpu *vcpu);
1911 void (*recalc_msr_intercepts)(struct kvm_vcpu *vcpu);
1912 int (*complete_emulated_msr)(struct kvm_vcpu *vcpu, int err);
1914 void (*vcpu_deliver_sipi_vector)(struct kvm_vcpu *vcpu, u8 vector);
1919 unsigned long (*vcpu_get_apicv_inhibit_reasons)(struct kvm_vcpu *vcpu);
1921 gva_t (*get_untagged_addr)(struct kvm_vcpu *vcpu, gva_t gva, unsigned int flags);
1922 void *(*alloc_apic_backing_page)(struct kvm_vcpu *vcpu);
1929 void (*leave_nested)(struct kvm_vcpu *vcpu);
1930 bool (*is_exception_vmexit)(struct kvm_vcpu *vcpu, u8 vector,
1932 int (*check_events)(struct kvm_vcpu *vcpu);
1933 bool (*has_events)(struct kvm_vcpu *vcpu, bool for_injection);
1934 void (*triple_fault)(struct kvm_vcpu *vcpu);
1935 int (*get_state)(struct kvm_vcpu *vcpu,
1938 int (*set_state)(struct kvm_vcpu *vcpu,
1941 bool (*get_nested_state_pages)(struct kvm_vcpu *vcpu);
1942 int (*write_log_dirty)(struct kvm_vcpu *vcpu, gpa_t l2_gpa);
1944 int (*enable_evmcs)(struct kvm_vcpu *vcpu,
1946 uint16_t (*get_evmcs_version)(struct kvm_vcpu *vcpu);
1947 void (*hv_inject_synthetic_vmexit_post_tlb_flush)(struct kvm_vcpu *vcpu);
2031 void kvm_mmu_destroy(struct kvm_vcpu *vcpu);
2032 int kvm_mmu_create(struct kvm_vcpu *vcpu);
2039 void kvm_mmu_after_set_cpuid(struct kvm_vcpu *vcpu);
2040 void kvm_mmu_reset_context(struct kvm_vcpu *vcpu);
2059 int load_pdptrs(struct kvm_vcpu *vcpu, unsigned long cr3);
2061 int emulator_write_phys(struct kvm_vcpu *vcpu, gpa_t gpa,
2066 u64 vcpu_tsc_khz(struct kvm_vcpu *vcpu);
2141 int kvm_emulate_instruction(struct kvm_vcpu *vcpu, int emulation_type);
2142 int kvm_emulate_instruction_from_buffer(struct kvm_vcpu *vcpu,
2144 void __kvm_prepare_emulation_failure_exit(struct kvm_vcpu *vcpu,
2146 void kvm_prepare_emulation_failure_exit(struct kvm_vcpu *vcpu);
2148 void kvm_prepare_event_vectoring_exit(struct kvm_vcpu *vcpu, gpa_t gpa);
2151 bool kvm_valid_efer(struct kvm_vcpu *vcpu, u64 efer);
2152 int kvm_get_msr_with_filter(struct kvm_vcpu *vcpu, u32 index, u64 *data);
2153 int kvm_set_msr_with_filter(struct kvm_vcpu *vcpu, u32 index, u64 data);
2154 int __kvm_get_msr(struct kvm_vcpu *vcpu, u32 index, u64 *data, bool host_initiated);
2155 int kvm_get_msr(struct kvm_vcpu *vcpu, u32 index, u64 *data);
2156 int kvm_set_msr(struct kvm_vcpu *vcpu, u32 index, u64 data);
2157 int kvm_emulate_rdmsr(struct kvm_vcpu *vcpu);
2158 int kvm_emulate_wrmsr(struct kvm_vcpu *vcpu);
2159 int kvm_emulate_as_nop(struct kvm_vcpu *vcpu);
2160 int kvm_emulate_invd(struct kvm_vcpu *vcpu);
2161 int kvm_emulate_mwait(struct kvm_vcpu *vcpu);
2162 int kvm_handle_invalid_op(struct kvm_vcpu *vcpu);
2163 int kvm_emulate_monitor(struct kvm_vcpu *vcpu);
2165 int kvm_fast_pio(struct kvm_vcpu *vcpu, int size, unsigned short port, int in);
2166 int kvm_emulate_cpuid(struct kvm_vcpu *vcpu);
2167 int kvm_emulate_halt(struct kvm_vcpu *vcpu);
2168 int kvm_emulate_halt_noskip(struct kvm_vcpu *vcpu);
2169 int kvm_emulate_ap_reset_hold(struct kvm_vcpu *vcpu);
2170 int kvm_emulate_wbinvd(struct kvm_vcpu *vcpu);
2172 void kvm_get_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);
2173 void kvm_set_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);
2174 int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, int seg);
2175 void kvm_vcpu_deliver_sipi_vector(struct kvm_vcpu *vcpu, u8 vector);
2177 int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int idt_index,
2180 void kvm_post_set_cr0(struct kvm_vcpu *vcpu, unsigned long old_cr0, unsigned long cr0);
2181 void kvm_post_set_cr4(struct kvm_vcpu *vcpu, unsigned long old_cr4, unsigned long cr4);
2182 int kvm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0);
2183 int kvm_set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3);
2184 int kvm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4);
2185 int kvm_set_cr8(struct kvm_vcpu *vcpu, unsigned long cr8);
2186 int kvm_set_dr(struct kvm_vcpu *vcpu, int dr, unsigned long val);
2187 unsigned long kvm_get_dr(struct kvm_vcpu *vcpu, int dr);
2188 unsigned long kvm_get_cr8(struct kvm_vcpu *vcpu);
2189 void kvm_lmsw(struct kvm_vcpu *vcpu, unsigned long msw);
2190 int kvm_emulate_xsetbv(struct kvm_vcpu *vcpu);
2192 int kvm_get_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr);
2193 int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr);
2195 unsigned long kvm_get_rflags(struct kvm_vcpu *vcpu);
2196 void kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
2197 int kvm_emulate_rdpmc(struct kvm_vcpu *vcpu);
2199 void kvm_queue_exception(struct kvm_vcpu *vcpu, unsigned nr);
2200 void kvm_queue_exception_e(struct kvm_vcpu *vcpu, unsigned nr, u32 error_code);
2201 void kvm_queue_exception_p(struct kvm_vcpu *vcpu, unsigned nr, unsigned long payload);
2202 void kvm_requeue_exception(struct kvm_vcpu *vcpu, unsigned int nr,
2204 void kvm_inject_page_fault(struct kvm_vcpu *vcpu, struct x86_exception *fault);
2205 void kvm_inject_emulated_page_fault(struct kvm_vcpu *vcpu,
2207 bool kvm_require_cpl(struct kvm_vcpu *vcpu, int required_cpl);
2208 bool kvm_require_dr(struct kvm_vcpu *vcpu, int dr);
2222 void kvm_inject_nmi(struct kvm_vcpu *vcpu);
2223 int kvm_get_nr_pending_nmis(struct kvm_vcpu *vcpu);
2225 void kvm_update_dr7(struct kvm_vcpu *vcpu);
2227 bool __kvm_mmu_unprotect_gfn_and_retry(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
2230 static inline bool kvm_mmu_unprotect_gfn_and_retry(struct kvm_vcpu *vcpu, in kvm_mmu_unprotect_gfn_and_retry()
2239 gpa_t kvm_mmu_gva_to_gpa_read(struct kvm_vcpu *vcpu, gva_t gva,
2241 gpa_t kvm_mmu_gva_to_gpa_write(struct kvm_vcpu *vcpu, gva_t gva,
2243 gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva,
2247 bool kvm_vcpu_apicv_activated(struct kvm_vcpu *vcpu);
2248 void __kvm_vcpu_update_apicv(struct kvm_vcpu *vcpu);
2266 int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u64 error_code,
2268 void kvm_mmu_print_sptes(struct kvm_vcpu *vcpu, gpa_t gpa, const char *msg);
2269 void kvm_mmu_invlpg(struct kvm_vcpu *vcpu, gva_t gva);
2270 void kvm_mmu_invalidate_addr(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
2272 void kvm_mmu_invpcid_gva(struct kvm_vcpu *vcpu, gva_t gva, unsigned long pcid);
2273 void kvm_mmu_new_pgd(struct kvm_vcpu *vcpu, gpa_t new_pgd);
2309 static inline void kvm_inject_gp(struct kvm_vcpu *vcpu, u32 error_code) in kvm_inject_gp()
2343 int kvm_cpu_has_injectable_intr(struct kvm_vcpu *v);
2344 int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu);
2345 int kvm_cpu_has_extint(struct kvm_vcpu *v);
2346 int kvm_arch_interrupt_allowed(struct kvm_vcpu *vcpu);
2347 int kvm_cpu_get_extint(struct kvm_vcpu *v);
2348 int kvm_cpu_get_interrupt(struct kvm_vcpu *v);
2349 void kvm_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event);
2366 u64 kvm_read_l1_tsc(struct kvm_vcpu *vcpu, u64 host_tsc);
2370 unsigned long kvm_get_linear_rip(struct kvm_vcpu *vcpu);
2371 bool kvm_is_linear_rip(struct kvm_vcpu *vcpu, unsigned long linear_rip);
2377 bool kvm_arch_async_page_not_present(struct kvm_vcpu *vcpu,
2379 void kvm_arch_async_page_present(struct kvm_vcpu *vcpu,
2381 void kvm_arch_async_page_ready(struct kvm_vcpu *vcpu,
2383 void kvm_arch_async_page_present_queued(struct kvm_vcpu *vcpu);
2384 bool kvm_arch_can_dequeue_async_page_present(struct kvm_vcpu *vcpu);
2385 extern bool kvm_find_async_pf_gfn(struct kvm_vcpu *vcpu, gfn_t gfn);
2387 int kvm_skip_emulated_instruction(struct kvm_vcpu *vcpu);
2388 int kvm_complete_insn_gp(struct kvm_vcpu *vcpu, int err);
2392 bool kvm_vcpu_is_reset_bsp(struct kvm_vcpu *vcpu);
2393 bool kvm_vcpu_is_bsp(struct kvm_vcpu *vcpu);
2396 struct kvm_vcpu **dest_vcpu);
2405 static inline void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu) in kvm_arch_vcpu_blocking()
2410 static inline void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu) in kvm_arch_vcpu_unblocking()