[PATCH 1/6] add atomic init function
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue Aug 20 08:39:05 UTC 2013
On 2013-08-19 17:39, WeiY wrote:
> ---
> cpukit/score/include/rtems/score/atomic.h | 27 ++++++++++++++++++++++
> cpukit/score/include/rtems/score/cpustdatomic.h | 28 +++++++++++++++++++++++
> 2 files changed, 55 insertions(+)
>
> diff --git a/cpukit/score/include/rtems/score/atomic.h b/cpukit/score/include/rtems/score/atomic.h
> index d94ac92..db70fe8 100644
> --- a/cpukit/score/include/rtems/score/atomic.h
> +++ b/cpukit/score/include/rtems/score/atomic.h
> @@ -32,6 +32,33 @@ extern "C" {
> /**@{*/
>
> /**
> + * @brief atomic data initializer for static initialization.
> + */
> +#define ATOMIC_VAR_INITIALIZER(value) CPU_ATOMIC_INITIALIZER(value)
Since we have explicit type dependent names for all other operations we should
do this here also, e.g. ATOMIC_INITIALIZER_UINT(value).
> +
> +/**
> + * @brief Initializes an atomic type value into a atomic object.
> + *
> + * @param object an atomic type pointer of object.
> + * @param value a value to be stored into object.
> + */
> +RTEMS_INLINE_ROUTINE void _Atomic_Init_uint(
> + volatile Atomic_Uint *object,
> + uint_fast32_t value
> +)
> +{
> + _CPU_atomic_Init_uint(object, value);
> +}
> +
> +RTEMS_INLINE_ROUTINE void _Atomic_Init_ptr(
> + volatile Atomic_Pointer *object,
> + uintptr_t value
> +)
> +{
> + _CPU_atomic_Init_ptr(object, value);
> +}
What about the Atomic_Flag?
[...]
Please add test cases that ensure that static and function based initialization
leads to the same objects.
Example:
http://git.rtems.org/rtems/tree/testsuites/sptests/sp37/init.c#n168
Please add test cases that ensure that the value used for initialization is the
value returned by the corresponding load operation.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list