// Copyright (c) 2018, Intel Corporation.
// SPDX-License-Identifier: BSD-3-Clause

ipmctl(1)
=========

NAME
----
ipmctl - Utility for managing Intel(R) Optane(TM) persistent memory modules (PMem module)

SYNOPSIS
--------
[listing]
ipmctl COMMAND [OPTIONS] [TARGETS] [PROPERTIES]

OPTIONS
-------
-h::
--help::
  Run ipmctl help command.

DESCRIPTION
-----------
Utility for managing Intel(R) Optane(TM) persistent memory modules (PMem module)

Supports functionality to:

- Discover PMem modules on the platform.
- Provision the platform memory configuration.
- View and update the firmware on PMem modules.
- Configure data-at-rest security on PMem modules.
- Monitor PMem module health.
- Track performance of PMem modules.
- Debug and troubleshoot PMem modules.

COMMANDS
--------

=== DEVICE DISCOVERY
Discover PMem modules on the platform.

*ipmctl-show-device*(1)::
  Shows information about one or more PMem modules

*ipmctl-show-memory-resources*(1)::
  Shows memory allocation information for this platform

*ipmctl-show-socket(1)*::
  Shows basic information about the physical processors

*ipmctl-show-system-capabilities*(1)::
  Shows the platform supported PMem module capabilities

*ipmctl-show-topology(1)*::
  Shows the topology of the memory installed

=== MEMORY SUBSYSTEM PROVISIONING
Provision the platform memory configuration and configure data-at-rest security
on PMem modules.

ifndef::os_build[]
*ipmctl-change-device-passphrase*(1)::
  Changes the security passphrase on PMem module

*ipmctl-change-device-security*(1)::
  Changes the PMem module security lock state
endif::os_build[]

*ipmctl-create-goal(1)*::
  Creates a memory allocation goal on one or more PMem module

*ipmctl-delete-goal(1)*::
  Deletes a memory allocation goal on one or more PMem module

*ipmctl-dump-goal(1)*::
   Stores the current system configuration in a file

ifndef::os_build[]
*ipmctl-enable-device-security(1)*::
  Enable data-at-rest security on PMem module

*ipmctl-erase-device-data(1)*::
  Erases the persistent data on one or more PMem modules
endif::os_build[]

*ipmctl-load-goal(1)*::
  Load a memory allocation goal from a file onto PMem modules

*ipmctl-show-goal(1)*::
  Shows the memory allocation goal on one or more PMem module

*ipmctl-show-region(1)*::
  Retrieves a list of persistent memory regions

=== INSTRUMENTATION
Monitor health and track performance of PMem modules.

*ipmctl-change-sensor*(1)::
  Changes the threshold or enabled state for PMem modules sensors

*ipmctl-show-performance*(1)::
  Shows performance metrics for one or more PMem modules

*ipmctl-show-sensor*(1)::
  Shows health statistics for one or more PMem modules

=== SUPPORT AND MAINTENANCE
View and update the firmware on PMem modules. Other support and maintenance commands.

*ipmctl-change-preference*(1)::
  Modifies one or more user preferences

*ipmctl-dump-support*(1)::
  Dumps a support snapshot to a file

*ipmctl-help*(1)::
  Shows help for the supported commands

*ipmctl-modify-device*(1)::
  Changes the configurable settings on one or more PMem modules

*ipmctl-show-firmware*(1)::
  Shows detailed information about the firmware

*ipmctl-show-preferences*(1)::
  Displays a list of the PMem module software user preferences

*ipmctl-update-firmware*(1)::
  Updates the firmware on one or more PMem modules.

*ipmctl-version*(1)::
  Shows the PMem module host software versions

=== DEBUG
Debug and troubleshoot PMem modules.

*ipmctl-delete-pcd*(1)
  Clears select partition data from the PCD

*ipmctl-dump-debug-log*(1)::
  Dumps encoded firmware debug logs from PMem module

*ipmctl-inject-error*(1)::
  Injects an error or clears a previously injected error

*ipmctl-show-cap*(1)::
  Shows the current Command Access Policy restrictions.

*ipmctl-show-cel*(1)::
  Shows the current Command Effect Log.

*ipmctl-start-diagnostic*(1)::
  Runs a diagnostic test

*ipmctl-show-acpi*(1)::
  Shows the system ACPI tables related to the PMem modules

*ipmctl-show-error-log*(1)::
  Shows thermal or media errors on the specified PMem modules

*ipmctl-show-pcd*(1)::
  Shows the platform configuration data for one or more PMem modules

*ipmctl-dump-session*(1)::
  Dumps the active session to a file

*ipmctl-load-session*(1)::
  Loads a session from a file into memory

*ipmctl-show-session*(1)::
  Displays information about an active session

*ipmctl-start-session*(1)::
 Starts a recording or playback session

*ipmctl-stop-session*(1)::
  Stops a recording or playback session

SEE ALSO
--------
*ipmctl-show-device*(1),
*ipmctl-show-memory-resources*(1),
*ipmctl-show-socket*(1),
*ipmctl-show-system-capabilities*(1),
*ipmctl-show-topology*(1),
ifndef::os_build[]
*ipmctl-change-device-passphrase*(1),
*ipmctl-change-device-security*(1),
endif::os_build[]
*ipmctl-create-goal*(1),
*ipmctl-create-goal*(1),
*ipmctl-delete-goal*(1),
*ipmctl-dump-goal*(1),
ifndef::os_build[]
*ipmctl-enable-device-security*(1),
*ipmctl-erase-device-data*(1),
endif::os_build[]
*ipmctl-load-goal*(1),
*ipmctl-show-goal*(1),
*ipmctl-show-region*(1),
*ipmctl-change-sensor*(1),
*ipmctl-show-performance*(1),
*ipmctl-show-sensor*(1),
*ipmctl-change-preference*(1),
*ipmctl-dump-support*(1),
*ipmctl-help*(1),
*ipmctl-modify-device*(1),
*ipmctl-show-firmware*(1),
*ipmctl-show-preferences*(1),
*ipmctl-update-firmware*(1),
*ipmctl-version*(1),
*impctl-delete-pcd*(1),
*ipmctl-dump-debug-log*(1),
*ipmctl-inject-error*(1),
*ipmctl-show-cap*(1),
*ipmctl-show-cel*(1),
*ipmctl-start-diagnostic*(1),
*ipmctl-show-acpi*(1),
*ipmctl-show-error-log*(1),
*ipmctl-show-pcd*(1)
*ipmctl-dump-session*(1)
*ipmctl-load-session*(1)
*ipmctl-show-session*(1)
*ipmctl-start-session*(1)
*ipmctl-stop-session*(1)

NOTES
-----
https://github.com/intel/ipmctl
