2006-08-21 Stephane Eranian <eranian@hpl.hp.com>
	This file will not be updated anymore,  Refer to
	SF.net CVS log for diff information

2006-07-10 Stephane Eranian <eranian@hpl.hp.com>
	* removed PFM_FL_X86_INSECURE because it is not needed anymore
	* removed perfmon_i386.h and perfmon_mips64.h because empty

2006-06-28 Stephane Eranian <eranian@hpl.hp.com>
	* added pfmsetup.c (Kevin Corry IBM)
	* fixed pfmsetup.c to correctly handle sampling format uuid

2006-06-28 Stephane Eranian <eranian@hpl.hp.com>
	* added libpfm_montecito.3 man page
	* updated libpfm_itanium2.3 man page
	* removed pfm_print_event_info() and related calls from library
	* removed unused pfmlib_mont_ipear_mode_t struct
	* remove etb_ds from Montecito ETB struct as it can only have one value
	* added showevtinfo.c example
	* added PFMLIB_ITA2_EVT_NO_SET to pfmlib_itanium2.h
	* added PFMLIB_MONT_EVT_NO_SET to pfmlib_montecito.h
	* replaced pfm_mont_get_event_caf() by pfm_mont_get_event_type()
	* added missing perfmon_compat.h from include install (Will Cohen)
	* fortify showreginfo.c for FC6 (Will Cohen)

2006-06-13 Stephane Eranian <eranian@hpl.hp.com>
	* added generic support or event umask (Kevin Corry from IBM)
	* changed detect_pmcs.c to use pfm-getinfo_evtsets()
	* updated all examples to use the new detect_unavailable_pmcs()
	* the examples require 2.6.17-rc6 to run

2006-05-22 Stephane Eranian <eranian@hpl.hp.com>
	* corrected architected IA-32 PMU detection code, e.g., PIC assembly
	* fixed counter width of  IA-32 architected PMU to 32
	* fixed definition of perfevtsel to 64-bit wide for IA-32 architected PMU

2006-05-11 Stephane Eranian <eranian@hpl.hp.com>
	* added support for IA-32 architected PMU as specified
	  in the latest IA-32 architecure manuals. There is enough
	  to support miinual functionalities on Core Duo/Solo processors

	* updated system call number to match those used with 2.6.17-rc4
	* enhanced i386_p6 model detection code

2006-04-25 Stephane Eranian <eranian@hpl.hp.com>
	* updated pfmlib_gen_mips64.c with latest code from Phil Mucci
	* introduced get_event_code_counter() internal method to handle
	  the fact that on smoe MPU (MIPS) an event may have a different
	  value based on the counter it is assigned to. This is a superset
	  of the previous get_event_code(). added PFMLIB_CNT_FIRST to ask
	  for first value (or don't care)

2006-04-05 Stephane Eranian <eranian@hpl.hp.com>
	* added support for install_prefix in makefile
	* fixed broken ETB_EVENT (not report has ETB event)
	* added BRANCH_EVENT as alias to ETB_EVENT for Montecito
	* added support for unavailable PMC registers to pfm_dispatch_events()
	* added detect_pmcs.c, detect_pmcs.h in examples
	* updated all generic examples to use detect_unavail_pmcs() helper function
	* updated pfm_dispatch_events() man pages
	* cleanup PFMLIB_REGMASK_*, change to pfm_regmask_*
	* created a separate set of man pages for all pfm_regmask_* functions

2006-04-04 Stephane Eranian <eranian@hpl.hp.com>
	* fixed makefile in include to install
	  perfmon_i386.h for x86_64 install (Will Cohen from Redhat)
	* install pfmlib_montecito.h on IA64

2006-04-05 Stephane Eranian <eranian@hpl.hp.com>
	* updated system call numbers to 2.6.17-rc1
	* incorporated a type change for reg_value
	  in pfmlib.h (Kevin Corry from IBM)

2006-03-22 Stephane Eranian <eranian@hpl.hp.com>
	* changed HT detection for PEBS examples

2006-03-07 Stephane Eranian <eranian@hpl.hp.com>
	* updated to 2.6.16-rc5 new perfmon code base support
	* added preliminary Montecito support
	* incorporated AMD provided event list for X86-64 (Ray Bryant)
	* renamed all GEN_X86_64 gen_x86_64 to amd_x86_64
	* removed PFM_32BIT_ABI_64BIT_OS, ABI now supports ILP32,LP64
	  without special compilation

2006-01-16 Stephane Eranian <eranian@hpl.hp.com>
	* added PFM_32BIT_ABI_64BIT_OS to allow
	  32-bit compile (32-bit ABI) for a 64-bit OS
	* added C++ support to perfmon header files
	* added MIPS64 (5K,20K) support (provided by Phil Mucci)
	* restructured *_standalone.c examples
	* added pfm_get_event_code_counter() and man page
	* changed implementation of pfm_get_num_pm*()
	* remove non-sense example task_view.c
	* added support for MIPS in some examples

2006-01-09 Stephane Eranian <eranian@hpl.hp.com>
	* examples code cleanups
	* example support up to 2048 CPU (syst.c)
	* portable sampling examples support more than 64 PMDs
2005-12-15 Stephane Eranian <eranian@hpl.hp.com>
	* updated all examples to new pfm_create_context() prototype
	* fixed some type mismatch in pfmlib_itanium2.c
	* required for 2.6.15-rc5-git3 kernel patch
2005-10-18 Stephane Eranian <eranian@hpl.hp.com>
	* forced perfsel.en bit to 1 for X86-64 and i386/p6
	* inverted reset mask to be more familiar in examples/showreginfo.c
	* updated P4 examples to force enable bit to 1

2005-09-28 Stephane Eranian <eranian@hpl.hp.com>
	* split p6/pentium M event tables. Pentium M
	  adds a few more events and changes the semantic
	  of some.
	* added smpl_standalone.c, notify_standalone.c
	  and ia32/smpl_pebs.c
	* cleanup the examples some more
	* updated multiplex. to match structure of multiplex2.c
	* updated perfmon2 kernel headers to match 2.6.14-rc2-mm1
	  release
	* added man pages for libpfm_p6 and libpfm_x86_64
	* fixed handling of edge field for P6

2005-08-01 Stephane Eranian <eranian@hpl.hp.com>
	* switch all examples in examples/dir to use the
	  multi system call interface.
	* updated perfmon.h/perfmon_compat.h to latest
	  kernel interface (multi syscall)

2004-06-24 Stephane Eranian <eranian@hpl.hp.com>
        * fixed Itanium2 events tables L2_FORCE_RECIRC_*
        and L2_L3ACCESS_* events can only be measured by PMC4

        * fixed pfm_*_get_event_counters(). It would always
        return the counter mask for event index 0.

2004-06-24 Stephane Eranian <eranian@hpl.hp.com>
	* fixed pfm_print_event_info_*() because it would not print
	 the PMC/PMD mask correctly
	* updated pfm_dispatch_*ear() for Itanium2
	* updated pfm_dispatch_irange() for Itanium2
	* updated pfm_ita2_print_info() 
	* updated pfm_ita2_num_pmcs() and pfm_ita2_num_pmds()

2004-02-12 Stephane Eranian <eranian@hpl.hp.com>
	* fixed a bug in pfmlib_itanium2.c which cause measurements
	  using opcode matching with an event different from
	  IA64_TAGGED_INST_RETIRED* to return wrong results, i.e.,
	  opcode filter was ignored.

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)
