Bug 54471 - nVMX: TRUE* MSRs unnecessary
Summary: nVMX: TRUE* MSRs unnecessary
Status: RESOLVED INVALID
Alias: None
Product: Virtualization
Classification: Unclassified
Component: kvm (show other bugs)
Hardware: All Linux
: P1 enhancement
Assignee: virtualization_kvm
URL:
Keywords:
Depends on:
Blocks: 94971 53601
  Show dependency tree
 
Reported: 2013-02-25 14:04 UTC by Nadav Har'El
Modified: 2015-04-08 08:57 UTC (History)
1 user (show)

See Also:
Kernel Version: 3.19
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Nadav Har'El 2013-02-25 14:04:47 UTC
According to the spec, the TRUE* MSRs are only necessary if bit 55 of VMX_BASIC
is on. Since we don't set this bit, we don't need to provide these MSRs...
So probably we shouldn't.
Comment 1 Anonymous Emailer 2013-02-25 14:29:08 UTC
Reply-To: jan.kiszka@siemens.com

On 2013-02-25 15:04, bugzilla-daemon@bugzilla.kernel.org wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=54471
> 
>            Summary: nVMX: TRUE* MSRs unnecessary
>            Product: Virtualization
>            Version: unspecified
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: enhancement
>           Priority: P1
>          Component: kvm
>         AssignedTo: virtualization_kvm@kernel-bugs.osdl.org
>         ReportedBy: nyh@math.technion.ac.il
>         Regression: No
> 
> 
> According to the spec, the TRUE* MSRs are only necessary if bit 55 of
> VMX_BASIC
> is on. Since we don't set this bit, we don't need to provide these MSRs...
> So probably we shouldn't.

I tend to say we should (i.e. set bit 55) as there is the risk that
buggy guests could needlessly get confused when we expose very recent
features (like EPT) and do not provide such "old-fashioned" stuff.

Jan
Comment 2 Paolo Bonzini 2015-04-08 08:57:47 UTC
TRUE_* is needed to tell the guest that it can disable CR3 load/store exits.  We were enabling this control by exposing a broken MSR_IA32_VMX_PROCBASED_CTLS value, but commit 560b7ee12ca5 (KVM: nVMX: Fix returned value of MSR_IA32_VMX_PROCBASED_CTLS, 2014-06-16).  So we can no longer remove the TRUE_* MSRs.

Note You need to log in before you can comment on or make changes to this bug.