All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Julien Grall <julien.grall@linaro.org>
Cc: "Khandelwal, Shubham" <Shubham.Khandelwal@harman.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Arianna Avanzini <avanzini.arianna@gmail.com>
Subject: Re: Device pass through on XEN on ARM
Date: Thu, 1 May 2014 15:56:04 +0100	[thread overview]
Message-ID: <1398956164.22521.4.camel@kazak.uk.xensource.com> (raw)
In-Reply-To: <53625DC9.7050704@linaro.org>

On Thu, 2014-05-01 at 15:44 +0100, Julien Grall wrote:
> On 04/29/2014 12:35 PM, Khandelwal, Shubham wrote:
> > Hello,
> 
> Hello,
> 
> I've dropped the xen-arm list as it has been archived few months ago.
> 
> > I would like to understand how is pass through achieved on XEN on ARM
> > for devices which do not have a PCI bus controller, like for example
> > embedded devices. Any pointers in this direction will be appreciated.
> 
> For the moment, Xen 4.5 doesn't support device passthrough.

People who are using 4.4 have been hardcoding mmio passthrough for
specific platforms though, essentially by hacking the hypervisor code to
do whatever magic was needed.

The method is somewhat similar to the platform specific mappings
callback which allows MMIO regions which are undescribed in the DT to be
passed to dom0. xgene_storm_specific_mapping() is probably the best
example.

Essentially you just need to arrange for map_mmio_region() and
gic_route_irq_to_guest() to be called for the appropriate regions when
constructing the guest domain. Doing this statically for e.g. dom1 is
pretty trivial, just hack some calls in somewhere on the domain create
path with he appropriate checks.

Allowing this to happen for any domain (useful if you want to reboot the
guest domain) is a bit trickier, I'd probably be inclined to create a
custom domctl and arrange for it to be called during domain build for
the appropriate domain.

Obviously this is all very hacky and as Julien says there are various
things in the pipeline for 4.5 which will allow this to be done
properly.

Ian.

  reply	other threads:[~2014-05-01 14:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-29 11:35 Device pass through on XEN on ARM Khandelwal, Shubham
2014-05-01 14:44 ` Julien Grall
2014-05-01 14:56   ` Ian Campbell [this message]
2014-06-11  9:16     ` Khandelwal, Shubham
2014-06-11  9:42       ` Ian Campbell
2014-06-11  9:53         ` Gordan Bobic
2014-06-11 10:00           ` Ian Campbell
2014-06-11 10:07             ` Gordan Bobic
2014-06-12  8:36         ` Khandelwal, Shubham
2014-06-12  8:49           ` Ian Campbell
2014-06-11 14:07       ` Dario Faggioli
     [not found]   ` <3A6586556649FF42BA3240F179473FD114885FF8B6@HIKAWSEX01.ad.harman.com>
2014-05-22 16:16     ` 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=1398956164.22521.4.camel@kazak.uk.xensource.com \
    --to=ian.campbell@citrix.com \
    --cc=Shubham.Khandelwal@harman.com \
    --cc=avanzini.arianna@gmail.com \
    --cc=julien.grall@linaro.org \
    --cc=xen-devel@lists.xen.org \
    --cc=xen-devel@lists.xensource.com \
    /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.