[vm 0/4] replace remap_page_range() with remap_pfn_range()

From: William Lee Irwin III
Date: Thu Sep 23 2004 - 21:24:43 EST


On Thu, Sep 23, 2004 at 06:22:22PM -0500, John Fusco wrote:
> I have a problem and I would like some comments on how to fix it.
> I have a custom PCI-X device installed in an IA32 system. The device
> expects to see a flat contiguous address space on the host, from which
> it reads and sends its data. The technique I used is right out of the
> O'Reilly Device Drivers book, which is to hide memory from the kernel
> with the 'mem=YYY' boot parameter. I then provide a mmap method to map
> the contiguous (hidden) memory into user space via a call to
> 'remap_page_range'.
> Everything worked great until we decided that we needed to install 6GB
> in this system. The problem is that remap_page_range() uses an unsigned
> long as the parameter for a physical address. On IA32, an unsigned long
> is 32-bits, but the IA32 is capable of addressing well over 4GB of RAM.
> So physical addresses on IA32 must be larger than 32 bits.

Do these patches work for you? Compiletested on sparc64.


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