}
reqToVerify = new Request(*req);
}
- fault = cpu->read(req, sreqLow, sreqHigh, data, lqIdx);
+ fault = cpu->read(req, sreqLow, sreqHigh, lqIdx);
} else {
// Commit will have to clean up whatever happened. Set this
// instruction as executed.
/** CPU read function, forwards read to LSQ. */
Fault read(RequestPtr &req, RequestPtr &sreqLow, RequestPtr &sreqHigh,
- uint8_t *data, int load_idx)
+ int load_idx)
{
- return this->iew.ldstQueue.read(req, sreqLow, sreqHigh,
- data, load_idx);
+ return this->iew.ldstQueue.read(req, sreqLow, sreqHigh, load_idx);
}
/** CPU write function, forwards write to LSQ. */
* index.
*/
Fault read(RequestPtr req, RequestPtr sreqLow, RequestPtr sreqHigh,
- uint8_t *data, int load_idx);
+ int load_idx);
/** Executes a store operation, using the store specified at the store
* index.
template <class Impl>
Fault
LSQ<Impl>::read(RequestPtr req, RequestPtr sreqLow, RequestPtr sreqHigh,
- uint8_t *data, int load_idx)
+ int load_idx)
{
ThreadID tid = req->threadId();
- return thread[tid].read(req, sreqLow, sreqHigh, data, load_idx);
+ return thread[tid].read(req, sreqLow, sreqHigh, load_idx);
}
template <class Impl>
public:
/** Executes the load at the given index. */
Fault read(Request *req, Request *sreqLow, Request *sreqHigh,
- uint8_t *data, int load_idx);
+ int load_idx);
/** Executes the store at the given index. */
Fault write(Request *req, Request *sreqLow, Request *sreqHigh,
template <class Impl>
Fault
LSQUnit<Impl>::read(Request *req, Request *sreqLow, Request *sreqHigh,
- uint8_t *data, int load_idx)
+ int load_idx)
{
DynInstPtr load_inst = loadQueue[load_idx];
// Get shift amount for offset into the store's data.
int shift_amt = req->getVaddr() - storeQueue[store_idx].inst->effAddr;
- if (storeQueue[store_idx].isAllZeros)
- memset(data, 0, req->getSize());
- else
- memcpy(data, storeQueue[store_idx].data + shift_amt,
- req->getSize());
-
// Allocate memory if this is the first time a load is issued.
if (!load_inst->memData) {
load_inst->memData = new uint8_t[req->getSize()];