About
Contact
QtCreator
KDevelop
Solarized
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#
if
!defined(
KVM_X86_OP
) || !defined(
KVM_X86_OP_OPTIONAL
)
3
BUILD_BUG_ON(
1
)
4
#
endif
5
6
/*
7
* KVM_X86_OP() and KVM_X86_OP_OPTIONAL() are used to help generate
8
* both DECLARE/DEFINE_STATIC_CALL() invocations and
9
* "static_call_update()" calls.
10
*
11
* KVM_X86_OP_OPTIONAL() can be used for those functions that can have
12
* a NULL definition, for example if "static_call_cond()" will be used
13
* at the call sites. KVM_X86_OP_OPTIONAL_RET0() can be used likewise
14
* to make a definition optional, but in this case the default will
15
* be __static_call_return0.
16
*/
17
KVM_X86_OP
(
check_processor_compatibility
)
18
KVM_X86_OP
(
hardware_enable
)
19
KVM_X86_OP
(
hardware_disable
)
20
KVM_X86_OP
(
hardware_unsetup
)
21
KVM_X86_OP
(
has_emulated_msr
)
22
KVM_X86_OP
(
vcpu_after_set_cpuid
)
23
KVM_X86_OP
(
vm_init
)
24
KVM_X86_OP_OPTIONAL
(
vm_destroy
)
25
KVM_X86_OP_OPTIONAL_RET0
(
vcpu_precreate
)
26
KVM_X86_OP
(
vcpu_create
)
27
KVM_X86_OP
(
vcpu_free
)
28
KVM_X86_OP
(
vcpu_reset
)
29
KVM_X86_OP
(
prepare_switch_to_guest
)
30
KVM_X86_OP
(
vcpu_load
)
31
KVM_X86_OP
(
vcpu_put
)
32
KVM_X86_OP
(
update_exception_bitmap
)
33
KVM_X86_OP
(
get_msr
)
34
KVM_X86_OP
(
set_msr
)
35
KVM_X86_OP
(
get_segment_base
)
36
KVM_X86_OP
(
get_segment
)
37
KVM_X86_OP
(
get_cpl
)
38
KVM_X86_OP
(
set_segment
)
39
KVM_X86_OP
(
get_cs_db_l_bits
)
40
KVM_X86_OP
(
is_valid_cr0
)
41
KVM_X86_OP
(
set_cr0
)
42
KVM_X86_OP_OPTIONAL
(
post_set_cr3
)
43
KVM_X86_OP
(
is_valid_cr4
)
44
KVM_X86_OP
(
set_cr4
)
45
KVM_X86_OP
(
set_efer
)
46
KVM_X86_OP
(
get_idt
)
47
KVM_X86_OP
(
set_idt
)
48
KVM_X86_OP
(
get_gdt
)
49
KVM_X86_OP
(
set_gdt
)
50
KVM_X86_OP
(
sync_dirty_debug_regs
)
51
KVM_X86_OP
(
set_dr7
)
52
KVM_X86_OP
(
cache_reg
)
53
KVM_X86_OP
(
get_rflags
)
54
KVM_X86_OP
(
set_rflags
)
55
KVM_X86_OP
(
get_if_flag
)
56
KVM_X86_OP
(
flush_tlb_all
)
57
KVM_X86_OP
(
flush_tlb_current
)
58
#
if
IS_ENABLED
(
CONFIG_HYPERV
)
59
KVM_X86_OP_OPTIONAL
(
flush_remote_tlbs
)
60
KVM_X86_OP_OPTIONAL
(
flush_remote_tlbs_range
)
61
#
endif
62
KVM_X86_OP
(
flush_tlb_gva
)
63
KVM_X86_OP
(
flush_tlb_guest
)
64
KVM_X86_OP
(
vcpu_pre_run
)
65
KVM_X86_OP
(
vcpu_run
)
66
KVM_X86_OP
(
handle_exit
)
67
KVM_X86_OP
(
skip_emulated_instruction
)
68
KVM_X86_OP_OPTIONAL
(
update_emulated_instruction
)
69
KVM_X86_OP
(
set_interrupt_shadow
)
70
KVM_X86_OP
(
get_interrupt_shadow
)
71
KVM_X86_OP
(
patch_hypercall
)
72
KVM_X86_OP
(
inject_irq
)
73
KVM_X86_OP
(
inject_nmi
)
74
KVM_X86_OP_OPTIONAL_RET0
(
is_vnmi_pending
)
75
KVM_X86_OP_OPTIONAL_RET0
(
set_vnmi_pending
)
76
KVM_X86_OP
(
inject_exception
)
77
KVM_X86_OP
(
cancel_injection
)
78
KVM_X86_OP
(
interrupt_allowed
)
79
KVM_X86_OP
(
nmi_allowed
)
80
KVM_X86_OP
(
get_nmi_mask
)
81
KVM_X86_OP
(
set_nmi_mask
)
82
KVM_X86_OP
(
enable_nmi_window
)
83
KVM_X86_OP
(
enable_irq_window
)
84
KVM_X86_OP_OPTIONAL
(
update_cr8_intercept
)
85
KVM_X86_OP
(
refresh_apicv_exec_ctrl
)
86
KVM_X86_OP_OPTIONAL
(
hwapic_irr_update
)
87
KVM_X86_OP_OPTIONAL
(
hwapic_isr_update
)
88
KVM_X86_OP_OPTIONAL_RET0
(
guest_apic_has_interrupt
)
89
KVM_X86_OP_OPTIONAL
(
load_eoi_exitmap
)
90
KVM_X86_OP_OPTIONAL
(
set_virtual_apic_mode
)
91
KVM_X86_OP_OPTIONAL
(
set_apic_access_page_addr
)
92
KVM_X86_OP
(
deliver_interrupt
)
93
KVM_X86_OP_OPTIONAL
(
sync_pir_to_irr
)
94
KVM_X86_OP_OPTIONAL_RET0
(
set_tss_addr
)
95
KVM_X86_OP_OPTIONAL_RET0
(
set_identity_map_addr
)
96
KVM_X86_OP_OPTIONAL_RET0
(
get_mt_mask
)
97
KVM_X86_OP
(
load_mmu_pgd
)
98
KVM_X86_OP
(
has_wbinvd_exit
)
99
KVM_X86_OP
(
get_l2_tsc_offset
)
100
KVM_X86_OP
(
get_l2_tsc_multiplier
)
101
KVM_X86_OP
(
write_tsc_offset
)
102
KVM_X86_OP
(
write_tsc_multiplier
)
103
KVM_X86_OP
(
get_exit_info
)
104
KVM_X86_OP
(
check_intercept
)
105
KVM_X86_OP
(
handle_exit_irqoff
)
106
KVM_X86_OP
(
sched_in
)
107
KVM_X86_OP_OPTIONAL
(
update_cpu_dirty_logging
)
108
KVM_X86_OP_OPTIONAL
(
vcpu_blocking
)
109
KVM_X86_OP_OPTIONAL
(
vcpu_unblocking
)
110
KVM_X86_OP_OPTIONAL
(
pi_update_irte
)
111
KVM_X86_OP_OPTIONAL
(
pi_start_assignment
)
112
KVM_X86_OP_OPTIONAL
(
apicv_pre_state_restore
)
113
KVM_X86_OP_OPTIONAL
(
apicv_post_state_restore
)
114
KVM_X86_OP_OPTIONAL_RET0
(
dy_apicv_has_pending_interrupt
)
115
KVM_X86_OP_OPTIONAL
(
set_hv_timer
)
116
KVM_X86_OP_OPTIONAL
(
cancel_hv_timer
)
117
KVM_X86_OP
(
setup_mce
)
118
#
ifdef
CONFIG_KVM_SMM
119
KVM_X86_OP
(
smi_allowed
)
120
KVM_X86_OP
(
enter_smm
)
121
KVM_X86_OP
(
leave_smm
)
122
KVM_X86_OP
(
enable_smi_window
)
123
#
endif
124
KVM_X86_OP_OPTIONAL
(
mem_enc_ioctl
)
125
KVM_X86_OP_OPTIONAL
(
mem_enc_register_region
)
126
KVM_X86_OP_OPTIONAL
(
mem_enc_unregister_region
)
127
KVM_X86_OP_OPTIONAL
(
vm_copy_enc_context_from
)
128
KVM_X86_OP_OPTIONAL
(
vm_move_enc_context_from
)
129
KVM_X86_OP_OPTIONAL
(
guest_memory_reclaimed
)
130
KVM_X86_OP
(
get_msr_feature
)
131
KVM_X86_OP
(
check_emulate_instruction
)
132
KVM_X86_OP
(
apic_init_signal_blocked
)
133
KVM_X86_OP_OPTIONAL
(
enable_l2_tlb_flush
)
134
KVM_X86_OP_OPTIONAL
(
migrate_timers
)
135
KVM_X86_OP
(
msr_filter_changed
)
136
KVM_X86_OP
(
complete_emulated_msr
)
137
KVM_X86_OP
(
vcpu_deliver_sipi_vector
)
138
KVM_X86_OP_OPTIONAL_RET0
(
vcpu_get_apicv_inhibit_reasons
);
139
KVM_X86_OP_OPTIONAL
(
get_untagged_addr
)
140
KVM_X86_OP_OPTIONAL
(
alloc_apic_backing_page
)
141
142
#undef
KVM_X86_OP
143
#undef
KVM_X86_OP_OPTIONAL
144
#undef
KVM_X86_OP_OPTIONAL_RET0
145