All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@citrix.com>
To: Gordan Bobic <gordan@bobich.net>
Cc: xen-devel@lists.xen.org
Subject: Re: Device pass through on XEN on ARM
Date: Wed, 11 Jun 2014 11:00:45 +0100	[thread overview]
Message-ID: <1402480845.9727.11.camel@kazak.uk.xensource.com> (raw)
In-Reply-To: <8f7eb6e73289910426e673a3d1a944f7@mail.shatteredsilicon.net>

On Wed, 2014-06-11 at 10:53 +0100, Gordan Bobic wrote:
> On 2014-06-11 10:42, Ian Campbell wrote:
> > On Wed, 2014-06-11 at 11:16 +0200, Khandelwal, Shubham wrote:
> >> Just to try out the passthrough using the hacks you mentioned, I made
> >> changes in xen to assign a GPIO controlled LED to domU by calling
> >> map_mmio_regions() in the domain creation path. After domU boots, when
> >> I try to access the LED using ioremap, ioread and iowrite from kernel
> >> space I see that I am not able to control the LED,
> > 
> > How does it fail? Does it give a fault in the hypervisor or the guest
> > kernel or just silently eat the MMIO writes and not do anything?
> > 
> >>  also when I try to control LED using sysfs from user space it shows
> >> 'no such device' error.
> >> 
> >> I am using xen 4.5 unstable and I have made the following changes in
> >> xen/common/domctl.c :: do_domctl(), after line 473:
> >> 
> >> 
> >> 
> >> int passthrough = map_mmio_regions(d, 0x4805B000, 0x4805B000 + 0x1000, 
> >> 0x4805B000);
> >> if (passthrough)
> >>         printk("Failed to map passthrough_LED @ 0x4805B000 to 
> >> dom%d\n", d->domain_id);
> >> 
> >> 
> >> 
> >> While booting domU, in the logs I can see there is no error in
> >> map_mmio_regions(). Am I missing something here.
> > 
> > 0x4xxxxxxx is a RAM region on 4.5 (see the end of
> > xen/include/public/arch-arm.h), I suspect your mmio mapping is being
> > clobbered by a RAM mapping (and therefore that your answer above is
> > "silently does nothing".
> > 
> > Do you need this to be a 1:1 mapping or could you move it to some free
> > space? Most of the low GB is free (but do check arch-arm.h) to be used
> > for MMIO mappings.
> 
> I have a sneaky suspicion that part of the problem is that the
> offending BAR is 16GB in size.

What makes you think that? The region is 4K according to the lines shown
above.

Since you mention BAR (a PCI thing) I've a sneaking suspicious this
isn't the thread you think it is ;-)

Ian.

  reply	other threads:[~2014-06-11 10:00 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
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 [this message]
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=1402480845.9727.11.camel@kazak.uk.xensource.com \
    --to=ian.campbell@citrix.com \
    --cc=gordan@bobich.net \
    --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.