On Sat, Feb 23, 2013 at 11:38:23AM +0100, Alexander Graf wrote: > > > Am 23.02.2013 um 07:28 schrieb David Gibson <[email protected]>: > > > 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. > > If you're convinced the path you're taking is already correct, don't > post patches as RFC :).
Well, I'm not sure about all of it.
More to the point, I'm really not sure what you're suggesting I do
differently. We can't switch to a method invocation when there are
mmu type dependencies scattered all through the path. So that change
more or less has to go after what I have already.
--
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
