[OpenBIOS] [PATCH] SPARC64: revert of r1287 100Hz timer interval fixup

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Mon Aug 11 10:01:07 CEST 2014


Commit r1287 (which only increases the L11 timer frequency from 10Hz to 100Hz)
causes HelenOS boot to become extremely unreliable under QEMU. Revert the
frequency fix so the timer frequency is set back to 10Hz, but instead increase
the get-msecs counter increment by 10. This ensures that while the timer
resolution is degraded, get-msecs still returns a reasonably time accurate
value.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
CC: Artyom Tarasenko <atar4qemu at gmail.com>
---
 openbios-devel/arch/sparc64/entry.S   |    2 +-
 openbios-devel/arch/sparc64/vectors.S |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/openbios-devel/arch/sparc64/entry.S b/openbios-devel/arch/sparc64/entry.S
index d03128a..33632b1 100644
--- a/openbios-devel/arch/sparc64/entry.S
+++ b/openbios-devel/arch/sparc64/entry.S
@@ -17,7 +17,7 @@
 
 #define PROM_ADDR 0x1fff0000000
 #define CFG_ADDR  0x1fe02000510
-#define HZ        1 * 1000 * 1000
+#define HZ        10 * 1000 * 1000
 #define TICK_INT_DIS 0x8000000000000000
 
         .globl	entry, _entry
diff --git a/openbios-devel/arch/sparc64/vectors.S b/openbios-devel/arch/sparc64/vectors.S
index 927c1cd..cd2b988 100644
--- a/openbios-devel/arch/sparc64/vectors.S
+++ b/openbios-devel/arch/sparc64/vectors.S
@@ -30,7 +30,7 @@
 #define PROM_ADDR 0x1fff0000000
 #define SER_ADDR 0x1fe020003f8
 #define TICK_INT_DIS 0x8000000000000000
-#define TICK_INTERVAL 1*1000*1000
+#define TICK_INTERVAL 10*1000*1000
 
         .section ".text.vectors", "ax"
         .align 16384
@@ -630,7 +630,7 @@ softint_irq:
          nop
 
         ldx     [%g3], %g1
-        add     %g1, 10, %g1    ! 100Hz = 10ms
+        add     %g1, 100, %g1    ! 10Hz = 100ms
         stx     %g1, [%g3]
          
 tick_rearm:         
-- 
1.7.10.4




More information about the OpenBIOS mailing list