[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH] target-ppc: Eliminate redundant and incorrect fun
From: |
alarson |
Subject: |
Re: [Qemu-ppc] [PATCH] target-ppc: Eliminate redundant and incorrect function booke206_page_size_to_tlb |
Date: |
Mon, 27 Jun 2016 10:55:03 -0500 |
David Gibson <address@hidden> wrote on 06/27/2016 12:32:13
AM:
> From: David Gibson <address@hidden>
> To: address@hidden
> Cc: address@hidden, address@hidden, address@hidden
> Date: 06/27/2016 12:30 AM
> Subject: Re: [PATCH] target-ppc: Eliminate redundant and incorrect
function booke206_page_size_to_tlb
>
> On Sun, Jun 26, 2016 at 09:38:03PM -0500, address@hidden wrote:
> > David Gibson <address@hidden> wrote on 06/26/2016
08:36:52
> > PM:
> >
> > > From: David Gibson <address@hidden>
> > > To: Aaron Larson <address@hidden>
> > > Cc: address@hidden, address@hidden, address@hidden
> > > Date: 06/26/2016 08:58 PM
> > > Subject: Re: [PATCH] target-ppc: Eliminate redundant and incorrect
> > function booke206_page_size_to_tlb
> > >
> > > On Fri, Jun 24, 2016 at 12:11:00PM -0700, Aaron Larson wrote:
> > > >
> > > > Eliminate redundant and incorrect booke206_page_size_to_tlb
function
> > > > from ppce500_spin.c in preference to previously existing but newly
> > > > exported definition from e500.c
> > > >
> > > > Signed-off-by: Aaron Larson <address@hidden>
> > >
> > > Uh.. sorry.. can you provide a reference explaining why the removed
> > > version is wrong? Doesn't this depend on which MMU Architecture
> > > Version we're emulating?
> >
> > Sure, the code is internally inconsistent (shift assumed didn't match
> > shift defined). I will provide an update commit message, similar to
the
> > original posting I made a few days ago with the "direction"
> > corrected.
>
> Right, I can see that the two old versions were different, which was
> clearly wrong. What I'm looking for is an explanation of why the one
> you've picked is the right one, not the other one.
How's this?
Eliminate redundant and incorrect booke206_page_size_to_tlb function
from ppce500_spin.c in preference to previously existing but newly
exported definition from e500.c
The booke206_page_size_to_tlb function in e500.c was updated in commit
2bd9543cd303d9f6cbd37b7466bb03543035156b to reflect a change in the
definition of MAS1_TSIZE_SHIFT from 8 (corresponding to a min TLB page
size of 4kb) to a value of 7 (TLB page size 2k). The
booke206_page_size_to_tlb() function defined in ppce500_spin.c was
never updated to reflect the change in MAS1_TSIZE_SHIFT.
In http://lists.nongnu.org/archive/html/qemu-ppc/2016-06/msg00533.html,
Scott Wood suggested this "root cause" explanation:
SW> The patch that changed MAS1_TSIZE_SHIFT from 8 to 7 was around the
SW> same time as the patch that added this code, which is probably why
SW> adjusting it got missed. Commit 2bd9543cd3 did update the
SW> equivalent code in ppce500_mpc8544ds.c, which now resides in
SW> hw/ppc/e500.c and has been changed to not assume a power-of-2
SW> size. The ppce500_spin version should be eliminated.