[OpenBIOS] r662 - trunk/openbios-devel/arch/sparc64

svn at openbios.org svn at openbios.org
Tue Jan 5 21:49:50 CET 2010


Author: blueswirl
Date: 2010-01-05 21:49:50 +0100 (Tue, 05 Jan 2010)
New Revision: 662

Modified:
   trunk/openbios-devel/arch/sparc64/entry.S
Log:
Sparc64: clear timer interrupt disable bit (NPT bit when reading tick)

Signed-off-by: Blue Swirl <blauwirbel at gmail.com>

Modified: trunk/openbios-devel/arch/sparc64/entry.S
===================================================================
--- trunk/openbios-devel/arch/sparc64/entry.S	2010-01-03 08:58:56 UTC (rev 661)
+++ trunk/openbios-devel/arch/sparc64/entry.S	2010-01-05 20:49:50 UTC (rev 662)
@@ -17,6 +17,8 @@
 
 #define PROM_ADDR 0x1fff0000000
 #define CFG_ADDR  0x1fe02000510
+#define HZ        10 * 1000 * 1000
+#define TICK_INT_DIS 0x8000000000000000
 
         .globl	entry, _entry
 
@@ -48,7 +50,7 @@
         wrpr    %g0, 0, %otherwin
         wrpr    %g0, 0, %wstate
         ! disable timer now
-        setx    0x8000000000000000, %g2, %g1
+        setx    TICK_INT_DIS, %g2, %g1
         wr      %g1, 0, %tick_cmpr
 
         ! Disable I/D MMUs and caches
@@ -263,8 +265,10 @@
 	wrpr    %g0, (PSTATE_PRIV|PSTATE_PEF|PSTATE_IE), %pstate
 
         ! 100 Hz timer
+        setx    TICK_INT_DIS, %g2, %g1
         rd      %tick, %g2
-        set     10 * 1000 * 1000, %g1
+        andn    %g2, %g1, %g2
+        set     HZ, %g1
         add     %g1, %g2, %g1
         wr      %g1, 0, %tick_cmpr
 




More information about the OpenBIOS mailing list