Re: [PATCH] x86: correctly initialize the CS base on reset

From: Gleb Natapov
Date: Tue Mar 19 2013 - 13:08:06 EST


On Tue, Mar 19, 2013 at 05:41:45PM +0100, Jan Kiszka wrote:
> On 2013-03-19 16:43, Gleb Natapov wrote:
> > On Tue, Mar 19, 2013 at 04:30:26PM +0100, Paolo Bonzini wrote:
> >> The CS base was initialized to 0 on VMX (wrong, but usually overridden
> >> by userspace before starting) or 0xf0000 on SVM. The correct value is
> >> 0xffff0000, and VMX is able to emulate it now, so use it.
> >>
> >> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> > Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx>
>
> Just for the history (as I was wondering where this came from): CS base
> used to be set to 0xf0000 on VMX as well, but that was changed by
> b246dd5d to only affect guests when unrestricted mode is missing. That
> change actually left the base uninitialized.
>
Looking at the code before b246dd5d it sets CS base to 0xf0000 only if it was
0xffff0000. This is the same as with current code: fix_rmode_seg() does
it.

--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/