diff options
author | Mitch Hayenga <Mitch.Hayenga@ARM.com> | 2014-04-01 14:22:06 -0500 |
---|---|---|
committer | Mitch Hayenga <Mitch.Hayenga@ARM.com> | 2014-04-01 14:22:06 -0500 |
commit | e4086878f62f5eacb84b9bf2183975e92ff564f5 (patch) | |
tree | 11d1c0ae98acb4be25d0f08a238de7a5fb26d254 /src | |
parent | a0d30f36a6cdc7f686be0e6145e78e030ef973c3 (diff) | |
download | gem5-e4086878f62f5eacb84b9bf2183975e92ff564f5.tar.xz |
cpu: Fix case where o3 lsq could print out uninitialized data
In the O3 LSQ, data read/written is printed out in DPRINTFs. However,
the data field is treated as a character string with a null terminated.
However the data field is not encoded this way. This patch removes
that possibility by removing the data part of the print.
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/o3/lsq_unit.hh | 7 | ||||
-rw-r--r-- | src/cpu/o3/lsq_unit_impl.hh | 4 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/cpu/o3/lsq_unit.hh b/src/cpu/o3/lsq_unit.hh index 724d2cb0b..0978e721b 100644 --- a/src/cpu/o3/lsq_unit.hh +++ b/src/cpu/o3/lsq_unit.hh @@ -711,8 +711,7 @@ LSQUnit<Impl>::read(Request *req, Request *sreqLow, Request *sreqHigh, storeQueue[store_idx].data + shift_amt, req->getSize()); DPRINTF(LSQUnit, "Forwarding from store idx %i to load to " - "addr %#x, data %#x\n", - store_idx, req->getVaddr(), data); + "addr %#x\n", store_idx, req->getVaddr()); PacketPtr data_pkt = new Packet(req, MemCmd::ReadReq); data_pkt->dataStatic(load_inst->memData); @@ -916,9 +915,9 @@ LSQUnit<Impl>::write(Request *req, Request *sreqLow, Request *sreqHigh, { assert(storeQueue[store_idx].inst); - DPRINTF(LSQUnit, "Doing write to store idx %i, addr %#x data %#x" + DPRINTF(LSQUnit, "Doing write to store idx %i, addr %#x" " | storeHead:%i [sn:%i]\n", - store_idx, req->getPaddr(), data, storeHead, + store_idx, req->getPaddr(), storeHead, storeQueue[store_idx].inst->seqNum); storeQueue[store_idx].req = req; diff --git a/src/cpu/o3/lsq_unit_impl.hh b/src/cpu/o3/lsq_unit_impl.hh index 89c30aa46..416f3e7e7 100644 --- a/src/cpu/o3/lsq_unit_impl.hh +++ b/src/cpu/o3/lsq_unit_impl.hh @@ -155,12 +155,12 @@ LSQUnit<Impl>::init(O3CPU *cpu_ptr, IEW *iew_ptr, DerivO3CPUParams *params, cpu = cpu_ptr; iewStage = iew_ptr; - DPRINTF(LSQUnit, "Creating LSQUnit%i object.\n",id); - lsq = lsq_ptr; lsqID = id; + DPRINTF(LSQUnit, "Creating LSQUnit%i object.\n",id); + // Add 1 for the sentinel entry (they are circular queues). LQEntries = maxLQEntries + 1; SQEntries = maxSQEntries + 1; |