[ltt-dev] [PATCH 09/12] add Alpha support
Mathieu Desnoyers
compudj at krystal.dyndns.org
Mon Mar 1 14:02:42 EST 2010
* Paolo Bonzini (pbonzini at redhat.com) wrote:
> And you already know what needs to be special-cased for Alpha...
>
> Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
> ---
> configure.ac | 1 +
> urcu/arch_alpha.h | 48 +++++++++++++++++++++++++++++++++++++++++++++
> urcu/uatomic_arch_alpha.h | 32 ++++++++++++++++++++++++++++++
> 3 files changed, 81 insertions(+), 0 deletions(-)
> create mode 100644 urcu/arch_alpha.h
> create mode 100644 urcu/uatomic_arch_alpha.h
>
> diff --git a/configure.ac b/configure.ac
> index ab6f3a2..1ce19d0 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -50,6 +50,7 @@ case $host_cpu in
> s390) ARCHTYPE="s390" ;;
> s390x) ARCHTYPE="s390" ;;
> sparc64) ARCHTYPE="sparc64" ;;
> + alpha*) ARCHTYPE="alpha" ;;
> *) ARCHTYPE="unknown";;
> esac
>
> diff --git a/urcu/arch_alpha.h b/urcu/arch_alpha.h
> new file mode 100644
> index 0000000..f684701
> --- /dev/null
> +++ b/urcu/arch_alpha.h
> @@ -0,0 +1,48 @@
> +#ifndef _URCU_ARCH_ALPHA_H
> +#define _URCU_ARCH_ALPHA_H
> +
> +/*
> + * arch_alpha.h: trivial definitions for the Alpha architecture.
> + *
> + * Copyright (c) 2010 Paolo Bonzini <pbonzini at redhat.com>
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> +*
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> + */
> +
> +#include <urcu/compiler.h>
> +#include <urcu/config.h>
> +
> +#ifdef __cplusplus
> +extern "C" {
> +#endif
> +
> +#define mb() asm volatile("mb":::"memory")
> +#define wmb() asm volatile("wmb":::"memory")
> +#define read_barrier_depends() asm volatile("mb":::"memory")
> +
> +typedef unsigned long long cycles_t;
> +
> +static inline cycles_t get_cycles (void)
> +{
> + return 0; /* not supported */
> +}
> +
> +#ifdef __cplusplus
> +}
> +#endif
> +
> +#include <urcu/arch_defaults.h>
Merging, but I edit defaults -> generic here.
> +
> +#endif /* _URCU_ARCH_ALPHA_H */
> diff --git a/urcu/uatomic_arch_alpha.h b/urcu/uatomic_arch_alpha.h
> new file mode 100644
> index 0000000..6d002cb
> --- /dev/null
> +++ b/urcu/uatomic_arch_alpha.h
> @@ -0,0 +1,32 @@
> +#ifndef _URCU_UATOMIC_ARCH_ALPHA_H
> +#define _URCU_UATOMIC_ARCH_ALPHA_H
> +
> +/*
> + * Atomic exchange operations for the Alpha architecture. Let GCC do it.
> + *
> + * Copyright (c) 2010 Paolo Bonzini <pbonzini at redhat.com>
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to
> + * deal in the Software without restriction, including without limitation the
> + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
> + * sell copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> + * IN THE SOFTWARE.
> + */
> +
> +#include <urcu/compiler.h>
> +#include <urcu/system.h>
> +#include <urcu/uatomic_defaults.h>
Same here.
Thanks,
Mathieu
> +
> +#endif /* _URCU_UATOMIC_ARCH_ALPHA_H */
> --
> 1.6.6
>
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
--
Mathieu Desnoyers
Operating System Efficiency Consultant
EfficiOS Inc.
http://www.efficios.com
More information about the lttng-dev
mailing list