Jelajahi Sumber

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

.sbss isn't being cleared on soft reset anymore...
H. Peter Anvin 3 tahun lalu
induk
melakukan
bc09800c11
6 mengubah file dengan 3482 tambahan dan 3479 penghapusan
  1. TEMPAT SAMPAH
      fpga/output_files/max80.jbc
  2. TEMPAT SAMPAH
      fpga/output_files/max80.jic
  3. TEMPAT SAMPAH
      fpga/output_files/max80.pof
  4. TEMPAT SAMPAH
      fpga/output_files/max80.sof
  5. 3478 3478
      fw/boot.mif
  6. 4 1
      fw/hello.c

TEMPAT SAMPAH
fpga/output_files/max80.jbc


TEMPAT SAMPAH
fpga/output_files/max80.jic


TEMPAT SAMPAH
fpga/output_files/max80.pof


TEMPAT SAMPAH
fpga/output_files/max80.sof


File diff ditekan karena terlalu besar
+ 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));

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini