~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/x86/kvm/vmx/main.c

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/x86/kvm/vmx/main.c (Architecture ppc) and /arch/mips/kvm/vmx/main.c (Architecture mips)


  1 // SPDX-License-Identifier: GPL-2.0                 1 
  2 #include <linux/moduleparam.h>                    
  3                                                   
  4 #include "x86_ops.h"                              
  5 #include "vmx.h"                                  
  6 #include "nested.h"                               
  7 #include "pmu.h"                                  
  8 #include "posted_intr.h"                          
  9                                                   
 10 #define VMX_REQUIRED_APICV_INHIBITS               
 11         (BIT(APICV_INHIBIT_REASON_DISABLED) |     
 12          BIT(APICV_INHIBIT_REASON_ABSENT) |       
 13          BIT(APICV_INHIBIT_REASON_HYPERV) |       
 14          BIT(APICV_INHIBIT_REASON_BLOCKIRQ) |     
 15          BIT(APICV_INHIBIT_REASON_PHYSICAL_ID_    
 16          BIT(APICV_INHIBIT_REASON_APIC_ID_MODI    
 17          BIT(APICV_INHIBIT_REASON_APIC_BASE_MO    
 18                                                   
 19 struct kvm_x86_ops vt_x86_ops __initdata = {      
 20         .name = KBUILD_MODNAME,                   
 21                                                   
 22         .check_processor_compatibility = vmx_c    
 23                                                   
 24         .hardware_unsetup = vmx_hardware_unset    
 25                                                   
 26         .hardware_enable = vmx_hardware_enable    
 27         .hardware_disable = vmx_hardware_disab    
 28         .has_emulated_msr = vmx_has_emulated_m    
 29                                                   
 30         .vm_size = sizeof(struct kvm_vmx),        
 31         .vm_init = vmx_vm_init,                   
 32         .vm_destroy = vmx_vm_destroy,             
 33                                                   
 34         .vcpu_precreate = vmx_vcpu_precreate,     
 35         .vcpu_create = vmx_vcpu_create,           
 36         .vcpu_free = vmx_vcpu_free,               
 37         .vcpu_reset = vmx_vcpu_reset,             
 38                                                   
 39         .prepare_switch_to_guest = vmx_prepare    
 40         .vcpu_load = vmx_vcpu_load,               
 41         .vcpu_put = vmx_vcpu_put,                 
 42                                                   
 43         .update_exception_bitmap = vmx_update_    
 44         .get_msr_feature = vmx_get_msr_feature    
 45         .get_msr = vmx_get_msr,                   
 46         .set_msr = vmx_set_msr,                   
 47         .get_segment_base = vmx_get_segment_ba    
 48         .get_segment = vmx_get_segment,           
 49         .set_segment = vmx_set_segment,           
 50         .get_cpl = vmx_get_cpl,                   
 51         .get_cs_db_l_bits = vmx_get_cs_db_l_bi    
 52         .is_valid_cr0 = vmx_is_valid_cr0,         
 53         .set_cr0 = vmx_set_cr0,                   
 54         .is_valid_cr4 = vmx_is_valid_cr4,         
 55         .set_cr4 = vmx_set_cr4,                   
 56         .set_efer = vmx_set_efer,                 
 57         .get_idt = vmx_get_idt,                   
 58         .set_idt = vmx_set_idt,                   
 59         .get_gdt = vmx_get_gdt,                   
 60         .set_gdt = vmx_set_gdt,                   
 61         .set_dr7 = vmx_set_dr7,                   
 62         .sync_dirty_debug_regs = vmx_sync_dirt    
 63         .cache_reg = vmx_cache_reg,               
 64         .get_rflags = vmx_get_rflags,             
 65         .set_rflags = vmx_set_rflags,             
 66         .get_if_flag = vmx_get_if_flag,           
 67                                                   
 68         .flush_tlb_all = vmx_flush_tlb_all,       
 69         .flush_tlb_current = vmx_flush_tlb_cur    
 70         .flush_tlb_gva = vmx_flush_tlb_gva,       
 71         .flush_tlb_guest = vmx_flush_tlb_guest    
 72                                                   
 73         .vcpu_pre_run = vmx_vcpu_pre_run,         
 74         .vcpu_run = vmx_vcpu_run,                 
 75         .handle_exit = vmx_handle_exit,           
 76         .skip_emulated_instruction = vmx_skip_    
 77         .update_emulated_instruction = vmx_upd    
 78         .set_interrupt_shadow = vmx_set_interr    
 79         .get_interrupt_shadow = vmx_get_interr    
 80         .patch_hypercall = vmx_patch_hypercall    
 81         .inject_irq = vmx_inject_irq,             
 82         .inject_nmi = vmx_inject_nmi,             
 83         .inject_exception = vmx_inject_excepti    
 84         .cancel_injection = vmx_cancel_injecti    
 85         .interrupt_allowed = vmx_interrupt_all    
 86         .nmi_allowed = vmx_nmi_allowed,           
 87         .get_nmi_mask = vmx_get_nmi_mask,         
 88         .set_nmi_mask = vmx_set_nmi_mask,         
 89         .enable_nmi_window = vmx_enable_nmi_wi    
 90         .enable_irq_window = vmx_enable_irq_wi    
 91         .update_cr8_intercept = vmx_update_cr8    
 92         .set_virtual_apic_mode = vmx_set_virtu    
 93         .set_apic_access_page_addr = vmx_set_a    
 94         .refresh_apicv_exec_ctrl = vmx_refresh    
 95         .load_eoi_exitmap = vmx_load_eoi_exitm    
 96         .apicv_pre_state_restore = vmx_apicv_p    
 97         .required_apicv_inhibits = VMX_REQUIRE    
 98         .hwapic_irr_update = vmx_hwapic_irr_up    
 99         .hwapic_isr_update = vmx_hwapic_isr_up    
100         .sync_pir_to_irr = vmx_sync_pir_to_irr    
101         .deliver_interrupt = vmx_deliver_inter    
102         .dy_apicv_has_pending_interrupt = pi_h    
103                                                   
104         .set_tss_addr = vmx_set_tss_addr,         
105         .set_identity_map_addr = vmx_set_ident    
106         .get_mt_mask = vmx_get_mt_mask,           
107                                                   
108         .get_exit_info = vmx_get_exit_info,       
109                                                   
110         .vcpu_after_set_cpuid = vmx_vcpu_after    
111                                                   
112         .has_wbinvd_exit = cpu_has_vmx_wbinvd_    
113                                                   
114         .get_l2_tsc_offset = vmx_get_l2_tsc_of    
115         .get_l2_tsc_multiplier = vmx_get_l2_ts    
116         .write_tsc_offset = vmx_write_tsc_offs    
117         .write_tsc_multiplier = vmx_write_tsc_    
118                                                   
119         .load_mmu_pgd = vmx_load_mmu_pgd,         
120                                                   
121         .check_intercept = vmx_check_intercept    
122         .handle_exit_irqoff = vmx_handle_exit_    
123                                                   
124         .cpu_dirty_log_size = PML_ENTITY_NUM,     
125         .update_cpu_dirty_logging = vmx_update    
126                                                   
127         .nested_ops = &vmx_nested_ops,            
128                                                   
129         .pi_update_irte = vmx_pi_update_irte,     
130         .pi_start_assignment = vmx_pi_start_as    
131                                                   
132 #ifdef CONFIG_X86_64                              
133         .set_hv_timer = vmx_set_hv_timer,         
134         .cancel_hv_timer = vmx_cancel_hv_timer    
135 #endif                                            
136                                                   
137         .setup_mce = vmx_setup_mce,               
138                                                   
139 #ifdef CONFIG_KVM_SMM                             
140         .smi_allowed = vmx_smi_allowed,           
141         .enter_smm = vmx_enter_smm,               
142         .leave_smm = vmx_leave_smm,               
143         .enable_smi_window = vmx_enable_smi_wi    
144 #endif                                            
145                                                   
146         .check_emulate_instruction = vmx_check    
147         .apic_init_signal_blocked = vmx_apic_i    
148         .migrate_timers = vmx_migrate_timers,     
149                                                   
150         .msr_filter_changed = vmx_msr_filter_c    
151         .complete_emulated_msr = kvm_complete_    
152                                                   
153         .vcpu_deliver_sipi_vector = kvm_vcpu_d    
154                                                   
155         .get_untagged_addr = vmx_get_untagged_    
156 };                                                
157                                                   
158 struct kvm_x86_init_ops vt_init_ops __initdata    
159         .hardware_setup = vmx_hardware_setup,     
160         .handle_intel_pt_intr = NULL,             
161                                                   
162         .runtime_ops = &vt_x86_ops,               
163         .pmu_ops = &intel_pmu_ops,                
164 };                                                
165                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php