From: Aurelien Jarno <aurelien@aurel32.net>
To: Torbjorn Granlund <tg@gmplib.org>
Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] PPC: Depend behavior of cmp instructions only on instruction encoding
Date: Wed, 8 May 2013 18:16:54 +0200 [thread overview]
Message-ID: <20130508161654.GT5000@ohm.aurel32.net> (raw)
In-Reply-To: <86d2t1v558.fsf@shell.gmplib.org>
On Wed, May 08, 2013 at 05:54:27PM +0200, Torbjorn Granlund wrote:
> Aurelien Jarno <aurelien@aurel32.net> writes:
>
> As it seems you have good contact with IBM, could you please ask them
> to fix their manuals?
>
> What flaw have your found?
Don't people read what I write? From one of my previous email:
Quoting the "IBM PowerPC Microprocessor Family: The Programming
Environments Manual for 32 and 64-bit Microprocessors":
| Note: In 32-bit implementations, if L = 1 the instruction form is invalid.
This doesn't match what your contact says.
> At least Freescale CPUs match what IBM documentation says.
>
> Which ones? Freescale 7447 and Freescale e500 disagree. (Or at least
> some versions of these chips, perhaps newer e500 steppings ignore the L
> bit.)
The e500 CPU doesn't ignore the L bit, like the IBM manual says.
> IBM CPUs don't.
>
> Which ones?
The one from your contact saying that reserved fields should be ignored
by hardware.
> No it's not correct, it doesn't match neither Freescale nor IBM
> behaviour. It also means the same code executed on a 32-bit emulated CPU
> run with qemu-system-ppc will behave differently than when run with
> qemu-system-ppc64. This is fine for now as we are in freeze period, but
> should be fixed afterwards.
>
> I think one should check if it is a 64-bit CPU vs 32-bit CPU, as your
> patch did. (If I read it correctly; while I am an expert in the area, I
> am very little familiar with qemu's innards.) Except that it should
> probably not cast an exception (but I think either way there is no
> calamity).
>
Looking more into details about the issue. Old *PowerPC* manuals (the
one from the 7447 era) clearly states that the L bit must trigger an
invalid instruction exception.
*POWER* manuals states that reserved fields in instructions are ignored by
on Server environment, but not on Embedded environment, though it is now
phased-in on the latter.
In short everybody is correct, it only depends on the CPU.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
next prev parent reply other threads:[~2013-05-08 16:17 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-08 13:26 [Qemu-devel] [PATCH] PPC: Depend behavior of cmp instructions only on instruction encoding Alexander Graf
2013-05-08 13:30 ` Richard Henderson
2013-05-08 13:49 ` Torbjorn Granlund
2013-05-08 13:51 ` Alexander Graf
2013-05-08 14:25 ` Aurelien Jarno
2013-05-08 14:48 ` Torbjorn Granlund
2013-05-08 15:04 ` Aurelien Jarno
2013-05-08 15:54 ` Torbjorn Granlund
2013-05-08 16:16 ` Aurelien Jarno [this message]
2013-05-08 16:31 ` Torbjorn Granlund
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=20130508161654.GT5000@ohm.aurel32.net \
--to=aurelien@aurel32.net \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=tg@gmplib.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).