From: "Andreas Färber" <afaerber@suse.de>
To: Sebastian Huber <sebastian.huber@embedded-brains.de>,
qemu-devel@nongnu.org
Cc: blauwirbel@gmail.com, Fabien Chouteau <chouteau@adacore.com>
Subject: Re: [Qemu-devel] [PATCH v4] target-sparc: Add and use CPU_FEATURE_CASA
Date: Fri, 14 Feb 2014 17:22:11 +0100 [thread overview]
Message-ID: <52FE42B3.7080200@suse.de> (raw)
In-Reply-To: <1392394012-8661-1-git-send-email-sebastian.huber@embedded-brains.de>
Am 14.02.2014 17:06, schrieb Sebastian Huber:
> The LEON3 processor has support for the CASA instruction which is
> normally only available for SPARC V9 processors. Binutils 2.24
> and GCC 4.9 will support this instruction for LEON3. GCC uses it to
> generate C11 atomic operations.
>
> The CAS synthetic instruction uses an ASI of 0x80. If TARGET_SPARC64 is
> not defined use a supervisor data load/store for an ASI of 0x80 in
> helper_ld_asi()/helper_st_asi(). The supervisor data load/store was
> choosen according to the LEON3 documentation.
>
> The ASI 0x80 is defined in the SPARC V9 manual, Table 12—Address Space
> Identifiers (ASIs). Here we have: 0x80, ASI_PRIMARY, Unrestricted
> access, Primary address space.
>
> Tested with the following program:
>
> #include <assert.h>
> #include <stdatomic.h>
>
> void test(void)
> {
> atomic_int a;
> int e;
> _Bool b;
>
> atomic_store(&a, 1);
> e = 1;
> b = atomic_compare_exchange_strong(&a, &e, 2);
> assert(b);
> assert(atomic_load(&a) == 2);
>
> atomic_store(&a, 3);
> e = 4;
> b = atomic_compare_exchange_strong(&a, &e, 5);
> assert(!b);
> assert(atomic_load(&a) == 3);
> }
>
> Tested also on a NGMP board with a LEON4 processor.
>
> v4: Fix coding style.
>
> Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
> Reviewed-by: Fabien Chouteau <chouteau@adacore.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
but please put change logs below --- next time. No v5 needed for that,
committer can fix.
Also in my theory your Signed-off-by should be last when you submit a
patch, in particular when you apply changes on top of what a reviewer
has reviewed.
Thanks,
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2014-02-14 16:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-14 16:06 [Qemu-devel] [PATCH v4] target-sparc: Add and use CPU_FEATURE_CASA Sebastian Huber
2014-02-14 16:22 ` Andreas Färber [this message]
2014-02-26 7:56 ` Sebastian Huber
2014-02-26 16:59 ` Fabien Chouteau
2014-02-26 17:25 ` Peter Maydell
2014-02-28 9:33 ` Mark Cave-Ayland
2014-02-28 11:25 ` Fabien Chouteau
2014-03-08 20:16 ` Mark Cave-Ayland
2014-03-08 20:35 ` Peter Maydell
2014-03-09 10:19 ` Sebastian Huber
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=52FE42B3.7080200@suse.de \
--to=afaerber@suse.de \
--cc=blauwirbel@gmail.com \
--cc=chouteau@adacore.com \
--cc=qemu-devel@nongnu.org \
--cc=sebastian.huber@embedded-brains.de \
/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).