Page 1 of 1

VT-x and TPM (MVMM) support

PostPosted: 27. Jun 2009, 19:47
by abarbieri
Hello,

I have just figured out why on my Dell Latitude E6400) when enabling in BIOS all VT-x support, VirtualBox (2.2.4 and 3.0.0 Beta2) always report VT-x feature disabled:
00:00:01.756 HWACCM: No VT-x or AMD-V CPU extension found. Reason VERR_VMX_MSR_LOCKED_OR_DISABLED
00:00:01.757 HWACCM: VMX MSR_IA32_FEATURE_CONTROL=ff0b

This is because I have enabled in BIOS the third VT-x option to virtualize TPM support.

When I disable VT-x TPM support then VirtualBox (2.2.4 and 3.0.0 Beta2) is then capable to use VT-x:
Code: Select all   Expand viewCollapse view
00:00:02.599 HWACCM: Host CR4=000006F9
00:00:02.599 HWACCM: MSR_IA32_FEATURE_CONTROL      = d
00:00:02.599 HWACCM: MSR_IA32_VMX_BASIC_INFO       = 5a08000000000d
00:00:02.599 HWACCM: VMCS id                       = d
00:00:02.599 HWACCM: VMCS size                     = 800
00:00:02.599 HWACCM: VMCS physical address limit   = None
00:00:02.600 HWACCM: VMCS memory type              = 6
00:00:02.600 HWACCM: Dual monitor treatment        = 1
00:00:02.600 HWACCM: MSR_IA32_VMX_PINBASED_CTLS    = 3f00000016
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PIN_EXEC_CONTROLS_EXT_INT_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PIN_EXEC_CONTROLS_NMI_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PIN_EXEC_CONTROLS_VIRTUAL_NMI
00:00:02.600 HWACCM: MSR_IA32_VMX_PROCBASED_CTLS   = f7f9fffe0401e172
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_TSC_OFFSET
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_HLT_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INVLPG_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_MWAIT_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_RDPMC_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_RDTSC_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR3_LOAD_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR3_STORE_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR8_LOAD_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR8_STORE_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_USE_TPR_SHADOW
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_NMI_WINDOW_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_MOV_DR_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_UNCOND_IO_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_USE_IO_BITMAPS
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_USE_MSR_BITMAPS
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_MONITOR_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_PAUSE_EXIT
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_USE_SECONDARY_EXEC_CTRL
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR3_LOAD_EXIT *must* be set
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_CR3_STORE_EXIT *must* be set
00:00:02.600 HWACCM: MSR_IA32_VMX_PROCBASED_CTLS2  = 4100000000
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC2_VIRT_APIC
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_PROC_EXEC2_WBINVD_EXIT
00:00:02.600 HWACCM: MSR_IA32_VMX_ENTRY_CTLS       = 3fff000011ff
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_ENTRY_CONTROLS_LOAD_DEBUG
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_ENTRY_CONTROLS_IA64_MODE
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_ENTRY_CONTROLS_ENTRY_SMM
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_ENTRY_CONTROLS_DEACTIVATE_DUALMON
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_ENTRY_CONTROLS_LOAD_GUEST_PERF_MSR
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_ENTRY_CONTROLS_LOAD_DEBUG *must* be set
00:00:02.600 HWACCM: MSR_IA32_VMX_EXIT_CTLS        = 3ffff00036dff
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_DEBUG
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_EXIT_CONTROLS_HOST_AMD64
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXTERNAL_IRQ
00:00:02.600 HWACCM:    VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_DEBUG *must* be set
00:00:02.600 HWACCM: MSR_IA32_VMX_MISC             = 403c0
00:00:02.600 HWACCM:    MSR_IA32_VMX_MISC_PREEMPT_TSC_BIT 0
00:00:02.600 HWACCM:    MSR_IA32_VMX_MISC_ACTIVITY_STATES 7
00:00:02.600 HWACCM:    MSR_IA32_VMX_MISC_CR3_TARGET      4
00:00:02.600 HWACCM:    MSR_IA32_VMX_MISC_MAX_MSR         200
00:00:02.600 HWACCM:    MSR_IA32_VMX_MISC_MSEG_ID         0
00:00:02.600 HWACCM: MSR_IA32_VMX_CR0_FIXED0       = 80000021
00:00:02.600 HWACCM: MSR_IA32_VMX_CR0_FIXED1       = ffffffff
00:00:02.600 HWACCM: MSR_IA32_VMX_CR4_FIXED0       = 2000
00:00:02.600 HWACCM: MSR_IA32_VMX_CR4_FIXED1       = 67ff
00:00:02.600 HWACCM: MSR_IA32_VMX_VMCS_ENUM        = 2c
00:00:02.600 HWACCM: TPR shadow physaddr           = 00000000deaab000
00:00:02.600 HWACCM: MSR bitmap physaddr           = 00000000deaaf000
00:00:02.600 HWACCM: VMCS physaddr VCPU0           = 00000000deac1000
00:00:02.600 HWACCM: Real Mode TSS guest physaddr  = 00000000f0800000
00:00:02.600 HWACCM: Non-Paging Mode EPT CR3       = 00000000f0803000
00:00:02.600 CPUMSetGuestCpuIdFeature: Enabled sysenter/exit
00:00:02.600 HWACCM: 32-bit guests supported.
00:00:02.600 HWACCM: VMX enabled!

Wouldn't it be better if in the log VT-x TPM is detected and a more meaningful warning is generated to guide the users to resolve more easily this issue?

thanks,
andrea