flush_tlb_all(); 
local_flush_tlb_all(); 
void __init paging_init(struct meminfo *mi, struct machine_desc *mdesc){	void *zero_page;	int node;	bootmem_init(mi);	memcpy(&meminfo, mi, sizeof(meminfo));	/*	 * allocate the zero page.  Note that we count on this going ok.	 */	zero_page = alloc_bootmem_low_pages(PAGE_SIZE);	/*	 * initialise the page tables.	 */	memtable_init(mi);	if (mdesc->map_io)		mdesc->map_io();	flush_tlb_all();	/*	 * initialise the zones within each node	 */	for_each_online_node(node) {		unsigned long zone_size[MAX_NR_ZONES];		unsigned long zhole_size[MAX_NR_ZONES];		struct bootmem_data *bdata;		pg_data_t *pgdat;		int i;		/*		 * Initialise the zone size information.		 */		for (i = 0; i < MAX_NR_ZONES; i++) {			zone_size[i]  = 0;			zhole_size[i] = 0;		}		pgdat = NODE_DATA(node);		bdata = pgdat->bdata;		/*		 * The size of this node has already been determined.		 * If we need to do anything fancy with the allocation		 * of this memory to the zones, now is the time to do		 * it.		 */		zone_size[0] = bdata->node_low_pfn -				(bdata->node_boot_start >> PAGE_SHIFT);		/*		 * If this zone has zero size, skip it.		 */		if (!zone_size[0])			continue;		/*		 * For each bank in this node, calculate the size of the		 * holes.  holes = node_size - sum(bank_sizes_in_node)		 */		zhole_size[0] = zone_size[0];		for (i = 0; i < mi->nr_banks; i++) {			if (mi->bank[i].node != node)				continue;			zhole_size[0] -= mi->bank[i].size >> PAGE_SHIFT;		}		/*		 * Adjust the sizes according to any special		 * requirements for this machine type.		 */		arch_adjust_zones(node, zone_size, zhole_size);		free_area_init_node(node, pgdat, zone_size,				bdata->node_boot_start >> PAGE_SHIFT, zhole_size);	}	/*	 * finish off the bad pages once	 * the mem_map is initialised	 */	memzero(zero_page, PAGE_SIZE);	empty_zero_page = virt_to_page(zero_page);	flush_dcache_page(empty_zero_page);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/564c90aa07cd43dc434d46cef8a15773a23d49a2/init.c/buggy/arch/arm/mm/init.c