diff options
author | Andreas Sandberg <Andreas.Sandberg@ARM.com> | 2013-01-07 13:05:45 -0500 |
---|---|---|
committer | Andreas Sandberg <Andreas.Sandberg@ARM.com> | 2013-01-07 13:05:45 -0500 |
commit | 0d59549cd9db2263b1cc1b90e8abd05229eaab5b (patch) | |
tree | 95ad1a686728f09d7eb95f1e9ba9883f45780be6 /src/arch | |
parent | 8db27aa230c40c21acf55fda3755ed173c34e47c (diff) | |
download | gem5-0d59549cd9db2263b1cc1b90e8abd05229eaab5b.tar.xz |
arm: Fix draining of the pagetable walker when squashing
Since the page table walker only checks if a drain has completed in
doL1DescriptorWrapper() and doL2DescriptorWrapper(), it sometimes
looses track of a drain request if there is a squash. This changeset
adds a completeDrain() call after squashing requests in the pending
queue, which fixes this issue.
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm/table_walker.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/arch/arm/table_walker.cc b/src/arch/arm/table_walker.cc index e4c6209d6..99a7592c1 100644 --- a/src/arch/arm/table_walker.cc +++ b/src/arch/arm/table_walker.cc @@ -225,6 +225,7 @@ TableWalker::processWalkWrapper() // if we've still got pending translations schedule more work nextWalk(tc); currState = NULL; + completeDrain(); } Fault |