On 12.02.2013, at 03:00, David Gibson wrote: > Currently get_physical_address() first checks to see if translation is > enabled in the MSR, then in the translation on case switches on the mmu > type. Except that for BookE MMUs, translation is always on, and so it > has to switch in the "translation off" case as well and do the same thing > as the translation on path for those MMUs. Plus, even translation off > doesn't behave exactly the same on the various MMU types so there are > further mmu type checks in the "translation off" path. > > As a first step to cleaning this up, this patch moves the switch on mmu > type to the top level, then makes the translation on/off check just for > those mmu types where it is meaningful.
Eventually the mmu translation should just be a class dispatched indirect function call. I don't think it's within the scope of this first round of cleanup though. Alex
