patch-2.1.34 linux/arch/sparc64/prom/misc.c

Next file: linux/arch/sparc64/prom/p1275.c
Previous file: linux/arch/sparc64/prom/init.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.33/linux/arch/sparc64/prom/misc.c linux/arch/sparc64/prom/misc.c
@@ -1,4 +1,4 @@
-/* $Id: misc.c,v 1.4 1997/03/04 16:27:11 jj Exp $
+/* $Id: misc.c,v 1.6 1997/04/10 05:13:05 davem Exp $
  * misc.c:  Miscellaneous prom functions that don't belong
  *          anywhere else.
  *
@@ -40,6 +40,7 @@
 /* Drop into the prom, with the chance to continue with the 'go'
  * prom command.
  */
+/* XXX Fix the pre and post calls as it locks up my Ultra at the moment -DaveM */
 void
 prom_cmdline(void)
 {
@@ -48,20 +49,24 @@
 	extern void install_linux_ticker(void);
 	unsigned long flags;
     
-	kernel_enter_debugger();
+	/* kernel_enter_debugger(); */
 #ifdef CONFIG_SUN_CONSOLE
+#if 0
 	if(!serial_console)
 		console_restore_palette ();
 #endif
-	install_obp_ticker();
+#endif
+	/* install_obp_ticker(); */
 	save_flags(flags); cli();
 	p1275_cmd ("enter", P1275_INOUT(0,0));
 	restore_flags(flags);
-	install_linux_ticker();
+	/* install_linux_ticker(); */
 #ifdef CONFIG_SUN_CONSOLE
+#if 0
 	if(!serial_console)
 		set_palette ();
 #endif
+#endif
 }
 
 /* Drop into the prom, but completely terminate the program.
@@ -70,7 +75,9 @@
 void
 prom_halt(void)
 {
+again:
 	p1275_cmd ("exit", P1275_INOUT(0,0));
+	goto again; /* PROM is out to get me -DaveM */
 }
 
 /* Set prom sync handler to call function 'funcp'. */
@@ -118,4 +125,10 @@
 prom_getprev(void)
 {
 	return prom_prev;
+}
+
+/* Install Linux trap table so PROM uses that instead of it's own. */
+void prom_set_trap_table(unsigned long tba)
+{
+	p1275_cmd("SUNW,set-trap-table", P1275_INOUT(1, 0), tba);
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov