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~2106^2~39 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=27a0e16fea37e6b87a604ab2d66bc7c1c3203fea;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 2d820aa9..206ac095 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 = cpu_interface.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 = cpu_interface.get_csr_header(csr_regions, soc.get_constants()) + csr_header = cpu_interface.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"]: