> Bit 6 (write): KEEP_SEGMENTS
> Protocol: 2.07+
> - If 0, reload the segment registers in the 32bit entry point.
> - If 1, do not reload the segment registers in the 32bit entry point.
> Assume that %cs %ds %ss %es are all set to flat segments with
> a base of 0 (or the equivalent for their environment).
Does anything actually rely on this bit or can we kill it? I think it
was added as a crutch for paravirtualization, but I'm being told it is
not used...
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
On 02/03/2011 09:19 AM, H. Peter Anvin wrote:
>> Bit 6 (write): KEEP_SEGMENTS
>> Protocol: 2.07+
>> - If 0, reload the segment registers in the 32bit entry point.
>> - If 1, do not reload the segment registers in the 32bit entry point.
>> Assume that %cs %ds %ss %es are all set to flat segments with
>> a base of 0 (or the equivalent for their environment).
> Does anything actually rely on this bit or can we kill it? I think it
> was added as a crutch for paravirtualization, but I'm being told it is
> not used...
We originally added it with the idea that we might change the Xen boot
sequence to just enter via the normal entrypoint before wandering off to
the Xen paravirt path - mostly as a way of making use of the bzImage's
own decompresser rather than having to have that externally.
But we never ended up doing that, so the paravirt boot path is unused by
Xen, and I don't see that changing.
I think VMI may have used it, but that's moot now.
So I think lguest is the only potential user, and I'm not sure if it
actually does.
J