kernels/linux-2.4.0/arch/sparc64/prom/misc.c
/* Drop into the prom, with the chance to continue with the 'go'
 * prom command.
 */
Drop into the prom, with the chance to continue with the 'go'
prom command.
Drop into the prom with the chance to continue with the ' go ' prom command .
void
prom_cmdline(void)
{
	unsigned long flags;
	__save_and_cli(flags);
#ifdef CONFIG_SUN_CONSOLE
	if(!serial_console && prom_palette)
		prom_palette (1);
#endif
#ifdef CONFIG_SMP
	irq_exit(smp_processor_id(), 0);
	smp_capture();
#else
	local_irq_count(smp_processor_id())--;
#endif
	p1275_cmd ("enter", P1275_INOUT(0,0));
#ifdef CONFIG_SMP
	smp_release();
	irq_enter(smp_processor_id(), 0);
	spin_unlock_wait(&__br_write_locks[BR_GLOBALIRQ_LOCK].lock);
#else
	local_irq_count(smp_processor_id())++;
#endif
#ifdef CONFIG_SUN_CONSOLE
	if(!serial_console && prom_palette)
		prom_palette (0);
#endif
	__restore_flags(flags);
}
void prom_cmdline ( void ) { unsigned long flags ; __save_and_cli ( flags ) ; #ifdef CONFIG_SUN_CONSOLE if ( ! serial_console && prom_palette ) prom_palette ( 1 ) ; #endif #ifdef CONFIG_SMP irq_exit ( smp_processor_id ( ) , 0 ) ; smp_capture ( ) ; #else local_irq_count ( smp_processor_id ( ) ) -- ; #endif p1275_cmd ( " " , P1275_INOUT ( 0 , 0 ) ) ; #ifdef CONFIG_SMP smp_release ( ) ; irq_enter ( smp_processor_id ( ) , 0 ) ; spin_unlock_wait ( & __br_write_locks [ BR_GLOBALIRQ_LOCK ] . lock ) ; #else local_irq_count ( smp_processor_id ( ) ) ++ ; #endif #ifdef CONFIG_SUN_CONSOLE if ( ! serial_console && prom_palette ) prom_palette ( 0 ) ; #endif __restore_flags ( flags ) ; }
Drop into the prom, with the chance to continue with the 'go'
 prom command.
Drop into the prom with the chance to continue with the ' go ' prom command .
/* We always arrive here via a serial interrupt.
	 * So in order for everything to work reliably, even
	 * on SMP, we need to drop the IRQ locks we hold.
	 */