Two small fixes for mem_req's and Probe path with MOSI/MOESI
cpu/simple/cpu.cc: Properly set the Instruction Read bit in the Memory Request --HG-- extra : convert_revision : e1a4756f32718fd8ef3ac3db16625bd6d8f07cc5
This commit is contained in:
parent
481219caf6
commit
ffc32970f6
|
@ -382,6 +382,7 @@ SimpleCPU::copy(Addr dest)
|
||||||
memReq->dest = dest_addr;
|
memReq->dest = dest_addr;
|
||||||
memReq->size = 64;
|
memReq->size = 64;
|
||||||
memReq->time = curTick;
|
memReq->time = curTick;
|
||||||
|
memReq->flags &= ~INST_READ;
|
||||||
dcacheInterface->access(memReq);
|
dcacheInterface->access(memReq);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -412,6 +413,7 @@ SimpleCPU::read(Addr addr, T &data, unsigned flags)
|
||||||
memReq->cmd = Read;
|
memReq->cmd = Read;
|
||||||
memReq->completionEvent = NULL;
|
memReq->completionEvent = NULL;
|
||||||
memReq->time = curTick;
|
memReq->time = curTick;
|
||||||
|
memReq->flags &= ~INST_READ;
|
||||||
MemAccessResult result = dcacheInterface->access(memReq);
|
MemAccessResult result = dcacheInterface->access(memReq);
|
||||||
|
|
||||||
// Ugly hack to get an event scheduled *only* if the access is
|
// Ugly hack to get an event scheduled *only* if the access is
|
||||||
|
@ -500,6 +502,7 @@ SimpleCPU::write(T data, Addr addr, unsigned flags, uint64_t *res)
|
||||||
memcpy(memReq->data,(uint8_t *)&data,memReq->size);
|
memcpy(memReq->data,(uint8_t *)&data,memReq->size);
|
||||||
memReq->completionEvent = NULL;
|
memReq->completionEvent = NULL;
|
||||||
memReq->time = curTick;
|
memReq->time = curTick;
|
||||||
|
memReq->flags &= ~INST_READ;
|
||||||
MemAccessResult result = dcacheInterface->access(memReq);
|
MemAccessResult result = dcacheInterface->access(memReq);
|
||||||
|
|
||||||
// Ugly hack to get an event scheduled *only* if the access is
|
// Ugly hack to get an event scheduled *only* if the access is
|
||||||
|
@ -714,6 +717,7 @@ SimpleCPU::tick()
|
||||||
memReq->completionEvent = NULL;
|
memReq->completionEvent = NULL;
|
||||||
|
|
||||||
memReq->time = curTick;
|
memReq->time = curTick;
|
||||||
|
memReq->flags |= INST_READ;
|
||||||
MemAccessResult result = icacheInterface->access(memReq);
|
MemAccessResult result = icacheInterface->access(memReq);
|
||||||
|
|
||||||
// Ugly hack to get an event scheduled *only* if the access is
|
// Ugly hack to get an event scheduled *only* if the access is
|
||||||
|
|
Loading…
Reference in a new issue