> Right now I've found that on Indys running a 64-bit kernel the memory map
> may be allocated such that it will collide with other memory that is
> resrved for firmware use.
yes, this was the problem on my box as well, this was the main reason for
bootmem.c. Take a look at arch/i386/kernel/setup.c, it parses the memory
allocation table and passes it down to bootmem.c via bootmem_free().
page_alloc.c (where mem_map is allocated) uses bootmem_alloc(), and
bootmem_alloc() makes sure we do not step on reserved memory. (reserved
memory can be a memory hole, device memory, kernel-reserved memory,
anything.) bootmem_alloc() always allocates continuous physical RAM, on my
box it allocates an over 100MB mem_map[].
-- mingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/