Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PMC_GET_MSR(3)	       FreeBSD Library Functions Manual		PMC_GET_MSR(3)

NAME
     pmc_get_msr -- x86	architecture-specific PMC operations

LIBRARY
     Performance Monitoring Counters Interface Library (libpmc,	-lpmc)

SYNOPSIS
     #include <pmc.h>

     int
     pmc_get_msr(pmc_id_t pmc, uint32_t	*msr);

DESCRIPTION
     The function pmc_get_msr()	returns	the processor model specific register
     number associated with a PMC for subsequent use with RDPMC	instructions.
     Argument pmc specifies a process scope counting PMC.  The function	will
     write the model specific register number associated with the PMC to the
     location pointed to by argument msr.

     After successful completion of this function, applications	can directly
     read the contents of PMC hardware using RDPMC instructions.

RETURN VALUES
     The pmc_get_msr() function	returns	the value 0 if successful; otherwise
     the value -1 is returned and the global variable errno is set to indicate
     the error.

ERRORS
     A call to pmc_get_msr() may fail with the following errors:

     [EINVAL]		The PMC	handle specified was invalid.

     [EINVAL]		The PMC	specified did not have process scope or	count-
			ing mode.

     [EINVAL]		The PMC	specified was allocated	with the
			PMC_F_DESCENDANTS flag.

     [EINVAL]		The specified PMC is already attached to target	pro-
			cesses other than the owner.

     [ENOSYS]		The underlying hardware	does not support an RDPMC in-
			struction.

SEE ALSO
     pmc(3), hwpmc(4)

FreeBSD	13.0		       November	25, 2007		  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pmc_get_msr&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help