示例#1
0
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();
}
示例#2
0
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
}