|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] PCI MMIO issue
You are absolutely correct, the code now works fine with mmap. Thank you!
But I don't understand how this change works, since in include/asm/pgtable.h:
#define io_remap_pfn_range(vma, vaddr, pfn, size, prot) \
remap_pfn_range(vma, vaddr, pfn, size, prot)
Stephen.
On 3/20/07, Haw-Yuan Yang <hawyuan@xxxxxxxxx
> wrote:I have the same issue. Keir help me to solve the problem. Use io_remap_pfn_range() in your mmap handler to map the mmio.
hyang
I posted this to the xen-users list first, they suggested I ask here.
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 address space contains the registers for the device. My 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?
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-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|