summaryrefslogtreecommitdiff
path: root/src/cpu/minor/execute.cc
diff options
context:
space:
mode:
authorAndrew Bardsley <Andrew.Bardsley@arm.com>2014-12-02 06:08:11 -0500
committerAndrew Bardsley <Andrew.Bardsley@arm.com>2014-12-02 06:08:11 -0500
commit3cd0b1f6a6873ef06351dd49f3c7697175303371 (patch)
treefa84721b7b1c715fb078e3ad99e3f1ca1c73a912 /src/cpu/minor/execute.cc
parente5e5b80690f736c65c9b51ef96660637210f3938 (diff)
downloadgem5-3cd0b1f6a6873ef06351dd49f3c7697175303371.tar.xz
arm: Fix TLB ignoring faults when table walking
This patch fixes a case where the Minor CPU can deadlock due to the lack of a response to TLB request because of a bug in fault handling in the ARM table walker. TableWalker::processWalkWrapper is the scheduler-called wrapper which handles deferred walks which calls to TableWalker::wait cannot immediately process. The handling of faults generated by processWalk{AArch64,LPAE,} calls in those two functions is is different. processWalkWrapper ignores fault returns from processWalk... which can lead to ::finish not being called on a translation. This fix provides fault handling in processWalkWrapper similar to that found in the leaf functions which BaseTLB::Translation::finish.
Diffstat (limited to 'src/cpu/minor/execute.cc')
0 files changed, 0 insertions, 0 deletions