Lines Matching refs:kvm_vcpu
380 void (*set_cr3)(struct kvm_vcpu *vcpu, unsigned long root);
381 unsigned long (*get_cr3)(struct kvm_vcpu *vcpu);
382 u64 (*get_pdptr)(struct kvm_vcpu *vcpu, int index);
383 int (*page_fault)(struct kvm_vcpu *vcpu, gva_t gva, u32 err,
385 void (*inject_page_fault)(struct kvm_vcpu *vcpu,
387 gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t gva, u32 access,
389 gpa_t (*translate_gpa)(struct kvm_vcpu *vcpu, gpa_t gpa, u32 access,
391 int (*sync_page)(struct kvm_vcpu *vcpu,
393 void (*invlpg)(struct kvm_vcpu *vcpu, gva_t gva, hpa_t root_hpa);
394 void (*update_pte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
456 struct kvm_vcpu *vcpu;
659 int (*complete_userspace_io)(struct kvm_vcpu *vcpu);
1017 void (*cpuid_update)(struct kvm_vcpu *vcpu);
1025 struct kvm_vcpu *(*vcpu_create)(struct kvm *kvm, unsigned id);
1026 void (*vcpu_free)(struct kvm_vcpu *vcpu);
1027 void (*vcpu_reset)(struct kvm_vcpu *vcpu, bool init_event);
1029 void (*prepare_guest_switch)(struct kvm_vcpu *vcpu);
1030 void (*vcpu_load)(struct kvm_vcpu *vcpu, int cpu);
1031 void (*vcpu_put)(struct kvm_vcpu *vcpu);
1033 void (*update_bp_intercept)(struct kvm_vcpu *vcpu);
1034 int (*get_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr);
1035 int (*set_msr)(struct kvm_vcpu *vcpu, struct msr_data *msr);
1036 u64 (*get_segment_base)(struct kvm_vcpu *vcpu, int seg);
1037 void (*get_segment)(struct kvm_vcpu *vcpu,
1039 int (*get_cpl)(struct kvm_vcpu *vcpu);
1040 void (*set_segment)(struct kvm_vcpu *vcpu,
1042 void (*get_cs_db_l_bits)(struct kvm_vcpu *vcpu, int *db, int *l);
1043 void (*decache_cr0_guest_bits)(struct kvm_vcpu *vcpu);
1044 void (*decache_cr3)(struct kvm_vcpu *vcpu);
1045 void (*decache_cr4_guest_bits)(struct kvm_vcpu *vcpu);
1046 void (*set_cr0)(struct kvm_vcpu *vcpu, unsigned long cr0);
1047 void (*set_cr3)(struct kvm_vcpu *vcpu, unsigned long cr3);
1048 int (*set_cr4)(struct kvm_vcpu *vcpu, unsigned long cr4);
1049 void (*set_efer)(struct kvm_vcpu *vcpu, u64 efer);
1050 void (*get_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1051 void (*set_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1052 void (*get_gdt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1053 void (*set_gdt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt);
1054 u64 (*get_dr6)(struct kvm_vcpu *vcpu);
1055 void (*set_dr6)(struct kvm_vcpu *vcpu, unsigned long value);
1056 void (*sync_dirty_debug_regs)(struct kvm_vcpu *vcpu);
1057 void (*set_dr7)(struct kvm_vcpu *vcpu, unsigned long value);
1058 void (*cache_reg)(struct kvm_vcpu *vcpu, enum kvm_reg reg);
1059 unsigned long (*get_rflags)(struct kvm_vcpu *vcpu);
1060 void (*set_rflags)(struct kvm_vcpu *vcpu, unsigned long rflags);
1062 void (*tlb_flush)(struct kvm_vcpu *vcpu, bool invalidate_gpa);
1073 void (*tlb_flush_gva)(struct kvm_vcpu *vcpu, gva_t addr);
1075 void (*run)(struct kvm_vcpu *vcpu);
1076 int (*handle_exit)(struct kvm_vcpu *vcpu);
1077 int (*skip_emulated_instruction)(struct kvm_vcpu *vcpu);
1078 void (*set_interrupt_shadow)(struct kvm_vcpu *vcpu, int mask);
1079 u32 (*get_interrupt_shadow)(struct kvm_vcpu *vcpu);
1080 void (*patch_hypercall)(struct kvm_vcpu *vcpu,
1082 void (*set_irq)(struct kvm_vcpu *vcpu);
1083 void (*set_nmi)(struct kvm_vcpu *vcpu);
1084 void (*queue_exception)(struct kvm_vcpu *vcpu);
1085 void (*cancel_injection)(struct kvm_vcpu *vcpu);
1086 int (*interrupt_allowed)(struct kvm_vcpu *vcpu);
1087 int (*nmi_allowed)(struct kvm_vcpu *vcpu);
1088 bool (*get_nmi_mask)(struct kvm_vcpu *vcpu);
1089 void (*set_nmi_mask)(struct kvm_vcpu *vcpu, bool masked);
1090 void (*enable_nmi_window)(struct kvm_vcpu *vcpu);
1091 void (*enable_irq_window)(struct kvm_vcpu *vcpu);
1092 void (*update_cr8_intercept)(struct kvm_vcpu *vcpu, int tpr, int irr);
1093 bool (*get_enable_apicv)(struct kvm_vcpu *vcpu);
1094 void (*refresh_apicv_exec_ctrl)(struct kvm_vcpu *vcpu);
1095 void (*hwapic_irr_update)(struct kvm_vcpu *vcpu, int max_irr);
1096 void (*hwapic_isr_update)(struct kvm_vcpu *vcpu, int isr);
1097 bool (*guest_apic_has_interrupt)(struct kvm_vcpu *vcpu);
1098 void (*load_eoi_exitmap)(struct kvm_vcpu *vcpu, u64 *eoi_exit_bitmap);
1099 void (*set_virtual_apic_mode)(struct kvm_vcpu *vcpu);
1100 void (*set_apic_access_page_addr)(struct kvm_vcpu *vcpu, hpa_t hpa);
1101 void (*deliver_posted_interrupt)(struct kvm_vcpu *vcpu, int vector);
1102 int (*sync_pir_to_irr)(struct kvm_vcpu *vcpu);
1105 int (*get_tdp_level)(struct kvm_vcpu *vcpu);
1106 u64 (*get_mt_mask)(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio);
1111 void (*set_tdp_cr3)(struct kvm_vcpu *vcpu, unsigned long cr3);
1117 u64 (*read_l1_tsc_offset)(struct kvm_vcpu *vcpu);
1119 u64 (*write_l1_tsc_offset)(struct kvm_vcpu *vcpu, u64 offset);
1121 void (*get_exit_info)(struct kvm_vcpu *vcpu, u64 *info1, u64 *info2);
1123 int (*check_intercept)(struct kvm_vcpu *vcpu,
1126 void (*handle_exit_irqoff)(struct kvm_vcpu *vcpu);
1132 int (*check_nested_events)(struct kvm_vcpu *vcpu, bool external_intr);
1133 void (*request_immediate_exit)(struct kvm_vcpu *vcpu);
1135 void (*sched_in)(struct kvm_vcpu *kvm, int cpu);
1161 int (*write_log_dirty)(struct kvm_vcpu *vcpu);
1175 int (*pre_block)(struct kvm_vcpu *vcpu);
1176 void (*post_block)(struct kvm_vcpu *vcpu);
1178 void (*vcpu_blocking)(struct kvm_vcpu *vcpu);
1179 void (*vcpu_unblocking)(struct kvm_vcpu *vcpu);
1183 void (*apicv_post_state_restore)(struct kvm_vcpu *vcpu);
1184 bool (*dy_apicv_has_pending_interrupt)(struct kvm_vcpu *vcpu);
1186 int (*set_hv_timer)(struct kvm_vcpu *vcpu, u64 guest_deadline_tsc,
1188 void (*cancel_hv_timer)(struct kvm_vcpu *vcpu);
1190 void (*setup_mce)(struct kvm_vcpu *vcpu);
1192 int (*get_nested_state)(struct kvm_vcpu *vcpu,
1195 int (*set_nested_state)(struct kvm_vcpu *vcpu,
1198 bool (*get_vmcs12_pages)(struct kvm_vcpu *vcpu);
1200 int (*smi_allowed)(struct kvm_vcpu *vcpu);
1201 int (*pre_enter_smm)(struct kvm_vcpu *vcpu, char *smstate);
1202 int (*pre_leave_smm)(struct kvm_vcpu *vcpu, const char *smstate);
1203 int (*enable_smi_window)(struct kvm_vcpu *vcpu);
1211 int (*nested_enable_evmcs)(struct kvm_vcpu *vcpu,
1213 uint16_t (*nested_get_evmcs_version)(struct kvm_vcpu *vcpu);
1215 bool (*need_emulation_on_page_fault)(struct kvm_vcpu *vcpu);
1217 bool (*apic_init_signal_blocked)(struct kvm_vcpu *vcpu);
1218 int (*enable_direct_tlbflush)(struct kvm_vcpu *vcpu);
1255 void kvm_mmu_destroy(struct kvm_vcpu *vcpu);
1256 int kvm_mmu_create(struct kvm_vcpu *vcpu);
1263 void kvm_mmu_reset_context(struct kvm_vcpu *vcpu);
1282 int load_pdptrs(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu, unsigned long cr3);
1283 bool pdptrs_changed(struct kvm_vcpu *vcpu);
1285 int emulator_write_phys(struct kvm_vcpu *vcpu, gpa_t gpa,
1303 u64 vcpu_tsc_khz(struct kvm_vcpu *vcpu);
1354 int kvm_emulate_instruction(struct kvm_vcpu *vcpu, int emulation_type);
1355 int kvm_emulate_instruction_from_buffer(struct kvm_vcpu *vcpu,
1359 bool kvm_valid_efer(struct kvm_vcpu *vcpu, u64 efer);
1360 int kvm_get_msr(struct kvm_vcpu *vcpu, u32 index, u64 *data);
1361 int kvm_set_msr(struct kvm_vcpu *vcpu, u32 index, u64 data);
1362 int kvm_emulate_rdmsr(struct kvm_vcpu *vcpu);
1363 int kvm_emulate_wrmsr(struct kvm_vcpu *vcpu);
1367 int kvm_fast_pio(struct kvm_vcpu *vcpu, int size, unsigned short port, int in);
1368 int kvm_emulate_cpuid(struct kvm_vcpu *vcpu);
1369 int kvm_emulate_halt(struct kvm_vcpu *vcpu);
1370 int kvm_vcpu_halt(struct kvm_vcpu *vcpu);
1371 int kvm_emulate_wbinvd(struct kvm_vcpu *vcpu);
1373 void kvm_get_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);
1374 int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, int seg);
1375 void kvm_vcpu_deliver_sipi_vector(struct kvm_vcpu *vcpu, u8 vector);
1377 int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int idt_index,
1380 int kvm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0);
1381 int kvm_set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3);
1382 int kvm_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4);
1383 int kvm_set_cr8(struct kvm_vcpu *vcpu, unsigned long cr8);
1384 int kvm_set_dr(struct kvm_vcpu *vcpu, int dr, unsigned long val);
1385 int kvm_get_dr(struct kvm_vcpu *vcpu, int dr, unsigned long *val);
1386 unsigned long kvm_get_cr8(struct kvm_vcpu *vcpu);
1387 void kvm_lmsw(struct kvm_vcpu *vcpu, unsigned long msw);
1388 void kvm_get_cs_db_l_bits(struct kvm_vcpu *vcpu, int *db, int *l);
1389 int kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr);
1391 int kvm_get_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr);
1392 int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr);
1394 unsigned long kvm_get_rflags(struct kvm_vcpu *vcpu);
1395 void kvm_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags);
1396 bool kvm_rdpmc(struct kvm_vcpu *vcpu);
1398 void kvm_queue_exception(struct kvm_vcpu *vcpu, unsigned nr);
1399 void kvm_queue_exception_e(struct kvm_vcpu *vcpu, unsigned nr, u32 error_code);
1400 void kvm_requeue_exception(struct kvm_vcpu *vcpu, unsigned nr);
1401 void kvm_requeue_exception_e(struct kvm_vcpu *vcpu, unsigned nr, u32 error_code);
1402 void kvm_inject_page_fault(struct kvm_vcpu *vcpu, struct x86_exception *fault);
1403 int kvm_read_guest_page_mmu(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
1406 bool kvm_require_cpl(struct kvm_vcpu *vcpu, int required_cpl);
1407 bool kvm_require_dr(struct kvm_vcpu *vcpu, int dr);
1428 void kvm_inject_nmi(struct kvm_vcpu *vcpu);
1431 int kvm_mmu_unprotect_page_virt(struct kvm_vcpu *vcpu, gva_t gva);
1432 void __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu);
1433 int kvm_mmu_load(struct kvm_vcpu *vcpu);
1434 void kvm_mmu_unload(struct kvm_vcpu *vcpu);
1435 void kvm_mmu_sync_roots(struct kvm_vcpu *vcpu);
1436 void kvm_mmu_free_roots(struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
1438 gpa_t translate_nested_gpa(struct kvm_vcpu *vcpu, gpa_t gpa, u32 access,
1440 gpa_t kvm_mmu_gva_to_gpa_read(struct kvm_vcpu *vcpu, gva_t gva,
1442 gpa_t kvm_mmu_gva_to_gpa_fetch(struct kvm_vcpu *vcpu, gva_t gva,
1444 gpa_t kvm_mmu_gva_to_gpa_write(struct kvm_vcpu *vcpu, gva_t gva,
1446 gpa_t kvm_mmu_gva_to_gpa_system(struct kvm_vcpu *vcpu, gva_t gva,
1449 void kvm_vcpu_deactivate_apicv(struct kvm_vcpu *vcpu);
1451 int kvm_emulate_hypercall(struct kvm_vcpu *vcpu);
1453 int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t gva, u64 error_code,
1455 void kvm_mmu_invlpg(struct kvm_vcpu *vcpu, gva_t gva);
1456 void kvm_mmu_invpcid_gva(struct kvm_vcpu *vcpu, gva_t gva, unsigned long pcid);
1457 void kvm_mmu_new_cr3(struct kvm_vcpu *vcpu, gpa_t new_cr3, bool skip_tlb_flush);
1462 static inline gpa_t translate_gpa(struct kvm_vcpu *vcpu, gpa_t gpa, u32 access, in translate_gpa()
1502 static inline void kvm_inject_gp(struct kvm_vcpu *vcpu, u32 error_code) in kvm_inject_gp()
1558 int kvm_cpu_has_injectable_intr(struct kvm_vcpu *v);
1559 int kvm_cpu_has_interrupt(struct kvm_vcpu *vcpu);
1560 int kvm_arch_interrupt_allowed(struct kvm_vcpu *vcpu);
1561 int kvm_cpu_get_interrupt(struct kvm_vcpu *v);
1562 void kvm_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event);
1563 void kvm_vcpu_reload_apic_access_page(struct kvm_vcpu *vcpu);
1572 u64 kvm_scale_tsc(struct kvm_vcpu *vcpu, u64 tsc);
1573 u64 kvm_read_l1_tsc(struct kvm_vcpu *vcpu, u64 host_tsc);
1575 unsigned long kvm_get_linear_rip(struct kvm_vcpu *vcpu);
1576 bool kvm_is_linear_rip(struct kvm_vcpu *vcpu, unsigned long linear_rip);
1581 void kvm_arch_async_page_not_present(struct kvm_vcpu *vcpu,
1583 void kvm_arch_async_page_present(struct kvm_vcpu *vcpu,
1585 void kvm_arch_async_page_ready(struct kvm_vcpu *vcpu,
1587 bool kvm_arch_can_inject_async_page_present(struct kvm_vcpu *vcpu);
1588 extern bool kvm_find_async_pf_gfn(struct kvm_vcpu *vcpu, gfn_t gfn);
1590 int kvm_skip_emulated_instruction(struct kvm_vcpu *vcpu);
1591 int kvm_complete_insn_gp(struct kvm_vcpu *vcpu, int err);
1592 void __kvm_request_immediate_exit(struct kvm_vcpu *vcpu);
1598 bool kvm_vcpu_is_reset_bsp(struct kvm_vcpu *vcpu);
1599 bool kvm_vcpu_is_bsp(struct kvm_vcpu *vcpu);
1602 struct kvm_vcpu **dest_vcpu);
1614 static inline void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu) in kvm_arch_vcpu_blocking()
1620 static inline void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu) in kvm_arch_vcpu_unblocking()
1626 static inline void kvm_arch_vcpu_block_finish(struct kvm_vcpu *vcpu) {} in kvm_arch_vcpu_block_finish()