From: Fabrice Bellard <fabrice@bellard.org>
To: qemu-devel@nongnu.org
Cc: "J. Mayer" <l_indien@magic.fr>, Paul Brook <paul@codesourcery.com>
Subject: Re: [Qemu-devel] qemu hw/ppc_oldworld.c target-ppc/cpu.h target-...
Date: Sat, 24 Nov 2007 20:39:06 +0100 [thread overview]
Message-ID: <47487DDA.4050502@bellard.org> (raw)
In-Reply-To: <20071123233611.GH9204@networkno.de>
Thiemo Seufer wrote:
> Paul Brook wrote:
>>>> I think what you mean is that they work the way that ppc64 is defined, to
>>>> remain compatible with ppc32. IMHO this is entirely irrelevant as we're
>>>> emulating a ppc32. You could replace the high bits with garbage and
>>>> nothing would ever be able to tell the difference.
>>> PowerPC is a 64 bits architecture. PowerPC 32 on 32 bits host is
>>> optimized not to compute the 32 highest bits, the same way it's allowed
>>> to cut down the GPR when implementing a CPU that would not support the
>>> 64 bits mode (but this is a tolerance, this is not the architecture is
>>> defined).
>> No. PowerPC is defined as a 64-bit archirecure. However there is a subset of
>> this architecture (aka ppc32) that is a complete 32-bit architecture in its
>> own right. By your own admission, we can get away with not calculating the
>> high 32 bit of the register. If follows that the high bits are completely
>> meaningless.
>
> This btw. also means that the ppc32 emulation on 32-bit hosts is needlessly
> inefficient if the high bits are carried around.
>
>> The qemu ppc32 emulation is implemented in such a way that on 64-bit hosts it
>> looks a lot like a ppc64 implementation. However this need not, and should
>> not be exposed to the user.
>>
>>> OK. Those are real bugs to be fixed. I'll take a look.... But I'll try
>>> not to break the GPR dump. In fact, GPR should always dumped as 64 bits,
>>> even when runnig on 32 bits hosts. This would be more consistent with
>>> the specification.
>> I disagree. qemu is implementing ppc32. Showing more than 32 bits of register
>> is completely bogus. Any differences between a 32-bit host and a 64-bit host
>> are a qemu bug. If you display 64 bits, then those 64 bits had better be the
>> same when run on 32-bit hosts.
>
> I strongly agree with Paul.
I strongly agree too and I suggest to remove the type ppc_gpr_t and to
replace it with target_ulong (and uint32_t for the high part of the SPE
extensions).
Regards,
Fabrice.
next prev parent reply other threads:[~2007-11-24 19:39 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-23 17:33 [Qemu-devel] qemu hw/ppc_oldworld.c target-ppc/cpu.h target- Paul Brook
2007-11-23 17:51 ` Jocelyn Mayer
2007-11-23 18:22 ` Paul Brook
2007-11-23 18:42 ` Jocelyn Mayer
2007-11-23 18:46 ` Jocelyn Mayer
2007-11-23 19:10 ` Paul Brook
2007-11-23 19:19 ` Jocelyn Mayer
2007-11-23 20:08 ` Jocelyn Mayer
2007-11-23 21:36 ` Paul Brook
2007-11-23 22:05 ` J. Mayer
2007-11-23 22:23 ` Paul Brook
2007-11-23 23:36 ` Thiemo Seufer
2007-11-24 19:39 ` Fabrice Bellard [this message]
2007-11-23 23:36 ` J. Mayer
2007-11-24 0:18 ` Thiemo Seufer
2007-11-24 0:52 ` Paul Brook
2007-11-24 1:02 ` Julian Seward
2007-11-24 1:32 ` J. Mayer
2007-11-24 1:55 ` J. Mayer
-- strict thread matches above, loose matches on Subject: below --
2007-11-23 22:16 Jocelyn Mayer
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=47487DDA.4050502@bellard.org \
--to=fabrice@bellard.org \
--cc=l_indien@magic.fr \
--cc=paul@codesourcery.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).