xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Julien Grall <julien.grall@citrix.com>,
	Manish Jaggi <mjaggi@caviumnetworks.com>,
	Jan Beulich <JBeulich@suse.com>
Cc: "Prasun.kapoor@cavium.com" <Prasun.kapoor@cavium.com>,
	Vijaya Kumar <Vijaya.Kumar@caviumnetworks.com>,
	Julien Grall <julien.grall@linaro.org>,
	stefano.stabellini@eu.citrix.com,
	Xen Devel <xen-devel@lists.xen.org>
Subject: Re: PCI Pass-through in Xen ARM: Draft 4
Date: Wed, 2 Sep 2015 16:03:13 +0100	[thread overview]
Message-ID: <1441206193.26292.237.camel@citrix.com> (raw)
In-Reply-To: <1441201603.26292.204.camel@citrix.com>

On Wed, 2015-09-02 at 14:46 +0100, Ian Campbell wrote:
> On Wed, 2015-09-02 at 13:59 +0100, Julien Grall wrote:
> 
> (I'm not caught up on my mail, so just commenting on this one aspect)
> 
> > Anyway, I think this logic should be done in the toolstack and not in
> > the hypervisor. Only the toolstack is in charge of the memory layout.
> > Xen appears to know the memory layout on ARM because it's statically 
> > define.
> 
> The domU address space GUEST_* #defines in xen/include/public/arch-arm.h
> are really just a convenience used when the toolstack and hypervisor need
> to agree on a value and that value happens, right now, to be static.
> 
> The _correct_ interface would be a hypercall (or several) where the
> toolstack tells Xen what the values are, but that's code and faff etc so
> where the value which the toolstack is static we take a short cut and add
> one of these #defines.
> 
> So everyone should just think of every GUEST_FOO in there as being
> equivalent to:
>     struct xen_arch_domainconfig {
> 	//.... other stuff
>         uint64_t foo;
>     };
> i.e. passed to XEN_DOMCTL_createdomain during domain build (obviously and 
> a
> field foo in struct arch_domain where Xen stashes the value and uses that
> instead of GUEST_FOO etc).
> 
> The actual value of foo would be in tools/libx?/something.h, or decided 
> at
> runtime.
> 
> Obviously for FOO which is a static value that's a pain, hence the 
> #defines
> instead.

I forgot to also say, there are some regions which Xen doesn't actually
need to know about at all, but which are recorded in arch-arm.h so that the
complete memory map is in a single place. GUEST_GNTTAB_* and GUEST_MAGIC_*
for example fall into this category.

I think the GUEST_BAR_* actually fall into this too, since only the
toolstack needs to know those limits, and then tell Xen about specific
subsets which are mapped to specific devices etc.

Ian.

  reply	other threads:[~2015-09-02 15:03 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-13  9:42 PCI Pass-through in Xen ARM: Draft 4 Manish Jaggi
2015-08-13 10:37 ` Julien Grall
2015-09-02 15:19   ` Ian Campbell
2015-09-02 15:40     ` Julien Grall
2015-08-13 15:29 ` Jan Beulich
2015-08-13 17:01   ` Ian Campbell
2015-08-14  9:26     ` Jan Beulich
2015-08-14 13:21       ` Stefano Stabellini
2015-08-14 13:58         ` Jan Beulich
2015-08-14 14:03           ` Stefano Stabellini
2015-08-14 14:34             ` Jan Beulich
2015-08-14 14:37               ` Stefano Stabellini
2015-08-14 14:45                 ` Julien Grall
2015-08-14 15:15                   ` Jan Beulich
2015-08-14 15:24                     ` Stefano Stabellini
2015-09-02 14:45               ` Ian Campbell
2015-09-02 14:52                 ` Jan Beulich
2015-09-02 15:07                   ` Ian Campbell
2015-09-02 14:47       ` Ian Campbell
2015-08-14 15:38   ` Stefano Stabellini
2015-08-14 18:58     ` Jaggi, Manish
2015-08-16 23:59       ` Stefano Stabellini
2015-09-02 14:57   ` Ian Campbell
2015-09-02 15:06     ` Jan Beulich
2015-08-31 12:36 ` Manish Jaggi
2015-09-01  7:32   ` Jan Beulich
2015-09-02 12:08     ` Manish Jaggi
2015-09-02 12:59       ` Julien Grall
2015-09-02 13:46         ` Ian Campbell
2015-09-02 15:03           ` Ian Campbell [this message]
2015-09-02 15:03         ` Ian Campbell
2015-09-01 16:15 ` Stefano Stabellini
2015-09-10  1:12 ` Julien Grall
2015-09-15 18:58   ` Jaggi, Manish
2015-09-15 21:18     ` David Daney
2015-09-16 12:58     ` Julien Grall
2015-09-19 20:24       ` Manish Jaggi
2015-09-19 20:48         ` Julien Grall
2015-09-19 21:51           ` Daney, David
2015-09-21 10:17             ` 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=1441206193.26292.237.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=Prasun.kapoor@cavium.com \
    --cc=Vijaya.Kumar@caviumnetworks.com \
    --cc=julien.grall@citrix.com \
    --cc=julien.grall@linaro.org \
    --cc=mjaggi@caviumnetworks.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).