forgot to pass cix (cache-inhibited) through to LD/ST which was
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 23 Feb 2022 17:17:50 +0000 (17:17 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 23 Feb 2022 17:17:58 +0000 (17:17 +0000)
commitff6742035f643135729e19c531f0aa9d86934972
tree72e855eead273668c461fb9f37169bc8ce0ec405
parent442546d5bffafb8571f50b1a4dc48e83ace1ce47
forgot to pass cix (cache-inhibited) through to LD/ST which was
causing D-Cache to make too many read/writes and overrun wishbone
bus addressing on peripherals.
D-Cache always (for non-cache-inhibited) makes 8 64-bit requests:
if a memory-mapped peripheral has only say 3 32-bit CSRs then the
additional requests beyond the range of the peripheral will cause
a permanent lock-up
src/soc/experiment/compldst_multi.py
src/soc/experiment/pi2ls.py
src/soc/experiment/pimem.py
src/soc/experiment/test/test_l0_cache_buffer2.py
src/soc/experiment/test/test_mmu_dcache_pi.py
src/soc/fu/ldst/loadstore.py