|
|
da2d47 |
commit 071943b6ffb67047c78bc7e7c370fc41c16ef538
|
|
|
da2d47 |
Author: William Cohen <wcohen@redhat.com>
|
|
|
da2d47 |
Date: Fri Oct 11 13:41:41 2013 -0400
|
|
|
da2d47 |
|
|
|
da2d47 |
add preliminary aarch64 (arm64) support
|
|
|
da2d47 |
|
|
|
da2d47 |
There has been some work to build fedora 19 on 64-bit arm armv8 machines
|
|
|
da2d47 |
(aarch64). I took a look that the why the papi build was failing. The
|
|
|
da2d47 |
attached is a set of minimal patches to get papi to build. The patch is
|
|
|
da2d47 |
just a step toward getting aarch64 support for papi. Things are not all
|
|
|
da2d47 |
there for papi to work in that environment. Still need libpfm to
|
|
|
da2d47 |
support aarch64 and papi_events.csv describing mappings to machine
|
|
|
da2d47 |
specific events.
|
|
|
da2d47 |
|
|
|
da2d47 |
diff --git a/src/configure b/src/configure
|
|
|
da2d47 |
index 7cbd262..3c50e20 100755
|
|
|
da2d47 |
--- a/src/configure
|
|
|
da2d47 |
+++ b/src/configure
|
|
|
da2d47 |
@@ -4262,7 +4262,7 @@ _ACEOF
|
|
|
da2d47 |
|
|
|
da2d47 |
# First set pthread-mutexes based on arch
|
|
|
da2d47 |
case $arch in
|
|
|
da2d47 |
- arm*)
|
|
|
da2d47 |
+ aarch64|arm*)
|
|
|
da2d47 |
pthread_mutexes=yes
|
|
|
da2d47 |
CFLAGS="$CFLAGS -DUSE_PTHREAD_MUTEXES"
|
|
|
da2d47 |
echo "forcing use of pthread mutexes... " >&6
|
|
|
da2d47 |
diff --git a/src/configure.in b/src/configure.in
|
|
|
da2d47 |
index 2a73ad6..acc8bfc 100644
|
|
|
da2d47 |
--- a/src/configure.in
|
|
|
da2d47 |
+++ b/src/configure.in
|
|
|
da2d47 |
@@ -382,7 +382,7 @@ AC_DEFINE_UNQUOTED(CPU,$CPU,[cpu type])
|
|
|
da2d47 |
|
|
|
da2d47 |
# First set pthread-mutexes based on arch
|
|
|
da2d47 |
case $arch in
|
|
|
da2d47 |
- arm*)
|
|
|
da2d47 |
+ aarch64|arm*)
|
|
|
da2d47 |
pthread_mutexes=yes
|
|
|
da2d47 |
CFLAGS="$CFLAGS -DUSE_PTHREAD_MUTEXES"
|
|
|
da2d47 |
echo "forcing use of pthread mutexes... " >&6
|
|
|
da2d47 |
diff --git a/src/linux-context.h b/src/linux-context.h
|
|
|
da2d47 |
index 2135695..524490b 100644
|
|
|
da2d47 |
--- a/src/linux-context.h
|
|
|
da2d47 |
+++ b/src/linux-context.h
|
|
|
da2d47 |
@@ -31,6 +31,8 @@ typedef ucontext_t hwd_ucontext_t;
|
|
|
da2d47 |
#define OVERFLOW_ADDRESS(ctx) ((struct sigcontext *)ctx.ucontext)->si_regs.pc
|
|
|
da2d47 |
#elif defined(__arm__)
|
|
|
da2d47 |
#define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.arm_pc
|
|
|
da2d47 |
+#elif defined(__aarch64__)
|
|
|
da2d47 |
+#define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.pc
|
|
|
da2d47 |
#elif defined(__mips__)
|
|
|
da2d47 |
#define OVERFLOW_ADDRESS(ctx) ctx.ucontext->uc_mcontext.pc
|
|
|
da2d47 |
#else
|
|
|
da2d47 |
diff --git a/src/linux-timer.c b/src/linux-timer.c
|
|
|
da2d47 |
index 8e2d21f..9b918cd 100644
|
|
|
da2d47 |
--- a/src/linux-timer.c
|
|
|
da2d47 |
+++ b/src/linux-timer.c
|
|
|
da2d47 |
@@ -215,7 +215,7 @@ get_cycles( void )
|
|
|
da2d47 |
/* POWER get_cycles() */
|
|
|
da2d47 |
/************************/
|
|
|
da2d47 |
|
|
|
da2d47 |
-#elif (defined(__powerpc__) || defined(__arm__) || defined(__mips__))
|
|
|
da2d47 |
+#elif (defined(__powerpc__) || defined(__arm__) || defined(__mips__) || defined(__aarch64__))
|
|
|
da2d47 |
/*
|
|
|
da2d47 |
* It's not possible to read the cycles from user space on ppc970.
|
|
|
da2d47 |
* There is a 64-bit time-base register (TBU|TBL), but its
|
|
|
da2d47 |
commit 479e89a51ee18ba331c86a41be9ff17cd501e6d9
|
|
|
da2d47 |
Author: William Cohen <wcohen@redhat.com>
|
|
|
da2d47 |
Date: Wed May 28 17:01:41 2014 -0400
|
|
|
da2d47 |
|
|
|
da2d47 |
Add aarch64 Cortex A57 presets
|
|
|
da2d47 |
|
|
|
da2d47 |
The events for the ARM Cortex A57 events look to be the same as the
|
|
|
da2d47 |
events for the ARM Cortex A15 events. Add an entry so the preset are
|
|
|
da2d47 |
available for the ARM Cortex A57.
|
|
|
da2d47 |
|
|
|
da2d47 |
diff --git a/src/papi_events.csv b/src/papi_events.csv
|
|
|
da2d47 |
index 441844e..dbbc8d8 100644
|
|
|
da2d47 |
--- a/src/papi_events.csv
|
|
|
da2d47 |
+++ b/src/papi_events.csv
|
|
|
da2d47 |
@@ -1473,6 +1473,7 @@ PRESET,PAPI_L1_DCM,NOT_DERIVED,DCACHE_REFILL
|
|
|
da2d47 |
PRESET,PAPI_L1_ICM,NOT_DERIVED,IFETCH_MISS
|
|
|
da2d47 |
#
|
|
|
da2d47 |
CPU,arm_ac15
|
|
|
da2d47 |
+CPU,arm_ac57
|
|
|
da2d47 |
#
|
|
|
da2d47 |
PRESET,PAPI_TOT_INS,NOT_DERIVED,INST_RETIRED
|
|
|
da2d47 |
PRESET,PAPI_TOT_IIS,NOT_DERIVED,INST_SPEC_EXEC
|