projects
/
gem5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Another pass of minor changes in preparation for new protocol.
[gem5.git]
/
src
/
mem
/
cache
/
miss
/
mshr_queue.cc
diff --git
a/src/mem/cache/miss/mshr_queue.cc
b/src/mem/cache/miss/mshr_queue.cc
index d3a7a79330fd8d5c81497c869b8cdece5ed232a4..e9aa89bf8409970c495a98d8c3ef33c3be92b20c 100644
(file)
--- a/
src/mem/cache/miss/mshr_queue.cc
+++ b/
src/mem/cache/miss/mshr_queue.cc
@@
-119,7
+119,6
@@
MSHRQueue::allocate(PacketPtr &pkt, int size)
if (!pkt->needsResponse()) {
mshr->allocateAsBuffer(pkt);
} else {
if (!pkt->needsResponse()) {
mshr->allocateAsBuffer(pkt);
} else {
- assert(size !=0);
mshr->allocate(pkt->cmd, aligned_addr, size, pkt);
allocatedTargets += 1;
}
mshr->allocate(pkt->cmd, aligned_addr, size, pkt);
allocatedTargets += 1;
}
@@
-136,7
+135,7
@@
MSHRQueue::allocateFetch(Addr addr, int size, PacketPtr &target)
MSHR *mshr = freeList.front();
assert(mshr->getNumTargets() == 0);
freeList.pop_front();
MSHR *mshr = freeList.front();
assert(mshr->getNumTargets() == 0);
freeList.pop_front();
- mshr->allocate(
Packet
::ReadReq, addr, size, target);
+ mshr->allocate(
MemCmd
::ReadReq, addr, size, target);
mshr->allocIter = allocatedList.insert(allocatedList.end(), mshr);
mshr->readyIter = pendingList.insert(pendingList.end(), mshr);
mshr->allocIter = allocatedList.insert(allocatedList.end(), mshr);
mshr->readyIter = pendingList.insert(pendingList.end(), mshr);
@@
-151,7
+150,7
@@
MSHRQueue::allocateTargetList(Addr addr, int size)
assert(mshr->getNumTargets() == 0);
freeList.pop_front();
PacketPtr dummy;
assert(mshr->getNumTargets() == 0);
freeList.pop_front();
PacketPtr dummy;
- mshr->allocate(
Packet
::ReadReq, addr, size, dummy);
+ mshr->allocate(
MemCmd
::ReadReq, addr, size, dummy);
mshr->allocIter = allocatedList.insert(allocatedList.end(), mshr);
mshr->inService = true;
++inServiceMSHRs;
mshr->allocIter = allocatedList.insert(allocatedList.end(), mshr);
mshr->inService = true;
++inServiceMSHRs;
@@
-196,13
+195,8
@@
void
MSHRQueue::markInService(MSHR* mshr)
{
//assert(mshr == pendingList.front());
MSHRQueue::markInService(MSHR* mshr)
{
//assert(mshr == pendingList.front());
- if (!mshr->pkt->needsResponse() && !(mshr->pkt->cmd ==
Packet
::UpgradeReq)) {
+ if (!mshr->pkt->needsResponse() && !(mshr->pkt->cmd ==
MemCmd
::UpgradeReq)) {
assert(mshr->getNumTargets() == 0);
assert(mshr->getNumTargets() == 0);
- if ((mshr->pkt->flags & SATISFIED) && (mshr->pkt->cmd == Packet::Writeback)) {
- //Writeback hit, so delete it
- //otherwise the consumer will delete it
- delete mshr->pkt->req;
- }
deallocate(mshr);
return;
}
deallocate(mshr);
return;
}
@@
-214,7
+208,7
@@
MSHRQueue::markInService(MSHR* mshr)
}
void
}
void
-MSHRQueue::markPending(MSHR* mshr,
Packet::Comman
d cmd)
+MSHRQueue::markPending(MSHR* mshr,
MemCm
d cmd)
{
//assert(mshr->readyIter == NULL);
mshr->pkt->cmd = cmd;
{
//assert(mshr->readyIter == NULL);
mshr->pkt->cmd = cmd;