This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH] Proper use of VMX execution controls MSR.

To: "Li, Xin B" <xin.b.li@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Proper use of VMX execution controls MSR.
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Wed, 28 Mar 2007 19:01:56 +0100
Delivery-date: Wed, 28 Mar 2007 10:59:53 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <B30DA1341B0CFA4893EF8A36B40B5C5DF21EC7@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcdxUQOcmZ2ehsIdTvOT1iiVu1vOEgAEiiMS
Thread-topic: [Xen-devel] [PATCH] Proper use of VMX execution controls MSR.
User-agent: Microsoft-Entourage/
On 28/3/07 16:51, "Li, Xin B" <xin.b.li@xxxxxxxxx> wrote:

> Better use of VMX execution controls MSR.
> Signed-off-by: Xin Li<xin.b.li@xxxxxxxxx>

Is this actually to fix a problem with a future processor?

This whole bit-forcing thing seems extremely odd to me. We set the controls
that Xen currently needs to do its job as a VMM properly -- we can't just
clear some of those controls because the processor says to do so. So I think
our current treatment of the MSR high bits is appropriate (if it tells us to
zero one of the control bits that we make use of, we are in trouble -- we
have a processor that isn't backwards compatible!).

I also feel uneasy about setting extra bits (as specified by the MSR low
bits), but I reason that if we are told to set bits of flags which are
currently architecturally-undefined then it is reasonable to let the
processor tell us what to do with them. Which is why I do respect the MSR
low bits.

Why did Intel ever choose this insane scheme? Would it have been so hard to
have defined bitmaps with set-to-enable semantics, and always require zero
for reserved bits? Actually I suppose you do have set-to-enable semantics
(otherwise my current asymmetric treatment of MSR high and low words would
not make sense). But all this messing with setting vs. clearing reserved
bits seems pretty stupid.

 -- Keir

Xen-devel mailing list