Re: remap_page_range in 2.2.7

Tony E. Bennett (tbennett@nvidia.com)
09 Jun 1999 13:09:48 -0400


I also had this problem. Ended up using the nopage entry point
to map the pages. Works fine on 2.0 and 2.2 kernels.

eg:
mmap:
calls get_free_page() repeatedly (my dma engine does not
need contiguous physmem: hurray!) saving the addresses
return 0

nopage:
looks up the appropriate page in my saved info
returns phys addr of that page

I think I got this technique from Rubini's book

fmcgirt@swcp.com writes:

> I have posted this earlier but no response. I am using remap_page_range to
> map a kernel dma buffer to user space by setting RESERVED bit in appropriate
> pages. I am unable to find the problem - has remap_page_range changed from
> 2.0.x to 2.2.x so that it does not work on RAM even with the RESERVED bit
> set???? Others doing the same have also posted the same problem (without
> resolution) so I don't think it is just me. All other uses of remap work
> fine - such as with PCI mmeory regions. About ready to go to something else
> and give up for the time being but hope there is a solution.
>
> Earlier Posting:
>
> I have a contiguous memory buffer in my driver that I have allocated by:
>
> bufAddress = __get_dma_pages(GFP_KERNEL,order);
>
> that I want to map to user space.

--tony

-
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/