2021-07-27 09:49:28 -07:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
#
|
|
|
|
# Intel Platform Monitoring Technology drivers
|
|
|
|
#
|
|
|
|
|
|
|
|
config INTEL_PMT_CLASS
|
|
|
|
tristate
|
|
|
|
help
|
|
|
|
The Intel Platform Monitoring Technology (PMT) class driver provides
|
|
|
|
the basic sysfs interface and file hierarchy used by PMT devices.
|
|
|
|
|
|
|
|
For more information, see:
|
|
|
|
<file:Documentation/ABI/testing/sysfs-class-intel_pmt>
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called intel_pmt_class.
|
|
|
|
|
|
|
|
config INTEL_PMT_TELEMETRY
|
|
|
|
tristate "Intel Platform Monitoring Technology (PMT) Telemetry driver"
|
2021-12-07 17:50:12 -08:00
|
|
|
depends on INTEL_VSEC
|
2025-07-02 19:28:28 -07:00
|
|
|
select INTEL_PMT_DISCOVERY
|
2021-07-27 09:49:28 -07:00
|
|
|
select INTEL_PMT_CLASS
|
|
|
|
help
|
|
|
|
The Intel Platform Monitory Technology (PMT) Telemetry driver provides
|
|
|
|
access to hardware telemetry metrics on devices that support the
|
|
|
|
feature.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called intel_pmt_telemetry.
|
|
|
|
|
|
|
|
config INTEL_PMT_CRASHLOG
|
|
|
|
tristate "Intel Platform Monitoring Technology (PMT) Crashlog driver"
|
2021-12-07 17:50:12 -08:00
|
|
|
depends on INTEL_VSEC
|
2021-07-27 09:49:28 -07:00
|
|
|
select INTEL_PMT_CLASS
|
|
|
|
help
|
|
|
|
The Intel Platform Monitoring Technology (PMT) crashlog driver provides
|
|
|
|
access to hardware crashlog capabilities on devices that support the
|
|
|
|
feature.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called intel_pmt_crashlog.
|
platform/x86/intel/pmt: Add PMT Discovery driver
This patch introduces a new driver to enumerate and expose Intel Platform
Monitoring Technology (PMT) capabilities via a simple discovery mechanism.
The PMT Discovery driver parses hardware-provided discovery tables from
Intel Out of Band Management Services Modules (OOBMSM) and extracts feature
information for various providers (such as TPMI, Telemetry, Crash Log,
etc). This unified interface simplifies the process of determining which
manageability and telemetry features are supported by a given platform.
This new feature is described in the Intel Platform Monitoring Technology
3.0 specification, section 6.6 Capability.
Key changes and additions:
New file drivers/platform/x86/intel/pmt/discovery.c:
– Implements the discovery logic to map the discovery resource, read
the feature discovery table, and validate feature parameters.
New file drivers/platform/x86/intel/pmt/features.c:
– Defines feature names, layouts, and associated capability masks.
– Provides a mapping between raw hardware attributes and sysfs
representations for easier integration with user-space tools.
New header include/linux/intel_pmt_features.h:
– Declares constants, masks, and feature identifiers used across the
PMT framework.
Sysfs integration:
– Feature attributes are exposed under /sys/class/intel_pmt.
– Each device is represented by a subfolder within the intel_pmt class,
named using its DBDF (Domain:Bus:Device.Function), e.g.:
features-0000:00:03.1
– Example directory layout for a device:
/sys/class/intel_pmt/features-0000:00:03.1/
├── accelerator_telemetry
├── crash_log
├── per_core_environment_telemetry
├── per_core_performance_telemetry
├── per_rmid_energy_telemetry
├── per_rmid_perf_telemetry
├── tpmi_control
├── tracing
└── uncore_telemetry
By exposing PMT feature details through sysfs and integrating with the
existing PMT class, this driver paves the way for more streamlined
integration of PMT-based manageability and telemetry tools.
Link: https://www.intel.com/content/www/us/en/content-details/710389/intel-platform-monitoring-technology-intel-pmt-external-specification.html
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Link: https://lore.kernel.org/r/20250703022832.1302928-9-david.e.box@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-07-02 19:28:23 -07:00
|
|
|
|
|
|
|
config INTEL_PMT_DISCOVERY
|
|
|
|
tristate "Intel Platform Monitoring Technology (PMT) Discovery driver"
|
|
|
|
depends on INTEL_VSEC
|
|
|
|
select INTEL_PMT_CLASS
|
|
|
|
help
|
|
|
|
The Intel Platform Monitoring Technology (PMT) discovery driver provides
|
|
|
|
access to details about the various PMT features and feature specific
|
|
|
|
attributes.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
|
|
will be called pmt_discovery.
|
2025-07-02 19:28:30 -07:00
|
|
|
|
|
|
|
config INTEL_PMT_KUNIT_TEST
|
|
|
|
tristate "KUnit tests for Intel PMT driver"
|
|
|
|
depends on INTEL_PMT_DISCOVERY
|
2025-07-14 10:15:43 +02:00
|
|
|
depends on INTEL_PMT_TELEMETRY || !INTEL_PMT_TELEMETRY
|
2025-07-02 19:28:30 -07:00
|
|
|
depends on KUNIT
|
|
|
|
help
|
|
|
|
Enable this option to compile and run a suite of KUnit tests for the Intel
|
|
|
|
Platform Monitoring Technology (PMT) driver. These tests are designed to
|
|
|
|
validate the driver's functionality, error handling, and overall stability,
|
|
|
|
helping developers catch regressions and ensure code quality during changes.
|
|
|
|
|
|
|
|
This option is intended for development and testing environments. It is
|
|
|
|
recommended to disable it in production builds. To compile this driver as a
|
|
|
|
module, choose M here: the module will be called pmt-discovery-kunit.
|