Przeglądaj źródła

Fix SDRAM checksum generation

H. Peter Anvin 3 lat temu
rodzic
commit
0bb459f8dc
9 zmienionych plików z 14 dodań i 14 usunięć
  1. 3 3
      fpga/max80.qpf
  2. BIN
      fpga/output/v1.jic
  3. BIN
      fpga/output/v1.sof
  4. BIN
      fpga/output/v2.jic
  5. BIN
      fpga/output/v2.sof
  6. 2 2
      rv32/Makefile
  7. 7 7
      rv32/boot.mif
  8. 1 1
      rv32/checksum.h
  9. 1 1
      rv32/system.c

+ 3 - 3
fpga/max80.qpf

@@ -19,14 +19,14 @@
 #
 # Quartus Prime
 # Version 21.1.0 Build 842 10/21/2021 SJ Lite Edition
-# Date created = 00:53:31  January 22, 2022
+# Date created = 01:00:33  January 22, 2022
 #
 # -------------------------------------------------------------------------- #
 
 QUARTUS_VERSION = "21.1"
-DATE = "00:53:31  January 22, 2022"
+DATE = "01:00:33  January 22, 2022"
 
 # Revisions
 
-PROJECT_REVISION = "v1"
 PROJECT_REVISION = "v2"
+PROJECT_REVISION = "v1"

BIN
fpga/output/v1.jic


BIN
fpga/output/v1.sof


BIN
fpga/output/v2.jic


BIN
fpga/output/v2.sof


+ 2 - 2
rv32/Makefile

@@ -34,7 +34,7 @@ gendeps   = -MD -MF $(@D)/.$(@F).d -MT $@
 genhdrs = iodevs.h irqtable.h
 gensrcs =
 
-all: boot.mif dram.hex
+all: boot.mif dram.hex checksum.h
 
 # Generate MIF file for 8Kx32 RAM
 boot_depth  := 8192
@@ -149,6 +149,6 @@ clean:
 	rm -f $(genhdrs) $(gensrcs)
 
 spotless: clean
-	rm -f *.mem *.hex *.mif
+	rm -f *.mem *.hex *.mif checksum.h
 
 -include $(patsubst %,%/.*.d,. $(SUBDIRS))

+ 7 - 7
rv32/boot.mif

@@ -528,11 +528,11 @@ CONTENT BEGIN
 0209 : 002398E0;
 020A : B5659870;
 020B : 000FA683;
-020C : 48B30FA1;
-020D : AC2300DF;
+020C : 48B30F91;
+020D : AE2300DF;
 020E : A803FF1F;
-020F : 0F33FF8F;
-0210 : AC23035F;
+020F : 0F33FFCF;
+0210 : AE23035F;
 0211 : 4EB3FEDF;
 0212 : 95360118;
 0213 : 01D4E4B3;
@@ -1634,9 +1634,9 @@ CONTENT BEGIN
 065B : 6E614A20;
 065C : 20323220;
 065D : 32323032;
-065E : 3A303020;
-065F : 353A3235;
-0660 : 53000A36;
+065E : 3A313020;
+065F : 333A3030;
+0660 : 53000A31;
 0661 : 4D415244;
 0662 : 74616420;
 0663 : 68632061;

+ 1 - 1
rv32/checksum.h

@@ -1,4 +1,4 @@
 #ifndef CHECKSUM_H
 #define CHECKSUM_H
-#define SDRAM_SUM 0x7b62ef0a
+#define SDRAM_SUM 0xd5634772
 #endif

+ 1 - 1
rv32/system.c

@@ -128,7 +128,7 @@ void __hot init(void)
 
 	    wrerr |= *dp ^ v2;
 
-	    *dp++ = v1;
+	    *dp = v1;
 
 	    not_zero |= v1;
 	    all_ones &= v1;