Re: discontig physical memory

Petko Manolov
2001-10-08T23:21:50Z

I already did that. I fixed MAX_DMA_ADDRESS and the
kernel now reports:

zone(0): 1024 pages
zone(1): 7168 pages /* this should be 4096 */
...

Which is not true as we have a gap between 4 - 16MB
phys memory. I also played with add_memory_region(),
but the kernel still think we have 32MB ram instead
of 20MB as is the case.

Also it lock solid in __get_free_pages in mem_init()
Probably this is related to zone(1) wrong assumption
right?

best,
Petko

"David S. Miller" wrote:
>
> From: Petko Manolov <pmanolov@Lnxw.COM>
> Date: Mon, 08 Oct 2001 15:54:30 -0700
>
> Any ideas how to make lowest 4MB allocatable throu
> kmalloc(size, GFP_DMA) without breaking the kernel?
>
> Setup ZONE_DMA correctly at boot time.
>
> See the code around the free_area_init() call in
> arch/i386/mm/init.c for an example of how to do this.
> Intel does it for the low 16MB, you would just do it
> for the low 4MB.
>
> Franks a lot,
> David S. Miller
> davem@redhat.com