On 09/08/2019 13:50, Jan Beulich wrote:
> On 09.08.2019 14:39, Andrew Cooper wrote:
>> Xen, being 64bit only these days, has no use for a 32bit Ring 0 code
>> segment.
>>
>> Delete __HYPERVISOR_CS32 and remove it from the GDTs.  Also delete
>> __HYPERVISOR_CS64 and use __HYPERVISOR_CS uniformly.
>
> Long, long ago we've been considering doing this. Agreed,
> nothing has surfaced to actually use it, but I wouldn't
> subscribe to "has no use": We will need it if we ever want
> to be able to run on 32-bit EFI _and_ invoke runtime
> services there. Back then through the consideration against
> dropping it was that we may want to invoke 32-bit BIOS
> services (PCI, VGA) from the hypervisor.

I hadn't realised these had even been considered in the past.  I don't
think either of these are likely to happen now.

As for the text, Xen really does have no users of a 32bit R0 code
segment, and the statement does not preclude the fact that there may be
legitimate uses for CS32.

Would you be happier with "days, and does not use a 32bit Ring 0 code
segment." ?

There is specifically a good reason for taking it out (given that it
isn't used), to avoid cascade breakage from a stray far jump which
happens to start executing code in the wrong mode.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to