Change ARM references to "unknown". Get rid of stray PowerPC references. Remove the unused sync_core() definition from arch_unknown.h. Adjust CACHE_LINE_SIZE to 128. Got rid of the perror() and abort() in the "unknown" implementation of get_cycles(). Remove the unused ILLEGAL_INSTR definition.
Signed-off-by: Paul E. McKenney <[email protected]> --- urcu/arch_unknown.h | 27 ++++++++++----------------- urcu/uatomic_arch_unknown.h | 15 +++------------ 2 files changed, 13 insertions(+), 29 deletions(-) diff --git a/urcu/arch_unknown.h b/urcu/arch_unknown.h index 3f78310..5b89312 100644 --- a/urcu/arch_unknown.h +++ b/urcu/arch_unknown.h @@ -1,8 +1,8 @@ -#ifndef _URCU_ARCH_ARMV7_H -#define _URCU_ARCH_ARMV7_H +#ifndef _URCU_ARCH_UNKNOWN_H +#define _URCU_ARCH_UNKNOWN_H /* - * arch_armv7.h: trivial definitions for the ARMv7-A/R architecture. + * arch_unknown.h: trivial definitions for the "unknown" architecture. * * Copyright (c) 2010 Paul E. McKenney, IBM Corporation. * Copyright (c) 2009 Mathieu Desnoyers <[email protected]> @@ -11,7 +11,7 @@ * 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 @@ -30,7 +30,7 @@ extern "C" { #endif /* We don't know, so guess!!! */ -#define CACHE_LINE_SIZE 64 +#define CACHE_LINE_SIZE 128 #define mb() \ do { \ @@ -55,11 +55,6 @@ extern "C" { } \ } while (0) -/* - * Serialize core instruction execution. Also acts as a compiler barrier. - */ -#define sync_core() asm volatile("isb" : : : "memory") - #include <stdlib.h> #include <sys/time.h> @@ -67,14 +62,12 @@ typedef unsigned long long cycles_t; static inline cycles_t get_cycles (void) { - long long thetime; + cycles_t thetime; struct timeval tv; - if (gettimeofday(&tv, NULL) != 0) { - perror("gettimeofday"); - abort(); - } - thetime = ((long long)tv.tv_sec) * 1000000ULL + ((long long)tv.tv_usec); + if (gettimeofday(&tv, NULL) != 0) + return 0; + thetime = ((cycles_t)tv.tv_sec) * 1000000ULL + ((cycles_t)tv.tv_usec); return (cycles_t)thetime; } @@ -84,4 +77,4 @@ static inline cycles_t get_cycles (void) #include <urcu/arch_generic.h> -#endif /* _URCU_ARCH_ARMV7_H */ +#endif /* _URCU_ARCH_UNKNOWN_H */ diff --git a/urcu/uatomic_arch_unknown.h b/urcu/uatomic_arch_unknown.h index d1cf93e..832d685 100644 --- a/urcu/uatomic_arch_unknown.h +++ b/urcu/uatomic_arch_unknown.h @@ -1,5 +1,5 @@ -#ifndef _URCU_ARCH_UATOMIC_ARMV7_H -#define _URCU_ARCH_UATOMIC_ARMV7_H +#ifndef _URCU_ARCH_UATOMIC_UNKNOWN_H +#define _URCU_ARCH_UATOMIC_UNKNOWN_H /* * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved. @@ -29,15 +29,6 @@ extern "C" { #endif -#define ILLEGAL_INSTR ".long 0xd00d00" /* @@@FIXME from ppc to ARM. */ - -/* - * Using a isync as second barrier for exchange to provide acquire semantic. - * According to uatomic_ops/sysdeps/gcc/powerpc.h, the documentation is "fairly - * explicit that this also has acquire semantics." - * Derived from AO_compare_and_swap(), but removed the comparison. - */ - /* xchg */ #define uatomic_xchg(addr, v) __sync_lock_test_and_set(addr, v); @@ -54,4 +45,4 @@ extern "C" { #include <urcu/uatomic_generic.h> -#endif /* _URCU_ARCH_UATOMIC_ARMV7_H */ +#endif /* _URCU_ARCH_UATOMIC_UNKNOWN_H */ -- 1.7.0.6 _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
