### Eclipse Workspace Patch 1.0
#P papi
Index: src/libpfm4/include/perfmon/pfmlib.h
===================================================================
RCS file: /depot/devenv/bullxde/perftools/papi_repo/papi/src/libpfm4/include/perfmon/pfmlib.h,v
retrieving revision 1.12
diff -u -r1.12 pfmlib.h
--- src/libpfm4/include/perfmon/pfmlib.h	28 Mar 2014 20:54:24 -0000	1.12
+++ src/libpfm4/include/perfmon/pfmlib.h	9 Jun 2014 15:48:09 -0000
@@ -351,6 +351,7 @@
 		unsigned int	is_precise:1;	/* precise sampling (Intel X86=PEBS) */
 		unsigned int	reserved_bits:31;
 	} SWIG_NAME(flags);
+	uint64_t		cntmsk; /* counter register mask (which counters can be used) */
 } pfm_event_info_t;
 
 typedef struct {
@@ -373,6 +374,7 @@
 		int		dfl_bool;	/* default boolean value */
 		int		dfl_int;	/* default integer value */
 	} SWIG_NAME(defaults);
+	uint64_t		cntmsk; /* counter register mask (which counters can be used) */
 } pfm_event_attr_info_t;
 
 /*
@@ -388,14 +390,14 @@
 
 #if __WORDSIZE == 64
 #define PFM_PMU_INFO_ABI0	56
-#define PFM_EVENT_INFO_ABI0	64
-#define PFM_ATTR_INFO_ABI0	64
+#define PFM_EVENT_INFO_ABI0	72
+#define PFM_ATTR_INFO_ABI0	72
 
 #define PFM_RAW_ENCODE_ABI0	32
 #else
 #define PFM_PMU_INFO_ABI0	44
-#define PFM_EVENT_INFO_ABI0	48
-#define PFM_ATTR_INFO_ABI0	48
+#define PFM_EVENT_INFO_ABI0	56
+#define PFM_ATTR_INFO_ABI0	56
 
 #define PFM_RAW_ENCODE_ABI0	20
 #endif
Index: src/libpfm4/lib/pfmlib_intel_x86.c
===================================================================
RCS file: /depot/devenv/bullxde/perftools/papi_repo/papi/src/libpfm4/lib/pfmlib_intel_x86.c,v
retrieving revision 1.13
diff -u -r1.13 pfmlib_intel_x86.c
--- src/libpfm4/lib/pfmlib_intel_x86.c	28 Mar 2014 20:54:24 -0000	1.13
+++ src/libpfm4/lib/pfmlib_intel_x86.c	9 Jun 2014 15:48:09 -0000
@@ -891,6 +891,7 @@
 		info->code = pe[pidx].umasks[idx].ucode;
 		if (!intel_x86_uflag(this, pidx, idx, INTEL_X86_CODE_OVERRIDE))
 			info->code >>= 8;
+		info->cntmsk = pe[pidx].umasks[idx].ucntmsk;
 
 		info->type = PFM_ATTR_UMASK;
 		info->is_dfl = intel_x86_uflag(this, pidx, idx, INTEL_X86_DFL);
@@ -902,6 +903,7 @@
 		info->type = atdesc[idx].type;
 		info->equiv= NULL;
 		info->code = idx;
+		info->cntmsk = 0;
 		info->is_dfl = 0;
 		info->is_precise = 0;
 	}
@@ -922,6 +924,7 @@
 	info->name  = pe[idx].name;
 	info->desc  = pe[idx].desc;
 	info->code  = pe[idx].code;
+	info->cntmsk = pe[idx].cntmsk;
 	info->equiv = pe[idx].equiv;
 	info->idx   = idx; /* private index */
 	info->pmu   = pmu->pmu;
Index: src/libpfm4/lib/pfmlib_perf_event.c
===================================================================
RCS file: /depot/devenv/bullxde/perftools/papi_repo/papi/src/libpfm4/lib/pfmlib_perf_event.c,v
retrieving revision 1.9
diff -u -r1.9 pfmlib_perf_event.c
--- src/libpfm4/lib/pfmlib_perf_event.c	22 Jan 2014 22:27:17 -0000	1.9
+++ src/libpfm4/lib/pfmlib_perf_event.c	9 Jun 2014 15:48:09 -0000
@@ -350,6 +350,7 @@
 		info->type = os->atdesc[i].type;
 		info->is_dfl = 0;
 		info->ctrl = PFM_ATTR_CTRL_PERF_EVENT;
+		info->cntmsk = 0;
 		k++;
 	}
 	e->npattrs += k;
Index: src/libpfm4/lib/pfmlib_perf_event_pmu.c
===================================================================
RCS file: /depot/devenv/bullxde/perftools/papi_repo/papi/src/libpfm4/lib/pfmlib_perf_event_pmu.c,v
retrieving revision 1.8
diff -u -r1.8 pfmlib_perf_event_pmu.c
--- src/libpfm4/lib/pfmlib_perf_event_pmu.c	21 Mar 2013 23:22:59 -0000	1.8
+++ src/libpfm4/lib/pfmlib_perf_event_pmu.c	18 Apr 2014 16:25:15 -0000
@@ -737,6 +737,7 @@
 	info->desc = um->udesc;
 	info->equiv= NULL;
 	info->code = um->uid;
+	info->cntmsk = 0;
 	info->type = PFM_ATTR_UMASK;
 	info->ctrl = PFM_ATTR_CTRL_PMU;
 
 	