2002-09-26 17:39:23

by Josef Zeevi

[permalink] [raw]
Subject: Question about mapping RAM that's outside the kernel

Hi. Apologies in advance if this is the wrong forum for this question - pointers to the right one(s) cheerfully accepted.

I am trying to use 2.4.18 64M to let me see up to 16GB of ram (1 gig at a time).

I boot my system with mem=64M on the cmdline. I can find out exactly (bios holes included) what the memory from 64M and up looks like.

The approach I am thinking of is to map 1G with ioremap and then behind the back of the kernel (i.e. in my driver) change the physical address (keeping the same virtual address from the first ioremap call). However, the calls to ioremap are always smaller than 1G, due to the get_vm_area taking into account the various needs of the kernel.

So, I really would like to work around this. Is there a way to get a 1Gb virtual address space that I can then manage on my own? (Since the physical memory is "unknown" to the kernel I don't think it knows or cares...)

Thoughts? Suggestions? Ideas?

Thanks in advance for any help.

josef