for (i = 0; i < 16 && memory_chunk[i].size > 0; i++) { 
for (i = 0; i < MEMORY_CHUNKS && memory_chunk[i].size > 0; i++) { 
setup_memory(void){        unsigned long bootmap_size;	unsigned long start_pfn, end_pfn;	unsigned long last_rw_end;	int i;	/*	 * partially used pages are not usable - thus	 * we are rounding upwards:	 */	start_pfn = (__pa(&_end) + PAGE_SIZE - 1) >> PAGE_SHIFT;	end_pfn = max_pfn = memory_end >> PAGE_SHIFT;	/*	 * Initialize the boot-time allocator (with low memory only):	 */	bootmap_size = init_bootmem(start_pfn, end_pfn);	/*	 * Register RAM areas with the bootmem allocator.	 */	last_rw_end = start_pfn;	for (i = 0; i < 16 && memory_chunk[i].size > 0; i++) {		unsigned long start_chunk, end_chunk;		if (memory_chunk[i].type != CHUNK_READ_WRITE)			continue;		start_chunk = (memory_chunk[i].addr + PAGE_SIZE - 1);		start_chunk >>= PAGE_SHIFT;		end_chunk = (memory_chunk[i].addr + memory_chunk[i].size);		end_chunk >>= PAGE_SHIFT;		if (start_chunk < start_pfn)			start_chunk = start_pfn;		if (end_chunk > end_pfn)			end_chunk = end_pfn;		if (start_chunk < end_chunk) {			free_bootmem(start_chunk << PAGE_SHIFT,				     (end_chunk - start_chunk) << PAGE_SHIFT);			if (last_rw_end < start_chunk)				add_memory_hole(last_rw_end, start_chunk - 1);			last_rw_end = end_chunk;		}	}	if (last_rw_end < end_pfn - 1)		add_memory_hole(last_rw_end, end_pfn - 1);	/*	 * Reserve the bootmem bitmap itself as well. We do this in two	 * steps (first step was init_bootmem()) because this catches	 * the (very unlikely) case of us accidentally initializing the	 * bootmem allocator with an invalid RAM area.	 */	reserve_bootmem(start_pfn << PAGE_SHIFT, bootmap_size);#ifdef CONFIG_BLK_DEV_INITRD	if (INITRD_START) {		if (INITRD_START + INITRD_SIZE <= memory_end) {			reserve_bootmem(INITRD_START, INITRD_SIZE);			initrd_start = INITRD_START;			initrd_end = initrd_start + INITRD_SIZE;		} else {			printk("initrd extends beyond end of memory "			       "(0x%08lx > 0x%08lx)\ndisabling initrd\n",			       initrd_start + INITRD_SIZE, memory_end);			initrd_start = initrd_end = 0;		}	}#endif}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0b642ede47969d4180b0922d982777fe64379228/setup.c/buggy/arch/s390/kernel/setup.c