From: Ian Campbell <ian.campbell@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: "Prasun.kapoor@cavium.com" <Prasun.kapoor@cavium.com>,
stefano.stabellini@eu.citrix.com,
Manish Jaggi <mjaggi@caviumnetworks.com>,
Vijaya Kumar <Vijaya.Kumar@caviumnetworks.com>,
JulienGrall <julien.grall@linaro.org>,
Xen Devel <xen-devel@lists.xen.org>
Subject: Re: PCI Pass-through in Xen ARM: Draft 4
Date: Wed, 2 Sep 2015 16:07:59 +0100 [thread overview]
Message-ID: <1441206479.26292.242.camel@citrix.com> (raw)
In-Reply-To: <55E72944020000780009F14B@prv-mh.provo.novell.com>
On Wed, 2015-09-02 at 08:52 -0600, Jan Beulich wrote:
> >
> > > > On 02.09.15 at 16:45, <ian.campbell@citrix.com> wrote:
> > On Fri, 2015-08-14 at 08:34 -0600, Jan Beulich wrote:
> > > > > > On 14.08.15 at 16:03, <stefano.stabellini@eu.citrix.com> wrote:
> > > > On Fri, 14 Aug 2015, Jan Beulich wrote:
> > > > > > > > On 14.08.15 at 15:21, <stefano.stabellini@eu.citrix.com>
> > > > > > > > wrote:
> > > > > > On Fri, 14 Aug 2015, Jan Beulich wrote:
> > > > > > > it's even less clear how you'd expect to suppress this in
> > > > > > > other
> > > > > > > guest
> > > > > > > OSes (Windows - afaik - being able to run on ARM certainly
> > > > > > > makes
> > > > > > > it
> > > > > > > a candidate guest, even if maybe this doesn't work today),
> > > > > > > namely
> > > > > > > such not having any pcifront. And I hope this design
> > > > > > > discussion
> > > > > > > isn't
> > > > > > > limiting itself to Linux guests.
> > > > > >
> > > > > > We'll write down in the ABI documentation that BARs
> > > > > > reassignments
> > > > > > are
> > > > > > not supported.
> > > > >
> > > > > I.e. guests doing so Will Not Work (TM), with users (usually not
> > > > > reading
> > > > > ABI docs) learning it the hard way. Not nice, but a way to handle
> > > > > it.
> > > >
> > > > The target of the ABI docs is not users, but kernel developers, who
> > > > should most definitely read them and fix their kernels.
> > >
> > > ??? (We're talking of unmodified, closed source OSes here.)
> >
> > On x86 such unmodified OSes would not use pciif.h/pcifront/back,
> > instead
> > they would be an HVM guest and get an HVM PCI bus emulated by the
> > device
> > model, which would (I suppose) support remapping BARs etc, since as you
> > say
> > unmodified OSes may require that.
> >
> > AFAIK pcifront/back doesn't work for x86/HVM guests today, or at least
> > not
> > in general for "unmodified, closed source OSes".
> >
> > AIUI it is the case today (and has always been the case) that x86/PV
> > guests
> > using pcifront/pciback cannot rewrite BARS, except to either all 1's or
> > their original value (this is needed to probe the size or something
> > AIUI).
> > This is my reading of linux/drivers/xen/xen
> > -pciback/conf_space_header.c:bar_write at least, which says:
> > /* For the BARs, only allow writes which write ~0 or
> > * the correct resource information
> > * (Needed for when the driver probes the resource usage)
> > */
> >
> > ARM here is following the x86/PV model for PCI, not the x86/HVM
> > emulated
> > one.
>
> I understood it that way, but my point is - how are you ever going to
> support e.g. Windows guests on ARM? Are you really making yourself
> dependent upon MS adding a Xen PCI frontend to it?
Supporting completely unmodified/unaware (so not even PVHVM) OSes on ARM
would require adding the concept of a device model, much like for x86/HVM.
The DM would have to provide the emulated style PCI bus alongside all the
other emulated hardware such a Windows guest would certainly require.
Maybe we can do that as an extension to the existing ARM guest, rather than
adding a second guest type like x86 has (and is moving away from with the
PVH stuff).
Ian.
next prev parent reply other threads:[~2015-09-02 15:07 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 [this message]
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
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=1441206479.26292.242.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@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 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.