From 27a0e16fea37e6b87a604ab2d66bc7c1c3203fea Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Sat, 26 Sep 2015 17:57:43 +1000 Subject: [PATCH] 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.* ``` --- make.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/make.py b/make.py index 2d820aa93..206ac0957 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"]: