X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=arch%2Farch.h;h=00d247c4ca44216a096f9a5f292b488093ab6378;hb=747311bd9cb82c02bfa4622054b5142a71a6c8ec;hp=745bf3a4d0a6260dffc37b475e3b3479e966ba48;hpb=317b95d07d4921d2594a1be6e014c9c2d062fe75;p=fio.git diff --git a/arch/arch.h b/arch/arch.h index 745bf3a4..00d247c4 100644 --- a/arch/arch.h +++ b/arch/arch.h @@ -2,30 +2,41 @@ #define ARCH_H enum { - arch_x86_64, - arch_i386, + arch_x86_64 = 1, + arch_x86, arch_ppc, arch_ia64, arch_s390, arch_alpha, + arch_sparc, + arch_sparc64, + arch_arm, + arch_sh, + arch_hppa, + arch_mips, + arch_aarch64, + + arch_generic, + + arch_nr, }; -static inline unsigned long generic_ffz(unsigned long word) -{ - unsigned int i; +enum { + ARCH_FLAG_1 = 1 << 0, + ARCH_FLAG_2 = 1 << 1, + ARCH_FLAG_3 = 1 << 2, + ARCH_FLAG_4 = 1 << 3, +}; - for (i = 0; i < sizeof(word) * 8; i++) - if ((word & (1UL << i)) == 0) - return i; +extern unsigned long arch_flags; - return -1; -} +#define ARCH_CPU_CLOCK_WRAPS #if defined(__i386__) #include "arch-x86.h" #elif defined(__x86_64__) #include "arch-x86_64.h" -#elif defined(__powerpc__) || defined(__powerpc64__) +#elif defined(__powerpc__) || defined(__powerpc64__) || defined(__ppc__) #include "arch-ppc.h" #elif defined(__ia64__) #include "arch-ia64.h" @@ -33,10 +44,32 @@ static inline unsigned long generic_ffz(unsigned long word) #include "arch-alpha.h" #elif defined(__s390x__) || defined(__s390__) #include "arch-s390.h" +#elif defined(__sparc__) +#include "arch-sparc.h" +#elif defined(__sparc64__) +#include "arch-sparc64.h" +#elif defined(__arm__) +#include "arch-arm.h" +#elif defined(__mips__) || defined(__mips64__) +#include "arch-mips.h" +#elif defined(__sh__) +#include "arch-sh.h" +#elif defined(__hppa__) +#include "arch-hppa.h" +#elif defined(__aarch64__) +#include "arch-aarch64.h" #else -#error "Unsupported arch" +#warning "Unknown architecture, attempting to use generic model." +#include "arch-generic.h" #endif -#define BITS_PER_LONG (__WORDSIZE) +#include "../lib/ffz.h" + +#ifndef ARCH_HAVE_INIT +static inline int arch_init(char *envp[]) +{ + return 0; +} +#endif #endif