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