cpu-o3: added _amo_op parameter in o3 LSQ
authorJordi Vaquero <jordi.vaquero@metempsy.com>
Fri, 26 Jul 2019 14:31:39 +0000 (16:31 +0200)
committerJordi Vaquero <jordi.vaquero@metempsy.com>
Wed, 7 Aug 2019 17:19:22 +0000 (17:19 +0000)
Fix bug with AMO (or RMW) instructions where the amo_op variable
is not being propagated to the LSQ request.

Change-Id: I60c59641d9b497051376f638e27f3c4cc361f615
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19814
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
src/cpu/o3/lsq.hh

index 4701a8c9acc5a19d647b920390e3a3b34bb61011..29c76f7b69c23ceec7cd039e9b6274969edd3ab6 100644 (file)
@@ -366,7 +366,7 @@ class LSQ
                 isAnyActiveElement(byteEnable.begin(), byteEnable.end())) {
                 auto request = std::make_shared<Request>(_inst->getASID(),
                         addr, size, _flags, _inst->masterId(),
-                        _inst->instAddr(), _inst->contextId());
+                        _inst->instAddr(), _inst->contextId(), _amo_op);
                 if (!byteEnable.empty()) {
                     request->setByteEnable(byteEnable);
                 }