Explorar o código

fw: make sure to clear the timer IRQ counter on init...

.sbss isn't being cleared on soft reset anymore...
H. Peter Anvin %!s(int64=3) %!d(string=hai) anos
pai
achega
bc09800c11
Modificáronse 6 ficheiros con 3482 adicións e 3479 borrados
  1. BIN=BIN
      fpga/output_files/max80.jbc
  2. BIN=BIN
      fpga/output_files/max80.jic
  3. BIN=BIN
      fpga/output_files/max80.pof
  4. BIN=BIN
      fpga/output_files/max80.sof
  5. 3478 3478
      fw/boot.mif
  6. 4 1
      fw/hello.c

BIN=BIN
fpga/output_files/max80.jbc


BIN=BIN
fpga/output_files/max80.jic


BIN=BIN
fpga/output_files/max80.pof


BIN=BIN
fpga/output_files/max80.sof


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 3478 - 3478
fw/boot.mif


+ 4 - 1
fw/hello.c

@@ -145,6 +145,7 @@ static void periodic_irq(unsigned int vector)
     set_led(count >> 3); /* 4 Hz */
 }
 
+static uint32_t timer_irq_start;
 static void init(void)
 {
     static const char hello[] =
@@ -156,6 +157,8 @@ static void init(void)
 
     con_puts(hello);
 
+    timer_irq_count = 0;
+    timer_irq_start = rdtime();
     register_irq(3, periodic_irq, true);
 }
 
@@ -184,7 +187,7 @@ void main(void)
     scrub_sdram();
 
     irq_count = timer_irq_count;
-    done = rdtime() - time_zero;
+    done = rdtime() - timer_irq_start;
 
     con_printf("%u timer interrupts received in %u us\n",
 	       irq_count, done/(CPU_HZ/1000000));

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio