mmap() of PCI space in device driver

Scott C. Karlin (scott@CS.Princeton.EDU)
Fri, 18 Jun 1999 11:56:12 -0400 (EDT)


I am porting a PCI device driver from 2.0.x to 2.2.x and am having
specific trouble porting the implementation of the mmap() function.

I have read IO-mapping.txt, reviewed the linux-kernel archive, and
skimmed recent comp.os.linux.development.system articles. The
IO-mapping.txt file seems to imply that I may not be able to do
what I want in a portable way.

The PCI device I have decodes a single 16MB memory space. I need
to be able to map this space into the user space so that users can
access it through pointers. The old driver supports both Intel
and Alpha architectures; the new driver must support both as well.

The older 2.0.x driver I am porting makes use of the remap_page_range()
function. Where can I find a description of this function?
(beyond what is in mm.h and memory.c)

The older driver will not compile due to an assignment to the
vm_inode field of the vm_area_struct structure. This field no
longer exists in 2.2.x. What is the relationship between the
file->f_dentry->d_inode and the vm_area_struct structure?

Thanks,
Scott

--------------------------------------------------------------------------
Scott C. Karlin Princeton University
Graduate Student Department of Computer Science
Voice: (609) 258-5386 35 Olden Street
Email: scott@cs.princeton.edu Princeton, NJ 08544-2087
WWW: http://www.cs.princeton.edu/~scott
--------------------------------------------------------------------------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/