qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [0/32] RFC: 64-bit hash mmu implementation clean up


From: Alexander Graf
Subject: Re: [Qemu-ppc] [0/32] RFC: 64-bit hash mmu implementation clean up
Date: Sat, 23 Feb 2013 14:46:07 +0100

On 15.02.2013, at 09:00, David Gibson wrote:

> 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 starts 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.
> 
> In addition this series makes a substantial cleanup to the
> now-separated 64-bit has mmu code.  Adding support for more recent MMU
> features should be much easier with the new code.
> 
> This series will probably conflict with the CPU qom-ification series,
> but it should be relatively easy to fix up.  I'm sending it now to get
> some extra review, but I'm not expecting it to merge until after the
> CPU qomification, after which I'll resolve conflicts as necessary.

Very nice patch set indeed. Please repost without RFC and CC on qemu-devel. I'd 
really appreciate if you could do the hash32 conversion on top too. Since you 
went through the hard work of working through a working abstraction of the mmu 
lookup, it should be quite easy for you to do.

Also, please follow up with a QOM'ificiation patch. With individual functions 
for translate we can make the translate function simply class callback, getting 
rid of the initial switch even. Maybe in the long run we can even get rid of 
the mmu enum completely.


Alex




reply via email to

[Prev in Thread] Current Thread [Next in Thread]