The target-ppc code supports CPUs with a number of different MMU types: there's both the 32-bit and 64-bit versions of the "classic" hash page table based powerpc mmu and there's also the BookE and 40x MMUs.
Currently handling of all these has a roughly shared path in mmu_helper.c. Although code sharing is usually a good idea, in this case the MMUs really aren't similar enough for this to be useful. Instead it results in checking and behaving differently at many, many different points in the path leading to an unreadable tangle of code. This patch series is a first step to cleaning this up, moving to a model where we have a single switch on the MMU family at the top-level entry points, then have a simpler, clearer separate code path for each MMU type. More specifically, it disentangles the path for the 64-bit classic hash MMU into its own new file. The other MMU types keep the existing code (minus 64-bit hash specific conditionals) for now. Disentangling those as well would be a good idea, but would be best done by someone with more resources to test those other platforms than I have. For now, the resulting 64-bit hash path retains the same structure as the original shared code, just the obvious conditionals on other mmu types are removed. This path is fairly ugly in itself, but cleaning that up is a later step, now much simpler without the other MMU types to deal with at the same time.
