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(); }
static void vmx_cpu_basic_info() { rd_msr_vmx_basic_info(info->vm.vmx_info); rd_msr_vmx_misc_data(info->vm.vmx_misc); if(info->vm.vmx_info.true_f1) { rd_msr_vmx_true_pin_ctls(info->vm.vmx_fx_pin); rd_msr_vmx_true_proc_ctls(info->vm.vmx_fx_proc); rd_msr_vmx_true_entry_ctls(info->vm.vmx_fx_entry); rd_msr_vmx_true_exit_ctls(info->vm.vmx_fx_exit); } else { rd_msr_vmx_pin_ctls(info->vm.vmx_fx_pin); rd_msr_vmx_proc_ctls(info->vm.vmx_fx_proc); rd_msr_vmx_entry_ctls(info->vm.vmx_fx_entry); rd_msr_vmx_exit_ctls(info->vm.vmx_fx_exit); } #ifdef CONFIG_VMX_CPU_DBG vmx_show_basic_info(); vmx_show_misc_data(); vmx_show_fixed_pin_ctls(); vmx_show_fixed_proc_ctls(); vmx_show_fixed_entry_ctls(); vmx_show_fixed_exit_ctls(); #endif /* should be 1 if uguest available, and as we need uguest */ if(!info->vm.vmx_misc.lma) panic("vmx misc ia32e/lma missing"); #ifdef CONFIG_VMX_FEAT_EXIT_EXT_IO if(!info->vm.vmx_info.io_insn) panic("vmx ins/outs info not given on VM-exit"); #endif }