x86: Make the table walker reset the packet delay
authorAndreas Hansson <andreas.hansson@arm.com>
Thu, 7 Mar 2013 10:55:01 +0000 (05:55 -0500)
committerAndreas Hansson <andreas.hansson@arm.com>
Thu, 7 Mar 2013 10:55:01 +0000 (05:55 -0500)
This patch fixes an issue related to the table walker recycling
packets that still have a bus delay that is not accounted for. For
now, we simply ignore the values and reset them to zero.

src/arch/x86/pagetable_walker.cc

index c768bb42817e09e8f3b05ccb0e446c8973e3ffcb..853e062e775c8e574869628da8fff6d8b45c2c12 100644 (file)
@@ -574,6 +574,9 @@ Walker::WalkerState::recvPacket(PacketPtr pkt)
     assert(!read);
     inflight--;
     if (pkt->isRead()) {
+        // @todo someone should pay for this
+        pkt->busFirstWordDelay = pkt->busLastWordDelay = 0;
+
         state = nextState;
         nextState = Ready;
         PacketPtr write = NULL;