On Fri, Feb 22, 2013 at 05:06:52PM +0100, Alexander Graf wrote: > > 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.
I agree. My plan was to first push the switching all up to the top
level as I've done, then replace that with a method dispatch
afterwards.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: Digital signature
