summaryrefslogtreecommitdiff
path: root/src/arch/x86/pagetable_walker.cc
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2013-03-07 05:55:01 -0500
committerAndreas Hansson <andreas.hansson@arm.com>2013-03-07 05:55:01 -0500
commitc4645c0d68de84685a844a52a769431aa3edc6ad (patch)
tree852847f55d722835edd2c36fc6885d6dbeb038b0 /src/arch/x86/pagetable_walker.cc
parentd24d5446c5c96ad29bd6a690c7ba09cb8e3444e8 (diff)
downloadgem5-c4645c0d68de84685a844a52a769431aa3edc6ad.tar.xz
x86: Make the table walker reset the packet delay
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.
Diffstat (limited to 'src/arch/x86/pagetable_walker.cc')
-rw-r--r--src/arch/x86/pagetable_walker.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/arch/x86/pagetable_walker.cc b/src/arch/x86/pagetable_walker.cc
index c768bb428..853e062e7 100644
--- a/src/arch/x86/pagetable_walker.cc
+++ b/src/arch/x86/pagetable_walker.cc
@@ -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;