prom_trans_ents = n; 
ents = n;  sort(prom_trans, ents, sizeof(struct linux_prom_translation), cmp_ptrans, NULL);  /* Now kick out all the non-OBP entries.  */ for (i = 0; i < ents; i++) { if (in_obp_range(prom_trans[i].virt)) break; } first = i; for (; i < ents; i++) { if (!in_obp_range(prom_trans[i].virt)) break; } last = i;  for (i = 0; i < (last - first); i++) { struct linux_prom_translation *src = &prom_trans[i + first]; struct linux_prom_translation *dest = &prom_trans[i];  *dest = *src; } for (; i < ents; i++) { struct linux_prom_translation *dest = &prom_trans[i]; dest->virt = dest->size = dest->data = 0x0UL; }  prom_trans_ents = last - first;  if (tlb_type == spitfire) { /* Clear diag TTE bits. */ for (i = 0; i < prom_trans_ents; i++) prom_trans[i].data &= ~0x0003fe0000000000UL; } 
static void __init read_obp_translations(void){	int n, node;	node = prom_finddevice("/virtual-memory");	n = prom_getproplen(node, "translations");	if (unlikely(n == 0 || n == -1)) {		prom_printf("prom_mappings: Couldn't get size.\n");		prom_halt();	}	if (unlikely(n > sizeof(prom_trans))) {		prom_printf("prom_mappings: Size %Zd is too big.\n", n);		prom_halt();	}	if ((n = prom_getproperty(node, "translations",				  (char *)&prom_trans[0],				  sizeof(prom_trans))) == -1) {		prom_printf("prom_mappings: Couldn't get property.\n");		prom_halt();	}	n = n / sizeof(struct linux_prom_translation);	prom_trans_ents = n;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c9c10830740df1b5e7848d6fbb68c93a73e8f7cd/init.c/clean/arch/sparc64/mm/init.c