From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Alexander Graf <agraf@suse.de>
Cc: QEMU Developers <qemu-devel@nongnu.org>, John Clark <clarkjc@runbox.com>
Subject: Re: [Qemu-devel] Minor MMU fixes for PowerPC 40x emulation
Date: Sat, 2 Oct 2010 19:06:38 +0200 [thread overview]
Message-ID: <20101002170638.GE10823@laped.lan> (raw)
In-Reply-To: <0E0E4F59-0325-44C5-9330-EB48B8A8C46F@suse.de>
On Sat, Oct 02, 2010 at 06:55:36PM +0200, Alexander Graf wrote:
>
> On 02.10.2010, at 18:49, John Clark wrote:
>
> >>> /* Check from TLB entry */
> >>> - /* XXX: there is a problem here or in the TLB fill code... */
> >>> + /* There is no longer a need to force PAGE_EXEC permission here */
> >>> + /* because of the tlb->attr fix in helper_4xx_tlbwe_lo() */
> >>
> >> I guess that comment is superfluous, as readers several years from now don't care what was broken back in the day :).
> >
> > Yes, I suppose so :)
> >
> >>> @@ -3939,7 +3939,7 @@ target_ulong helper_4xx_tlbre_lo (target_ulong entry)
> >>> tlb = &env->tlb[entry].tlbe;
> >>> ret = tlb->EPN;
> >>> if (tlb->prot & PAGE_VALID)
> >>> - ret |= 0x400;
> >>> + ret |= 0x40; /* V bit is 0x40, not 0x400 */
> >>
> >> Ouch. Mind to make it a define?
> >
> > Sure, I was surprised that there wasn't a define for that when I found it.
>
> The ppc emulation code lacks a lot of defines. In fact, the same goes for x86 emulation too ;). But that doesn't mean we have to keep it that way!
>
> >
> >>> size = booke_page_size_to_tlb(tlb->size);
> >>> if (size < 0 || size > 0x7)
> >>> size = 1;
> >>> @@ -3948,7 +3948,7 @@ target_ulong helper_4xx_tlbre_lo (target_ulong entry)
> >>> return ret;
> >>> }
> >>>
> >>> -target_ulong helper_4xx_tlbre_hi (target_ulong entry)
> >>> +target_ulong helper_4xx_tlbre_lo (target_ulong entry)
> >>
> >> Huh?
> >
> > To summarize, 'tlbre' has two forms: one to retrieve the high bits of
> > a TLB entry (TLBHI), and one to retrieve the low bits (TLBLO) of a TLB
> > entry. This code had the TLBLO form returning the bits corresponding
> > to TLBHI and vice versa, hence the name change. You can verify this
> > if you like with this IBM PowerPC 405 core user manual on page 362:
>
> Well the thing that strikes me as weird is mostly that you're changing a function name, but no callers to it. So is this function never used? Or was tlbre_lo defined before already and is now defined twice?
Hi,
Alex:
I think you've missed the part of the patch that renames the _lo -> _hi.
As John says, qemu had the hi/lo parts reversed when reading 4xx TLB regs.
Except for the comments and the define, the patch looks good to me.
John, please also add a Signed-off-by line.
Cheers
next prev parent reply other threads:[~2010-10-02 17:06 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-02 5:38 [Qemu-devel] Minor MMU fixes for PowerPC 40x emulation John Clark
2010-10-02 9:35 ` Alexander Graf
[not found] ` <4CA762B1.7060505@runbox.com>
2010-10-02 16:55 ` Alexander Graf
2010-10-02 17:04 ` John Clark
2010-10-02 17:06 ` Edgar E. Iglesias [this message]
2010-10-02 17:10 ` Alexander Graf
2010-10-02 18:17 ` John Clark
2010-10-05 16:42 ` Alexander Graf
2010-10-05 17:00 ` Edgar E. Iglesias
-- strict thread matches above, loose matches on Subject: below --
2010-10-02 16:54 John Clark
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101002170638.GE10823@laped.lan \
--to=edgar.iglesias@gmail.com \
--cc=agraf@suse.de \
--cc=clarkjc@runbox.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.