xref: /linux/Documentation/ABI/testing/sysfs-class-intel_pmt-features (revision 9669b2499ea377764f8320dd562dd6cd4ea80a5d)
1*2e7ba521SDavid E. BoxWhat:          /sys/class/intel_pmt/features-<PCI BDF>/
2*2e7ba521SDavid E. BoxDate:          2025-04-24
3*2e7ba521SDavid E. BoxKernelVersion: 6.16
4*2e7ba521SDavid E. BoxContact:       david.e.box@linux.intel.com
5*2e7ba521SDavid E. BoxDescription:
6*2e7ba521SDavid E. Box               The `features-<PCI BDF>/` directory represents the "features"
7*2e7ba521SDavid E. Box               capability exposed by Intel PMT (Platform Monitoring Technology)
8*2e7ba521SDavid E. Box               for the given PCI device.
9*2e7ba521SDavid E. Box
10*2e7ba521SDavid E. Box               Each directory corresponds to a PMT feature and contains
11*2e7ba521SDavid E. Box               attributes describing the available telemetry, monitoring, or
12*2e7ba521SDavid E. Box               control functionalities.
13*2e7ba521SDavid E. Box
14*2e7ba521SDavid E. BoxDirectory Structure:
15*2e7ba521SDavid E. Box
16*2e7ba521SDavid E. Box  /sys/class/intel_pmt/features-<PCI BDF>/
17*2e7ba521SDavid E. Box  ├── accelerator_telemetry/		# Per-accelerator telemetry data
18*2e7ba521SDavid E. Box  ├── crash_log/			# Contains system crash telemetry logs
19*2e7ba521SDavid E. Box  ├── per_core_environment_telemetry/	# Environmental telemetry per core
20*2e7ba521SDavid E. Box  ├── per_core_performance_telemetry/	# Performance telemetry per core
21*2e7ba521SDavid E. Box  ├── per_rmid_energy_telemetry/	# Energy telemetry for RMIDs
22*2e7ba521SDavid E. Box  ├── per_rmid_perf_telemetry/		# Performance telemetry for RMIDs
23*2e7ba521SDavid E. Box  ├── tpmi_control/			# TPMI-related controls and telemetry
24*2e7ba521SDavid E. Box  ├── tracing/				# PMT tracing features
25*2e7ba521SDavid E. Box  └── uncore_telemetry/			# Uncore telemetry data
26*2e7ba521SDavid E. Box
27*2e7ba521SDavid E. BoxCommon Files (Present in all feature directories):
28*2e7ba521SDavid E. Box
29*2e7ba521SDavid E. Box  caps
30*2e7ba521SDavid E. Box    - Read-only
31*2e7ba521SDavid E. Box    - Lists available capabilities for this feature.
32*2e7ba521SDavid E. Box
33*2e7ba521SDavid E. Box  guids
34*2e7ba521SDavid E. Box    - Read-only
35*2e7ba521SDavid E. Box    - Lists GUIDs associated with this feature.
36*2e7ba521SDavid E. Box
37*2e7ba521SDavid E. BoxAdditional Attributes (Conditional Presence):
38*2e7ba521SDavid E. Box
39*2e7ba521SDavid E. Box  max_command_size
40*2e7ba521SDavid E. Box    - Read-only
41*2e7ba521SDavid E. Box    - Present if the feature supports out-of-band MCTP access.
42*2e7ba521SDavid E. Box    - Maximum supported MCTP command size for out-of-band PMT access (bytes).
43*2e7ba521SDavid E. Box
44*2e7ba521SDavid E. Box  max_stream_size
45*2e7ba521SDavid E. Box    - Read-only
46*2e7ba521SDavid E. Box    - Present if the feature supports out-of-band MCTP access.
47*2e7ba521SDavid E. Box    - Maximum supported MCTP stream size (bytes).
48*2e7ba521SDavid E. Box
49*2e7ba521SDavid E. Box  min_watcher_period_ms
50*2e7ba521SDavid E. Box    - Read-only
51*2e7ba521SDavid E. Box    - Present if the feature supports the watcher API.
52*2e7ba521SDavid E. Box      The watcher API provides a writable control interface that allows user
53*2e7ba521SDavid E. Box      configuration of monitoring behavior, such as setting the sampling or
54*2e7ba521SDavid E. Box      reporting interval.
55*2e7ba521SDavid E. Box    - Minimum supported time period for the watcher interface (milliseconds).
56*2e7ba521SDavid E. Box
57*2e7ba521SDavid E. Box  num_rmids
58*2e7ba521SDavid E. Box    - Read-only
59*2e7ba521SDavid E. Box    - Present if the feature supports RMID (Resource Monitoring ID) telemetry.
60*2e7ba521SDavid E. Box      RMIDs are identifiers used by hardware to track and report resource usage,
61*2e7ba521SDavid E. Box      such as memory bandwidth or energy consumption, on a per-logical-entity
62*2e7ba521SDavid E. Box      basis (e.g., per core, thread, or process group).
63*2e7ba521SDavid E. Box    - Maximum number of RMIDs tracked simultaneously.
64*2e7ba521SDavid E. Box
65*2e7ba521SDavid E. BoxExample:
66*2e7ba521SDavid E. BoxFor a device with PCI BDF `0000:00:03.1`, the directory tree could look like:
67*2e7ba521SDavid E. Box
68*2e7ba521SDavid E. Box  /sys/class/intel_pmt/features-0000:00:03.1/
69*2e7ba521SDavid E. Box  ├── accelerator_telemetry/
70*2e7ba521SDavid E. Box  │   ├── caps
71*2e7ba521SDavid E. Box  │   ├── guids
72*2e7ba521SDavid E. Box  │   ├── max_command_size
73*2e7ba521SDavid E. Box  │   ├── max_stream_size
74*2e7ba521SDavid E. Box  │   ├── min_watcher_period_ms
75*2e7ba521SDavid E. Box  ├── crash_log/
76*2e7ba521SDavid E. Box  │   ├── caps
77*2e7ba521SDavid E. Box  │   ├── guids
78*2e7ba521SDavid E. Box  │   ├── max_command_size
79*2e7ba521SDavid E. Box  │   ├── max_stream_size
80*2e7ba521SDavid E. Box  ├── per_core_environment_telemetry/
81*2e7ba521SDavid E. Box  │   ├── caps
82*2e7ba521SDavid E. Box  │   ├── guids
83*2e7ba521SDavid E. Box  │   ├── max_command_size
84*2e7ba521SDavid E. Box  │   ├── max_stream_size
85*2e7ba521SDavid E. Box  │   ├── min_watcher_period_ms
86*2e7ba521SDavid E. Box  ├── per_rmid_energy_telemetry/
87*2e7ba521SDavid E. Box  │   ├── caps
88*2e7ba521SDavid E. Box  │   ├── guids
89*2e7ba521SDavid E. Box  │   ├── max_command_size
90*2e7ba521SDavid E. Box  │   ├── max_stream_size
91*2e7ba521SDavid E. Box  │   ├── min_watcher_period_ms
92*2e7ba521SDavid E. Box  │   ├── num_rmids
93*2e7ba521SDavid E. Box  ├── tpmi_control/
94*2e7ba521SDavid E. Box  │   ├── caps
95*2e7ba521SDavid E. Box  │   ├── guids
96*2e7ba521SDavid E. Box  ├── tracing/
97*2e7ba521SDavid E. Box  │   ├── caps
98*2e7ba521SDavid E. Box  │   ├── guids
99*2e7ba521SDavid E. Box  ├── uncore_telemetry/
100*2e7ba521SDavid E. Box  │   ├── caps
101*2e7ba521SDavid E. Box  │   ├── guids
102*2e7ba521SDavid E. Box  │   ├── max_command_size
103*2e7ba521SDavid E. Box  │   ├── max_stream_size
104*2e7ba521SDavid E. Box  │   ├── min_watcher_period_ms
105*2e7ba521SDavid E. Box
106*2e7ba521SDavid E. BoxNotes:
107*2e7ba521SDavid E. Box  - Some attributes are only present if the corresponding feature supports
108*2e7ba521SDavid E. Box    the capability (e.g., `max_command_size` for MCTP-capable features).
109*2e7ba521SDavid E. Box  - Features supporting RMIDs include `num_rmids`.
110*2e7ba521SDavid E. Box  - Features supporting the watcher API include `min_watcher_period_ms`.
111*2e7ba521SDavid E. Box  - The `caps` file provides additional information about the functionality
112*2e7ba521SDavid E. Box    of the feature.
113*2e7ba521SDavid E. Box
114*2e7ba521SDavid E. BoxExample 'caps' content for the 'tracing' feature:
115*2e7ba521SDavid E. Box
116*2e7ba521SDavid E. Box  /sys/class/intel_pmt/features-0000:00:03.1/
117*2e7ba521SDavid E. Box  ├── tracing/
118*2e7ba521SDavid E. Box  │   ├── caps
119*2e7ba521SDavid E. Box
120*2e7ba521SDavid E. Box	telemetry                                Available: No
121*2e7ba521SDavid E. Box	watcher                                  Available: Yes
122*2e7ba521SDavid E. Box	crashlog                                 Available: No
123*2e7ba521SDavid E. Box	streaming                                Available: No
124*2e7ba521SDavid E. Box	threashold                               Available: No
125*2e7ba521SDavid E. Box	window                                   Available: No
126*2e7ba521SDavid E. Box	config                                   Available: Yes
127*2e7ba521SDavid E. Box	tracing                                  Available: No
128*2e7ba521SDavid E. Box	inband                                   Available: Yes
129*2e7ba521SDavid E. Box	oob                                      Available: Yes
130*2e7ba521SDavid E. Box	secure_chan                              Available: No
131*2e7ba521SDavid E. Box	pmt_sp                                   Available: Yes
132*2e7ba521SDavid E. Box	pmt_sp_policy                            Available: Yes
133*2e7ba521SDavid E. Box	mailbox                                  Available: Yes
134*2e7ba521SDavid E. Box	bios_lock                                Available: Yes
135