qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4] target-sparc: Add and use CPU_FEATURE_CASA


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH v4] target-sparc: Add and use CPU_FEATURE_CASA
Date: Fri, 14 Feb 2014 17:22:11 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

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 <address@hidden>
> Reviewed-by: Fabien Chouteau <address@hidden>

Reviewed-by: Andreas Färber <address@hidden>

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 via email to

[Prev in Thread] Current Thread [Next in Thread]