2003-11-21 Stephane Eranian <eranian@hpl.hp.com>
	* changed interface to pfm_get_impl_*() to use
	  a cleaner definition for bitmasks. pfmlib_regmask_t is
	  now a struct and applications must use accesor macros
	  PFMLIB_REGMASK_*()
	* added pfm_get_num_pmcs(), pfm_get_num_pmds(), pfm_get_num_counters()
	* updated man pages to reflect changes
	* cleanup all examples to reflect bitmask changes

2003-10-24 Stephane Eranian <eranian@hpl.hp.com>
	* added reserved fields to the key pfmlib structure for future
	  extensions (recompilation from beta required).

2003-10-24 Stephane Eranian <eranian@hpl.hp.com>
	* released beta of version 3.0
	* some of the changes not reported by older entries:
	* removed freesmpl.c example
	* added ita2_btb.c, ita2_dear.c, ita_dear.c, multiplex.c
	* added task_attach.c, task_attach_timeout.c, task_smpl.c
	* added missing itanium2 events, mostly subevent combinations for 
	  SYLL_NOT_DISPERSED, EXTERN_DP_PINS_0_TO_3, and EXTERN_DP_PINS_4_TO_5
	* got rid of pfm_get_first_event(), pfm_get_next_event(). First valid
	  index  is always 0, use pfm_get_num_events() to find last event index
	* renamed pfm_stop() to pfm_self_stop(), pfm_start()
	  to pfm_self_start()
	* updated all examples to perfmon2 interface
	* added notify_self2.c, notify_self3.c examples
	* updated perfmon.h/perfmon_default_smpl.h to reflect latest 
	  perfmon-2 changes (2.6.0-test8)

2003-08-25 Stephane Eranian <eranian@hpl.hp.com>
	* allowed mulitple EAR/BTB events 
	* really implemented the 4 different ways
	  of programming EAR/BTB

2003-07-30 Stephane Eranian <eranian@hpl.hp.com>
	* updated all man pages to reflect changes for 3.0
	* more cleanups in the examples to make all package compile
	  without warning with ecc

2003-07-29 Stephane Eranian <eranian@hpl.hp.com>
	* fixed a limitation in the iod_table[] used if dispatch_drange().
	  Pure Opc mode is possible using the IBR/Opc mode. Reported by
	  Geoff Kent at UIUC.
	* cleaned up all functions using a bitmask as arguments

2003-06-30 Stephane Eranian <eranian@hpl.hp.com>
	* added pfm_get_max_event_name_len()
	* unsigned vs. int cleanups
	* introduced pfm_*_pmc_reg_t and pfm_*_pmd_reg_t
	* cleaned up calls using bitmasks
	* renamed PMU_MAX_* to PFMLIB_MAX_* 
	* got rid of PMU_FIRST_COUNTER
	* introduced pfmlib_counter_t
	* internal interface changes, renaming: pmu_name vs name
	* got rid of char **name and replaced with char *name, int maxlen
	* added pfm_start(), pfm_stop() as real functions 
	* changed interface of pfm_dispatch_events to make input vs. output
	  parameters more explicit
	* model-specific input/output to pfm_dispatch_event() now arguments
	  instead of being linked from the generic argument.

2003-06-27 Stephane Eranian <eranian@hpl.hp.com>
	* added missing const to char arguments for
	  pfm_find_event, pfm_find_event_byname,
	  pfm_print_event_info. Suggestion by Hans
	* renamed pfp_pc to pfp_pmc
	* renamed pfp_pc_count to pfp_pmc_count

2003-06-11 Stephane Eranian <eranian@hpl.hp.com>
	* updated manuals to reflect library changes
	* updated all examples to match the new Linux/ia64
	  kernel interface (perfmon2).

2003-06-10 Stephane Eranian <eranian@hpl.hp.com>
	* fix pfmlib_itanium.c: dispatch_dear(), dispatch_iear()
	  to setup EAR when there is an EAR event but no 
	  detailed setting in ita_param.
	* added pfm_ita_ear_mode_t to pfmlib_itanium.h
	* added pfm_ita_get_ear_mode() to pfmlib_itanium.h

2003-06-06 Stephane Eranian <eranian@hpl.hp.com>
	* add a generic call to return hardware counter
	  width: pfm_get hw_counter_width()
	* updated perfmon.h to perfmon2
	* added flag to itanium/itanium2 specific parameter
	  to tell the library to ignore per-even qualifier
	  constraints.
	  see PFMLIB_ITA_FL_CNT_NO_QUALCHECK and
	  PFMLIB_ITA2_FL_CNT_NO_QUALCHECK.

2003-05-06 Stephane Eranian <eranian@hpl.hp.com>
	* got rid of all connections to perfmon.h.
	  the library is now fully self-contained.
	  pfarg_reg_t has been replaced by pfmlib_reg_t.

2002-03-20 Stephane Eranian <eranian@hpl.hp.com>
	* fix %x vs. %lx for pmc8/9 in pfmlib_itanium.c 
	  and pfmlib_itanium2.c

2002-12-20 Stephane Eranian <eranian@hpl.hp.com>
	* added PFM_FL_EXCL_IDLE to perfmon.h

2002-12-18 Stephane Eranian <eranian@hpl.hp.com>
	* clear ig_ad, inv fields in PMC8,9 when no code range
	  restriction is used. 

2002-12-17 Stephane Eranian <eranian@hpl.hp.com>
	* update pfm_initialize.3 to clarify when this
	  function needs to be called.

2002-12-10 Stephane Eranian <eranian@hpl.hp.com>
	* changed _SYS_PERFMON.h to _PERFMON_PERFMON.h

2002-12-06 Stephane Eranian <eranian@hpl.hp.com>
	* integrated Peter Chubb's Debian script fixes
	* fixed the Debian script to include the examples

2002-12-05 Stephane Eranian <eranian@hpl.hp.com>
	* added man pages for pfm_start() and pfm_stop()
	* release 2.0 beta for review

2002-12-04 Stephane Eranian <eranian@hpl.hp.com>
	* the pfmlib_param_t structure now contains 
	  the pmc array (pfp_pc[]) as well as a counter representing the
	  number of valid entries written to pfp_pc[]. cleaned up all
	  modules and headers to reflect changes.
	* added pfm_ita2_is_fine_mode() to test whether or not fine
	  mode was used for code ranges.

2002-12-03 Stephane Eranian <eranian@hpl.hp.com>
	* removed pfm_ita_ism from pfmlib_ita_param_t
	* removed pfm_ita2_ism from pfmlib_ita2_param_t
	* added libpfm.3, libpfm_itanium.3, libpfm_itanium2.3
	* enabled per-range privilege level mask in pfmlib_itanium.c 
          and pfmlib_itanium2.c

2002-11-21 Stephane Eranian <eranian@hpl.hp.com>
	* added pfmlib_generic.h to cleanup pfmlib.h
	* dropped retry argument to pfm_find_event()
	* got rid of the pfm_find_byvcode*() interface (internal only)
	* cleanup up interface code is int not unsigned long
	* added man pages in docs/man for the generic library interface
	* moved the PMU specific handy shortcuts for register struct to
	  module specific file. Avoid possible conflicts in applications
	  using different PMU models in one source file.

2002-11-20 Stephane Eranian <eranian@hpl.hp.com>
	* separated the library, headers, examples from the pfmon tool
	* changed license of library to MIT-style license
	* set version number to 2.0
	* added support to generate a shared version of libpfm
	* fix pfm_dispatch_opcm() to check for effective use of 
	  IA64_TAGGED_INST_IBRPX_PMCY before setting the bits in PMC15 
	  (spotted by UIUC Impact Team).
	* cleaned up error messages in the examples
	* fix bug in pfm_ita2_print_info() which caused extra umask bits to be
	  displayed for EAR.

2002-11-19 Stephane Eranian <eranian@hpl.hp.com>
	* added pfm_get_impl_counters() to library interface and PMU models
	* added missing support for pfm_get_impl_pmds(), pfm_get_impl_pmcs() 
	  to pfmlib_generic.c
	* created pfmlib_compiler.h to encapsulate inline assembly differences
	  between compilers.
	* created pfmlib_compiler_priv.h to encapsulate the inline assembly
	  differences for library private code.

2002-11-13 Stephane Eranian <eranian@hpl.hp.com>
	* fixed definition of pmc10 in pfmlib_itanium2.h to account for
          a layout difference between cache and TLB mode (spotted by UIUC Impact Team).
	  Was causing problems with some latency values in IEAR cache mode.
	* fixed initialization of pmc10 in pfmlib_itanium2.c to reflect above
	  change.

2002-10-14 Stephane Eranian <eranian@hpl.hp.com>
	* fixed impl_pmds[] in pfmlib_itanium.c and pfmlib_itanium2.c.
	  PMD17 was missing.

2002-09-09 Stephane Eranian <eranian@hpl.hp.com>
	* updated include/perfmon/perfmon.h to include sampling period
	  randomization.

2002-08-14 Stephane Eranian <eranian@hpl.hp.com>
	* fix bitfield length for pmc14_ita2_reg and pmd3_ita2_reg in pfmlib_itanium2.h (David Mosberger)
