Re: reserve memory in low physical address - possible?

Jun Sun
2006-10-31T15:14:24Z

On Tue, Oct 31, 2006 at 07:45:57AM -0500, Mark Hounschell wrote:
> Jun Sun wrote:
> > This question is specific to i386 architecture. While I am fairly
> > comfortable with Linux kernel, I am not familiar with i386 arch.
> >
> > My objective is to reserve, or hide from kernel, some memory space in low
> > physical address range starting from 0. The memory amount is in the order
> > of 100MB to 200MB. The total memory is assumed to be around 512MB.
> >
> > Is this possible?
> >
> > I understand it is possible to reserve some memory at the end by
> > specifying "mem=xxxM" option in kernel command line. I looked into
> > "memmap=xxxM" option but it appears not helpful for what I want.
> >
> > While searching on the web I also found things like DMA zone and loaders
> > etc that all seem to assume the existence low-addressed physical
> > memory. True?
> >
> > I can certainly workaround the loader issue. I can also re-code the real-mode
> > part of kernel code to migrate to higher addresses. The DMA zone might be
> > a thorny one. Any clues? Are modern PCs still subject to
> > the 16MB DMA zone restriction?
> >
> > Am I too far off from what I want to do?
> >
> > Thanks.
> >
> > Jun
>
> Maybe the bigphysarea patch is what you want?
>

I took a look. The patch will allocate (actually pre-allocate) a big chunk
at boot time, which is arguably more friendly to MM subsystem. However,
you cannot specify the location of the memory chunk which is what I want.

Thanks.

Jun