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)