Lines Matching defs:kvm_vcpu
35405 struct kvm_vcpu;
35412 struct kvm_vcpu *vcpu;
35490 long unsigned int (*get_guest_pgd)(struct kvm_vcpu *);
35491 u64 (*get_pdptr)(struct kvm_vcpu *, int);
35492 int (*page_fault)(struct kvm_vcpu *, struct kvm_page_fault *);
35493 void (*inject_page_fault)(struct kvm_vcpu *, struct x86_exception *);
35494 gpa_t (*gva_to_gpa)(struct kvm_vcpu *, struct kvm_mmu *, gpa_t, u64, struct x86_exception *);
35495 int (*sync_page)(struct kvm_vcpu *, struct kvm_mmu_page *);
35496 void (*invlpg)(struct kvm_vcpu *, gva_t, hpa_t);
35569 struct kvm_vcpu *vcpu;
35682 int (*complete_userspace_io)(struct kvm_vcpu *);
35848 struct kvm_vcpu {
35962 void (*track_write)(struct kvm_vcpu *, gpa_t, const u8 *, int, struct kvm_page_track_notifier_node *);
36278 struct kvm_vcpu *vcpu;
36357 void (*vcpu_after_set_cpuid)(struct kvm_vcpu *);
36361 int (*vcpu_create)(struct kvm_vcpu *);
36362 void (*vcpu_free)(struct kvm_vcpu *);
36363 void (*vcpu_reset)(struct kvm_vcpu *, bool);
36364 void (*prepare_switch_to_guest)(struct kvm_vcpu *);
36365 void (*vcpu_load)(struct kvm_vcpu *, int);
36366 void (*vcpu_put)(struct kvm_vcpu *);
36367 void (*update_exception_bitmap)(struct kvm_vcpu *);
36368 int (*get_msr)(struct kvm_vcpu *, struct msr_data *);
36369 int (*set_msr)(struct kvm_vcpu *, struct msr_data *);
36370 u64 (*get_segment_base)(struct kvm_vcpu *, int);
36371 void (*get_segment)(struct kvm_vcpu *, struct kvm_segment *, int);
36372 int (*get_cpl)(struct kvm_vcpu *);
36373 void (*set_segment)(struct kvm_vcpu *, struct kvm_segment *, int);
36374 void (*get_cs_db_l_bits)(struct kvm_vcpu *, int *, int *);
36375 void (*set_cr0)(struct kvm_vcpu *, long unsigned int);
36376 void (*post_set_cr3)(struct kvm_vcpu *, long unsigned int);
36377 bool (*is_valid_cr4)(struct kvm_vcpu *, long unsigned int);
36378 void (*set_cr4)(struct kvm_vcpu *, long unsigned int);
36379 int (*set_efer)(struct kvm_vcpu *, u64);
36380 void (*get_idt)(struct kvm_vcpu *, struct desc_ptr *);
36381 void (*set_idt)(struct kvm_vcpu *, struct desc_ptr *);
36382 void (*get_gdt)(struct kvm_vcpu *, struct desc_ptr *);
36383 void (*set_gdt)(struct kvm_vcpu *, struct desc_ptr *);
36384 void (*sync_dirty_debug_regs)(struct kvm_vcpu *);
36385 void (*set_dr7)(struct kvm_vcpu *, long unsigned int);
36386 void (*cache_reg)(struct kvm_vcpu *, enum kvm_reg);
36387 long unsigned int (*get_rflags)(struct kvm_vcpu *);
36388 void (*set_rflags)(struct kvm_vcpu *, long unsigned int);
36389 bool (*get_if_flag)(struct kvm_vcpu *);
36390 void (*flush_tlb_all)(struct kvm_vcpu *);
36391 void (*flush_tlb_current)(struct kvm_vcpu *);
36394 void (*flush_tlb_gva)(struct kvm_vcpu *, gva_t);
36395 void (*flush_tlb_guest)(struct kvm_vcpu *);
36396 int (*vcpu_pre_run)(struct kvm_vcpu *);
36397 enum exit_fastpath_completion (*vcpu_run)(struct kvm_vcpu *);
36398 int (*handle_exit)(struct kvm_vcpu *, enum exit_fastpath_completion);
36399 int (*skip_emulated_instruction)(struct kvm_vcpu *);
36400 void (*update_emulated_instruction)(struct kvm_vcpu *);
36401 void (*set_interrupt_shadow)(struct kvm_vcpu *, int);
36402 u32 (*get_interrupt_shadow)(struct kvm_vcpu *);
36403 void (*patch_hypercall)(struct kvm_vcpu *, unsigned char *);
36404 void (*inject_irq)(struct kvm_vcpu *);
36405 void (*inject_nmi)(struct kvm_vcpu *);
36406 void (*queue_exception)(struct kvm_vcpu *);
36407 void (*cancel_injection)(struct kvm_vcpu *);
36408 int (*interrupt_allowed)(struct kvm_vcpu *, bool);
36409 int (*nmi_allowed)(struct kvm_vcpu *, bool);
36410 bool (*get_nmi_mask)(struct kvm_vcpu *);
36411 void (*set_nmi_mask)(struct kvm_vcpu *, bool);
36412 void (*enable_nmi_window)(struct kvm_vcpu *);
36413 void (*enable_irq_window)(struct kvm_vcpu *);
36414 void (*update_cr8_intercept)(struct kvm_vcpu *, int, int);
36416 void (*refresh_apicv_exec_ctrl)(struct kvm_vcpu *);
36417 void (*hwapic_irr_update)(struct kvm_vcpu *, int);
36418 void (*hwapic_isr_update)(struct kvm_vcpu *, int);
36419 bool (*guest_apic_has_interrupt)(struct kvm_vcpu *);
36420 void (*load_eoi_exitmap)(struct kvm_vcpu *, u64 *);
36421 void (*set_virtual_apic_mode)(struct kvm_vcpu *);
36422 void (*set_apic_access_page_addr)(struct kvm_vcpu *);
36424 int (*sync_pir_to_irr)(struct kvm_vcpu *);
36427 u64 (*get_mt_mask)(struct kvm_vcpu *, gfn_t, bool);
36428 void (*load_mmu_pgd)(struct kvm_vcpu *, hpa_t, int);
36430 u64 (*get_l2_tsc_offset)(struct kvm_vcpu *);
36431 u64 (*get_l2_tsc_multiplier)(struct kvm_vcpu *);
36432 void (*write_tsc_offset)(struct kvm_vcpu *, u64);
36433 void (*write_tsc_multiplier)(struct kvm_vcpu *, u64);
36434 void (*get_exit_info)(struct kvm_vcpu *, u32 *, u64 *, u64 *, u32 *, u32 *);
36435 int (*check_intercept)(struct kvm_vcpu *, struct x86_instruction_info *, enum x86_intercept_stage, struct x86_exception *);
36436 void (*handle_exit_irqoff)(struct kvm_vcpu *);
36437 void (*request_immediate_exit)(struct kvm_vcpu *);
36438 void (*sched_in)(struct kvm_vcpu *, int);
36440 void (*update_cpu_dirty_logging)(struct kvm_vcpu *);
36442 void (*vcpu_blocking)(struct kvm_vcpu *);
36443 void (*vcpu_unblocking)(struct kvm_vcpu *);
36446 void (*apicv_post_state_restore)(struct kvm_vcpu *);
36447 bool (*dy_apicv_has_pending_interrupt)(struct kvm_vcpu *);
36448 int (*set_hv_timer)(struct kvm_vcpu *, u64, bool *);
36449 void (*cancel_hv_timer)(struct kvm_vcpu *);
36450 void (*setup_mce)(struct kvm_vcpu *);
36451 int (*smi_allowed)(struct kvm_vcpu *, bool);
36452 int (*enter_smm)(struct kvm_vcpu *, char *);
36453 int (*leave_smm)(struct kvm_vcpu *, const char *);
36454 void (*enable_smi_window)(struct kvm_vcpu *);
36462 bool (*can_emulate_instruction)(struct kvm_vcpu *, int, void *, int);
36463 bool (*apic_init_signal_blocked)(struct kvm_vcpu *);
36464 int (*enable_direct_tlbflush)(struct kvm_vcpu *);
36465 void (*migrate_timers)(struct kvm_vcpu *);
36466 void (*msr_filter_changed)(struct kvm_vcpu *);
36467 int (*complete_emulated_msr)(struct kvm_vcpu *, int);
36468 void (*vcpu_deliver_sipi_vector)(struct kvm_vcpu *, u8);
36469 long unsigned int (*vcpu_get_apicv_inhibit_reasons)(struct kvm_vcpu *);
36473 void (*leave_nested)(struct kvm_vcpu *);
36474 int (*check_events)(struct kvm_vcpu *);
36475 bool (*handle_page_fault_workaround)(struct kvm_vcpu *, struct x86_exception *);
36476 bool (*hv_timer_pending)(struct kvm_vcpu *);
36477 void (*triple_fault)(struct kvm_vcpu *);
36478 int (*get_state)(struct kvm_vcpu *, struct kvm_nested_state *, unsigned int);
36479 int (*set_state)(struct kvm_vcpu *, struct kvm_nested_state *, struct kvm_nested_state *);
36480 bool (*get_nested_state_pages)(struct kvm_vcpu *);
36481 int (*write_log_dirty)(struct kvm_vcpu *, gpa_t);
36482 int (*enable_evmcs)(struct kvm_vcpu *, uint16_t *);
36483 uint16_t (*get_evmcs_version)(struct kvm_vcpu *);