[OpenBIOS] [commit] r1033 - trunk/openbios-devel/drivers

repository service svn at openbios.org
Fri Feb 18 21:26:57 CET 2011


Author: mcayland
Date: Fri Feb 18 21:26:57 2011
New Revision: 1033
URL: http://tracker.coreboot.org/trac/openbios/changeset/1033

Log:
Fix level 14 and level 10 timers under Solaris 8 on SPARC32.

During boot, if the level 14 timer limit is not set then the Solaris kernel panics with a division by zero
error. Fix this by setting it to the default value as documented in obio.h. Also if the level 10 timer is
not set with a limit of 0, the Solaris kernel constantly outputs "spurious interrupt at processor level
10" messages during boot.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at siriusit.co.uk>

Modified:
   trunk/openbios-devel/drivers/obio.c

Modified: trunk/openbios-devel/drivers/obio.c
==============================================================================
--- trunk/openbios-devel/drivers/obio.c	Thu Feb 17 21:00:49 2011	(r1032)
+++ trunk/openbios-devel/drivers/obio.c	Fri Feb 18 21:26:57 2011	(r1033)
@@ -296,8 +296,8 @@
 
     counter_regs = (struct sun4m_timer_regs *)ofmem_map_io(base + (uint64_t)offset, sizeof(*counter_regs));
     counter_regs->cfg = 0xffffffff;
-    counter_regs->l10_timer_limit = (((1000000/100) + 1) << 10);
-    counter_regs->cpu_timers[0].l14_timer_limit = 0;
+    counter_regs->l10_timer_limit = 0;
+    counter_regs->cpu_timers[0].l14_timer_limit = 0x9c4000;    /* see comment in obio.h */
     counter_regs->cpu_timers[0].cntrl = 1;
 
     for (i = 0; i < SUN4M_NCPU; i++) {



More information about the OpenBIOS mailing list