Lines Matching refs:kvm_vcpu

430 	unsigned long (*get_guest_pgd)(struct kvm_vcpu *vcpu);
431 u64 (*get_pdptr)(struct kvm_vcpu *vcpu, int index);
432 int (*page_fault)(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault);
433 void (*inject_page_fault)(struct kvm_vcpu *vcpu,
435 gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
438 int (*sync_page)(struct kvm_vcpu *vcpu,
440 void (*invlpg)(struct kvm_vcpu *vcpu, gva_t gva, hpa_t root_hpa);
494 struct kvm_vcpu *vcpu;
607 struct kvm_vcpu *vcpu;
785 int (*complete_userspace_io)(struct kvm_vcpu *vcpu);
1465 void (*vcpu_after_set_cpuid)(struct kvm_vcpu *vcpu);
1473 int (*vcpu_create)(struct kvm_vcpu *vcpu);
1474 void (*vcpu_free)(struct kvm_vcpu *vcpu);
1475 void (*vcpu_reset)(struct kvm_vcpu *vcpu, bool init_event);
1477 void (*prepare_switch_to_guest)(struct kvm_vcpu *vcpu);
1478 void (*vcpu_load)(struct kvm_vcpu *vcpu, int cpu);
1479 void (*vcpu_put)(struct kvm_vcpu *vcpu);
1481 void (*update_exception_bitmap)(struct kvm_vcpu *vcpu);
1482 int (*get_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr);
1483 int (*set_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr);
1484 u64 (*get_segment_base)(struct kvm_vcpu *vcpu, int seg);
1485 void (*get_segment)(struct kvm_vcpu *vcpu,
1487 int (*get_cpl)(struct kvm_vcpu *vcpu);
1488 void (*set_segment)(struct kvm_vcpu *vcpu,
1490 void (*get_cs_db_l_bits)(struct kvm_vcpu *vcpu, int *db, int *l);
1491 void (*set_cr0)(struct kvm_vcpu *vcpu, unsigned long cr0);
1492 void (*post_set_cr3)(struct kvm_vcpu *vcpu, unsigned long cr3);
1493 bool (*is_valid_cr4)(struct kvm_vcpu *vcpu, unsigned long cr0);
1494 void (*set_cr4)(struct kvm_vcpu *vcpu, unsigned long cr4);
1495 int (*set_efer)(struct kvm_vcpu *vcpu, u64 efer);
1496 void (*get_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1497 void (*set_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1498 void (*get_gdt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1499 void (*set_gdt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1500 void (*sync_dirty_debug_regs)(struct kvm_vcpu *vcpu);
1501 void (*set_dr7)(struct kvm_vcpu *vcpu, unsigned long value);
1502 void (*cache_reg)(struct kvm_vcpu *vcpu, enum kvm_reg reg);
1503 unsigned long (*get_rflags)(struct kvm_vcpu *vcpu);
1504 void (*set_rflags)(struct kvm_vcpu *vcpu, unsigned long rflags);
1505 bool (*get_if_flag)(struct kvm_vcpu *vcpu);
1507 void (*flush_tlb_all)(struct kvm_vcpu *vcpu);
1508 void (*flush_tlb_current)(struct kvm_vcpu *vcpu);
1519 void (*flush_tlb_gva)(struct kvm_vcpu *vcpu, gva_t addr);
1525 void (*flush_tlb_guest)(struct kvm_vcpu *vcpu);
1527 int (*vcpu_pre_run)(struct kvm_vcpu *vcpu);
1528 enum exit_fastpath_completion (*vcpu_run)(struct kvm_vcpu *vcpu);
1529 int (*handle_exit)(struct kvm_vcpu *vcpu,
1531 int (*skip_emulated_instruction)(struct kvm_vcpu *vcpu);
1532 void (*update_emulated_instruction)(struct kvm_vcpu *vcpu);
1533 void (*set_interrupt_shadow)(struct kvm_vcpu *vcpu, int mask);
1534 u32 (*get_interrupt_shadow)(struct kvm_vcpu *vcpu);
1535 void (*patch_hypercall)(struct kvm_vcpu *vcpu,
1537 void (*inject_irq)(struct kvm_vcpu *vcpu, bool reinjected);
1538 void (*inject_nmi)(struct kvm_vcpu *vcpu);
1539 void (*inject_exception)(struct kvm_vcpu *vcpu);
1540 void (*cancel_injection)(struct kvm_vcpu *vcpu);
1541 int (*interrupt_allowed)(struct kvm_vcpu *vcpu, bool for_injection);
1542 int (*nmi_allowed)(struct kvm_vcpu *vcpu, bool for_injection);
1543 bool (*get_nmi_mask)(struct kvm_vcpu *vcpu);
1544 void (*set_nmi_mask)(struct kvm_vcpu *vcpu, bool masked);
1545 void (*enable_nmi_window)(struct kvm_vcpu *vcpu);
1546 void (*enable_irq_window)(struct kvm_vcpu *vcpu);
1547 void (*update_cr8_intercept)(struct kvm_vcpu *vcpu, int tpr, int irr);
1549 void (*refresh_apicv_exec_ctrl)(struct kvm_vcpu *vcpu);
1550 void (*hwapic_irr_update)(struct kvm_vcpu *vcpu, int max_irr);
1552 bool (*guest_apic_has_interrupt)(struct kvm_vcpu *vcpu);
1553 void (*load_eoi_exitmap)(struct kvm_vcpu *vcpu, u64 *eoi_exit_bitmap);
1554 void (*set_virtual_apic_mode)(struct kvm_vcpu *vcpu);
1555 void (*set_apic_access_page_addr)(struct kvm_vcpu *vcpu);
1558 int (*sync_pir_to_irr)(struct kvm_vcpu *vcpu);
1561 u8 (*get_mt_mask)(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio);
1563 void (*load_mmu_pgd)(struct kvm_vcpu *vcpu, hpa_t root_hpa,
1568 u64 (*get_l2_tsc_offset)(struct kvm_vcpu *vcpu);
1569 u64 (*get_l2_tsc_multiplier)(struct kvm_vcpu *vcpu);
1570 void (*write_tsc_offset)(struct kvm_vcpu *vcpu, u64 offset);
1571 void (*write_tsc_multiplier)(struct kvm_vcpu *vcpu, u64 multiplier);
1577 void (*get_exit_info)(struct kvm_vcpu *vcpu, u32 *reason,
1581 int (*check_intercept)(struct kvm_vcpu *vcpu,
1585 void (*handle_exit_irqoff)(struct kvm_vcpu *vcpu);
1587 void (*request_immediate_exit)(struct kvm_vcpu *vcpu);
1589 void (*sched_in)(struct kvm_vcpu *kvm, int cpu);
1596 void (*update_cpu_dirty_logging)(struct kvm_vcpu *vcpu);
1600 void (*vcpu_blocking)(struct kvm_vcpu *vcpu);
1601 void (*vcpu_unblocking)(struct kvm_vcpu *vcpu);
1606 void (*apicv_post_state_restore)(struct kvm_vcpu *vcpu);
1607 bool (*dy_apicv_has_pending_interrupt)(struct kvm_vcpu *vcpu);
1609 int (*set_hv_timer)(struct kvm_vcpu *vcpu, u64 guest_deadline_tsc,
1611 void (*cancel_hv_timer)(struct kvm_vcpu *vcpu);
1613 void (*setup_mce)(struct kvm_vcpu *vcpu);
1615 int (*smi_allowed)(struct kvm_vcpu *vcpu, bool for_injection);
1616 int (*enter_smm)(struct kvm_vcpu *vcpu, char *smstate);
1617 int (*leave_smm)(struct kvm_vcpu *vcpu, const char *smstate);
1618 void (*enable_smi_window)(struct kvm_vcpu *vcpu);
1629 bool (*can_emulate_instruction)(struct kvm_vcpu *vcpu, int emul_type,
1632 bool (*apic_init_signal_blocked)(struct kvm_vcpu *vcpu);
1633 int (*enable_direct_tlbflush)(struct kvm_vcpu *vcpu);
1635 void (*migrate_timers)(struct kvm_vcpu *vcpu);
1636 void (*msr_filter_changed)(struct kvm_vcpu *vcpu);
1637 int (*complete_emulated_msr)(struct kvm_vcpu *vcpu, int err);
1639 void (*vcpu_deliver_sipi_vector)(struct kvm_vcpu *vcpu, u8 vector);
1644 unsigned long (*vcpu_get_apicv_inhibit_reasons)(struct kvm_vcpu *vcpu);
1648 void (*leave_nested)(struct kvm_vcpu *vcpu);
1649 bool (*is_exception_vmexit)(struct kvm_vcpu *vcpu, u8 vector,
1651 int (*check_events)(struct kvm_vcpu *vcpu);
1652 bool (*has_events)(struct kvm_vcpu *vcpu);
1653 void (*triple_fault)(struct kvm_vcpu *vcpu);
1654 int (*get_state)(struct kvm_vcpu *vcpu,
1657 int (*set_state)(struct kvm_vcpu *vcpu,
1660 bool (*get_nested_state_pages)(struct kvm_vcpu *vcpu);
1661 int (*write_log_dirty)(struct kvm_vcpu *vcpu, gpa_t l2_gpa);
1663 int (*enable_evmcs)(struct kvm_vcpu *vcpu,
1665 uint16_t (*get_evmcs_version)(struct kvm_vcpu *vcpu);
1724 void kvm_mmu_destroy(struct kvm_vcpu *vcpu);
1725 int kvm_mmu_create(struct kvm_vcpu *vcpu);
1729 void kvm_mmu_after_set_cpuid(struct kvm_vcpu *vcpu);
1730 void kvm_mmu_reset_context(struct kvm_vcpu *vcpu);
1749 int load_pdptrs(struct kvm_vcpu *vcpu, unsigned long cr3);
1751 int emulator_write_phys(struct kvm_vcpu *vcpu, gpa_t gpa,
1769 u64 vcpu_tsc_khz(struct kvm_vcpu *vcpu);
1819 int kvm_emulate_instruction(struct kvm_vcpu *vcpu, int emulation_type);
1820 int kvm_emulate_instruction_from_buffer(struct kvm_vcpu *vcpu,
1822 void __kvm_prepare_emulation_failure_exit(struct kvm_vcpu *vcpu,
1824 void kvm_prepare_emulation_failure_exit(struct kvm_vcpu *vcpu);
1827 bool kvm_valid_efer(struct kvm_vcpu *vcpu, u64 efer);
1828 int __kvm_get_msr(struct kvm_vcpu *vcpu, u32 index, u64 *data, bool host_initiated);
1829 int kvm_get_msr(struct kvm_vcpu *vcpu, u32 index, u64 *data);
1830 int kvm_set_msr(struct kvm_vcpu *vcpu, u32 index, u64 data);
1831 int kvm_emulate_rdmsr(struct kvm_vcpu *vcpu);
1832 int kvm_emulate_wrmsr(struct kvm_vcpu *vcpu);
1833 int kvm_emulate_as_nop(struct kvm_vcpu *vcpu);
1834 int kvm_emulate_invd(struct kvm_vcpu *vcpu);
1835 int kvm_emulate_mwait(struct kvm_vcpu *vcpu);
1836 int kvm_handle_invalid_op(struct kvm_vcpu *vcpu);
1837 int kvm_emulate_monitor(struct kvm_vcpu *vcpu);
1839 int kvm_fast_pio(struct kvm_vcpu *vcpu, int size, unsigned short port, int in);
1840 int kvm_emulate_cpuid(struct kvm_vcpu *vcpu);
1841 int kvm_emulate_halt(struct kvm_vcpu *vcpu);
1842 int kvm_emulate_halt_noskip(struct kvm_vcpu *vcpu);
1843 int kvm_emulate_ap_reset_hold(struct kvm_vcpu *vcpu);
1844 int kvm_emulate_wbinvd(struct kvm_vcpu *vcpu);
1846 void kvm_get_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);
1847 int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, int seg);
1848 void kvm_vcpu_deliver_sipi_vector(struct kvm_vcpu *vcpu, u8 vector);
1850 int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int idt_index,
1853 void kvm_post_set_cr0(struct kvm_vcpu *vcpu, unsigned long old_cr0, unsigned long cr0);
1854 void kvm_post_set_cr4(struct kvm_vcpu *vcpu, unsigned long old_cr4, unsigned long cr4);
1855 int kvm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0);
1856 int kvm_set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3);
1857 int kvm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4);
1858 int kvm_set_cr8(struct kvm_vcpu *vcpu, unsigned long cr8);
1859 int kvm_set_dr(struct kvm_vcpu *vcpu, int dr, unsigned long val);
1860 void kvm_get_dr(struct kvm_vcpu *vcpu, int dr, unsigned long *val);
1861 unsigned long kvm_get_cr8(struct kvm_vcpu *vcpu);
1862 void kvm_lmsw(struct kvm_vcpu *vcpu, unsigned long msw);
1863 int kvm_emulate_xsetbv(struct kvm_vcpu *vcpu);
1865 int kvm_get_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr);
1866 int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr);
1868 unsigned long kvm_get_rflags(struct kvm_vcpu *vcpu);
1869 void kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
1870 int kvm_emulate_rdpmc(struct kvm_vcpu *vcpu);
1872 void kvm_queue_exception(struct kvm_vcpu *vcpu, unsigned nr);
1873 void kvm_queue_exception_e(struct kvm_vcpu *vcpu, unsigned nr, u32 error_code);
1874 void kvm_queue_exception_p(struct kvm_vcpu *vcpu, unsigned nr, unsigned long payload);
1875 void kvm_requeue_exception(struct kvm_vcpu *vcpu, unsigned nr);
1876 void kvm_requeue_exception_e(struct kvm_vcpu *vcpu, unsigned nr, u32 error_code);
1877 void kvm_inject_page_fault(struct kvm_vcpu *vcpu, struct x86_exception *fault);
1878 void kvm_inject_emulated_page_fault(struct kvm_vcpu *vcpu,
1880 bool kvm_require_cpl(struct kvm_vcpu *vcpu, int required_cpl);
1881 bool kvm_require_dr(struct kvm_vcpu *vcpu, int dr);
1902 void kvm_inject_nmi(struct kvm_vcpu *vcpu);
1904 void kvm_update_dr7(struct kvm_vcpu *vcpu);
1910 gpa_t kvm_mmu_gva_to_gpa_read(struct kvm_vcpu *vcpu, gva_t gva,
1912 gpa_t kvm_mmu_gva_to_gpa_fetch(struct kvm_vcpu *vcpu, gva_t gva,
1914 gpa_t kvm_mmu_gva_to_gpa_write(struct kvm_vcpu *vcpu, gva_t gva,
1916 gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva,
1920 bool kvm_vcpu_apicv_activated(struct kvm_vcpu *vcpu);
1921 void kvm_vcpu_update_apicv(struct kvm_vcpu *vcpu);
1939 int kvm_emulate_hypercall(struct kvm_vcpu *vcpu);
1941 int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u64 error_code,
1943 void kvm_mmu_invlpg(struct kvm_vcpu *vcpu, gva_t gva);
1944 void kvm_mmu_invalidate_gva(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
1946 void kvm_mmu_invpcid_gva(struct kvm_vcpu *vcpu, gva_t gva, unsigned long pcid);
1947 void kvm_mmu_new_pgd(struct kvm_vcpu *vcpu, gpa_t new_pgd);
1974 static inline void kvm_inject_gp(struct kvm_vcpu *vcpu, u32 error_code) in kvm_inject_gp()
2008 int kvm_cpu_has_injectable_intr(struct kvm_vcpu *v);
2009 int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu);
2010 int kvm_cpu_has_extint(struct kvm_vcpu *v);
2011 int kvm_arch_interrupt_allowed(struct kvm_vcpu *vcpu);
2012 int kvm_cpu_get_interrupt(struct kvm_vcpu *v);
2013 void kvm_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event);
2029 u64 kvm_read_l1_tsc(struct kvm_vcpu *vcpu, u64 host_tsc);
2033 unsigned long kvm_get_linear_rip(struct kvm_vcpu *vcpu);
2034 bool kvm_is_linear_rip(struct kvm_vcpu *vcpu, unsigned long linear_rip);
2040 bool kvm_arch_async_page_not_present(struct kvm_vcpu *vcpu,
2042 void kvm_arch_async_page_present(struct kvm_vcpu *vcpu,
2044 void kvm_arch_async_page_ready(struct kvm_vcpu *vcpu,
2046 void kvm_arch_async_page_present_queued(struct kvm_vcpu *vcpu);
2047 bool kvm_arch_can_dequeue_async_page_present(struct kvm_vcpu *vcpu);
2048 extern bool kvm_find_async_pf_gfn(struct kvm_vcpu *vcpu, gfn_t gfn);
2050 int kvm_skip_emulated_instruction(struct kvm_vcpu *vcpu);
2051 int kvm_complete_insn_gp(struct kvm_vcpu *vcpu, int err);
2052 void __kvm_request_immediate_exit(struct kvm_vcpu *vcpu);
2056 bool kvm_vcpu_is_reset_bsp(struct kvm_vcpu *vcpu);
2057 bool kvm_vcpu_is_bsp(struct kvm_vcpu *vcpu);
2060 struct kvm_vcpu **dest_vcpu);
2072 static inline void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu) in kvm_arch_vcpu_blocking()
2077 static inline void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu) in kvm_arch_vcpu_unblocking()