diff --git a/misc/config_tools/board_inspector/cpuparser/msr.py b/misc/config_tools/board_inspector/cpuparser/msr.py
index f6f8f9729..8fff698fa 100644
--- a/misc/config_tools/board_inspector/cpuparser/msr.py
+++ b/misc/config_tools/board_inspector/cpuparser/msr.py
@@ -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
diff --git a/misc/config_tools/board_inspector/extractors/10-processors.py b/misc/config_tools/board_inspector/extractors/10-processors.py
index 150f806da..0aa512bff 100644
--- a/misc/config_tools/board_inspector/extractors/10-processors.py
+++ b/misc/config_tools/board_inspector/extractors/10-processors.py
@@ -53,9 +53,10 @@ def extract_model(processors_node, cpu_id, family_id, model_id, core_type, nativ
if getattr(leaf_data, cap) == 1:
add_child(n, "capability", id=cap)
- msr_regs = [MSR_IA32_MISC_ENABLE, MSR_IA32_VMX_BASIC, MSR_IA32_VMX_PINBASED_CTLS,
- MSR_IA32_VMX_PROCBASED_CTLS, MSR_IA32_VMX_EXIT_CTLS, MSR_IA32_VMX_ENTRY_CTLS,
- MSR_IA32_VMX_MISC, MSR_IA32_VMX_PROCBASED_CTLS2, MSR_IA32_VMX_EPT_VPID_CAP]
+ msr_regs = [MSR_IA32_MISC_ENABLE, MSR_IA32_FEATURE_CONTROL, MSR_IA32_VMX_BASIC,
+ MSR_IA32_VMX_PINBASED_CTLS, MSR_IA32_VMX_PROCBASED_CTLS, MSR_IA32_VMX_EXIT_CTLS,
+ MSR_IA32_VMX_ENTRY_CTLS, MSR_IA32_VMX_MISC, MSR_IA32_VMX_PROCBASED_CTLS2,
+ MSR_IA32_VMX_EPT_VPID_CAP]
for msr_reg in msr_regs:
msr_data = msr_reg.rdmsr(cpu_id)
for cap in msr_data.capability_bits:
diff --git a/misc/config_tools/board_inspector/schema/checks/platform_capabilities.xsd b/misc/config_tools/board_inspector/schema/checks/platform_capabilities.xsd
index bfb8d322a..ac3142629 100644
--- a/misc/config_tools/board_inspector/schema/checks/platform_capabilities.xsd
+++ b/misc/config_tools/board_inspector/schema/checks/platform_capabilities.xsd
@@ -3,6 +3,27 @@
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:acrn="https://projectacrn.org">
+
+
+ Intel Virtualization Technology for Directed I/O (VT-d) feature is not enabled.
+ACRN requires this feature to function properly. Please enable it in your BIOS settings.
+
+
+
+
+
+ Hyper-Threading (HT) is enabled. While this feature can provide more overall processing power,
+hyperthreading can adversely impact predictable real-time performance behavior.
+
+
+
+
+
+ Virtual Machine Extensions (VMX) feature is not enabled.
+ACRN requires this feature to function properly. Please enable it in BIOS.
+
+
+
Virtual Machine Extensions (VMX) feature is not supported on this processor. ACRN requires this feature to function properly.