From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <JBeulich@suse.com>, roger.pau@citrix.com
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
xen-devel@lists.xenproject.org,
Stefano Stabellini <stefano.stabellini@citrix.com>,
Ian Campbell <ian.campbell@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH v6 24/29] xen/x86: allow HVM guests to use hypercalls to bring up vCPUs
Date: Tue, 29 Sep 2015 11:25:24 +0100 [thread overview]
Message-ID: <560A6714.7060303@citrix.com> (raw)
In-Reply-To: <560A7EFA02000078000A6846@prv-mh.provo.novell.com>
On 29/09/15 11:07, Jan Beulich wrote:
>>>> On 29.09.15 at 12:00, <andrew.cooper3@citrix.com> 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
next prev parent reply other threads:[~2015-09-29 10:26 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-04 12:08 [PATCH v6 00/29] Introduce HVM without dm and new boot ABI Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 01/29] libxc: split x86 HVM setup_guest into smaller logical functions Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 02/29] libxc: unify xc_dom_p2m_{host/guest} Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 03/29] libxc: introduce the notion of a container type Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 04/29] libxc: introduce a domain loader for HVM guest firmware Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 05/29] libxc: make arch_setup_meminit a xc_dom_arch hook Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 06/29] libxc: make arch_setup_boot{init/late} xc_dom_arch hooks Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 07/29] libxc: rework BSP initialization Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 08/29] libxc: introduce a xc_dom_arch for hvm-3.0-x86_32 guests Roger Pau Monne
2015-09-18 15:53 ` Anthony PERARD
2015-09-23 10:32 ` Roger Pau Monné
2015-09-04 12:08 ` [PATCH v6 09/29] libxl: switch HVM domain building to use xc_dom_* helpers Roger Pau Monne
2015-09-18 15:53 ` Anthony PERARD
2015-09-23 10:38 ` Roger Pau Monné
2015-09-04 12:08 ` [PATCH v6 10/29] libxc: remove dead HVM building code Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 11/29] xen/x86: add bitmap of enabled emulated devices Roger Pau Monne
2015-09-04 12:25 ` Wei Liu
2015-09-04 13:51 ` Roger Pau Monné
2015-09-04 13:55 ` Jan Beulich
2015-09-04 22:41 ` Andrew Cooper
2015-09-23 11:43 ` Roger Pau Monné
2015-09-04 13:56 ` Wei Liu
2015-09-09 14:27 ` Wei Liu
2015-09-16 9:50 ` Jan Beulich
2015-09-23 12:35 ` Roger Pau Monné
2015-09-23 13:24 ` Jan Beulich
2015-09-23 15:02 ` Roger Pau Monné
2015-09-16 10:10 ` Jan Beulich
2015-09-23 12:42 ` Roger Pau Monné
2015-09-23 12:46 ` Andrew Cooper
2015-09-04 12:08 ` [PATCH v6 12/29] xen/x86: allow disabling the emulated local apic Roger Pau Monne
2015-09-16 10:05 ` Jan Beulich
2015-09-23 15:45 ` Roger Pau Monné
2015-09-24 7:57 ` Jan Beulich
2015-09-25 9:00 ` Roger Pau Monné
2015-09-04 12:08 ` [PATCH v6 13/29] xen/x86: allow disabling the emulated HPET Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 14/29] xen/x86: allow disabling the pmtimer Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 15/29] xen/x86: allow disabling the emulated RTC Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 16/29] xen/x86: allow disabling the emulated IO APIC Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 17/29] xen/x86: allow disabling the emulated PIC Roger Pau Monne
2015-09-21 14:34 ` Jan Beulich
2015-09-25 15:01 ` Roger Pau Monné
2015-09-04 12:08 ` [PATCH v6 18/29] xen/x86: allow disabling the emulated pmu Roger Pau Monne
2015-09-21 14:36 ` Jan Beulich
2015-09-21 14:48 ` Boris Ostrovsky
2015-09-25 15:07 ` Roger Pau Monné
2015-09-25 15:13 ` Jan Beulich
2015-09-25 15:22 ` Roger Pau Monné
2015-09-25 15:41 ` Boris Ostrovsky
2015-09-04 12:08 ` [PATCH v6 19/29] xen/x86: allow disabling the emulated VGA Roger Pau Monne
2015-09-04 12:08 ` [PATCH v6 20/29] xen/x86: allow disabling the emulated IOMMU Roger Pau Monne
2015-09-28 13:58 ` Aravind Gopalakrishnan
2015-09-04 12:09 ` [PATCH v6 21/29] xen/x86: allow disabling all emulated devices inside of Xen Roger Pau Monne
2015-09-04 12:09 ` [PATCH v6 22/29] elfnotes: intorduce a new PHYS_ENTRY elfnote Roger Pau Monne
2015-09-21 14:47 ` Jan Beulich
2015-09-28 10:35 ` Roger Pau Monné
2015-09-28 10:56 ` Jan Beulich
2015-09-28 10:59 ` Andrew Cooper
2015-09-04 12:09 ` [PATCH v6 23/29] libxc: allow creating domains without emulated devices Roger Pau Monne
2015-09-04 12:09 ` [PATCH v6 24/29] xen/x86: allow HVM guests to use hypercalls to bring up vCPUs Roger Pau Monne
2015-09-21 15:44 ` Jan Beulich
2015-09-25 15:16 ` Andrew Cooper
2015-09-25 15:52 ` Jan Beulich
2015-09-28 16:09 ` Roger Pau Monné
2015-09-29 7:09 ` Jan Beulich
2015-09-29 8:53 ` Tim Deegan
2015-09-29 10:00 ` Andrew Cooper
2015-09-29 10:07 ` Jan Beulich
2015-09-29 10:25 ` Andrew Cooper [this message]
2015-09-29 10:33 ` Jan Beulich
2015-09-29 10:37 ` Andrew Cooper
2015-09-29 10:48 ` Jan Beulich
2015-09-29 14:01 ` Roger Pau Monné
2015-09-29 15:29 ` Jan Beulich
2015-09-29 16:01 ` Roger Pau Monné
2015-09-29 16:20 ` Jan Beulich
2015-09-29 16:49 ` Roger Pau Monné
2015-09-29 16:58 ` Roger Pau Monné
2015-09-30 10:03 ` Jan Beulich
2015-09-30 11:37 ` Roger Pau Monné
2015-09-30 11:49 ` Andrew Cooper
2015-09-30 11:54 ` Jan Beulich
2015-09-30 12:19 ` Roger Pau Monné
2015-09-30 12:35 ` Jan Beulich
2015-09-30 12:50 ` Andrew Cooper
2015-09-30 15:33 ` Roger Pau Monné
2015-09-30 14:23 ` Roger Pau Monné
2015-09-30 15:41 ` Jan Beulich
2015-09-04 12:09 ` [PATCH v6 25/29] xenconsole: try to attach to PV console if HVM fails Roger Pau Monne
2015-09-04 12:09 ` [PATCH v6 26/29] libxc/xen: introduce a start info structure for HVMlite guests Roger Pau Monne
2015-09-10 16:00 ` Wei Liu
2015-09-21 15:53 ` Jan Beulich
2015-09-28 16:51 ` Roger Pau Monné
2015-09-04 12:09 ` [PATCH v6 27/29] libxc: switch xc_dom_elfloader to be used with HVMlite domains Roger Pau Monne
2015-09-04 12:09 ` [PATCH v6 28/29] libxl: allow the creation of HVM domains without a device model Roger Pau Monne
2015-09-04 12:09 ` [PATCH v6 29/29] libxl: add support for migrating HVM guests " Roger Pau Monne
2015-09-10 16:00 ` Wei Liu
2015-09-10 16:30 ` Andrew Cooper
2015-09-11 13:04 ` [PATCH v6 00/29] Introduce HVM without dm and new boot ABI Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=560A6714.7060303@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=ian.campbell@citrix.com \
--cc=roger.pau@citrix.com \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.