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

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

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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/i386/kvm/vmx/main.c (Architecture i386)


  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                                                   
 93         .x2apic_icr_is_split = false,             
 94         .set_virtual_apic_mode = vmx_set_virtu    
 95         .set_apic_access_page_addr = vmx_set_a    
 96         .refresh_apicv_exec_ctrl = vmx_refresh    
 97         .load_eoi_exitmap = vmx_load_eoi_exitm    
 98         .apicv_pre_state_restore = vmx_apicv_p    
 99         .required_apicv_inhibits = VMX_REQUIRE    
100         .hwapic_irr_update = vmx_hwapic_irr_up    
101         .hwapic_isr_update = vmx_hwapic_isr_up    
102         .sync_pir_to_irr = vmx_sync_pir_to_irr    
103         .deliver_interrupt = vmx_deliver_inter    
104         .dy_apicv_has_pending_interrupt = pi_h    
105                                                   
106         .set_tss_addr = vmx_set_tss_addr,         
107         .set_identity_map_addr = vmx_set_ident    
108         .get_mt_mask = vmx_get_mt_mask,           
109                                                   
110         .get_exit_info = vmx_get_exit_info,       
111                                                   
112         .vcpu_after_set_cpuid = vmx_vcpu_after    
113                                                   
114         .has_wbinvd_exit = cpu_has_vmx_wbinvd_    
115                                                   
116         .get_l2_tsc_offset = vmx_get_l2_tsc_of    
117         .get_l2_tsc_multiplier = vmx_get_l2_ts    
118         .write_tsc_offset = vmx_write_tsc_offs    
119         .write_tsc_multiplier = vmx_write_tsc_    
120                                                   
121         .load_mmu_pgd = vmx_load_mmu_pgd,         
122                                                   
123         .check_intercept = vmx_check_intercept    
124         .handle_exit_irqoff = vmx_handle_exit_    
125                                                   
126         .cpu_dirty_log_size = PML_ENTITY_NUM,     
127         .update_cpu_dirty_logging = vmx_update    
128                                                   
129         .nested_ops = &vmx_nested_ops,            
130                                                   
131         .pi_update_irte = vmx_pi_update_irte,     
132         .pi_start_assignment = vmx_pi_start_as    
133                                                   
134 #ifdef CONFIG_X86_64                              
135         .set_hv_timer = vmx_set_hv_timer,         
136         .cancel_hv_timer = vmx_cancel_hv_timer    
137 #endif                                            
138                                                   
139         .setup_mce = vmx_setup_mce,               
140                                                   
141 #ifdef CONFIG_KVM_SMM                             
142         .smi_allowed = vmx_smi_allowed,           
143         .enter_smm = vmx_enter_smm,               
144         .leave_smm = vmx_leave_smm,               
145         .enable_smi_window = vmx_enable_smi_wi    
146 #endif                                            
147                                                   
148         .check_emulate_instruction = vmx_check    
149         .apic_init_signal_blocked = vmx_apic_i    
150         .migrate_timers = vmx_migrate_timers,     
151                                                   
152         .msr_filter_changed = vmx_msr_filter_c    
153         .complete_emulated_msr = kvm_complete_    
154                                                   
155         .vcpu_deliver_sipi_vector = kvm_vcpu_d    
156                                                   
157         .get_untagged_addr = vmx_get_untagged_    
158 };                                                
159                                                   
160 struct kvm_x86_init_ops vt_init_ops __initdata    
161         .hardware_setup = vmx_hardware_setup,     
162         .handle_intel_pt_intr = NULL,             
163                                                   
164         .runtime_ops = &vt_x86_ops,               
165         .pmu_ops = &intel_pmu_ops,                
166 };                                                
167                                                   

~ [ 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