mem: When loading an image directly in memory, use the right CL size.
authorGabe Black <gabeblack@google.com>
Fri, 25 Sep 2020 07:56:24 +0000 (00:56 -0700)
committerGabe Black <gabeblack@google.com>
Sat, 26 Sep 2020 01:16:40 +0000 (01:16 +0000)
commit4b63d5e7a87b3d7b30d41348c5edda3a02f5268c
tree275c16391ec42d9932eaaea0fc81720cf68a7006
parent873ceaded5d05116d4f8589f604b03520c906231
mem: When loading an image directly in memory, use the right CL size.

Some code was added fairly recently which would load a memory image
into a memory directly in order to make it easier to set up ROMs.
Unfortunately, that code accidentally used the image size instead of
the cache line size when setting up the port proxy which would actually
write the data. This happens to work when the image size is a power of
two since that's all the proxy checks for, but there's no guarantee
that every image will be sized that way.

This change instead looks into the system object, retrieves the cache
line size from it, and uses that to set up the port proxy.

Change-Id: I227ac475b855d9516e1feb881769e12ec4e7d598
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/35155
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/abstract_mem.cc