From: "Éric Bischoff" <ebischoff@nerim.net>
To: Richard Henderson <rth@twiddle.net>
Cc: Alexander Graf <agraf@suse.de>, Michal Marek <mmarek@suse.cz>,
Miroslav Benes <mbenes@suse.cz>,
QEmu developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] Adding support for LPD and LPDG instructions
Date: Sun, 26 Feb 2017 17:10:28 +0100 [thread overview]
Message-ID: <1599197.qxnXlczcy2@eric> (raw)
In-Reply-To: <a26cf735-bbb6-5be7-7575-198ec55a3ecc@twiddle.net>
Le samedi 25 février 2017, 10:42:43 CET Richard Henderson a écrit :
> On 02/23/2017 10:58 PM, Eric Bischoff wrote:
> > +/* LOAD PAIR DISJOINT */
> > + C(0xc804, LPD, SSF, ILA, m1_32s, m2_32s, 0, r3_P32, movx, 0)
> > + C(0xc805, LPDG, SSF, ILA, m1_64, m2_64, 0, r3_P64, movx, 0)
>
> Missing is the update to the condition codes.
> I think just setting CC = 3 (not loaded interlocked) is probably fine.
Hi Richard,
thanks a lot for the feedback.
When trying on real hardware, I was always getting CC == 0 (loaded
interlocked). It seems to be the usual and simplest case, where fetch was
immediately succesful.
Case CC == 3 makes it needed to use a loop:
2. When the resulting condition code is 3, the pro-
gram may branch back to reexecute the LOAD
PAIR DISJOINT instruction. However, after
repeated unsuccessful attempts to attain an
interlocked fetch, the program should use an
alternate means of serializing access to the stor-
age operands. It is recommended that the pro-
gram reexecute the LOAD PAIR DISJOINT no
more than 10 times before branching to the alter-
nate path.
Therefore I think that setting CC = 0 is the correct emulation.
I assumed that putting 0 in last column of C() macro was the way to set CC =
0. I apologize if that was wrong, and if so, please tell me, and I'll correct.
Best,
--
Éric Bischoff
next parent reply other threads:[~2017-02-26 16:10 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20170223115805.16688-1-ebischoff@suse.com>
[not found] ` <20170223115805.16688-2-ebischoff@suse.com>
[not found] ` <a26cf735-bbb6-5be7-7575-198ec55a3ecc@twiddle.net>
2017-02-26 16:10 ` Éric Bischoff [this message]
2017-02-27 10:48 ` [Qemu-devel] [PATCH] Adding support for LPD and LPDG instructions Éric Bischoff
2017-02-28 12:01 Eric Bischoff
2017-02-28 17:57 ` Richard Henderson
2017-02-28 23:10 ` Richard Henderson
-- strict thread matches above, loose matches on Subject: below --
2017-02-28 11:35 [Qemu-devel] [PATCHv3] " Eric Bischoff
2017-02-28 11:35 ` [Qemu-devel] [PATCH] " Eric Bischoff
2017-02-28 11:42 ` no-reply
2017-02-27 11:22 [Qemu-devel] [PATCH v2] " Eric Bischoff
2017-02-27 11:22 ` [Qemu-devel] [PATCH] " Eric Bischoff
2017-02-27 19:10 ` Richard Henderson
2017-02-28 8:58 ` Éric Bischoff
2017-02-24 13:19 [Qemu-devel] (no subject) Eric Bischoff
2017-02-24 13:19 ` [Qemu-devel] [PATCH] Adding support for LPD and LPDG instructions Eric Bischoff
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=1599197.qxnXlczcy2@eric \
--to=ebischoff@nerim.net \
--cc=agraf@suse.de \
--cc=mbenes@suse.cz \
--cc=mmarek@suse.cz \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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.