Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #if !defined(KVM_X86_OP) || !defined(KVM_X86_OP_OPTIONAL)
0003 BUILD_BUG_ON(1)
0004 #endif
0005 
0006 /*
0007  * KVM_X86_OP() and KVM_X86_OP_OPTIONAL() are used to help generate
0008  * both DECLARE/DEFINE_STATIC_CALL() invocations and
0009  * "static_call_update()" calls.
0010  *
0011  * KVM_X86_OP_OPTIONAL() can be used for those functions that can have
0012  * a NULL definition, for example if "static_call_cond()" will be used
0013  * at the call sites.  KVM_X86_OP_OPTIONAL_RET0() can be used likewise
0014  * to make a definition optional, but in this case the default will
0015  * be __static_call_return0.
0016  */
0017 KVM_X86_OP(hardware_enable)
0018 KVM_X86_OP(hardware_disable)
0019 KVM_X86_OP(hardware_unsetup)
0020 KVM_X86_OP(has_emulated_msr)
0021 KVM_X86_OP(vcpu_after_set_cpuid)
0022 KVM_X86_OP(vm_init)
0023 KVM_X86_OP_OPTIONAL(vm_destroy)
0024 KVM_X86_OP_OPTIONAL_RET0(vcpu_precreate)
0025 KVM_X86_OP(vcpu_create)
0026 KVM_X86_OP(vcpu_free)
0027 KVM_X86_OP(vcpu_reset)
0028 KVM_X86_OP(prepare_switch_to_guest)
0029 KVM_X86_OP(vcpu_load)
0030 KVM_X86_OP(vcpu_put)
0031 KVM_X86_OP(update_exception_bitmap)
0032 KVM_X86_OP(get_msr)
0033 KVM_X86_OP(set_msr)
0034 KVM_X86_OP(get_segment_base)
0035 KVM_X86_OP(get_segment)
0036 KVM_X86_OP(get_cpl)
0037 KVM_X86_OP(set_segment)
0038 KVM_X86_OP(get_cs_db_l_bits)
0039 KVM_X86_OP(set_cr0)
0040 KVM_X86_OP_OPTIONAL(post_set_cr3)
0041 KVM_X86_OP(is_valid_cr4)
0042 KVM_X86_OP(set_cr4)
0043 KVM_X86_OP(set_efer)
0044 KVM_X86_OP(get_idt)
0045 KVM_X86_OP(set_idt)
0046 KVM_X86_OP(get_gdt)
0047 KVM_X86_OP(set_gdt)
0048 KVM_X86_OP(sync_dirty_debug_regs)
0049 KVM_X86_OP(set_dr7)
0050 KVM_X86_OP(cache_reg)
0051 KVM_X86_OP(get_rflags)
0052 KVM_X86_OP(set_rflags)
0053 KVM_X86_OP(get_if_flag)
0054 KVM_X86_OP(flush_tlb_all)
0055 KVM_X86_OP(flush_tlb_current)
0056 KVM_X86_OP_OPTIONAL(tlb_remote_flush)
0057 KVM_X86_OP_OPTIONAL(tlb_remote_flush_with_range)
0058 KVM_X86_OP(flush_tlb_gva)
0059 KVM_X86_OP(flush_tlb_guest)
0060 KVM_X86_OP(vcpu_pre_run)
0061 KVM_X86_OP(vcpu_run)
0062 KVM_X86_OP(handle_exit)
0063 KVM_X86_OP(skip_emulated_instruction)
0064 KVM_X86_OP_OPTIONAL(update_emulated_instruction)
0065 KVM_X86_OP(set_interrupt_shadow)
0066 KVM_X86_OP(get_interrupt_shadow)
0067 KVM_X86_OP(patch_hypercall)
0068 KVM_X86_OP(inject_irq)
0069 KVM_X86_OP(inject_nmi)
0070 KVM_X86_OP(queue_exception)
0071 KVM_X86_OP(cancel_injection)
0072 KVM_X86_OP(interrupt_allowed)
0073 KVM_X86_OP(nmi_allowed)
0074 KVM_X86_OP(get_nmi_mask)
0075 KVM_X86_OP(set_nmi_mask)
0076 KVM_X86_OP(enable_nmi_window)
0077 KVM_X86_OP(enable_irq_window)
0078 KVM_X86_OP_OPTIONAL(update_cr8_intercept)
0079 KVM_X86_OP(check_apicv_inhibit_reasons)
0080 KVM_X86_OP(refresh_apicv_exec_ctrl)
0081 KVM_X86_OP_OPTIONAL(hwapic_irr_update)
0082 KVM_X86_OP_OPTIONAL(hwapic_isr_update)
0083 KVM_X86_OP_OPTIONAL_RET0(guest_apic_has_interrupt)
0084 KVM_X86_OP_OPTIONAL(load_eoi_exitmap)
0085 KVM_X86_OP_OPTIONAL(set_virtual_apic_mode)
0086 KVM_X86_OP_OPTIONAL(set_apic_access_page_addr)
0087 KVM_X86_OP(deliver_interrupt)
0088 KVM_X86_OP_OPTIONAL(sync_pir_to_irr)
0089 KVM_X86_OP_OPTIONAL_RET0(set_tss_addr)
0090 KVM_X86_OP_OPTIONAL_RET0(set_identity_map_addr)
0091 KVM_X86_OP_OPTIONAL_RET0(get_mt_mask)
0092 KVM_X86_OP(load_mmu_pgd)
0093 KVM_X86_OP(has_wbinvd_exit)
0094 KVM_X86_OP(get_l2_tsc_offset)
0095 KVM_X86_OP(get_l2_tsc_multiplier)
0096 KVM_X86_OP(write_tsc_offset)
0097 KVM_X86_OP(write_tsc_multiplier)
0098 KVM_X86_OP(get_exit_info)
0099 KVM_X86_OP(check_intercept)
0100 KVM_X86_OP(handle_exit_irqoff)
0101 KVM_X86_OP(request_immediate_exit)
0102 KVM_X86_OP(sched_in)
0103 KVM_X86_OP_OPTIONAL(update_cpu_dirty_logging)
0104 KVM_X86_OP_OPTIONAL(vcpu_blocking)
0105 KVM_X86_OP_OPTIONAL(vcpu_unblocking)
0106 KVM_X86_OP_OPTIONAL(pi_update_irte)
0107 KVM_X86_OP_OPTIONAL(pi_start_assignment)
0108 KVM_X86_OP_OPTIONAL(apicv_post_state_restore)
0109 KVM_X86_OP_OPTIONAL_RET0(dy_apicv_has_pending_interrupt)
0110 KVM_X86_OP_OPTIONAL(set_hv_timer)
0111 KVM_X86_OP_OPTIONAL(cancel_hv_timer)
0112 KVM_X86_OP(setup_mce)
0113 KVM_X86_OP(smi_allowed)
0114 KVM_X86_OP(enter_smm)
0115 KVM_X86_OP(leave_smm)
0116 KVM_X86_OP(enable_smi_window)
0117 KVM_X86_OP_OPTIONAL(mem_enc_ioctl)
0118 KVM_X86_OP_OPTIONAL(mem_enc_register_region)
0119 KVM_X86_OP_OPTIONAL(mem_enc_unregister_region)
0120 KVM_X86_OP_OPTIONAL(vm_copy_enc_context_from)
0121 KVM_X86_OP_OPTIONAL(vm_move_enc_context_from)
0122 KVM_X86_OP_OPTIONAL(guest_memory_reclaimed)
0123 KVM_X86_OP(get_msr_feature)
0124 KVM_X86_OP(can_emulate_instruction)
0125 KVM_X86_OP(apic_init_signal_blocked)
0126 KVM_X86_OP_OPTIONAL(enable_direct_tlbflush)
0127 KVM_X86_OP_OPTIONAL(migrate_timers)
0128 KVM_X86_OP(msr_filter_changed)
0129 KVM_X86_OP(complete_emulated_msr)
0130 KVM_X86_OP(vcpu_deliver_sipi_vector)
0131 KVM_X86_OP_OPTIONAL_RET0(vcpu_get_apicv_inhibit_reasons);
0132 
0133 #undef KVM_X86_OP
0134 #undef KVM_X86_OP_OPTIONAL
0135 #undef KVM_X86_OP_OPTIONAL_RET0