[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 24/29] xen/x86: allow HVM guests to use hypercalls to bring up vCPUs



On 29/09/15 11:07, Jan Beulich wrote:
>>>> On 29.09.15 at 12:00, <andrew.cooper3@xxxxxxxxxx> wrote:
>> On 29/09/15 08:09, Jan Beulich wrote:
>>>>>> +    uint32_t cs_base;
>>>>>> +    uint32_t ds_base;
>>>>>> +    uint32_t ss_base;
>>>>> I continue to question why we have DS here, but not ES (and maybe
>>>>> FS and GS too). I.e. either just CS and SS (which are architecturally
>>>>> required) or at least all four traditional x86 segment registers. And
>>>>> you're also clearly not targeting minimal state, or else there likely
>>>>> wouldn't be a need for e.g. R8-R15 in the 64-bit variant.
>>>> I'm fine with removing r8-15. Regarding the segment selectors, I don't
>>>> have a problem with only allowing CS and SS to be set, or all of them
>>>> including FS and GS. But I would like to get a consensus on this, we
>>>> have already gone back and forth several times regarding how this
>>>> structure should look like, and TBH, I was hoping that this was the last
>>>> time.
>>> Was there back and forth? I only recall always having asked for
>>> consistency here, just like spelled out above.
>>>
>>>> Andrew, Jan, what would you prefer, either DS is removed or ES, FS and
>>>> GS are also added?
>>> I voiced my opinion. Andrew?
>> DS clearly needs initialising to provide a sane environment in the newly
>> running vcpu.  Expecting %cs or %ss overrides until a new GDT is loaded
>> is unreasonable IMO.
> I don't view this as unreasonable: You want to load a GDT first thing
> anyway.

True.  The main question is whether the GDT will be at a fixed linear
address.  I expect this to be the case in any non-contrived situation.

> And I see nothing wrong with that one instruction carrying
> an override (and even then only on 32-bit, as a nul DS is fine on
> 64-bit).

Ah yes.

>
>> Therefore, we are back to the question of whether to provide all segment
>> registers, or specify a flat layout without specific selector values.  I
>> would prefer the former to the latter.
> If we don't go the CS+SS only route, then yes, I'd too prefer
> completing the set (I would probably agree with not adding FS
> and GS, and even recommend against it in the 64-bit variant,
> but I do insist on ES in that case).

I would still err on the CS/SS/DS/ES side given a straight choice.  It
offers more flexibility for rarer usecases.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.