[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 6/8] target-ppc: Rework get_physical_address()
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH 6/8] target-ppc: Rework get_physical_address() |
Date: |
Sat, 23 Feb 2013 22:56:58 +1100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Sat, Feb 23, 2013 at 11:38:23AM +0100, Alexander Graf wrote:
>
>
> Am 23.02.2013 um 07:28 schrieb David Gibson <address@hidden>:
>
> > 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
- [Qemu-ppc] [PATCH 7/8] target-ppc: Disentangle 64-bit hash MMU get_physical_address() paths, (continued)
[Qemu-ppc] [PATCH 2/8] target-ppc: Move SLB handling into a mmu-hash64.c, David Gibson, 2013/02/11
[Qemu-ppc] [PATCH 4/8] target-ppc: Disentangle 64-bit version of find_pte(), David Gibson, 2013/02/11
Re: [Qemu-ppc] [Qemu-devel] [0/8] RFC: target-ppc: Start disentangling different MMU types, Andreas Färber, 2013/02/12
Re: [Qemu-ppc] [0/8] RFC: target-ppc: Start disentangling different MMU types, Alexander Graf, 2013/02/22