From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <ian.campbell@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>,
George Dunlap <george.dunlap@eu.citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
tim@xen.org, stefano.stabellini@citrix.com,
Jan Beulich <jbeulich@suse.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
xen-devel@lists.xenproject.org,
Daniel De Graaf <dgdegra@tycho.nsa.gov>,
Keir Fraser <keir@xen.org>
Subject: Re: [PATCH v3 01/24] xen: Extend DOMCTL createdomain to support arch configuration
Date: Fri, 20 Feb 2015 16:09:12 +0000 [thread overview]
Message-ID: <54E75C28.4090902@linaro.org> (raw)
In-Reply-To: <1424445310.30924.292.camel@citrix.com>
Hi Ian,
On 20/02/15 15:15, Ian Campbell wrote:
> On Tue, 2015-01-13 at 14:25 +0000, Julien Grall wrote:
>> On ARM the virtual GIC may differ between each guest (emulated GIC version,
>> number of SPIs...). Those informations are already known at the domain creation
>
> "This information is already known at domain creation..."
>
>> and can never change.
>>
>> For now only the gic_version is set. In long run, there will be more parameters
>
> "In the long run".
>
>> such as the number of SPIs. All will be required to be set at the same time.
>>
>> A new arch-specific structure arch_domainconfig has been created, the x86
>> one doesn't have any specific configuration, a dummy structure
>> (C-spec compliant) has been created to factorize the code on the toolstack.
>
> I'm not sure what you mean by factorize here.
There is an arch-specific function where
>
>> Some external tools (qemu, xenstore) may require to create a domain. Rather
>
> "may be required" perhaps? I'm not 100% sure what you are trying to say.
I meant some external tools (such as qemu, xenstore) needs to create
domain. So we have to keep the old xc_domain_create.
I will use "may be required".
>
>> than asking them to take care of the arch-specific domain configuration, let
>> the current function (xc_domain_create) to chose a default configuration and
>
> s/to//
>
>> introduce a new one (xc_domain_create_config).
>>
>> This patch also drop the previously DOMCTL arm_configure_domain introduced
>
> "drops the previously introduced DOMCTL arm...".
>
>> in Xen 4.5, as it has been made useless.
>>
>> Signed-off-by: Julien Grall <julien.grall@linaro.org>
>> Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>
>> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
>> Cc: Wei Liu <wei.liu2@citrix.com>
>> Cc: Stefano Stabellini <stefano.stabellini@citrix.com>
>> Cc: Keir Fraser <keir@xen.org>
>> Cc: Jan Beulich <jbeulich@suse.com>
>> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
>> Cc: George Dunlap <george.dunlap@eu.citrix.com>
>>
>> ---
>> This is a follow-up of http://lists.xen.org/archives/html/xen-devel/2014-11/msg00522.html
>>
>> TODO: What about migration? For now the configuration lives in internal
>> libxl structure. We need a way to pass the domain configuration to the
>> other end.
>
> Things like the GIC version and number of SPIs would normally end up
> being encoded in the hvm save records, i.e. the blob which Xen provides
> to the toolstack to be included in the save stream. That would then be
> alongside the actual related interrupt architectural state etc (e.g.
> pending, active, masked etc).
>
> That's problematic here because you can't pass that blob to the create
> function and the toolstack cannot really parse the blob to figure out
> the details to pass.
I was thinking to pass those information the same way we do to know the
domain is a PVH/HVM...
AFAICT they are required in order to create the domain.
> Looking back at msg00522.html it does seem like migration is a good
> motivation for doing it as a separate hypercall as you originally did,
> so initial create would be
> DOMCTL_create
> DOMCTL_set_the_variables
> and restore would be
> DOMCTL_create
> DOMCTL_restore_from_blob
>
> In both cases this needn't preclude requiring the call to be made before
> unpause or that it is only called exactly once.
>
> Write once HVM params would be another option here.
>
> Jan, do you find any of that convincing as to the need for doing this
> outside the the create domctl? Based on msg00522 is seems you would
> prefer some HVM params over a new domctl?
The problem with HVM params is we need to wait until every HVM
parameters is set and we have to do it before vCPU are initialized.
The problem with a new DOMCTL is it make the code more complicate in the
hypervisor as it require some kind of synchronization to know if
everything as been correctly initialized.
>
>> I'm not sure if we should care of this right now as migration doesn't
>> yet exists on ARM.
>
> It's a domctl so we aren't exactly painting ourselves into a corner, but
> it would be good to have some idea that we aren't going down a blind
> alley at least. Especially if the way out of the alley is to come back
> to where we are now...
>
> (There doesn't seem much point in looking at the code until we conclude
> the approach is correct, so I haven't)
I believe that the migration can be taken in different way without
modifying the current approach.
What we have to do is moving this internal information to the global
structure... That wouldn't be too bad because sooner or later we will
have to let the user choose between vGICv2 and vGICv3.
Regards,
--
Julien Grall
next prev parent reply other threads:[~2015-02-20 16:09 UTC|newest]
Thread overview: 251+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-13 14:25 [PATCH v3 00/24] xen/arm: Add support for non-pci passthrough Julien Grall
2015-01-13 14:25 ` [PATCH v3 01/24] xen: Extend DOMCTL createdomain to support arch configuration Julien Grall
2015-01-13 15:08 ` Daniel De Graaf
2015-01-19 16:46 ` Jan Beulich
2015-01-20 12:40 ` Julien Grall
2015-01-28 15:50 ` Stefano Stabellini
2015-02-20 15:15 ` Ian Campbell
2015-02-20 16:09 ` Julien Grall [this message]
2015-02-20 16:37 ` Jan Beulich
2015-02-23 15:09 ` Ian Campbell
2015-02-20 16:35 ` Jan Beulich
2015-02-23 15:48 ` Andrew Cooper
2015-02-23 16:00 ` Ian Campbell
2015-02-23 21:48 ` Julien Grall
2015-02-24 10:06 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 02/24] xen/arm: Divide GIC initialization in 2 parts Julien Grall
2015-01-28 16:09 ` Stefano Stabellini
2015-02-20 15:19 ` Ian Campbell
2015-02-20 15:19 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 03/24] xen/dts: Allow only IRQ translation that are mapped to main GIC Julien Grall
2015-01-28 16:11 ` Stefano Stabellini
2015-02-20 15:20 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 04/24] xen: guestcopy: Provide an helper to safely copy string from guest Julien Grall
2015-01-13 15:10 ` Daniel De Graaf
2015-01-19 16:51 ` Jan Beulich
2015-01-20 12:45 ` Julien Grall
2015-01-20 13:16 ` Jan Beulich
2015-02-20 15:22 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 05/24] xen/arm: vgic: Introduce a function to initialize pending_irq Julien Grall
2015-02-20 15:24 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 06/24] xen/arm: Map disabled device in DOM0 Julien Grall
2015-01-28 16:18 ` Stefano Stabellini
2015-01-28 16:23 ` Julien Grall
2015-01-29 11:41 ` Stefano Stabellini
2015-02-20 15:27 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 07/24] xen/arm: Introduce xen, passthrough property Julien Grall
2015-01-28 16:36 ` Stefano Stabellini
2015-01-28 16:53 ` Julien Grall
2015-01-29 11:43 ` Stefano Stabellini
2015-02-20 15:38 ` Ian Campbell
2015-02-20 17:01 ` Julien Grall
2015-02-23 15:12 ` Ian Campbell
2015-02-23 15:43 ` Julien Grall
2015-02-20 15:42 ` Ian Campbell
2015-02-20 17:03 ` Julien Grall
2015-02-23 15:15 ` Ian Campbell
2015-02-23 15:44 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 08/24] xen/arm: Allow virq != irq Julien Grall
2015-01-28 16:47 ` Stefano Stabellini
2015-01-28 16:56 ` Julien Grall
2015-01-28 17:00 ` Julien Grall
2015-01-29 11:50 ` Stefano Stabellini
2015-02-20 15:52 ` Ian Campbell
2015-02-20 17:09 ` Julien Grall
2015-02-27 14:33 ` Julien Grall
2015-02-27 14:44 ` Ian Campbell
2015-02-27 15:55 ` Julien Grall
2015-02-27 14:25 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 09/24] xen/arm: route_irq_to_guest: Check validity of the IRQ Julien Grall
2015-01-28 17:55 ` Stefano Stabellini
2015-01-28 18:05 ` Julien Grall
2015-01-29 11:52 ` Stefano Stabellini
2015-02-20 16:00 ` Ian Campbell
2015-02-20 17:21 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 10/24] xen/arm: gic: Add sanity checks gic_route_irq_to_guest Julien Grall
2015-01-28 18:15 ` Stefano Stabellini
2015-02-20 16:07 ` Ian Campbell
2015-02-20 17:28 ` Julien Grall
2015-02-23 15:20 ` Ian Campbell
2015-02-23 15:47 ` Julien Grall
2015-02-23 15:52 ` Ian Campbell
2015-02-23 15:54 ` Julien Grall
2015-02-23 16:04 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 11/24] xen/arm: Let the toolstack configure the number of SPIs Julien Grall
2015-01-28 18:26 ` Stefano Stabellini
2015-01-28 18:58 ` Julien Grall
2015-01-29 12:01 ` Stefano Stabellini
2015-01-29 12:14 ` Julien Grall
2015-02-20 16:08 ` Ian Campbell
2015-02-20 17:29 ` Julien Grall
2015-02-23 15:22 ` Ian Campbell
2015-02-23 15:48 ` Julien Grall
2015-02-20 16:23 ` Ian Campbell
2015-02-20 17:31 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 12/24] xen/arm: Release IRQ routed to a domain when it's destroying Julien Grall
2015-01-28 18:38 ` Stefano Stabellini
2015-02-20 16:31 ` Ian Campbell
2015-02-20 17:41 ` Julien Grall
2015-02-23 15:25 ` Ian Campbell
2015-02-23 15:49 ` Julien Grall
2015-03-03 12:50 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 13/24] xen/arm: Implement hypercall PHYSDEVOP_{, un}map_pirq Julien Grall
2015-01-19 16:54 ` Jan Beulich
2015-01-20 14:01 ` Julien Grall
2015-01-28 18:52 ` Stefano Stabellini
2015-01-28 19:04 ` Julien Grall
2015-01-29 12:17 ` Stefano Stabellini
2015-01-29 12:26 ` Julien Grall
2015-01-29 12:33 ` Stefano Stabellini
2015-02-20 16:53 ` Ian Campbell
2015-02-23 9:33 ` Jan Beulich
2015-02-23 15:28 ` Ian Campbell
2015-02-23 15:53 ` Julien Grall
2015-02-23 16:04 ` Ian Campbell
2015-02-23 16:11 ` Julien Grall
2015-02-23 16:34 ` Ian Campbell
2015-02-23 21:54 ` Julien Grall
2015-02-23 16:22 ` Jan Beulich
2015-02-23 15:51 ` Julien Grall
2015-02-23 16:02 ` Ian Campbell
2015-03-04 14:37 ` Julien Grall
2015-03-04 14:55 ` Jan Beulich
2015-03-04 14:56 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 14/24] xen/dts: Use unsigned int for MMIO and IRQ index Julien Grall
2015-02-20 16:55 ` Ian Campbell
2015-02-23 15:57 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 15/24] xen/dts: Provide an helper to get a DT node from a path provided by a guest Julien Grall
2015-02-20 16:56 ` Ian Campbell
2015-02-20 17:43 ` Julien Grall
2015-02-23 15:29 ` Ian Campbell
2015-02-23 15:30 ` Ian Campbell
2015-02-23 16:01 ` Julien Grall
2015-02-23 16:27 ` Ian Campbell
2015-03-10 13:58 ` Julien Grall
2015-03-11 12:34 ` Ian Campbell
2015-03-19 14:53 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 16/24] xen/passthrough: Introduce iommu_construct Julien Grall
2015-01-19 17:02 ` Jan Beulich
2015-01-20 14:28 ` Julien Grall
2015-01-20 16:40 ` Jan Beulich
2015-01-20 17:11 ` Julien Grall
2015-01-21 10:23 ` Jan Beulich
2015-01-21 10:37 ` Julien Grall
2015-01-21 10:48 ` Jan Beulich
2015-01-21 12:13 ` Julien Grall
2015-01-21 14:13 ` Jan Beulich
2015-01-21 14:22 ` Julien Grall
2015-01-21 14:29 ` Jan Beulich
2015-02-20 16:58 ` Ian Campbell
2015-02-20 17:45 ` Julien Grall
2015-02-23 15:31 ` Ian Campbell
2015-02-23 16:04 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 17/24] xen/passthrough: arm: release earlier the DT devices assigned to a guest Julien Grall
2015-01-20 9:19 ` Jan Beulich
2015-01-20 14:30 ` Julien Grall
2015-01-20 16:42 ` Jan Beulich
2015-01-28 18:59 ` Stefano Stabellini
2015-02-20 17:03 ` Ian Campbell
2015-02-20 17:46 ` Julien Grall
2015-02-23 9:37 ` Jan Beulich
2015-02-23 15:33 ` Ian Campbell
2015-02-23 16:22 ` Jan Beulich
2015-01-13 14:25 ` [PATCH v3 18/24] xen/passthrough: iommu_deassign_device_dt: By default reassign device to nobody Julien Grall
2015-01-20 9:21 ` Jan Beulich
2015-01-20 14:31 ` Julien Grall
2015-01-29 10:20 ` Stefano Stabellini
2015-02-20 17:04 ` Ian Campbell
2015-02-23 9:40 ` Jan Beulich
2015-02-23 10:10 ` Julien Grall
2015-02-23 10:20 ` Jan Beulich
2015-02-23 15:39 ` Ian Campbell
2015-02-23 16:24 ` Jan Beulich
2015-02-23 16:35 ` Ian Campbell
2015-02-23 16:37 ` Julien Grall
2015-02-23 16:47 ` Jan Beulich
2015-02-23 16:54 ` Julien Grall
2015-02-23 10:10 ` Julien Grall
2015-02-23 15:34 ` Ian Campbell
2015-03-10 15:29 ` Julien Grall
2015-03-11 12:35 ` Ian Campbell
2015-03-19 15:07 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 19/24] xen/iommu: arm: Wire iommu DOMCTL for ARM Julien Grall
2015-01-20 9:22 ` Jan Beulich
2015-01-20 14:32 ` Julien Grall
2015-02-20 17:06 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 20/24] xen/passthrough: Extend XEN_DOMCTL_assign_device to support DT device Julien Grall
2015-01-20 9:34 ` Jan Beulich
2015-01-20 14:37 ` Julien Grall
2015-01-20 16:43 ` Jan Beulich
2015-01-29 10:29 ` Stefano Stabellini
2015-01-29 10:37 ` Jan Beulich
2015-01-29 11:40 ` Julien Grall
2015-01-29 10:29 ` Stefano Stabellini
2015-01-29 11:45 ` Julien Grall
2015-01-29 12:09 ` Stefano Stabellini
2015-01-29 13:09 ` Julien Grall
2015-01-29 15:03 ` Stefano Stabellini
2015-01-29 15:14 ` Julien Grall
2015-02-20 17:17 ` Ian Campbell
2015-02-23 16:25 ` Daniel De Graaf
2015-03-10 16:52 ` Julien Grall
2015-03-10 22:45 ` Daniel De Graaf
2015-03-10 23:07 ` Julien Grall
2015-03-10 23:39 ` Daniel De Graaf
2015-03-11 12:30 ` Julien Grall
2015-03-11 8:53 ` Jan Beulich
2015-03-11 12:15 ` Julien Grall
2015-03-11 12:23 ` Ian Campbell
2015-03-11 12:35 ` Julien Grall
2015-03-11 12:45 ` Jan Beulich
2015-03-10 16:33 ` Julien Grall
2015-03-11 12:37 ` Ian Campbell
2015-03-11 13:50 ` Julien Grall
2015-03-11 13:55 ` Ian Campbell
2015-03-11 14:03 ` Jan Beulich
2015-03-11 14:11 ` Julien Grall
2015-03-13 16:47 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 21/24] tools/(lib)xl: Add partial device tree support for ARM Julien Grall
2015-01-29 11:03 ` Stefano Stabellini
2015-01-29 12:02 ` Julien Grall
2015-01-29 12:26 ` Stefano Stabellini
2015-02-23 11:31 ` Ian Campbell
2015-02-23 11:46 ` Ian Campbell
2015-02-23 17:06 ` Julien Grall
2015-02-23 17:22 ` Ian Campbell
2015-03-17 13:32 ` Julien Grall
2015-02-23 12:03 ` Ian Jackson
2015-02-23 12:44 ` Ian Jackson
2015-02-23 18:43 ` Julien Grall
2015-02-23 19:12 ` Ian Jackson
2015-01-13 14:25 ` [PATCH v3 22/24] tools/libxl: arm: Use an higher value for the GIC phandle Julien Grall
2015-01-29 11:07 ` Stefano Stabellini
2015-01-29 12:05 ` Julien Grall
2015-01-29 12:28 ` Stefano Stabellini
2015-01-29 13:48 ` Julien Grall
2015-01-29 15:04 ` Stefano Stabellini
2015-01-29 15:12 ` Julien Grall
2015-02-23 14:36 ` Ian Campbell
2015-02-23 22:02 ` Julien Grall
2015-02-24 10:08 ` Ian Campbell
2015-03-18 14:14 ` Julien Grall
2015-01-13 14:25 ` [PATCH v3 23/24] libxl: Add support for non-PCI passthrough Julien Grall
2015-01-29 11:12 ` Stefano Stabellini
2015-01-29 12:08 ` Julien Grall
2015-01-29 12:31 ` Stefano Stabellini
2015-01-29 13:51 ` Julien Grall
2015-02-23 14:41 ` Ian Campbell
2015-02-23 14:42 ` Ian Campbell
2015-01-13 14:25 ` [PATCH v3 24/24] xl: Add new option dtdev Julien Grall
2015-01-29 11:18 ` Stefano Stabellini
2015-01-29 12:09 ` Julien Grall
2015-01-29 12:32 ` Stefano Stabellini
2015-01-29 13:51 ` Julien Grall
2015-01-29 15:06 ` Stefano Stabellini
2015-02-23 14:44 ` Ian Campbell
2015-02-23 14:45 ` Ian Campbell
2015-02-23 22:03 ` Julien Grall
2015-02-24 10:07 ` Ian Campbell
2015-01-13 17:56 ` [PATCH v3 00/24] xen/arm: Add support for non-pci passthrough Julien Grall
2015-02-20 17:18 ` Ian Campbell
2015-02-20 17:47 ` Julien Grall
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=54E75C28.4090902@linaro.org \
--to=julien.grall@linaro.org \
--cc=andrew.cooper3@citrix.com \
--cc=dgdegra@tycho.nsa.gov \
--cc=george.dunlap@eu.citrix.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=keir@xen.org \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=wei.liu2@citrix.com \
--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.