|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Userspace PIO access under xen
Quoting r. Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>:
> Subject: RE: [Xen-devel] Userspace PIO access under xen
>
>
>
> > The following simple program (below) mmaps PCI I/O memory
> > into userspace. This works fine under linux, but not in Xen dom0.
> >
> > Linux:
> >
> > # ./test1 /sys/bus/pci/devices/0000\:07\:00.0/resource0 0 0 0
> >
> > Xen dom0:
> >
> > # ./test1 /sys/bus/pci/devices/0000\:07\:00.0/resource0 0 0 0xf000eef3
>
>
> Interesting -- I didn't know you could use /sys/bus/pci/devices/ for
> mapping memory.
>
> Change pci_mmap_page_range in arch/xen/arch/pci/i386.c to use
> io_remap_pfn_range
>
> I'll check something in.
>
> Ian
>
OK, the following seems to work. Thanks!
---
Make pci_mmap_page_range use io_remap_pfn_range.
This fixes mmap for resources under /sys/bus/pci/devices/
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxxxxxx>
Index: linux-2.6.12-xen0/arch/i386/pci/i386.c
===================================================================
--- linux-2.6.12-xen0/arch/i386/pci/i386.c
+++ linux-2.6.12-xen0/arch/i386/pci/i386.c
@@ -295,7 +295,7 @@ int pci_mmap_page_range(struct pci_dev *
/* Write-combine setting is ignored, it is changed via the mtrr
* interfaces on this platform.
*/
- if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
+ if (io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
return -EAGAIN;
--
MST
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|