On 10/30/05, Brady Pejerrey <bapemos@xxxxxxxxx> wrote: > > it's maybe a stupid question. but. .. > > if DMA_ZONE contains all page frames below first 16MB of physical memory > and, the kernel is loaded above first 1MB of physical memory. > > then the kernel physical page frames are in the DMA_ZONE ? > I am pasting a paragraph from the book "Understanding the Linux VM Manager by Mel Gorman" chapter 3, topic 3.7.2 : the kernel image is located at the physical address 1MiB, which of course translates to the virtual address PAGE_OFFSET + 0x00100000, and a virtual region totaling about 8MiB is reserved for the image, which is the region that can be addressed by two PGDs. This would imply that the first available memory to use is located at 0xC0800000, but that is not the case. Linux tries to reserve the first 16MiB of memory for ZONE_DMA, so the first virtual area used for kernel allocations is actually 0xC1000000. This is where the global mem_map is usually located. ZONE_DMA will still get used, but only when absolutely necessary. I hope this will make you clear ! and for more detail __please__ consult the above Book ... -- Fawad Lateef -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/