Grabbing physical memory ranges.

Pauline Middelink middelink en polyware.nl
Jue Ene 20 22:36:19 CST 2000


On Wed, Jan 19, 2000 at 08:35:59AM -0500, Mike A. Harris wrote:
> I have code for 2.2 that grabs a specific memory range of
> physical memory based on the maximum amount of physical memory.
> 
> I'm wondering what would be the prescribed way of doing this
> under 2.3.x?  Is it possible to do this entirely in a separate
> module or must it be done in setup.c?

Have a look at the bootmem stuff, escp. reserve_bootmem()
It can be done during __setup time. Not __initcall, since
by then the bootmem is frozen.

> I want to grab x megs of physical memory for my own private
> permanent usage (by the kernel).  I need to choose the EXACT
> start and end ranges of this memory.

To bad, else you could have used the bigphysarea patch...
Maybe we can augment this patch with a startregion? The
size is already given...

> Also, what method would I use (in kernel) for accessing this
> memory.  I've got some examples for 2.2, etc.. but I want to know
> if anything has changed for 2.3.x in this arena, and also if
> there are multiple ways, what each method is, and what
> advantages/disadvantages are.

As far as I can see, it's just memory ala kmalloc(), only
with the exception you shouldn't kfree() it :)
So the usual stuff like virt_to_bus() before DMA applies.

    Met vriendelijke groet,
        Pauline Middelink
-- 
PGP Key fingerprint = DE 6B D0 D9 19 AD A7 A0  58 A3 06 9D B6 34 39 E2
For more details look at my website http://www.polyware.nl/~middelink

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



Más información sobre la lista de distribución Ayuda