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

RE: [Xen-users] PCI MMIO?


  • To: "Stephen Donnelly" <sfdonnelly@xxxxxxxxx>, xen-users@xxxxxxxxxxxxxxxxxxx
  • From: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
  • Date: Fri, 16 Mar 2007 09:47:02 +0100
  • Delivery-date: Fri, 16 Mar 2007 01:46:30 -0700
  • List-id: Xen user discussion <xen-users.lists.xensource.com>
  • Thread-index: AcdnQlNOp7JNRElYRSSdu/k75rTopgAZQQIg
  • Thread-topic: [Xen-users] PCI MMIO?

 

> -----Original Message-----
> From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Stephen Donnelly
> Sent: 15 March 2007 20:41
> To: xen-users@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-users] PCI MMIO?
> 
> Not sure if this should go to users or devel, but I'll try here first.
> 
> I understood that in a Driver Domain that has access to a 
> (PCI) device, 'native' drivers can be used, but I am having 
> some problems with memory mapped IO from user space. 
> 
> I have a PCI device that has a 64kB mmio range at PCI_BAR_0. 
> This space contains the registers for the device. The Linux 
> driver provides a char device that allows read/write/seek, 
> and mmap for this space. In Linux you can use either 
> read/write/seek to access the space, or memory map it via 
> mmap and access it directly. When using the driver in dom0 
> under Xen 3.0.4, the read/write/seek method works fine but 
> the mmap does not. None of the related functions return 
> errors, but the mmap does not appear to access the correct 
> memory. Is there anything I am missing?

It realy shouldn't make any difference. It's probably a question for Xen
Devel tho'. 

If you can access the device from kernel mode (have you tried that?)
then you should be able to access it from user-mode, I would have
thought. 

The linux kernel is actually responsible for mapping the memory itself,
and aside from checking some permissions, there is no difference to the
hypervisor whether a domain is DomU or Dom0. 

--
Mats
> 
> The mmap is performed by a remap_pfn_range() by the driver, 
> and mmap() in the user space code. 
> 
> I am running Ubuntu 6.10 AMD64 Server and I built Xen 3.0.4 
> from source, including the 2.6.16.33-xen kernel. The driver 
> is running in dom0, no other domains are present.
> 
> Thanks,
> Stephen.
> 
> 
> 



_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

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