static void vmx_cpu_proc2_feat() { rd_msr_vmx_proc2_ctls(info->vm.vmx_fx_proc2); #ifdef CONFIG_VMX_CPU_DBG vmx_show_fixed_proc2_ctls(); #endif if(!info->vm.vmx_fx_proc2.allow_1.uguest) panic("vmx missing unrestricted guest\n"); #ifdef CONFIG_VMX_FEAT_EXIT_DT if(!info->vm.vmx_fx_proc2.allow_1.dt) panic("vmx desc table exiting not supported"); #endif #ifdef CONFIG_VMX_FEAT_VPID if(!info->vm.vmx_fx_proc2.allow_1.vpid) panic("vmx vpid not supported"); #endif if(!info->vm.vmx_fx_proc2.allow_1.ept) panic("vmx ept not supported"); vmx_cpu_ept_feat(); }
static void vmx_vmexit_show_cap_fix() { vmx_show_basic_info(); vmx_show_misc_data(); vmx_show_fixed_pin_ctls(); vmx_show_pin_ctls(); vmx_show_fixed_proc_ctls(); vmx_show_proc_ctls(); vmx_show_fixed_proc2_ctls(); vmx_show_proc2_ctls(); vmx_show_fixed_entry_ctls(); vmx_show_entry_ctls(); vmx_show_fixed_exit_ctls(); vmx_show_exit_ctls(); vmx_show_ept_cap(); }