p = NODE_DATA(node)->node_mem_map + (slot_getbasepfn(node, slot) - slot_getbasepfn(node, 0)); 
p = nid_page_nr(node, slot_getbasepfn(node, slot) - slot_getbasepfn(node, 0)); 
void __init mem_init(void){	unsigned long codesize, datasize, initsize, tmp;	unsigned node;	high_memory = (void *) __va(num_physpages << PAGE_SHIFT);	for_each_online_node(node) {		unsigned slot, numslots;		struct page *end, *p;			/*	 	 * This will free up the bootmem, ie, slot 0 memory.	 	 */		totalram_pages += free_all_bootmem_node(NODE_DATA(node));		/*		 * We need to manually do the other slots.		 */		numslots = node_getlastslot(node);		for (slot = 1; slot <= numslots; slot++) {			p = NODE_DATA(node)->node_mem_map +				(slot_getbasepfn(node, slot) -				 slot_getbasepfn(node, 0));			/*			 * Free valid memory in current slot.			 */			for (end = p + slot_getsize(node, slot); p < end; p++) {				/* if (!page_is_ram(pgnr)) continue; */				/* commented out until page_is_ram works */				ClearPageReserved(p);				set_page_count(p, 1);				__free_page(p);				totalram_pages++;			}		}	}	totalram_pages -= setup_zero_pages();	/* This comes from node 0 */	codesize =  (unsigned long) &_etext - (unsigned long) &_text;	datasize =  (unsigned long) &_edata - (unsigned long) &_etext;	initsize =  (unsigned long) &__init_end - (unsigned long) &__init_begin;	tmp = nr_free_pages();	printk(KERN_INFO "Memory: %luk/%luk available (%ldk kernel code, "	       "%ldk reserved, %ldk data, %ldk init, %ldk highmem)\n",	       tmp << (PAGE_SHIFT-10),	       num_physpages << (PAGE_SHIFT-10),	       codesize >> 10,	       (num_physpages - tmp) << (PAGE_SHIFT-10),	       datasize >> 10,	       initsize >> 10,	       (unsigned long) (totalhigh_pages << (PAGE_SHIFT-10)));}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/408fde81c1bff15c875a3618481e93a01dcc79ea/ip27-memory.c/buggy/arch/mips/sgi-ip27/ip27-memory.c