summaryrefslogtreecommitdiff
path: root/src/arch/x86/tlb.cc
diff options
context:
space:
mode:
authorJoel Hestness <hestness@cs.utexas.edu>2011-02-06 22:14:18 -0800
committerJoel Hestness <hestness@cs.utexas.edu>2011-02-06 22:14:18 -0800
commit3a2d2223e1debf932a0cec3244e4ce63e5d748af (patch)
treed0f33e52ede665c3d5c48d89e14273e7da8cc6fa /src/arch/x86/tlb.cc
parent52b611922849d8e3ca6fb3aa0176a8d85e91e922 (diff)
downloadgem5-3a2d2223e1debf932a0cec3244e4ce63e5d748af.tar.xz
x86: Timing support for pagetable walker
Move page table walker state to its own object type, and make the walker instantiate state for each outstanding walk. By storing the states in a queue, the walker is able to handle multiple outstanding timing requests. Note that functional walks use separate state elements.
Diffstat (limited to 'src/arch/x86/tlb.cc')
-rw-r--r--src/arch/x86/tlb.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/arch/x86/tlb.cc b/src/arch/x86/tlb.cc
index 7fa2e172c..a02c5e6a3 100644
--- a/src/arch/x86/tlb.cc
+++ b/src/arch/x86/tlb.cc
@@ -725,6 +725,12 @@ TLB::doMmuRegWrite(ThreadContext *tc, Packet *pkt)
return tc->getCpuPtr()->ticks(1);
}
+Walker *
+TLB::getWalker()
+{
+ return walker;
+}
+
#endif
void