Skip to content

Commit

Permalink
Sort constants in csr generation.
Browse files Browse the repository at this point in the history
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.*
```
mithro authored and sbourdeauducq committed Sep 27, 2015
1 parent 4fe0f60 commit d628c14
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion make.py
Original file line number Diff line number Diff line change
@@ -167,7 +167,7 @@ def _get_args():
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"]:

0 comments on commit d628c14

Please sign in to comment.