From: John Clark <clarkjc@runbox.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Minor MMU fixes for PowerPC 40x emulation
Date: Sat, 02 Oct 2010 12:54:18 -0400 [thread overview]
Message-ID: <4CA763BA.5060903@runbox.com> (raw)
>> /* 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.
>> 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:
https://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/D060DB54BD4DC4F2872569D2004A30D6/$file/ppc405fx_um.pdf
Thanks.
- John
next reply other threads:[~2010-10-02 16:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-02 16:54 John Clark [this message]
-- strict thread matches above, loose matches on Subject: below --
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
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
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=4CA763BA.5060903@runbox.com \
--to=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.