rtas_node = call_prom("open", 1, 1, ADDR("/rtas")); prom_printf("..."); 
rtas_inst = call_prom("open", 1, 1, ADDR("/rtas")); if (!IHANDLE_VALID(rtas_inst)) { prom_printf("opening rtas package failed"); return; }  prom_printf("instantiating rtas at 0x%x ...", base); 
static void __init prom_instantiate_rtas(void){	unsigned long offset = reloc_offset();	struct prom_t *_prom = PTRRELOC(&prom);	phandle prom_rtas, rtas_node;	u32 base, entry = 0;	u32 size = 0;	prom_debug("prom_instantiate_rtas: start...\n");	prom_rtas = call_prom("finddevice", 1, 1, ADDR("/rtas"));	prom_debug("prom_rtas: %x\n", prom_rtas);	if (prom_rtas == (phandle) -1)		return;	prom_getprop(prom_rtas, "rtas-size", &size, sizeof(size));	if (size == 0)		return;	base = alloc_down(size, PAGE_SIZE, 0);	if (base == 0) {		prom_printf("RTAS allocation failed !\n");		return;	}	prom_printf("instantiating rtas at 0x%x", base);	rtas_node = call_prom("open", 1, 1, ADDR("/rtas"));	prom_printf("...");	if (call_prom("call-method", 3, 2,		      ADDR("instantiate-rtas"),		      rtas_node, base) != PROM_ERROR) {		entry = (long)_prom->args.rets[1];	}	if (entry == 0) {		prom_printf(" failed\n");		return;	}	prom_printf(" done\n");	reserve_mem(base, size);	prom_setprop(prom_rtas, "linux,rtas-base", &base, sizeof(base));	prom_setprop(prom_rtas, "linux,rtas-entry", &entry, sizeof(entry));	prom_debug("rtas base     = 0x%x\n", base);	prom_debug("rtas entry    = 0x%x\n", entry);	prom_debug("rtas size     = 0x%x\n", (long)size);	prom_debug("prom_instantiate_rtas: end...\n");}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/1e86d1c648508fd50e6c9960576b87906a7906ad/prom_init.c/buggy/arch/ppc64/kernel/prom_init.c