qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

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