Merge pull request #25 from per-mathisen-arm/master

Add appropriate linux kernel version checks for events definitions.
diff --git a/vendor/arm/pmu/pmu_counter.cpp b/vendor/arm/pmu/pmu_counter.cpp
index a7b1f2c..a9eaa14 100644
--- a/vendor/arm/pmu/pmu_counter.cpp
+++ b/vendor/arm/pmu/pmu_counter.cpp
@@ -28,6 +28,7 @@
 #include <cstring>
 #include <stdexcept>
 #include <sys/ioctl.h>
+#include <linux/version.h>
 
 PmuCounter::PmuCounter() :
     _perf_config()
@@ -120,12 +121,16 @@
 					return "PERF_COUNT_HW_BRANCH_MISSES";
 				case PERF_COUNT_HW_BUS_CYCLES:
 					return "PERF_COUNT_HW_BUS_CYCLES";
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)
 				case PERF_COUNT_HW_STALLED_CYCLES_FRONTEND:
 					return "PERF_COUNT_HW_STALLED_CYCLES_FRONTEND";
 				case PERF_COUNT_HW_STALLED_CYCLES_BACKEND:
 					return "PERF_COUNT_HW_STALLED_CYCLES_BACKEND";
+#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)
 				case PERF_COUNT_HW_REF_CPU_CYCLES:
 					return "PERF_COUNT_HW_REF_CPU_CYCLES";
+#endif
 				default:
 					return "UNKNOWN HARDWARE COUNTER";
 			}
@@ -147,12 +152,16 @@
 					return "PERF_COUNT_SW_PAGE_FAULTS_MIN";
 				case PERF_COUNT_SW_PAGE_FAULTS_MAJ:
 					return "PERF_COUNT_SW_PAGE_FAULTS_MAJ";
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
 				case PERF_COUNT_SW_ALIGNMENT_FAULTS:
 					return "PERF_COUNT_SW_ALIGNMENT_FAULTS";
 				case PERF_COUNT_SW_EMULATION_FAULTS:
 					return "PERF_COUNT_SW_EMULATION_FAULTS";
+#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)
 				case PERF_COUNT_SW_DUMMY:
 					return "PERF_COUNT_SW_DUMMY";
+#endif
 				default:
 					return "UNKNOWN SOFTWARE COUNTER";
 			}