Searched hist:10579 (Results 1 - 1 of 1) sorted by relevance

/gem5/src/arch/arm/
H A Dtable_walker.cc10579:e622a3e2ed14 Tue Dec 02 06:08:00 EST 2014 Andrew Bardsley <Andrew.Bardsley@arm.com> 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.

Completed in 25 milliseconds