#if CONFIG_HIGHMEM 
#ifdef CONFIG_HIGHMEM 
void __init paging_init(void){	unsigned long zones_size[MAX_NR_ZONES] = {0, 0, 0};	/* allocate some pages for kernel housekeeping tasks */	empty_bad_page_table	= (unsigned long) alloc_bootmem_pages(PAGE_SIZE);	empty_bad_page		= (unsigned long) alloc_bootmem_pages(PAGE_SIZE);	empty_zero_page		= (unsigned long) alloc_bootmem_pages(PAGE_SIZE);	memset((void *) empty_zero_page, 0, PAGE_SIZE);#if CONFIG_HIGHMEM	if (num_physpages - num_mappedpages) {		pgd_t *pge;		pud_t *pue;		pmd_t *pme;		pkmap_page_table = alloc_bootmem_pages(PAGE_SIZE);		memset(pkmap_page_table, 0, PAGE_SIZE);		pge = swapper_pg_dir + pgd_index_k(PKMAP_BASE);		pue = pud_offset(pge, PKMAP_BASE);		pme = pmd_offset(pue, PKMAP_BASE);		__set_pmd(pme, virt_to_phys(pkmap_page_table) | _PAGE_TABLE);	}#endif	/* distribute the allocatable pages across the various zones and pass them to the allocator	 */	zones_size[ZONE_DMA]     = max_low_pfn - min_low_pfn;	zones_size[ZONE_NORMAL]  = 0;#ifdef CONFIG_HIGHMEM	zones_size[ZONE_HIGHMEM] = num_physpages - num_mappedpages;#endif	free_area_init(zones_size);#ifdef CONFIG_MMU	/* initialise init's MMU context */	init_new_context(&init_task, &init_mm);#endif} /* end paging_init() */
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/8080f231224ccd3169f39e73fd750ba98d5b98a7/init.c/clean/arch/frv/mm/init.c