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 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.