/* paging_init() sets up the page tables, initialises the zone memory maps, and sets up the zero page, bad page and bad page tables.  */
void __init paging_init(struct machine_desc *mdesc)
/* paging_init() sets up the page tables, initialises the zone memory maps, and sets up the zero page, bad page and bad page tables.  */
void __init paging_init(struct machine_desc *mdesc)
{
	void *zero_page;
	build_mem_type_table();
	sanity_check_meminfo();
	prepare_page_table();
	bootmem_init();
	devicemaps_init(mdesc);
	kmap_init();
	top_pmd = pmd_off_k(0xffff0000);
	zero_page = alloc_bootmem_low_pages(PAGE_SIZE);
	empty_zero_page = virt_to_page(zero_page);
	__flush_dcache_page(NULL, empty_zero_page);
}