Review Board 2.0.15


ARM: Fix table walk going on while ASID changes error

Review Request #617 - Created March 30, 2011 and submitted

Information
Ali Saidi
gem5
Reviewers
Default
ali, gblack, nate, stever
ARM: Fix table walk going on while ASID changes error

   
Posted (March 30, 2011, 2:29 a.m.)



  
src/arch/arm/faults.cc (Diff revision 1)
 
 
The "Faults" trace flag can be useful during boot to see where things go haywire since early on there shouldn't be any, at least in ISAs with hardware TLB miss handlers. Perhaps you should make this and any other artificial faults use FaultsVerbose or similar so they get ignored unless you really wanted to see them.
  1. It's extraordinarily rare that this occurs. The number of things that have to occur are numerous. You have to be running with O3, execute a branch instruction, predict the branch as taken, that prediction has to have an entry in the BTB, the BTB entry has to miss in the TLB, a table walk has to occur to satisfy the miss, and MISCREG_CONTEXIDR has to be written while all this happens. At boot this is never going to happen because the context isn't going to change. I'm inclined to leave it as is.
  2. That's fair. Go ahead then.
src/arch/arm/table_walker.cc (Diff revision 1)
 
 
It's not part of this change, but the brackets are messed up on this line.
src/arch/arm/table_walker.cc (Diff revision 1)
 
 
This panic doesn't do anything any more.
  1. it does still catch some cases.
  2. Oh, yeah. Duh :-P.