Signed-off-by: Robert Richter <[EMAIL PROTECTED]>
---
 docs/man3/libpfm.3 |   75 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 55 insertions(+), 20 deletions(-)

diff --git a/docs/man3/libpfm.3 b/docs/man3/libpfm.3
index fe6a741..b8793fc 100644
--- a/docs/man3/libpfm.3
+++ b/docs/man3/libpfm.3
@@ -1,39 +1,44 @@
-.TH LIBPFM 3  "November, 2003" "" "Linux Programmer's Manual"
+.TH LIBPFM 3  "March, 2008" "" "Linux Programmer's Manual"
 .SH NAME
-libpfm \- a helper library to program the hardware performance counters of 
IA-64 CPUs
+libpfm \- a helper library to program Hardware Performance Units (PMUs)
 .SH SYNOPSIS
 .nf
 .B #include <perfmon/pfmlib.h>
 .SH DESCRIPTION
-The libpfm library is a helper library which can be used by applications to 
program
-the IA-64 Performance Monitoring Unit (PMU). While it is being developed on 
Linux 
-in conjunction with the Linux/ia64 subsystem. It is generic enough to be used 
on
-other IA-64 operating systems. It is important to realize that the library does
-not make the actual kernel calls to program the PMU, it simply helps you  
figure
-out which PMU registers to use to measure certain events. On Linux/ia64, for 
-instance, it does not make any \fBperfmonctl\fR call.
+The libpfm library is a helper library which can be used by
+applications to program the Performance Monitoring Unit (PMU). It
+provides a generic programing interface that is part of the Perfmon2
+architecture and portable across various PMU models/architectures. A
+diversity of PMU hardware is supported, a list can be found below
+under \fBSUPPORTED HARDWARE\fR.  Perfmon2 has been developed initially
+on Linux in conjunction with the Linux/ia64 subsystem.
+
+It is important to realize that the library does not make the actual
+kernel calls to program the PMU, it simply helps you figure out which
+PMU registers to use to measure certain events. On Linux/ia64, for
+instance, it does not make any system call.
 
 There are two categories of PMU registers. The performance monitoring data 
registers (PMD) 
-are used to collects counts or serve as hardware buffers. The performance 
monitoring control 
+are used to collect counts or serve as hardware buffers. The performance 
monitoring control 
 registers (PMCS) are used to indicate what events need to be monitored. 
Programming the PMU 
-consists in setting up the PMC registers to monitor certain events. The PMDS 
are commonly set 
+consists in setting up the PMC registers to monitor certain events. The PMDs 
are commonly set 
 to zero unless sampling is used.
 
-The number of PMC and PMD registers varies from one implementation of the IA-64
-architecture to another. The association of PMC to PMD can also change. 
Moreover
-the number and encoding of events can also widely change. Finally, the 
structure
-of a PMC register can also change. All these factors make it quite difficult 
to 
-write monitoring tools. 
+The number of PMC and PMD registers varies between architectures and
+CPU models. The association of PMC to PMD can also change. Moreover
+the number and encoding of events can also widely change. Finally, the
+structure of a PMC register can also change. All these factors make it
+quite difficult to write monitoring tools.
 
 This library is designed to simplify the programming of the PMC registers by 
hiding
 the complexity behind simple interfaces. The library does this without 
limiting 
 accessibility to model specific features by using a layered design.
 
 The library is structured in two layers. The common layer provides an interface
-that is shared across all PMU models.This layer is good enough to setup simple 
monitoring
+that is shared across all PMU models. This layer is good enough to setup 
simple monitoring
 sessions which count occurrences of events. Then, there is a model-specific 
layer which 
 gives access to the model-specific features. For instance, on Itanium, you can 
use the library
-to setup the registers for the the Branch Trace Buffer. Model-specific 
interfaces have the
+to setup the registers for the Branch Trace Buffer. Model-specific interfaces 
have the
 abbreviated PMU model name in their names. For instance, 
 \fBpfm_ita2_get_event_umask()\fR is an Itanium2 (ita2) specific function. 
 
@@ -44,8 +49,38 @@ The common interface is defined in the \fBpfmlib.h\fR header 
file. Model-specifi
 are defined in model-specific header files. For instance, 
\fBpfmlib_itanium2.h\fR provides
 the Itanium2 interface.
 
-.SH AUTHOR
+.SS SUPPORTED HARDWARE
+.nf
+libpfm_amd64(3)     AMD64 processors K8 and Barcelona (families 0Fh and 10h)
+libpfm_core(3)      Intel Core processor family, including the Core 2
+                    Duo series
+libpfm_itanium(3)   Intel Itanium
+libpfm_itanium2(3)  Intel Itanium 2
+libpfm_montecito(3) Intel Itanium 2 9000 (Montecito)
+libpfm_p6(3)        P6 processor family including the Pentium M
+                    processor
+libpfm_powerpc(3)   IBM PowerPC and POWER processor families
+                    (PPC970(FX,GX), PPC970MP POWER4, POWER4+, POWER5,
+                    POWER5+, and POWER6)
+.fi
+.SH AUTHORS
+.nf
 Stephane Eranian <[EMAIL PROTECTED]>
+Robert Richter <[EMAIL PROTECTED]>
+.if
+.PP
 .SH SEE ALSO
-pfmlib_itanium(3), pfmlib_itanium2(3) and the set of examples shipped with the 
library
+.nf
+.PP
+libpfm(3), libpfm_amd64(3), libpfm_core(3), libpfm_itanium2(3),
+libpfm_itanium(3), libpfm_montecito(3), libpfm_p6(3),
+libpfm_powerpc(3).
+.PP
+pfm_dispatch_events(3), pfm_find_event(3),
+pfm_get_cycle_event(3), pfm_get_event_name(3), pfm_get_impl_pmcs(3),
+pfm_get_pmu_name(3), pfm_get_version(3), pfm_initialize(3),
+pfm_regmask_set(3), pfm_set_options(3), pfm_strerror(3).
+.PP
+Examples shipped with the library
+.if
 .PP
-- 
1.5.3.7

-- 
Advanced Micro Devices, Inc.
Operating System Research Center
email: [EMAIL PROTECTED]



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
perfmon2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to