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

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

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.


Xen-devel mailing list



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