diff --git a/tools/perf/Makefile b/tools/perf/Makefile index 5d1a8b0dff8fef2bd3166046b50420c85187186a..3f0666af93de7e0cac32b4bb51b17f7a61bf3b0a 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile @@ -166,10 +166,12 @@ ifdef NO_64BIT MBITS := -m32 else # - # If we're on a 64-bit kernel, use -m64: + # If we're on a 64-bit kernel (except ia64), use -m64: # - ifneq ($(patsubst %64,%,$(uname_M)),$(uname_M)) - MBITS := -m64 + ifneq ($(uname_M),ia64) + ifneq ($(patsubst %64,%,$(uname_M)),$(uname_M)) + MBITS := -m64 + endif endif endif diff --git a/tools/perf/perf.h b/tools/perf/perf.h index 216bdb223f63e5d6b70d7e2c815318d0248ca853..454d5d55f32d9cb30d8206c6f03bfe1e0b5f61fb 100644 --- a/tools/perf/perf.h +++ b/tools/perf/perf.h @@ -53,6 +53,12 @@ #define cpu_relax() asm volatile("" ::: "memory") #endif +#ifdef __ia64__ +#include "../../arch/ia64/include/asm/unistd.h" +#define rmb() asm volatile ("mf" ::: "memory") +#define cpu_relax() asm volatile ("hint @pause" ::: "memory") +#endif + #include #include #include