From: Tim 'mithro' Ansell Date: Sat, 26 Sep 2015 07:57:43 +0000 (+1000) Subject: Sort constants in csr generation. X-Git-Tag: 24jan2021_ls180~2111 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d628c147ecb92c871cc68e2f29511c600861fcb9;p=litex.git Sort constants in csr generation. Previously the order of constant output depended on Python's hashing order which changes every run. This caused the file to change every run. With this change the csr.h file will always be the same. This can be verified this with the following; ```bash CSR=software/include/generated/csr.h for i in 1 2 3 4 5 6; do rm -f $CSR; python make.py build-headers cp $CSR $CSR.$i done md5sum $CSR.* ``` --- diff --git a/make.py b/make.py index b0d3967d..fc2eb0d8 100755 --- a/make.py +++ b/make.py @@ -167,7 +167,7 @@ CPU type: {} write_to_file(os.path.join(genhdir, "sdram_phy.h"), boilerplate + sdram_phy_header) mem_header = cpuif.get_mem_header(memory_regions, getattr(soc, "flash_boot_address", None)) write_to_file(os.path.join(genhdir, "mem.h"), boilerplate + mem_header) - csr_header = cpuif.get_csr_header(csr_regions, soc.get_constants()) + csr_header = cpuif.get_csr_header(csr_regions, sorted(soc.get_constants())) write_to_file(os.path.join(genhdir, "csr.h"), boilerplate + csr_header) if actions["build-csr-csv"]: