From: Andreas Sandberg Date: Mon, 7 Jan 2013 18:05:45 +0000 (-0500) Subject: arm: Fix draining of the pagetable walker when squashing X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0d59549cd9db2263b1cc1b90e8abd05229eaab5b;p=gem5.git 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. --- 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