Lines Matching refs:kvm_vcpu
263 void (*set_cr3)(struct kvm_vcpu *vcpu, unsigned long root);
264 unsigned long (*get_cr3)(struct kvm_vcpu *vcpu);
265 u64 (*get_pdptr)(struct kvm_vcpu *vcpu, int index);
266 int (*page_fault)(struct kvm_vcpu *vcpu, gva_t gva, u32 err,
268 void (*inject_page_fault)(struct kvm_vcpu *vcpu,
270 gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t gva, u32 access,
272 gpa_t (*translate_gpa)(struct kvm_vcpu *vcpu, gpa_t gpa, u32 access,
274 int (*sync_page)(struct kvm_vcpu *vcpu,
276 void (*invlpg)(struct kvm_vcpu *vcpu, gva_t gva);
277 void (*update_pte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
320 struct kvm_vcpu *vcpu;
440 int (*complete_userspace_io)(struct kvm_vcpu *vcpu);
709 void (*cpuid_update)(struct kvm_vcpu *vcpu);
712 struct kvm_vcpu *(*vcpu_create)(struct kvm *kvm, unsigned id);
713 void (*vcpu_free)(struct kvm_vcpu *vcpu);
714 void (*vcpu_reset)(struct kvm_vcpu *vcpu);
716 void (*prepare_guest_switch)(struct kvm_vcpu *vcpu);
717 void (*vcpu_load)(struct kvm_vcpu *vcpu, int cpu);
718 void (*vcpu_put)(struct kvm_vcpu *vcpu);
720 void (*update_db_bp_intercept)(struct kvm_vcpu *vcpu);
721 int (*get_msr)(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata);
722 int (*set_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr);
723 u64 (*get_segment_base)(struct kvm_vcpu *vcpu, int seg);
724 void (*get_segment)(struct kvm_vcpu *vcpu,
726 int (*get_cpl)(struct kvm_vcpu *vcpu);
727 void (*set_segment)(struct kvm_vcpu *vcpu,
729 void (*get_cs_db_l_bits)(struct kvm_vcpu *vcpu, int *db, int *l);
730 void (*decache_cr0_guest_bits)(struct kvm_vcpu *vcpu);
731 void (*decache_cr3)(struct kvm_vcpu *vcpu);
732 void (*decache_cr4_guest_bits)(struct kvm_vcpu *vcpu);
733 void (*set_cr0)(struct kvm_vcpu *vcpu, unsigned long cr0);
734 void (*set_cr3)(struct kvm_vcpu *vcpu, unsigned long cr3);
735 int (*set_cr4)(struct kvm_vcpu *vcpu, unsigned long cr4);
736 void (*set_efer)(struct kvm_vcpu *vcpu, u64 efer);
737 void (*get_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
738 void (*set_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
739 void (*get_gdt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
740 void (*set_gdt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
741 u64 (*get_dr6)(struct kvm_vcpu *vcpu);
742 void (*set_dr6)(struct kvm_vcpu *vcpu, unsigned long value);
743 void (*sync_dirty_debug_regs)(struct kvm_vcpu *vcpu);
744 void (*set_dr7)(struct kvm_vcpu *vcpu, unsigned long value);
745 void (*cache_reg)(struct kvm_vcpu *vcpu, enum kvm_reg reg);
746 unsigned long (*get_rflags)(struct kvm_vcpu *vcpu);
747 void (*set_rflags)(struct kvm_vcpu *vcpu, unsigned long rflags);
748 void (*fpu_activate)(struct kvm_vcpu *vcpu);
749 void (*fpu_deactivate)(struct kvm_vcpu *vcpu);
751 void (*tlb_flush)(struct kvm_vcpu *vcpu);
753 void (*run)(struct kvm_vcpu *vcpu);
754 int (*handle_exit)(struct kvm_vcpu *vcpu);
755 void (*skip_emulated_instruction)(struct kvm_vcpu *vcpu);
756 void (*set_interrupt_shadow)(struct kvm_vcpu *vcpu, int mask);
757 u32 (*get_interrupt_shadow)(struct kvm_vcpu *vcpu);
758 void (*patch_hypercall)(struct kvm_vcpu *vcpu,
760 void (*set_irq)(struct kvm_vcpu *vcpu);
761 void (*set_nmi)(struct kvm_vcpu *vcpu);
762 void (*queue_exception)(struct kvm_vcpu *vcpu, unsigned nr,
765 void (*cancel_injection)(struct kvm_vcpu *vcpu);
766 int (*interrupt_allowed)(struct kvm_vcpu *vcpu);
767 int (*nmi_allowed)(struct kvm_vcpu *vcpu);
768 bool (*get_nmi_mask)(struct kvm_vcpu *vcpu);
769 void (*set_nmi_mask)(struct kvm_vcpu *vcpu, bool masked);
770 void (*enable_nmi_window)(struct kvm_vcpu *vcpu);
771 void (*enable_irq_window)(struct kvm_vcpu *vcpu);
772 void (*update_cr8_intercept)(struct kvm_vcpu *vcpu, int tpr, int irr);
774 void (*hwapic_irr_update)(struct kvm_vcpu *vcpu, int max_irr);
776 void (*load_eoi_exitmap)(struct kvm_vcpu *vcpu, u64 *eoi_exit_bitmap);
777 void (*set_virtual_x2apic_mode)(struct kvm_vcpu *vcpu, bool set);
778 void (*set_apic_access_page_addr)(struct kvm_vcpu *vcpu, hpa_t hpa);
779 void (*deliver_posted_interrupt)(struct kvm_vcpu *vcpu, int vector);
780 void (*sync_pir_to_irr)(struct kvm_vcpu *vcpu);
783 u64 (*get_mt_mask)(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio);
787 void (*adjust_tsc_offset)(struct kvm_vcpu *vcpu, s64 adjustment, bool host);
789 void (*set_tdp_cr3)(struct kvm_vcpu *vcpu, unsigned long cr3);
795 void (*set_tsc_khz)(struct kvm_vcpu *vcpu, u32 user_tsc_khz, bool scale);
796 u64 (*read_tsc_offset)(struct kvm_vcpu *vcpu);
797 void (*write_tsc_offset)(struct kvm_vcpu *vcpu, u64 offset);
799 u64 (*compute_tsc_offset)(struct kvm_vcpu *vcpu, u64 target_tsc);
800 u64 (*read_l1_tsc)(struct kvm_vcpu *vcpu, u64 host_tsc);
802 void (*get_exit_info)(struct kvm_vcpu *vcpu, u64 *info1, u64 *info2);
804 int (*check_intercept)(struct kvm_vcpu *vcpu,
807 void (*handle_external_intr)(struct kvm_vcpu *vcpu);
811 int (*check_nested_events)(struct kvm_vcpu *vcpu, bool external_intr);
813 void (*sched_in)(struct kvm_vcpu *kvm, int cpu);
850 static inline void adjust_tsc_offset_guest(struct kvm_vcpu *vcpu, in adjust_tsc_offset_guest()
856 static inline void adjust_tsc_offset_host(struct kvm_vcpu *vcpu, s64 adjustment) in adjust_tsc_offset_host()
864 void kvm_mmu_destroy(struct kvm_vcpu *vcpu);
865 int kvm_mmu_create(struct kvm_vcpu *vcpu);
866 void kvm_mmu_setup(struct kvm_vcpu *vcpu);
870 void kvm_mmu_reset_context(struct kvm_vcpu *vcpu);
889 int load_pdptrs(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu, unsigned long cr3);
891 int emulator_write_phys(struct kvm_vcpu *vcpu, gpa_t gpa,
893 u8 kvm_get_guest_memory_type(struct kvm_vcpu *vcpu, gfn_t gfn);
910 u64 vcpu_tsc_khz(struct kvm_vcpu *vcpu);
930 int x86_emulate_instruction(struct kvm_vcpu *vcpu, unsigned long cr2,
933 static inline int emulate_instruction(struct kvm_vcpu *vcpu, in emulate_instruction()
940 bool kvm_valid_efer(struct kvm_vcpu *vcpu, u64 efer);
941 int kvm_get_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *data);
942 int kvm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr);
946 int kvm_fast_pio_out(struct kvm_vcpu *vcpu, int size, unsigned short port);
947 void kvm_emulate_cpuid(struct kvm_vcpu *vcpu);
948 int kvm_emulate_halt(struct kvm_vcpu *vcpu);
949 int kvm_vcpu_halt(struct kvm_vcpu *vcpu);
950 int kvm_emulate_wbinvd(struct kvm_vcpu *vcpu);
952 void kvm_get_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);
953 int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, int seg);
954 void kvm_vcpu_deliver_sipi_vector(struct kvm_vcpu *vcpu, u8 vector);
956 int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int idt_index,
959 int kvm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0);
960 int kvm_set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3);
961 int kvm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4);
962 int kvm_set_cr8(struct kvm_vcpu *vcpu, unsigned long cr8);
963 int kvm_set_dr(struct kvm_vcpu *vcpu, int dr, unsigned long val);
964 int kvm_get_dr(struct kvm_vcpu *vcpu, int dr, unsigned long *val);
965 unsigned long kvm_get_cr8(struct kvm_vcpu *vcpu);
966 void kvm_lmsw(struct kvm_vcpu *vcpu, unsigned long msw);
967 void kvm_get_cs_db_l_bits(struct kvm_vcpu *vcpu, int *db, int *l);
968 int kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr);
970 int kvm_get_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 *pdata);
971 int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr);
973 unsigned long kvm_get_rflags(struct kvm_vcpu *vcpu);
974 void kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
975 bool kvm_rdpmc(struct kvm_vcpu *vcpu);
977 void kvm_queue_exception(struct kvm_vcpu *vcpu, unsigned nr);
978 void kvm_queue_exception_e(struct kvm_vcpu *vcpu, unsigned nr, u32 error_code);
979 void kvm_requeue_exception(struct kvm_vcpu *vcpu, unsigned nr);
980 void kvm_requeue_exception_e(struct kvm_vcpu *vcpu, unsigned nr, u32 error_code);
981 void kvm_inject_page_fault(struct kvm_vcpu *vcpu, struct x86_exception *fault);
982 int kvm_read_guest_page_mmu(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
985 bool kvm_require_cpl(struct kvm_vcpu *vcpu, int required_cpl);
986 bool kvm_require_dr(struct kvm_vcpu *vcpu, int dr);
1003 void kvm_inject_nmi(struct kvm_vcpu *vcpu);
1005 int fx_init(struct kvm_vcpu *vcpu);
1007 void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
1010 int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva);
1011 void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu);
1012 int kvm_mmu_load(struct kvm_vcpu *vcpu);
1013 void kvm_mmu_unload(struct kvm_vcpu *vcpu);
1014 void kvm_mmu_sync_roots(struct kvm_vcpu *vcpu);
1015 gpa_t translate_nested_gpa(struct kvm_vcpu *vcpu, gpa_t gpa, u32 access,
1017 gpa_t kvm_mmu_gva_to_gpa_read(struct kvm_vcpu *vcpu, gva_t gva,
1019 gpa_t kvm_mmu_gva_to_gpa_fetch(struct kvm_vcpu *vcpu, gva_t gva,
1021 gpa_t kvm_mmu_gva_to_gpa_write(struct kvm_vcpu *vcpu, gva_t gva,
1023 gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva,
1026 int kvm_emulate_hypercall(struct kvm_vcpu *vcpu);
1028 int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t gva, u32 error_code,
1030 void kvm_mmu_invlpg(struct kvm_vcpu *vcpu, gva_t gva);
1031 void kvm_mmu_new_cr3(struct kvm_vcpu *vcpu);
1036 static inline gpa_t translate_gpa(struct kvm_vcpu *vcpu, gpa_t gpa, u32 access, in translate_gpa()
1076 static inline void kvm_inject_gp(struct kvm_vcpu *vcpu, u32 error_code) in kvm_inject_gp()
1145 int kvm_cpu_has_injectable_intr(struct kvm_vcpu *v);
1146 int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu);
1147 int kvm_arch_interrupt_allowed(struct kvm_vcpu *vcpu);
1148 int kvm_cpu_get_interrupt(struct kvm_vcpu *v);
1149 void kvm_vcpu_reset(struct kvm_vcpu *vcpu);
1150 void kvm_vcpu_reload_apic_access_page(struct kvm_vcpu *vcpu);
1157 unsigned long kvm_get_linear_rip(struct kvm_vcpu *vcpu);
1158 bool kvm_is_linear_rip(struct kvm_vcpu *vcpu, unsigned long linear_rip);
1160 void kvm_arch_async_page_not_present(struct kvm_vcpu *vcpu,
1162 void kvm_arch_async_page_present(struct kvm_vcpu *vcpu,
1164 void kvm_arch_async_page_ready(struct kvm_vcpu *vcpu,
1166 bool kvm_arch_can_inject_async_page_present(struct kvm_vcpu *vcpu);
1167 extern bool kvm_find_async_pf_gfn(struct kvm_vcpu *vcpu, gfn_t gfn);
1169 void kvm_complete_insn_gp(struct kvm_vcpu *vcpu, int err);
1173 void kvm_pmu_init(struct kvm_vcpu *vcpu);
1174 void kvm_pmu_destroy(struct kvm_vcpu *vcpu);
1175 void kvm_pmu_reset(struct kvm_vcpu *vcpu);
1176 void kvm_pmu_cpuid_update(struct kvm_vcpu *vcpu);
1177 bool kvm_pmu_msr(struct kvm_vcpu *vcpu, u32 msr);
1178 int kvm_pmu_get_msr(struct kvm_vcpu *vcpu, u32 msr, u64 *data);
1179 int kvm_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info);
1180 int kvm_pmu_check_pmc(struct kvm_vcpu *vcpu, unsigned pmc);
1181 int kvm_pmu_read_pmc(struct kvm_vcpu *vcpu, unsigned pmc, u64 *data);
1182 void kvm_handle_pmu_event(struct kvm_vcpu *vcpu);
1183 void kvm_deliver_pmi(struct kvm_vcpu *vcpu);