Re: discontig physical memory

David S. Miller
2001-10-08T23:30:22Z

From: Petko Manolov <pmanolov@Lnxw.COM>
Date: Mon, 08 Oct 2001 16:18:25 -0700

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.

You need to setup bootmem correctly, earlier on, such that
you do not tell the kernel that there are any pages in this
4 - 16MB region.

Do something like this instead of whatever your bootmem
calls are doing now:

bootmap_size = init_bootmem(0, (32 * 1024 * 1024));
free_bootmem((4 * 1024 * 1024),
((16 - 4) * 1024 * 1024));

Franks a lot,
David S. Miller
davem@redhat.com