head	1.29;
access;
symbols
	RELENG_8_4:1.27.0.2
	RELENG_9_1_0_RELEASE:1.19.2.3.2.2
	RELENG_9_1:1.19.2.3.0.2
	RELENG_9_1_BP:1.19.2.3
	RELENG_8_3_0_RELEASE:1.12.2.2.6.1
	RELENG_8_3:1.12.2.2.0.6
	RELENG_8_3_BP:1.12.2.2
	RELENG_9_0_0_RELEASE:1.19.2.1.2.1
	RELENG_9_0:1.19.2.1.0.2
	RELENG_9_0_BP:1.19.2.1
	RELENG_9:1.19.0.2
	RELENG_9_BP:1.19
	RELENG_7_4_0_RELEASE:1.4.10.2.2.1
	RELENG_8_2_0_RELEASE:1.12.2.2.4.1
	RELENG_7_4:1.4.10.2.0.2
	RELENG_7_4_BP:1.4.10.2
	RELENG_8_2:1.12.2.2.0.4
	RELENG_8_2_BP:1.12.2.2
	RELENG_8_1_0_RELEASE:1.12.2.2.2.1
	RELENG_8_1:1.12.2.2.0.2
	RELENG_8_1_BP:1.12.2.2
	RELENG_7_3_0_RELEASE:1.4.10.1.2.1
	RELENG_7_3:1.4.10.1.0.2
	RELENG_7_3_BP:1.4.10.1
	RELENG_8_0_0_RELEASE:1.12.2.1.2.1
	RELENG_8_0:1.12.2.1.0.2
	RELENG_8_0_BP:1.12.2.1
	RELENG_8:1.12.0.2
	RELENG_8_BP:1.12
	RELENG_7_2_0_RELEASE:1.4.20.1
	RELENG_7_2:1.4.0.20
	RELENG_7_2_BP:1.4
	RELENG_7_1_0_RELEASE:1.4.18.1
	RELENG_6_4_0_RELEASE:1.4.16.1
	RELENG_7_1:1.4.0.18
	RELENG_7_1_BP:1.4
	RELENG_6_4:1.4.0.16
	RELENG_6_4_BP:1.4
	RELENG_7_0_0_RELEASE:1.4
	RELENG_6_3_0_RELEASE:1.4
	RELENG_7_0:1.4.0.14
	RELENG_7_0_BP:1.4
	RELENG_6_3:1.4.0.12
	RELENG_6_3_BP:1.4
	RELENG_7:1.4.0.10
	RELENG_7_BP:1.4
	RELENG_6_2_0_RELEASE:1.4
	RELENG_6_2:1.4.0.8
	RELENG_6_2_BP:1.4
	RELENG_6_1_0_RELEASE:1.4
	RELENG_6_1:1.4.0.6
	RELENG_6_1_BP:1.4
	RELENG_6_0_0_RELEASE:1.4
	RELENG_6_0:1.4.0.4
	RELENG_6_0_BP:1.4
	RELENG_6:1.4.0.2
	RELENG_6_BP:1.4;
locks; strict;
comment	@# @;


1.29
date	2013.05.04.00.29.21;	author svnexp;	state Exp;
branches;
next	1.28;

1.28
date	2013.03.29.00.29.42;	author svnexp;	state Exp;
branches;
next	1.27;

1.27
date	2013.02.01.00.33.35;	author svnexp;	state Exp;
branches
	1.27.2.1;
next	1.26;

1.26
date	2012.11.17.01.49.58;	author svnexp;	state Exp;
branches;
next	1.25;

1.25
date	2012.10.19.17.01.27;	author sbruno;	state Exp;
branches;
next	1.24;

1.24
date	2012.10.06.17.54.42;	author kientzle;	state Exp;
branches;
next	1.23;

1.23
date	2012.09.06.13.54.01;	author fabient;	state Exp;
branches;
next	1.22;

1.22
date	2012.03.28.20.58.30;	author fabient;	state Exp;
branches;
next	1.21;

1.21
date	2012.03.25.02.22.32;	author gonzo;	state Exp;
branches;
next	1.20;

1.20
date	2012.03.01.21.23.26;	author davide;	state Exp;
branches;
next	1.19;

1.19
date	2011.02.11.02.34.26;	author imp;	state Exp;
branches
	1.19.2.1;
next	1.18;

1.18
date	2011.02.11.02.24.04;	author imp;	state Exp;
branches;
next	1.17;

1.17
date	2010.08.23.22.24.11;	author imp;	state Exp;
branches;
next	1.16;

1.16
date	2010.04.02.13.23.49;	author fabient;	state Exp;
branches;
next	1.15;

1.15
date	2010.01.02.09.58.07;	author ed;	state Exp;
branches;
next	1.14;

1.14
date	2009.12.23.23.16.54;	author rpaulo;	state Exp;
branches;
next	1.13;

1.13
date	2009.10.04.10.54.20;	author rpaulo;	state Exp;
branches;
next	1.12;

1.12
date	2008.10.04.12.27.49;	author jkoshy;	state Exp;
branches
	1.12.2.1;
next	1.11;

1.11
date	2008.09.16.16.57.14;	author jkoshy;	state Exp;
branches;
next	1.10;

1.10
date	2007.11.25.06.38.55;	author jkoshy;	state Exp;
branches;
next	1.9;

1.9
date	2007.11.25.03.18.42;	author jkoshy;	state Exp;
branches;
next	1.8;

1.8
date	2007.11.24.11.05.36;	author jkoshy;	state Exp;
branches;
next	1.7;

1.7
date	2007.11.23.12.30.55;	author jkoshy;	state Exp;
branches;
next	1.6;

1.6
date	2007.11.23.12.21.34;	author jkoshy;	state Exp;
branches;
next	1.5;

1.5
date	2007.11.23.11.46.08;	author jkoshy;	state Exp;
branches;
next	1.4;

1.4
date	2005.06.09.19.45.06;	author jkoshy;	state Exp;
branches
	1.4.2.1
	1.4.10.1
	1.4.16.1
	1.4.18.1
	1.4.20.1;
next	1.3;

1.3
date	2005.05.01.14.11.47;	author jkoshy;	state Exp;
branches;
next	1.2;

1.2
date	2005.04.19.14.43.59;	author jkoshy;	state Exp;
branches;
next	1.1;

1.1
date	2005.04.19.04.01.21;	author jkoshy;	state Exp;
branches;
next	;

1.27.2.1
date	2013.02.01.00.33.35;	author svnexp;	state dead;
branches;
next	1.27.2.2;

1.27.2.2
date	2013.03.28.13.03.19;	author svnexp;	state Exp;
branches;
next	;

1.19.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.19.2.1.2.1;
next	1.19.2.2;

1.19.2.2
date	2012.04.08.21.29.48;	author davide;	state Exp;
branches;
next	1.19.2.3;

1.19.2.3
date	2012.05.29.14.50.21;	author fabient;	state Exp;
branches
	1.19.2.3.2.1;
next	1.19.2.4;

1.19.2.4
date	2012.10.16.13.27.20;	author fabient;	state Exp;
branches;
next	1.19.2.5;

1.19.2.5
date	2012.11.05.01.05.14;	author sbruno;	state Exp;
branches;
next	1.19.2.6;

1.19.2.6
date	2012.11.17.11.36.25;	author svnexp;	state Exp;
branches;
next	1.19.2.7;

1.19.2.7
date	2013.04.15.04.01.44;	author svnexp;	state Exp;
branches;
next	1.19.2.8;

1.19.2.8
date	2013.04.19.20.01.44;	author svnexp;	state Exp;
branches;
next	;

1.19.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.19.2.1.2.2;

1.19.2.1.2.2
date	2012.11.17.08.36.25;	author svnexp;	state Exp;
branches;
next	;

1.19.2.3.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.19.2.3.2.2;

1.19.2.3.2.2
date	2012.11.17.08.47.15;	author svnexp;	state Exp;
branches;
next	;

1.12.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.12.2.1.2.1;
next	1.12.2.2;

1.12.2.2
date	2010.04.16.15.45.09;	author fabient;	state Exp;
branches
	1.12.2.2.2.1
	1.12.2.2.4.1
	1.12.2.2.6.1;
next	1.12.2.3;

1.12.2.3
date	2012.11.17.10.36.09;	author svnexp;	state Exp;
branches;
next	;

1.12.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.12.2.2.2.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.12.2.2.4.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.12.2.2.6.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.12.2.2.6.2;

1.12.2.2.6.2
date	2012.11.17.08.24.50;	author svnexp;	state Exp;
branches;
next	;

1.4.2.1
date	2012.11.17.07.40.30;	author svnexp;	state Exp;
branches;
next	;

1.4.10.1
date	2009.06.07.10.00.35;	author fabient;	state Exp;
branches
	1.4.10.1.2.1;
next	1.4.10.2;

1.4.10.2
date	2010.04.16.16.15.30;	author fabient;	state Exp;
branches
	1.4.10.2.2.1;
next	1.4.10.3;

1.4.10.3
date	2012.11.17.08.02.58;	author svnexp;	state Exp;
branches;
next	;

1.4.10.1.2.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.4.10.2.2.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.4.10.2.2.2;

1.4.10.2.2.2
date	2012.11.17.08.16.49;	author svnexp;	state Exp;
branches;
next	;

1.4.16.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.4.18.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.4.20.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;


desc
@@


1.29
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/250203
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@# $FreeBSD: head/lib/libpmc/Makefile 250203 2013-05-03 08:20:10Z uqs $

LIB=	pmc

SRCS=	libpmc.c pmclog.c
INCS=	pmc.h pmclog.h

MAN=	pmc.3
MAN+=	pmc_allocate.3
MAN+=	pmc_attach.3
MAN+=	pmc_capabilities.3
MAN+=	pmc_configure_logfile.3
MAN+=	pmc_disable.3
MAN+=	pmc_event_names_of_class.3
MAN+=	pmc_get_driver_stats.3
MAN+=	pmc_get_msr.3
MAN+=	pmc_init.3
MAN+=	pmc_name_of_capability.3
MAN+=	pmc_read.3
MAN+=	pmc_set.3
MAN+=	pmc_start.3
MAN+=	pmclog.3
MAN+=	pmc.soft.3

# PMC-dependent manual pages
MAN+=	pmc.atom.3
MAN+=	pmc.core.3
MAN+=	pmc.core2.3
MAN+=	pmc.corei7.3
MAN+=	pmc.corei7uc.3
MAN+=	pmc.haswell.3
MAN+=	pmc.haswelluc.3
MAN+=	pmc.iaf.3
MAN+=	pmc.ivybridge.3
MAN+=	pmc.ivybridgexeon.3
MAN+=	pmc.k7.3
MAN+=	pmc.k8.3
MAN+=	pmc.mips24k.3
MAN+=	pmc.octeon.3
MAN+=	pmc.p4.3
MAN+=	pmc.p5.3
MAN+=	pmc.p6.3
MAN+=	pmc.sandybridge.3
MAN+=	pmc.sandybridgeuc.3
MAN+=	pmc.sandybridgexeon.3
MAN+=	pmc.tsc.3
MAN+=	pmc.ucf.3
MAN+=	pmc.westmere.3
MAN+=	pmc.westmereuc.3
MAN+=	pmc.xscale.3

MLINKS+= \
	pmc_allocate.3 pmc_release.3 \
	pmc_attach.3 pmc_detach.3 \
	pmc_capabilities.3 pmc_ncpu.3 \
	pmc_capabilities.3 pmc_npmc.3 \
	pmc_capabilities.3 pmc_pmcinfo.3 \
	pmc_capabilities.3 pmc_cpuinfo.3 \
	pmc_capabilities.3 pmc_width.3 \
	pmc_configure_logfile.3 pmc_flush_logfile.3 \
	pmc_configure_logfile.3 pmc_writelog.3 \
	pmc_disable.3 pmc_enable.3 \
	pmc_name_of_capability.3 pmc_name_of_class.3 \
	pmc_name_of_capability.3 pmc_name_of_cputype.3 \
	pmc_name_of_capability.3 pmc_name_of_disposition.3 \
	pmc_name_of_capability.3 pmc_name_of_event.3 \
	pmc_name_of_capability.3 pmc_name_of_mode.3 \
	pmc_name_of_capability.3 pmc_name_of_state.3 \
	pmc_read.3 pmc_rw.3 \
	pmc_read.3 pmc_write.3 \
	pmc_start.3 pmc_stop.3

MLINKS+= \
	pmclog.3 pmclog_open.3 \
	pmclog.3 pmclog_close.3 \
	pmclog.3 pmclog_feed.3 \
	pmclog.3 pmclog_read.3

.include <bsd.lib.mk>
@


1.28
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248842
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: head/lib/libpmc/Makefile 248842 2013-03-28 19:15:54Z sbruno $
a25 1
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
d29 2
a35 1
MAN+=	pmc.ucf.3
d38 2
a42 2
MAN+=	pmc.corei7.3
MAN+=	pmc.corei7uc.3
d44 4
a47 2
MAN+=	pmc.sandybridgeuc.3	
MAN+=	pmc.sandybridgexeon.3	
a49 2
MAN+=	pmc.tsc.3
.elif ${MACHINE_CPUARCH} == "arm"
a50 4
.elif ${MACHINE_CPUARCH} == "mips"
MAN+=	pmc.mips24k.3
MAN+=	pmc.octeon.3
.endif
@


1.27
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/246166
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: head/lib/libpmc/Makefile 246166 2013-01-31 22:09:53Z sbruno $
d30 2
@


1.27.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:03:19 +0000
@
text
@d1 81
@


1.27.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 70
# $FreeBSD: releng/8.4/lib/libpmc/Makefile 206702 2010-04-16 15:45:09Z fabient $

LIB=	pmc

SRCS=	libpmc.c pmclog.c
INCS=	pmc.h pmclog.h

WARNS?=	6

MAN=	pmc.3
MAN+=	pmc_allocate.3
MAN+=	pmc_attach.3
MAN+=	pmc_capabilities.3
MAN+=	pmc_configure_logfile.3
MAN+=	pmc_disable.3
MAN+=	pmc_event_names_of_class.3
MAN+=	pmc_get_driver_stats.3
MAN+=	pmc_get_msr.3
MAN+=	pmc_init.3
MAN+=	pmc_name_of_capability.3
MAN+=	pmc_read.3
MAN+=	pmc_set.3
MAN+=	pmc_start.3
MAN+=	pmclog.3

# PMC-dependent manual pages
MAN+=	pmc.atom.3
MAN+=	pmc.core.3
MAN+=	pmc.core2.3
MAN+=	pmc.iaf.3
MAN+=	pmc.ucf.3
MAN+=	pmc.k7.3
MAN+=	pmc.k8.3
MAN+=	pmc.p4.3
MAN+=	pmc.p5.3
MAN+=	pmc.p6.3
MAN+=	pmc.corei7.3
MAN+=	pmc.corei7uc.3
MAN+=	pmc.westmere.3
MAN+=	pmc.westmereuc.3
MAN+=	pmc.tsc.3

MLINKS+= \
	pmc_allocate.3 pmc_release.3 \
	pmc_attach.3 pmc_detach.3 \
	pmc_capabilities.3 pmc_ncpu.3 \
	pmc_capabilities.3 pmc_npmc.3 \
	pmc_capabilities.3 pmc_pmcinfo.3 \
	pmc_capabilities.3 pmc_cpuinfo.3 \
	pmc_capabilities.3 pmc_width.3 \
	pmc_configure_logfile.3 pmc_flush_logfile.3 \
	pmc_configure_logfile.3 pmc_writelog.3 \
	pmc_disable.3 pmc_enable.3 \
	pmc_name_of_capability.3 pmc_name_of_class.3 \
	pmc_name_of_capability.3 pmc_name_of_cputype.3 \
	pmc_name_of_capability.3 pmc_name_of_disposition.3 \
	pmc_name_of_capability.3 pmc_name_of_event.3 \
	pmc_name_of_capability.3 pmc_name_of_mode.3 \
	pmc_name_of_capability.3 pmc_name_of_state.3 \
	pmc_read.3 pmc_rw.3 \
	pmc_read.3 pmc_write.3 \
	pmc_start.3 pmc_stop.3

MLINKS+= \
	pmclog.3 pmclog_open.3 \
	pmclog.3 pmclog_close.3 \
	pmclog.3 pmclog_feed.3 \
	pmclog.3 pmclog_read.3

.include <bsd.lib.mk>
@


1.26
log
@Switching exporter and resync
@
text
@d1 1
a1 1
# $FreeBSD: head/lib/libpmc/Makefile 241738 2012-10-19 17:01:27Z sbruno $
d32 1
@


1.25
log
@SVN rev 241738 on 2012-10-19 17:01:27Z by sbruno

Update hwpmc to support the Xeon class of Sandybridge processors.
(Model 0x2D     /* Per Intel document 253669-044US 08/2012. */)

Add manpage to document all the goodness that is available in this
processor model.

No support for uncore events at this time.

Submitted by:	hiren panchasara <hiren.panchasara@@gmail.com>
Reviewed by:	jimharris@@ fabient@@
Obtained from:	Yahoo! Inc.
MFC after:	  2 weeks
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.24
log
@SVN rev 241255 on 2012-10-06 17:54:42Z by kientzle

Fix "make install"

Also make arm the same as other platforms:  Install man
pages for all CPUs in the family.
@
text
@d42 1
@


1.23
log
@SVN rev 240164 on 2012-09-06 13:54:01Z by fabient

Add Intel Ivy Bridge support to hwpmc(9).
Update offcore RSP token for Sandy Bridge.
Note: No uncore support.

Will works on Family 6 Model 3a.

MFC after: 1 month
Tested by: bapt, grehan
@
text
@d45 1
a45 1
.elif ${MACHINE_CPUARCH} == "arm" && ${CPUTYPE} == "xscale"
@


1.22
log
@SVN rev 233628 on 2012-03-28 20:58:30Z by fabient

Add software PMC support.

New kernel events can be added at various location for sampling or counting.
This will for example allow easy system profiling whatever the processor is
with known tools like pmcstat(8).

Simultaneous usage of software PMC and hardware PMC is possible, for example
looking at the lock acquire failure, page fault while sampling on
instructions.

Sponsored by: NETASQ
MFC after:	1 month
@
text
@d31 1
@


1.21
log
@SVN rev 233451 on 2012-03-25 02:22:32Z by gonzo

Update manual pages for MIPS-related CPUs:

- Rename pmc.mips to pmc.mips24k since it covers just one CPU,
    no whole architecture
- Add documetnations for Octeon's PMC counters
- Remove CAVEATS section from pmc.mips24k page: PMC for MIPS supports
    sampling now.
@
text
@d23 1
@


1.20
log
@SVN rev 232366 on 2012-03-01 21:23:26Z by davide

- Add support for the Intel Sandy Bridge microarchitecture (both core and uncore counting events)
- New manpages with event lists.
- Add MSRs for the Intel Sandy Bridge microarchitecture

Reviewed by:	attilio, brueffer, fabient
Approved by:	gnn (mentor)
MFC after:	3 weeks
@
text
@d45 3
@


1.19
log
@SVN rev 218532 on 2011-02-11 02:34:26Z by imp

Revert last commit: CPUTYPE will be defined here
@
text
@d38 2
@


1.19.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.19.2.2
log
@SVN rev 234046 on 2012-04-08 21:29:48Z by davide

MFC: r232366

- Add support for the Intel Sandy Bridge microarchitecture (both core and
  uncore counting events)
- New manpages with event lists.
- Add MSRs for the Intel Sandy Bridge microarchitecture

Approved by:	gnn (mentor)
@
text
@a37 2
MAN+=	pmc.sandybridge.3
MAN+=	pmc.sandybridgeuc.3	
@


1.19.2.3
log
@SVN rev 236238 on 2012-05-29 14:50:21Z by fabient

MFC r233628, r234598, r235229, r235831, r226986.

Add software PMC support.

New kernel events can be added at various location for sampling or counting.
This will for example allow easy system profiling whatever the processor is
with known tools like pmcstat(8).

Simultaneous usage of software PMC and hardware PMC is possible, for example
looking at the lock acquire failure, page fault while sampling on
instructions.

Sponsored by: NETASQ
@
text
@a22 1
MAN+=	pmc.soft.3
@


1.19.2.4
log
@SVN rev 241609 on 2012-10-16 13:27:20Z by fabient

MFC r240164, r240203:
Add Intel Ivy Bridge support to hwpmc(9).
Update offcore RSP token for Sandy Bridge.
Note: No uncore support.
@
text
@a30 1
MAN+=	pmc.ivybridge.3
@


1.19.2.5
log
@SVN rev 242594 on 2012-11-05 01:05:14Z by sbruno

MFC r241745,241738,241741

Update hwpmc to support the Xeon class of Sandybridge processors.
(Model 0x2D     /* Per Intel document 253669-044US 08/2012. */)

Update man page crossreferences to sandybridge xeon class

Remove trailing whitespace.
@
text
@a41 1
MAN+=	pmc.sandybridgexeon.3	
@


1.19.2.6
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/lib/libpmc/Makefile 242594 2012-11-05 01:05:14Z sbruno $
@


1.19.2.7
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/249492
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/lib/libpmc/Makefile 249492 2013-04-15 03:09:59Z hiren $
a31 1
MAN+=	pmc.ivybridgexeon.3
@


1.19.2.8
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/249655
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/lib/libpmc/Makefile 249655 2013-04-19 19:28:48Z hiren $
a29 2
MAN+=	pmc.haswell.3
MAN+=	pmc.haswelluc.3
@


1.19.2.3.2.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.19.2.3.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/lib/libpmc/Makefile 236238 2012-05-29 14:50:21Z fabient $
@


1.19.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.19.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/lib/libpmc/Makefile 218532 2011-02-11 02:34:26Z imp $
@


1.18
log
@SVN rev 218531 on 2011-02-11 02:24:04Z by imp

Don't require CPUTYPE to be defined for ARM, but use it if it is.
@
text
@d41 1
a41 1
.elif ${MACHINE_CPUARCH} == "arm" && defined(CPUTYPE) && ${CPUTYPE} == "xscale"
@


1.17
log
@SVN rev 211725 on 2010-08-23 22:24:11Z by imp

MFtbemd:

Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want
to test of all the CPUs of a given family conform.
@
text
@d41 1
a41 1
.elif ${MACHINE_CPUARCH} == "arm" && ${CPUTYPE} == "xscale"
@


1.16
log
@SVN rev 206089 on 2010-04-02 13:23:49Z by fabient

- Support for uncore counting events: one fixed PMC with the uncore
  domain clock, 8 programmable PMC.
- Westmere based CPU (Xeon 5600, Corei7 980X) support.
- New man pages with events list for core and uncore.
- Updated Corei7 events with Intel 253669-033US December 2009 doc.
  There is some removed events in the documentation, they have been
  kept in the code but documented in the man page as obsolete.
- Offcore response events can be setup with rsp token.

Sponsored by: NETASQ
@
text
@d25 1
a25 1
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64"
d41 1
a41 1
.elif ${MACHINE_ARCH} == "arm" && ${CPUTYPE} == "xscale"
@


1.15
log
@SVN rev 201381 on 2010-01-02 09:58:07Z by ed

Build lib/ with WARNS=6 by default.

Similar to libexec/, do the same with lib/. Make WARNS=6 the norm and
lower it when needed.

I'm setting WARNS?=0 for secure/. It seems secure/ includes the
Makefile.inc provided by lib/. I'm not going to touch that directory.
Most of the code there is contributed anyway.
@
text
@d30 1
d36 4
@


1.14
log
@SVN rev 200928 on 2009-12-23 23:16:54Z by rpaulo

Intel XScale hwpmc(4) support.

This brings hwpmc(4) support for 2nd and 3rd generation XScale cores.
Right now it's enabled by default to make sure we test this a bit.
When the time comes it can be disabled by default.
Tested on Gateworks boards.

A man page is coming.

Obtained from:	//depot/user/rpaulo/xscalepmc/...
@
text
@a7 2
WARNS?=	6

@


1.13
log
@SVN rev 197741 on 2009-10-04 10:54:20Z by rpaulo

Install x86 related man pages on x86 systems only.

Reviewed by:	jkoshy
@
text
@d38 2
@


1.12
log
@SVN rev 183593 on 2008-10-04 12:27:49Z by jkoshy

Add manual pages for performance measurement counters present in
Intel Atom(tm), Core(tm) and Core2(tm) CPUs.
@
text
@d27 1
d38 1
@


1.12.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.12.2.2
log
@SVN rev 206702 on 2010-04-16 15:45:09Z by fabient

MFC r206089, r206684:

- Support for uncore counting events: one fixed PMC with the uncore
   domain clock, 8 programmable PMC.
- Westmere based CPU (Xeon 5600, Corei7 980X) support.
- New man pages with events list for core and uncore.
- Updated Corei7 events with Intel 253669-033US December 2009 doc.
  There is some removed events in the documentation, they have been
  kept in the code but documented in the man page as obsolete.
- Offcore response events can be setup with rsp token.

Sponsored by: NETASQ
@
text
@a30 1
MAN+=	pmc.ucf.3
a35 4
MAN+=	pmc.corei7.3
MAN+=	pmc.corei7uc.3
MAN+=	pmc.westmere.3
MAN+=	pmc.westmereuc.3
@


1.12.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/lib/libpmc/Makefile 206702 2010-04-16 15:45:09Z fabient $
@


1.12.2.2.6.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.12.2.2.6.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/lib/libpmc/Makefile 206702 2010-04-16 15:45:09Z fabient $
@


1.12.2.2.4.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.12.2.2.2.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.12.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.11
log
@SVN rev 183086 on 2008-09-16 16:57:14Z by jkoshy

Build and install PMC-dependent manual pages.
@
text
@d27 4
@


1.10
log
@Move the following functions into their own manual pages:
- pmc_attach(), pmc_detach().
- pmc_capabilities(), pmc_cpuinfo(), pmc_ncpu(), pmc_npmc(), pmc_pmcinfo(),
  pmc_width().
- pmc_get_driver_stats().
- pmc_get_msr().
- pmc_read(), pmc_rw(), pmc_write().
- pmc_set().
- pmc_start(), pmc_stop().
@
text
@d26 8
@


1.9
log
@- Describe function pmc_init() in its own manual page.
- Describe functions pmc_configure_logfile(), pmc_flush_logfile() and
  pmc_writelog() in their own manual page.
@
text
@d12 2
d17 3
d21 3
a23 1
MAN+=	pmc_init.3
d28 6
a35 3
	pmc.3 pmc_attach.3 \
	pmc.3 pmc_cpuinfo.3 \
	pmc.3 pmc_detach.3 \
a36 1
	pmc.3 pmc_get_driver_stats.3 \
d43 3
a45 11
	pmc.3 pmc_ncpu.3 \
	pmc.3 pmc_npmc.3 \
	pmc.3 pmc_pmcinfo.3 \
	pmc.3 pmc_read.3 \
	pmc.3 pmc_rw.3 \
	pmc.3 pmc_set.3 \
	pmc.3 pmc_start.3 \
	pmc.3 pmc_stop.3 \
	pmc.3 pmc_width.3 \
	pmc.3 pmc_write.3 \
	pmc.3 pmc_x86_get_msr.3
@


1.8
log
@Describe convenience functions `pmc_name_of_{capability,class,cputype,
disposition,event,mode,state}' in their own manual page.
@
text
@d10 5
a14 1
MAN=	pmc.3 pmc_allocate.3 pmc_disable.3 pmc_event_names_of_class.3
d16 1
d21 2
a23 1
	pmc.3 pmc_configure_logfile.3 \
a26 1
	pmc.3 pmc_flush_logfile.3 \
a27 1
	pmc.3 pmc_init.3 \
a43 1
	pmc.3 pmc_writelog.3 \
@


1.7
log
@Describe pmc_event_names_of_class() in its own manual page.
@
text
@d11 1
a16 1
	pmc.3 pmc_capabilities.3 \
d24 6
a29 6
	pmc.3 pmc_name_of_capability.3 \
	pmc.3 pmc_name_of_class.3 \
	pmc.3 pmc_name_of_cputype.3 \
	pmc.3 pmc_name_of_event.3 \
	pmc.3 pmc_name_of_mode.3 \
	pmc.3 pmc_name_of_state.3 \
@


1.6
log
@Describe pmc_enable() and pmc_disable() in their own manual page.
@
text
@d10 2
a11 1
MAN=	pmc.3 pmc_allocate.3 pmc_disable.3 pmclog.3
a20 1
	pmc.3 pmc_event_names_of_class.3 \
@


1.5
log
@Describe pmc_allocate() and pmc_release() in their own manual page.
@
text
@d10 1
a10 1
MAN=	pmc.3 pmc_allocate.3 pmclog.3
d19 1
a19 2
	pmc.3 pmc_disable.3 \
	pmc.3 pmc_enable.3 \
@


1.4
log
@MFP4:

- Implement sampling modes and logging support in hwpmc(4).

- Separate MI and MD parts of hwpmc(4) and allow sharing of
  PMC implementations across different architectures.
  Add support for P4 (EMT64) style PMCs to the amd64 code.

- New pmcstat(8) options: -E (exit time counts) -W (counts
  every context switch), -R (print log file).

- pmc(3) API changes, improve our ability to keep ABI compatibility
  in the future.  Add more 'alias' names for commonly used events.

- bug fixes & documentation.
@
text
@d10 1
a10 1
MAN=	pmc.3 pmclog.3
d13 1
a13 1
	pmc.3 pmc_allocate.3 \
a34 1
	pmc.3 pmc_release.3 \
@


1.4.2.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/lib/libpmc/Makefile 147191 2005-06-09 19:45:09Z jkoshy $
@


1.4.10.1
log
@SVN rev 193634 on 2009-06-07 10:00:35Z by fabient

MFC hwpmc framework:

- capture with callchain
- Intel Core 2 support
- Intel Core i7 support
- source code annotate (pmcannotate)
- bug fixes

Reviewed by: jkoshy (mentor)
Approved by: re (gnn)
@
text
@d10 1
a10 27
MAN=	pmc.3
MAN+=	pmc_allocate.3
MAN+=	pmc_attach.3
MAN+=	pmc_capabilities.3
MAN+=	pmc_configure_logfile.3
MAN+=	pmc_disable.3
MAN+=	pmc_event_names_of_class.3
MAN+=	pmc_get_driver_stats.3
MAN+=	pmc_get_msr.3
MAN+=	pmc_init.3
MAN+=	pmc_name_of_capability.3
MAN+=	pmc_read.3
MAN+=	pmc_set.3
MAN+=	pmc_start.3
MAN+=	pmclog.3

# PMC-dependent manual pages
MAN+=	pmc.atom.3
MAN+=	pmc.core.3
MAN+=	pmc.core2.3
MAN+=	pmc.iaf.3
MAN+=	pmc.k7.3
MAN+=	pmc.k8.3
MAN+=	pmc.p4.3
MAN+=	pmc.p5.3
MAN+=	pmc.p6.3
MAN+=	pmc.tsc.3
d13 31
a43 19
	pmc_allocate.3 pmc_release.3 \
	pmc_attach.3 pmc_detach.3 \
	pmc_capabilities.3 pmc_ncpu.3 \
	pmc_capabilities.3 pmc_npmc.3 \
	pmc_capabilities.3 pmc_pmcinfo.3 \
	pmc_capabilities.3 pmc_cpuinfo.3 \
	pmc_capabilities.3 pmc_width.3 \
	pmc_configure_logfile.3 pmc_flush_logfile.3 \
	pmc_configure_logfile.3 pmc_writelog.3 \
	pmc_disable.3 pmc_enable.3 \
	pmc_name_of_capability.3 pmc_name_of_class.3 \
	pmc_name_of_capability.3 pmc_name_of_cputype.3 \
	pmc_name_of_capability.3 pmc_name_of_disposition.3 \
	pmc_name_of_capability.3 pmc_name_of_event.3 \
	pmc_name_of_capability.3 pmc_name_of_mode.3 \
	pmc_name_of_capability.3 pmc_name_of_state.3 \
	pmc_read.3 pmc_rw.3 \
	pmc_read.3 pmc_write.3 \
	pmc_start.3 pmc_stop.3
@


1.4.10.2
log
@SVN rev 206704 on 2010-04-16 16:15:30Z by fabient

MFC r206089, r206684:

- Support for uncore counting events: one fixed PMC with the uncore
   domain clock, 8 programmable PMC.
- Westmere based CPU (Xeon 5600, Corei7 980X) support.
- New man pages with events list for core and uncore.
- Updated Corei7 events with Intel 253669-033US December 2009 doc.
  There is some removed events in the documentation, they have been
  kept in the code but documented in the man page as obsolete.
- Offcore response events can be setup with rsp token.

Sponsored by: NETASQ
@
text
@a30 1
MAN+=	pmc.ucf.3
a35 4
MAN+=	pmc.corei7.3
MAN+=	pmc.corei7uc.3
MAN+=	pmc.westmere.3
MAN+=	pmc.westmereuc.3
@


1.4.10.3
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/lib/libpmc/Makefile 206704 2010-04-16 16:15:30Z fabient $
@


1.4.10.2.2.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.4.10.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/lib/libpmc/Makefile 206704 2010-04-16 16:15:30Z fabient $
@


1.4.10.1.2.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.4.20.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.4.18.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.4.16.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.3
log
@Add convenience APIs pmc_width() and pmc_capabilities() to -lpmc.
Have pmcstat(8) and pmccontrol(8) use these APIs.

Return PMC class-related constants (PMC widths and capabilities)
with the OP GETCPUINFO call leaving OP PMCINFO to return only the
dynamic information associated with a PMC (i.e., whether enabled,
owner pid, reload count etc.).

Allow pmc_read() (i.e., OPS PMCRW) on active self-attached PMCs to
get upto-date values from hardware since we can guarantee that the
hardware is running the correct PMC at the time of the call.

Bug fixes:
 - (x86 class processors) Fix a bug that prevented an RDPMC
   instruction from being recognized as permitted till after the
   attached process had context switched out and back in again after
   a pmc_start() call.

   Tighten the rules for using RDPMC class instructions: a GETMSR
   OP is now allowed only after an OP ATTACH has been done by the
   PMC's owner to itself.  OP GETMSR is not allowed for PMCs that
   track descendants, for PMCs attached to processes other than
   their owner processes.

 - (P4/HTT processors only) Fix a bug that caused the MI and MD
   layers to get out of sync.  Add a new MD operation 'get_config()'
   as part of this fix.

 - Allow multiple system-mode PMCs at the same row-index but on
   different CPUs to be allocated.

 - Reject allocation of an administratively disabled PMC.

Misc. code cleanups and refactoring.  Improve a few comments.
@
text
@d5 2
a6 2
SRCS=	libpmc.c
INCS=	pmc.h
d10 1
a10 1
MAN=	pmc.3
d22 1
d42 1
d45 6
@


1.2
log
@Remove superfluous CFLAGS lines.  Use the conditional '?=' construct
for WARNS lines.

Submitted by:	ru
@
text
@d15 1
d39 1
@


1.1
log
@Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities
and documentation into -CURRENT.

Bump FreeBSD_version.

Reviewed by:	alc, jhb (kernel changes)
@
text
@a7 2
CFLAGS+=	-I${.CURDIR} -I${.CURDIR}/../../sys

@

