I believe this should be okay. In 32-bit mode some of the security and
hypervisor frameworks want to set segment limits, but I don't believe
they ever would set DS and SS inconsistently, or that we'd handle a #GP
versus an #SS differently (segment violations on the stack segment are
#SS, not #GP.) To be 100% sure we'd have to pick apart the modr/m byte
to figure out what the base register is but I think that's total overkill.
I have a vague notion that DS: prefixes came with a penalty on older
CPUs, so we may want to do this only when CPU hotplug is enabled, to
avoid penalizing older embedded systems.
-hpa
--