NDCTL User Guide
HomePMDKNDCTLBlog
v72.0
v72.0
  • NDCTL User Guide
  • Installing NDCTL, DAXCTL, and CXL-CLI Utilities
    • Installing NDCTL and DAXCTL Packages on Linux
    • Installing the CXL-CLI Package on Linux
    • Installing NDCTL, DAXCTL, and CXL-CLI from Source on Linux
  • Quick Start
  • Concepts
    • NVDIMM Devices
    • PMEM and BLK Modes
    • Regions
      • Regions, Atomic Sectors, and DAX
    • Label Storage Area (LSA)
    • Namespaces
  • Managing NVDIMMs
  • Managing Regions
  • Managing Label Storage Areas (LSA)
  • Managing Namespaces
  • Managing NVDIMM Security
  • NDCTL Man Pages
    • ndctl(1)
    • ndctl-activate-firmware(1)
    • ndctl−check−labels(1)
    • ndctl−check−namespace(1)
    • ndctl−clear−errors(1)
    • ndctl−create−namespace(1)
    • ndctl−destroy−namespace(1)
    • ndctl−disable−dimm(1)
    • ndctl−disable−namespace(1)
    • ndctl−disable−region(1)
    • ndctl−enable−dimm(1)
    • ndctl-enable−namespace(1)
    • ndctl−enable−region(1)
    • ndctl−freeze−security(1)
    • ndctl−init−labels(1)
    • ndctl−inject−error(1)
    • ndctl−inject−smart(1)
    • ndct-list(1)
    • ndctl−load−keys(1)
    • ndctl−monitor(1)
    • ndctl-read-infoblock(1)
    • ndctl−read−labels(1)
    • ndctl−remove−passphrase(1)
    • ndctl−sanitize−dimm(1)
    • ndctl−setup−passphrase(1)
    • ndctl−start−scrub(1)
    • ndctl-update-firmware(1)
    • ndctl-update-passphrase(1)
    • ndctl−wait−overwrite(1)
    • ndctl−wait−scrub(1)
    • ndctl-write-infoblock(1)
    • ndctl−write−labels(1)
    • ndctl−zero−labels(1)
  • DAXCTL Man Pages
    • daxctl(1)
    • daxctl-create-device (1)
    • daxctl-destroy-device (1)
    • daxctl-disable-device (1)
    • daxctl-enable-device (1)
    • daxctl-list(1)
    • daxctl−migrate−device−model(1)
    • daxctl−offline−memory(1)
    • daxctl−online−memory(1)
    • daxctl−reconfigure−device(1)
  • CXL Man Pages
    • cxl(1)
    • cxl-list(1)
    • cxl-read-labels(1)
    • cxl-write-labels(1)
    • cxl-zero-labels(1)
  • Troubleshooting
  • Glossary
  • Reference Material
Powered by GitBook
On this page
  • Introduction
  • What's new in v72.0

Was this helpful?

NDCTL User Guide

NextInstalling NDCTL, DAXCTL, and CXL-CLI Utilities

Last updated 3 years ago

Was this helpful?

Introduction

ndctl is a utility for managing the Linux LIBNVDIMM Kernel subsystem. It is designed to work with various non-volatile memory devices (NVDIMMs) from different vendors. The LIBNVDIMM subsystem defines a kernel device model and control message interface for platform NVDIMM resources like those defined by the NFIT (NVDIMM Firmware Interface Table). The latest and specifications can be found at . Operations supported by ndctl include:

  • Provisioning capacity (namespaces)

  • Enumerating Devices

  • Enabling and Disabling NVDIMMs, Regions, and Namespaces

  • Managing NVDIMM Labels

What's new in v72.0

This release incorporates functionality up to the 5.16 kernel.

Highlights include a new utility and library for interfacing with the 'CXL' drivers and devices, a policy based configuration mechanism for ndctl and daxctl, fixes, test updates, and general additions for the PAPR family of NVDIMMs, more seed device accounting fixes, misc unit test and documentation updates, and fixes to NVDIMM bus scrubbing.

Commands:

  • cxl-cli: new utility providing list, {read,write,zero}-label commands

  • daxctl-reconfigure-device: new --check-config option

  • ndctl-monitor: add support for a new unified config file format

  • ndctl-*-namespace: seed namespace accounting fixes

Tests:

  • Fix device-dax mremap() test

  • Exercise soft_offline_page() corner cases

  • Fix btt expect table compile warning

  • monitor.sh: add checking the presence of jq command ahead of time

APIs:

  • ndctl_bus_nfit_translate_spa

  • ndctl_dimm_sizeof_namespace_index

  • ndctl_get_config_path

  • ndctl_set_config_path

  • daxctl_dev_has_online_memory

  • daxctl_dev_will_auto_online_memory

  • daxctl_get_config_path

  • daxctl_set_config_path

  • cxl_cmd_get_devname

  • cxl_cmd_get_mbox_status

  • cxl_cmd_get_out_size

  • cxl_cmd_health_info_get_dirty_shutdowns

  • cxl_cmd_health_info_get_ext_corrected_persistent_normal

  • cxl_cmd_health_info_get_ext_corrected_persistent_warning

  • cxl_cmd_health_info_get_ext_corrected_volatile_normal

  • cxl_cmd_health_info_get_ext_corrected_volatile_warning

  • cxl_cmd_health_info_get_ext_life_used_critical

  • cxl_cmd_health_info_get_ext_life_used_normal

  • cxl_cmd_health_info_get_ext_life_used_warning

  • cxl_cmd_health_info_get_ext_temperature_critical

  • cxl_cmd_health_info_get_ext_temperature_normal

  • cxl_cmd_health_info_get_ext_temperature_warning

  • cxl_cmd_health_info_get_hw_replacement_needed

  • cxl_cmd_health_info_get_life_used

  • cxl_cmd_health_info_get_maintenance_needed

  • cxl_cmd_health_info_get_media_data_loss_imminent

  • cxl_cmd_health_info_get_media_data_lost

  • cxl_cmd_health_info_get_media_normal

  • cxl_cmd_health_info_get_media_not_ready

  • cxl_cmd_health_info_get_media_persistence_loss_imminent

  • cxl_cmd_health_info_get_media_persistence_lost

  • cxl_cmd_health_info_get_media_powerloss_data_loss

  • cxl_cmd_health_info_get_media_powerloss_persistence_loss

  • cxl_cmd_health_info_get_media_shutdown_data_loss

  • cxl_cmd_health_info_get_media_shutdown_persistence_loss

  • cxl_cmd_health_info_get_performance_degraded

  • cxl_cmd_health_info_get_pmem_errors

  • cxl_cmd_health_info_get_temperature

  • cxl_cmd_health_info_get_volatile_errors

  • cxl_cmd_identify_get_fw_rev

  • cxl_cmd_identify_get_label_size

  • cxl_cmd_identify_get_partition_align

  • cxl_cmd_new_get_health_info

  • cxl_cmd_new_identify

  • cxl_cmd_new_raw

  • cxl_cmd_new_read_label cxl_cmd_new_write_label

  • cxl_cmd_read_label_get_payload

  • cxl_cmd_ref cxl_cmd_set_input_payload

  • cxl_cmd_set_output_payload cxl_cmd_submit

  • cxl_cmd_unref cxl_get_log_priority

  • cxl_get_private_data

  • cxl_get_userdata

  • cxl_memdev_get_ctx

  • cxl_memdev_get_devname

  • cxl_memdev_get_firmware_verison

  • cxl_memdev_get_first

  • cxl_memdev_get_id

  • cxl_memdev_get_label_size

  • cxl_memdev_get_major

  • cxl_memdev_get_minor

  • cxl_memdev_get_next

  • cxl_memdev_get_pmem_size

  • cxl_memdev_get_ram_size

  • cxl_memdev_nvdimm_bridge_active

  • cxl_memdev_read_label

  • cxl_memdev_write_label

  • cxl_memdev_zero_label

  • cxl_new cxl_ref

  • cxl_set_log_fn

  • cxl_set_log_priority

  • cxl_set_private_data

  • cxl_set_userdata cxl_unref

ACPI v6.0
ACPI
UEFI
uefi.org