config_tools: add BIOS invalid setting check

1. check if VMX feature is enabled in the BIOS setting.
If disabled, board inspector will show error message.
2. check if Hyper-Threading is enabled in the BIOS setting.
If enabled, board inspector will show warning message.
3. check if VT-d is enabled in the BIOS setting.
If disabled, board inspector will show error message.

v2-->v3:
Use the class names instead of addresses, and invoke the rdmsr method
of each class.

v1-->v2:
1. For the Hyper-Threading BIOS check, update the log level to the warning.
2. For VMX invalid BIOS check, the XDS does the actual check,
the board inspector only collects information.

Tracked-On: #6689
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
This commit is contained in:
Kunhui-Li
2022-03-15 14:41:09 +08:00
committed by acrnsi-robot
parent 7dfc3c683c
commit c9de9b61a3
3 changed files with 38 additions and 3 deletions

View File

@@ -13,6 +13,19 @@ class MSR_IA32_MISC_ENABLE(MSR):
"fast_string",
]
class MSR_IA32_FEATURE_CONTROL(MSR):
addr = 0x03a
msr_ia32_feature_control_lock = msrfield(1, 0, doc=None)
msr_ia32_feature_control_vmx_no_smx = msrfield(1, 2, doc=None)
@property
def disable_vmx(self):
return self.msr_ia32_feature_control_lock and not self.msr_ia32_feature_control_vmx_no_smx
capability_bits = [
"disable_vmx",
]
class MSR_IA32_VMX_PROCBASED_CTLS2(MSR):
addr = 0x0000048B