[PATCH] ia64 support for tools/perf/

Luck, Tony
2009-11-17T17:05:51Z

Compiler on ia64 rejects the "-m64" option.
Add arch specific pieces to perf.h

Signed-off-by: Tony Luck <tony.luck@intel.com>

---

I expect there is a more elegant solution to the Makefile issue. Feel
free to throw away that part of this patch and replace it with something
prettier :-)

tools/perf/Makefile | 8 +++++---
tools/perf/perf.h | 6 ++++++
2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 7e190d5..078bcef 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -164,10 +164,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 8cc4623..26be918 100644
--- a/tools/perf/perf.h
+++ b/tools/perf/perf.h
@@ -47,6 +47,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 <time.h>
#include <unistd.h>
#include <sys/types.h>