X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=arch%2Farch-ppc.h;h=d4a080c4e91f31050404cab8c61b6d23bbe7f371;hb=5c94b00876437a27f1761e47437166780c3c3b93;hp=751762750dd5081b5710466b0d4b3c9b6d60b353;hpb=4247d1a9a27b6a23092a2c75e94e0545ad6a3376;p=fio.git diff --git a/arch/arch-ppc.h b/arch/arch-ppc.h index 75176275..d4a080c4 100644 --- a/arch/arch-ppc.h +++ b/arch/arch-ppc.h @@ -1,5 +1,5 @@ #ifndef ARCH_PPC_H -#define ARCH_PPH_H +#define ARCH_PPC_H #include #include @@ -72,9 +72,9 @@ static inline unsigned long long get_cpu_clock(void) tbl = mfspr(SPRN_ATBL); tbu1 = mfspr(SPRN_ATBU); } else { - __asm__ __volatile__("mftbu %0" : "=r"(tbu0)); - __asm__ __volatile__("mftb %0" : "=r"(tbl) ); - __asm__ __volatile__("mftbu %0" : "=r"(tbu1)); + tbu0 = mfspr(SPRN_TBRU); + tbl = mfspr(SPRN_TBRL); + tbu1 = mfspr(SPRN_TBRU); } } while (tbu0 != tbu1); @@ -82,6 +82,7 @@ static inline unsigned long long get_cpu_clock(void) return ret; } +#if 0 static void atb_child(void) { arch_flags |= ARCH_FLAG_1; @@ -96,28 +97,37 @@ static void atb_clocktest(void) pid = fork(); if (!pid) atb_child(); - else { + else if (pid != -1) { int status; - wait(&status); - if (!WIFEXITED(status)) + pid = wait(&status); + if (pid == -1 || !WIFEXITED(status)) arch_flags &= ~ARCH_FLAG_1; else arch_flags |= ARCH_FLAG_1; } } +#endif #define ARCH_HAVE_INIT extern int tsc_reliable; static inline int arch_init(char *envp[]) { +#if 0 tsc_reliable = 1; atb_clocktest(); +#endif return 0; } #define ARCH_HAVE_FFZ -#define ARCH_HAVE_CPU_CLOCK + +/* + * We don't have it on all platforms, lets comment this out until we + * can handle it more intelligently. + * + * #define ARCH_HAVE_CPU_CLOCK + */ #endif