cpu: Ensure the traffic generator suppresses non-memory packets
This patch adds a check to ensure that packets which are not going to a memory range are suppressed in the traffic generator. Thus, if a trace is collected in full-system, the packets destined for devices are not played back.
This commit is contained in:
parent
d45ab59c29
commit
47313601c1
1 changed files with 12 additions and 4 deletions
|
@ -187,10 +187,18 @@ TrafficGen::update()
|
|||
assert(curTick() >= nextPacketTick);
|
||||
// get the next packet and try to send it
|
||||
PacketPtr pkt = states[currState]->getNextPacket();
|
||||
numPackets++;
|
||||
if (!port.sendTimingReq(pkt)) {
|
||||
retryPkt = pkt;
|
||||
retryPktTick = curTick();
|
||||
|
||||
// suppress packets that are not destined for a memory, such as
|
||||
// device accesses that could be part of a trace
|
||||
if (system->isMemAddr(pkt->getAddr())) {
|
||||
numPackets++;
|
||||
if (!port.sendTimingReq(pkt)) {
|
||||
retryPkt = pkt;
|
||||
retryPktTick = curTick();
|
||||
}
|
||||
} else {
|
||||
DPRINTF(TrafficGen, "Suppressed packet %s 0x%x\n",
|
||||
pkt->cmdString(), pkt->getAddr());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue