[OpenBIOS] [PATCH] Dummy tick counter

Olivier Danet odanet at caramail.com
Sat Feb 1 21:54:59 CET 2014


romvec.pvtime is a pointer to a millisecond rate uptime counter.
NextSTEP uses this counter for timing the 10 seconds timeout during 
boot, when
asking for boot options.

For now, let's just set this to a constant, there is no timeout, but we 
avoid
null pointer dereferencing.

Signed-off-by: Olivier Danet <odanet at caramail.com>
===================================================================
--- arch/sparc32/romvec.c    (révision 1257)
+++ arch/sparc32/romvec.c    (copie de travail)
@@ -26,7 +26,7 @@

  char obp_stdin, obp_stdout;
  const char *obp_stdin_path, *obp_stdout_path;
-
+int32_t obp_ticks;
  struct linux_arguments_v0 obp_arg;
  const char *bootpath;
  static const struct linux_arguments_v0 * const obp_argp = &obp_arg;
@@ -456,6 +456,8 @@
         via their handler (see call-romvec.S) which acts as a proxy to save
         the globals and setup the stack correctly */

+    obp_ticks = 10000; /* Dummy. Ticks should be the uptime, in 
milliseconds. */
+
      // Linux wants a R/W romvec table
      romvec0.pv_magic_cookie = LINUX_OPPROM_MAGIC;
      romvec0.pv_romvers = 3;
@@ -479,6 +481,7 @@
      romvec0.pv_reboot = obp_reboot_handler;
      romvec0.pv_printf = obp_printf_handler;
      romvec0.pv_abort = obp_abort_handler;
+    romvec0.pv_ticks = &obp_ticks;
      romvec0.pv_halt = obp_halt_handler;
      romvec0.pv_synchook = &sync_hook;
      romvec0.pv_v0bootargs = &obp_argp;
===================================================================



More information about the OpenBIOS mailing list