printk(KERN_EMERG "Press L1-A to return to the boot prom\n"); 
printk(KERN_EMERG "Press Stop-A (L1-A) to return to the boot prom\n"); 
NORET_TYPE void panic(const char * fmt, ...){	long i;	static char buf[1024];	va_list args;#if defined(CONFIG_ARCH_S390)        unsigned long caller = (unsigned long) __builtin_return_address(0);#endif	bust_spinlocks(1);	va_start(args, fmt);	vsnprintf(buf, sizeof(buf), fmt, args);	va_end(args);	printk(KERN_EMERG "Kernel panic - not syncing: %s\n",buf);	bust_spinlocks(0);#ifdef CONFIG_SMP	smp_send_stop();#endif	notifier_call_chain(&panic_notifier_list, 0, buf);	if (!panic_blink)		panic_blink = no_blink;	if (panic_timeout > 0)	{		/*	 	 * Delay timeout seconds before rebooting the machine. 		 * We can't use the "normal" timers since we just panicked..	 	 */		printk(KERN_EMERG "Rebooting in %d seconds..",panic_timeout);		for (i = 0; i < panic_timeout*1000; ) {			touch_nmi_watchdog();			i += panic_blink(i);			mdelay(1);			i++;		}		/*		 *	Should we run the reboot notifier. For the moment Im		 *	choosing not too. It might crash, be corrupt or do		 *	more harm than good for other reasons.		 */		machine_restart(NULL);	}#ifdef __sparc__	{		extern int stop_a_enabled;		/* Make sure the user can actually press L1-A */		stop_a_enabled = 1;		printk(KERN_EMERG "Press L1-A to return to the boot prom\n");	}#endif#if defined(CONFIG_ARCH_S390)        disabled_wait(caller);#endif	local_irq_enable();	for (i = 0;;) {		i += panic_blink(i);		mdelay(1);		i++;	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a271c241a6036d4d583d0f47a02ba5f18b8b92b5/panic.c/buggy/kernel/panic.c