Skip to content
This repository has been archived by the owner on Nov 4, 2024. It is now read-only.

Commit

Permalink
GITBOOK-42: change request with no subject merged in GitBook
Browse files Browse the repository at this point in the history
  • Loading branch information
steve.scargall authored and gitbook-bot committed Mar 31, 2023
1 parent 8a4948b commit a0c6b8f
Show file tree
Hide file tree
Showing 41 changed files with 1,721 additions and 329 deletions.
Binary file added ipmctl-user-guide/.gitbook/assets/capture.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ipmctl-user-guide/.gitbook/assets/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 8 additions & 7 deletions ipmctl-user-guide/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,27 @@

## Introduction

`ipmctl` is an open source utility created and maintained by Intel to manage Intel® Optane™ DC persistent memory modules. `ipmctl`, which works in both Linux and Windows, is a vendor specific tool, meaning it is not able to be used for managing NVDIMMs from vendors other than Intel. The full project is open source and can be seen on [GitHub](https://github.com/intel/ipmctl). In this guide we will refer to Intel® Optane™ DC memory modules simply as _modules_ or the _persistent memory modules_.
`ipmctl` is an open source utility created and maintained by Intel to manage Intel® Optane™ persistent memory modules. `ipmctl`, works on both Linux and Windows. The full project is open source and can be seen on [GitHub](https://github.com/intel/ipmctl). In this guide we will refer to Intel® Optane™ memory modules simply as _modules_ or _persistent memory modules_.

`ipmctl` refers to the following interface components:

* `libipmctl`: An Application Programming Interface \(API\) library for managing persistent memory modules.
* `ipmctl`: A Command Line Interface \(CLI\) application for configuring and managing persistent memory modules from the command line.
* `libipmctl`: An Application Programming Interface (API) library for managing persistent memory modules.
* `ipmctl`: A Command Line Interface (CLI) application for configuring and managing persistent memory modules from the command line.
* `ipmctl-monitor`: A monitor daemon/system service for monitoring the health and status of persistent memory modules.

Functionality includes:

* Discover Intel Optane DC memory modules on the platform
* Discover Intel Optane persistent memory modules on the platform
* Provision the platform memory configuration
* Learn more about operating modes in this [video](link)
* Learn more about operating modes in this [video](https://www.youtube.com/watch?v=gqo3gty-R4s)
* View and update module firmware
* Configure data-at-rest security
* Monitor module health
* Track performance of modules
* Debug and troubleshoot modules

Architecture Diagram:
Architecture Diagram:

![](../.gitbook/assets/capture.PNG)
![](.gitbook/assets/capture.PNG)

To learn more about how ipmctl works with the hardware see the [Intel® Optane™ Persistent Memory OS Provisioning Specification](https://cdrdv2.intel.com/v1/dl/getContent/634430), which describes all the firmware interface commands used for this operation. 
40 changes: 40 additions & 0 deletions ipmctl-user-guide/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Table of contents

* [IPMCTL User Guide](README.md)
* [Installing IPMCTL](installing-ipmctl/README.md)
* [Installing IPMCTL packages on Linux](installing-ipmctl/installing-ipmctl-packages-on-linux.md)
* [Building and Installing IPMCTL from Source on Linux](installing-ipmctl/building-and-installing-ipmctl-from-source-on-linux.md)
* [Installing IPMCTL on Microsoft Windows using the MSI Installer](installing-ipmctl/installing-ipmctl-on-microsoft-windows-using-the-msi-installer.md)
* [Building and Installing IPMCTL on Microsoft Windows from Source](installing-ipmctl/building-and-installing-ipmctl-on-microsoft-windows-from-source.md)
* [Basic Usage](basic-usage.md)
* [Module Discovery](module-discovery/README.md)
* [Show System Capabilities](module-discovery/show-system-capabilities.md)
* [Show Socket](module-discovery/show-socket.md)
* [Show Topology](module-discovery/show-topology.md)
* [Show Memory Resources](module-discovery/show-memory-resources.md)
* [Show Device](module-discovery/show-device.md)
* [Provisioning](provisioning/README.md)
* [Concepts](provisioning/concepts.md)
* [Create Memory Allocation Goal](provisioning/create-memory-allocation-goal.md)
* [Provision App Direct](provisioning/provision-app-direct.md)
* [Provision Memory Mode](provisioning/provision-memory-mode.md)
* [Provision Mixed Mode](provisioning/provision-mixed-mode.md)
* [Show Memory Allocation Goal](provisioning/show-memory-allocation-goal.md)
* [Dump Memory Allocation Settings](provisioning/dump-memory-allocation-settings.md)
* [Load Memory Allocation Goal](provisioning/load-memory-allocation-goal.md)
* [Delete Memory Allocation Goal](provisioning/delete-memory-allocation-goal.md)
* [Instrumentation](instrumentation/README.md)
* [Show Sensor](instrumentation/show-sensor.md)
* [Change Sensor Settings](instrumentation/change-sensor-settings.md)
* [Show Device Performance](instrumentation/show-device-performance.md)
* [Debug](debug/README.md)
* [Run Diagnostic](debug/run-diagnostic.md)
* [Show Error Log](debug/show-error-log.md)
* [Dump Debug Log](debug/dump-debug-log.md)
* [Show ACPI Tables](debug/show-acpi-tables.md)
* [Show Device Platform Configuration Data](debug/show-device-platform-configuration-data.md)
* [Delete Device Platform Configuration Data](debug/delete-device-platform-configuration-data.md)
* [Inject Error](debug/inject-error.md)
* [Support and Maintenance](support-and-maintenance/README.md)
* [Show Events](support-and-maintenance/show-events.md)
* [Version and Firmware](support-and-maintenance/version-and-firmware.md)
14 changes: 9 additions & 5 deletions ipmctl-user-guide/basic-usage.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,29 @@
# Basic Usage

The `ipmctl` utility has many options. A complete list of commands can be shown by executing `ipmctl` with no arguments, `ipmctl help`, or reading the `ipmctl(1)` man page. Running `ipmctl`requires root privileges. `ipmctl` can also be used from UEFI. Namespaces are created using `ipmctl` at UEFI level or the [ndctl utility](../getting-started-guide/what-is-ndctl.md).
The `ipmctl` utility has many options. A complete list of commands can be shown by executing `ipmctl` with no arguments, `ipmctl help`, or reading the `ipmctl(1)` man page. Running `ipmctl`requires root privileges. `ipmctl` can also be used from UEFI. Namespaces are created using `ipmctl` at UEFI level or the [ndctl utility](https://github.com/sscargal/pmem-docs-ipmctl-user-guide/tree/f25a04768fa69975fc7b10ea1818b460255f1b79/getting-started-guide/what-is-ndctl.md).

Usage:

```text
```
ipmctl COMMAND [OPTIONS] [TARGETS] [PROPERTIES]
```

Items in square brackets `[..]` are optional. Options, targets, and property values are separated by a pipe `|` meaning "or", and the default value is italicized. Items in parenthesis `(..)` indicate a user supplied value.

`ipmctl` commands include:

* create
* delete
* dump
* help
* load
* set
* delete
* show
* create
* dump
* start
* version

More information can be shown for each command using the `-verbose` flag, which is helpful for debugging.

A video recorded by Lenovo shows [How to use ipmctl commands to monitor Intel® Optane™ DC Persistent Memory Module health status on Microsoft Windows](https://www.youtube.com/watch?v=pzSsdcfL-vg). It provides an introduction to using ipmctl. The commands are the same on Linux.

To learn more about how ipmctl works with the hardware see the [Intel® Optane™ Persistent Memory OS Provisioning Specification](https://cdrdv2.intel.com/v1/dl/getContent/634430), which describes all the firmware interface commands used for this operation.
34 changes: 34 additions & 0 deletions ipmctl-user-guide/debug/README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,36 @@
# Debug

The ipmctl utility provides several debugging features for persistent memory modules. 

For an in-depth explanation for how ipmctl works with the hardware see the [Intel® Optane™ Persistent Memory OS Provisioning Specification](https://cdrdv2.intel.com/v1/dl/getContent/634430), which describes all the firmware interface commands used for this operation.

Here are the articles in this section:

{% content-ref url="run-diagnostic.md" %}
[run-diagnostic.md](run-diagnostic.md)
{% endcontent-ref %}

{% content-ref url="show-error-log.md" %}
[show-error-log.md](show-error-log.md)
{% endcontent-ref %}

{% content-ref url="dump-debug-log.md" %}
[dump-debug-log.md](dump-debug-log.md)
{% endcontent-ref %}

{% content-ref url="show-acpi-tables.md" %}
[show-acpi-tables.md](show-acpi-tables.md)
{% endcontent-ref %}

{% content-ref url="show-device-platform-configuration-data.md" %}
[show-device-platform-configuration-data.md](show-device-platform-configuration-data.md)
{% endcontent-ref %}

{% content-ref url="delete-device-platform-configuration-data.md" %}
[delete-device-platform-configuration-data.md](delete-device-platform-configuration-data.md)
{% endcontent-ref %}

{% content-ref url="inject-error.md" %}
[inject-error.md](inject-error.md)
{% endcontent-ref %}

Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,22 @@ When `Config` is specified, the `Current`, `Input Data Size`, `Output Data Size`

> Warning: This command may result in data loss. Data should be backed up to other storage before executing this command.
```text
```
ipmctl delete [OPTIONS] -dimm (DimmIds) -pcd (Config)
```

### **Targets**
## **Targets**

* `-dimm (DimmIDs)`: Deletes the PCD data on specific persistent memory modules by supplying the DIMM target and one or more comma-separated DimmIDs. The default is to delete the PCD data for all manageable modules.
* `-pcd Config`: Clears the configuration management information

### **Examples**
## **Examples**

Clear the Cin, Cout, Ccur tables from all manageable modules

```text
$ delete -dimm -pcd Config
```

### **Limitations**
<pre><code><strong>$ sudo ipmctl delete -dimm -pcd Config
</strong></code></pre>

The specified module\(s\) must be manageable by the host software, and if data-at-rest security is enabled, the modules must be unlocked. Any existing namespaces associated with the requested module\(s\) should be deleted before running this command.
## **Limitations**

The specified module(s) must be manageable by the host software, and if data-at-rest security is enabled, the modules must be unlocked. Any existing namespaces associated with the requested module(s) should be deleted before running this command.
18 changes: 8 additions & 10 deletions ipmctl-user-guide/debug/dump-debug-log.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,31 @@

Dumps encoded firmware debug logs from specified persistent memory modules and optionally decodes to human readable text.

```text
```
ipmctl dump [OPTIONS] -destination (file_prefix) [-dict (file)] -debug -dimm (DimmIDs) [PROPERTIES]
```

### **Targets**

* `-destination (file_prefix)`: The command will create files that use the given filename as a prefix and append the DIMM UID, DIMM handle, debug log source, and the appropriate file type \(.bin for encoded logs, .txt for decoded logs\) onto the end.
## **Targets**

> file\_prefix\_Uid\_Handle\_logsource.\[bin,txt\]
* `-destination (file_prefix)`: The command will create files that use the given filename as a prefix and append the DIMM UID, DIMM handle, debug log source, and the appropriate file type (.bin for encoded logs, .txt for decoded logs) onto the end.

> file\_prefix\_Uid\_Handle\_logsource.\[bin,txt]
* `-dict (path)`: Optional file path to the dictionary file. If supplied, the command will create both the binary debug log and a text file with decoded log data with the file prefix specified by destination.
* `-dimm (DimmIDs)`: Dumps the debug logs from the specified modules.

### **Examples**
## **Examples**

Dump and decode the debug log from persistent memory modules 0x0001 and 0x0011 using the dictionary file.

```text
```
$ sudo ipmctl dump -destination file_prefix -dict nlog_dict.txt -debug -dimm 0x0001,0x0011
```

### **Sample Output**
## **Sample Output**

```text
```
Dumped media FW debug logs to file
(file_prefix_8089-A1-1816-00000016_0x0001_media.bin)
Decoded 456 records to file (file_prefix_8089-A1-1816-00000016_0x0001_media.txt)
No spi FW debug logs found
```

Loading

0 comments on commit a0c6b8f

Please sign in to comment.