if ( sysmap ) for (addr = (unsigned long)sysmap; addr < PAGE_ALIGN((unsigned long)sysmap+sysmap_size) ; addr += PAGE_SIZE) SetPageReserved(virt_to_page(addr));  
void __init mem_init(void){	unsigned long addr;	int codepages = 0;	int datapages = 0;	int initpages = 0;#ifdef CONFIG_HIGHMEM	unsigned long highmem_mapnr;	highmem_mapnr = total_lowmem >> PAGE_SHIFT;#endif /* CONFIG_HIGHMEM */	max_mapnr = total_memory >> PAGE_SHIFT;	high_memory = (void *) __va(PPC_MEMSTART + total_lowmem);	num_physpages = max_mapnr;	/* RAM is assumed contiguous */	totalram_pages += free_all_bootmem();#ifdef CONFIG_BLK_DEV_INITRD	/* if we are booted from BootX with an initial ramdisk,	   make sure the ramdisk pages aren't reserved. */	if (initrd_start) {		for (addr = initrd_start; addr < initrd_end; addr += PAGE_SIZE)			ClearPageReserved(virt_to_page(addr));	}#endif /* CONFIG_BLK_DEV_INITRD */#ifdef CONFIG_PPC_OF	/* mark the RTAS pages as reserved */	if ( rtas_data )		for (addr = (ulong)__va(rtas_data);		     addr < PAGE_ALIGN((ulong)__va(rtas_data)+rtas_size) ;		     addr += PAGE_SIZE)			SetPageReserved(virt_to_page(addr));#endif#ifdef CONFIG_PPC_PMAC	if (agp_special_page)		SetPageReserved(virt_to_page(agp_special_page));#endif	if ( sysmap )		for (addr = (unsigned long)sysmap;		     addr < PAGE_ALIGN((unsigned long)sysmap+sysmap_size) ;		     addr += PAGE_SIZE)			SetPageReserved(virt_to_page(addr));	for (addr = PAGE_OFFSET; addr < (unsigned long)high_memory;	     addr += PAGE_SIZE) {		if (!PageReserved(virt_to_page(addr)))			continue;		if (addr < (ulong) etext)			codepages++;		else if (addr >= (unsigned long)&__init_begin			 && addr < (unsigned long)&__init_end)			initpages++;		else if (addr < (ulong) klimit)			datapages++;	}#ifdef CONFIG_HIGHMEM	{		unsigned long pfn;		for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) {			struct page *page = mem_map + pfn;			ClearPageReserved(page);			set_page_count(page, 1);			__free_page(page);			totalhigh_pages++;		}		totalram_pages += totalhigh_pages;	}#endif /* CONFIG_HIGHMEM */        printk("Memory: %luk available (%dk kernel code, %dk data, %dk init, %ldk highmem)\n",	       (unsigned long)nr_free_pages()<< (PAGE_SHIFT-10),	       codepages<< (PAGE_SHIFT-10), datapages<< (PAGE_SHIFT-10),	       initpages<< (PAGE_SHIFT-10),	       (unsigned long) (totalhigh_pages << (PAGE_SHIFT-10)));	if (sysmap)		printk("System.map loaded at 0x%08x for debugger, size: %ld bytes\n",			(unsigned int)sysmap, sysmap_size);#ifdef CONFIG_PPC_PMAC	if (agp_special_page)		printk(KERN_INFO "AGP special page: 0x%08lx\n", agp_special_page);#endif	mem_init_done = 1;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6879dc137ea4efad65cab8bf8a7c0b742bcf92cc/init.c/buggy/arch/ppc/mm/init.c