The VIPER configuration uses the MOESI_AMD_Base protocol's directory. This protocol does not wait for memory ACKs. As a result, this can lead to read requests being pulled out of the MessageBuffer between the directory and DRAMCtrl before a write request to the same address. This leads to inconsistent data. To fix this, make the MessageBuffers ordered. Since these MessageBuffers are essentially just an interface between SLICC and DRAMCtrl, and DRAMCtrl can reorder requests properly, this should not cause any large impact on performance due to the constraint. Also remove the duplicate instantiation of these MessageBuffers. Change-Id: I59653717cc79884e733af3958adfc14941703958 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/57411 Reviewed-by: Matthew Poremba <matthew.poremba@amd.com> Maintainer: Matthew Poremba <matthew.poremba@amd.com> Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com> Maintainer: Matt Sinclair <mattdsinclair@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>