---
name: "pmc.ucf"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/pmc.ucf"
---

# pmc.ucf(3)

measurement events for Intel uncore fixed function performance counters.

## NAME

**pmc.ucf** – measurement events for Intel uncore fixed function performance counters.

## LIBRARY

library “libpmc”

## SYNOPSIS

**#include \<pmc.h\>**

## DESCRIPTION

Each fixed-function PMC measures a specific hardware event. The number of fixed-function PMCs implemented in a CPU can vary. The number of fixed-function PMCs present can be determined at runtime by using function [pmc\_cpuinfo(3)](/pmc_cpuinfo/3.md).

Intel uncore fixed-function PMCs are documented in “Volume 3B: System Programming Guide, Part 2”, *Intel(R) 64 and IA-32 Architectures Software Developes Manual*, Order Number: 253669-033US, Intel Corporation, December 2009.

### PMC Capabilities

Fixed-function PMCs support the following capabilities:

| | |
| --- | --- |
| *Capability* | *Support* |
| PMC\_CAP\_CASCADE | No |
| PMC\_CAP\_EDGE | No |
| PMC\_CAP\_INTERRUPT | No |
| PMC\_CAP\_INVERT | No |
| PMC\_CAP\_READ | Yes |
| PMC\_CAP\_PRECISE | No |
| PMC\_CAP\_SYSTEM | No |
| PMC\_CAP\_TAGGING | No |
| PMC\_CAP\_THRESHOLD | No |
| PMC\_CAP\_USER | No |
| PMC\_CAP\_WRITE | Yes |

### Class Name Prefix

These PMCs are named using a class name prefix of “ucf-”.

### Event Specifiers (Fixed Function PMCs)

The fixed function PMCs are selectable using the following event names:

- UCLOCK

  (Fixed Function Counter 0) The fixed-function uncore counter increments at the rate of the U-clock. The frequency of the uncore clock domain can be determined from the uncore clock ratio which is available in the PCI configuration space register at offset C0H under device number 0 and Function 0.

## SEE ALSO

[pmc(3)](/pmc/3.md), [pmc.amd(3)](/pmc.amd/3.md), [pmc.atom(3)](/pmc.atom/3.md), [pmc.core(3)](/pmc.core/3.md), [pmc.core2(3)](/pmc.core2/3.md), [pmc.corei7(3)](/pmc.corei7/3.md), [pmc.corei7uc(3)](/pmc.corei7uc/3.md), [pmc.iaf(3)](/pmc.iaf/3.md), [pmc.ibs(3)](/pmc.ibs/3.md), [pmc.soft(3)](/pmc.soft/3.md), [pmc.tsc(3)](/pmc.tsc/3.md), [pmc.westmere(3)](/pmc.westmere/3.md), [pmc.westmereuc(3)](/pmc.westmereuc/3.md), [pmc\_cpuinfo(3)](/pmc_cpuinfo/3.md), [pmclog(3)](/pmclog/3.md), [hwpmc(4)](/hwpmc/4.md)

## HISTORY

The **pmc** library first appeared in FreeBSD 6.0.

## AUTHORS

The library “libpmc” library was written by Joseph Koshy ⟨*jkoshy@FreeBSD.org*⟩.
