LINUX页表初始化bootmem_bootmap_pages中的问题
以下是bootmem_bootmap_pages的函数体;/* return the number of _pages_ that will be allocated for the boot bitmap */
unsigned long __init bootmem_bootmap_pages (unsigned long pages)
{
unsigned long mapsize;
mapsize = (pages+7)/8;
mapsize = (mapsize + ~PAGE_MASK) & PAGE_MASK;
mapsize >>= PAGE_SHIFT;
return mapsize;
}
我不清楚,它的机制是什么样的?为什么要这么计算,希望高人给指点一下;
如mapsize = (pages+7)/8;为什么是这样
页:
[1]