[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Device pass through on XEN on ARM

  • To: xen-devel@xxxxxxxxxxxxx
  • From: Gordan Bobic <gordan@xxxxxxxxxx>
  • Date: Wed, 11 Jun 2014 10:53:42 +0100
  • Delivery-date: Wed, 11 Jun 2014 09:53:50 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

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.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.