NDCTL User Guide
HomePMDKNDCTLBlog
v73
v73
  • 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-disable-memdev(1)
    • cxl-disable-port(1)
    • cxl-enable-memdev(1)
    • cxl-enable-port(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 v73

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 v73

This release incorporates functionality up to the 5.17 kernel.

Highlights include full CXL topology walk and filtering in cxl-list, a new cxl-cli command to set memdev partitioning info, several unit test fixes, conversion of the build system to meson, smart error injection enhancements for 'papr' NVDIMMs, and RPM spec fixes to support config file migration, and flatpak builds.

Commands:

  • cxl-list: full topology walk and filtering

  • cxl-set-partition: new command to set memdev partitions

  • cxl{enable,disable}-port: new commands

  • cxl{enable,disable}-memdev: new commands

Tests:

  • Deprecate BLK aperture support

  • inject-smart.sh: increase tolerance for decimal formatted fields

APIs:

  • ndctl_dimm_refresh_flags

  • cxl_bus_get_ctx

  • cxl_bus_get_devname

  • cxl_bus_get_first

  • cxl_bus_get_id

  • cxl_bus_get_next

  • cxl_bus_get_port

  • cxl_bus_get_provider

  • cxl_cmd_identify_get_persistent_only_size

  • cxl_cmd_identify_get_total_size

  • cxl_cmd_identify_get_volatile_only_size

  • cxl_cmd_new_get_partition

  • cxl_cmd_new_set_partition

  • cxl_cmd_partition_get_active_persistent_size

  • cxl_cmd_partition_get_active_volatile_size

  • cxl_cmd_partition_get_next_persistent_size

  • cxl_cmd_partition_get_next_volatile_size

  • cxl_cmd_partition_set_mode

  • cxl_decoder_get_ctx

  • cxl_decoder_get_devname

  • cxl_decoder_get_first

  • cxl_decoder_get_id

  • cxl_decoder_get_next

  • cxl_decoder_get_nr_targets

  • cxl_decoder_get_port

  • cxl_decoder_get_resource

  • cxl_decoder_get_size

  • cxl_decoder_get_target_by_memdev

  • cxl_decoder_get_target_by_position

  • cxl_decoder_get_target_type

  • cxl_decoder_is_accelmem_capable

  • cxl_decoder_is_locked

  • cxl_decoder_is_mem_capable

  • cxl_decoder_is_pmem_capable

  • cxl_decoder_is_volatile_capable

  • cxl_dport_get_devname

  • cxl_dport_get_first

  • cxl_dport_get_id

  • cxl_dport_get_next

  • cxl_dport_get_physical_node

  • cxl_dport_get_port

  • cxl_dport_maps_memdev

  • cxl_endpoint_get_bus

  • cxl_endpoint_get_ctx

  • cxl_endpoint_get_devname

  • cxl_endpoint_get_first

  • cxl_endpoint_get_host

  • cxl_endpoint_get_id

  • cxl_endpoint_get_memdev

  • cxl_endpoint_get_next

  • cxl_endpoint_get_parent

  • cxl_endpoint_get_port

  • cxl_endpoint_is_enabled

  • cxl_memdev_disable_invalidate

  • cxl_memdev_enable

  • cxl_memdev_get_bus

  • cxl_memdev_get_endpoint

  • cxl_memdev_get_host

  • cxl_memdev_get_numa_node

  • cxl_memdev_get_serial

  • cxl_memdev_is_enabled

  • cxl_port_disable_invalidate

  • cxl_port_enable

  • cxl_port_get_bus

  • cxl_port_get_bus

  • cxl_port_get_ctx

  • cxl_port_get_devname

  • cxl_port_get_dport_by_memdev

  • cxl_port_get_first

  • cxl_port_get_host

  • cxl_port_get_id

  • cxl_port_get_next

  • cxl_port_get_next_all

  • cxl_port_get_nr_dports

  • cxl_port_get_parent

  • cxl_port_hosts_memdev

  • cxl_port_is_enabled

  • cxl_port_is_endpoint

  • cxl_port_is_root

  • cxl_port_is_switch

  • cxl_port_to_bus

  • cxl_port_to_endpoint

  • cxl_target_get_decoder

  • cxl_target_get_devname

  • cxl_target_get_first

  • cxl_target_get_id

  • cxl_target_get_next

  • cxl_target_get_physical_node

  • cxl_target_get_position

  • cxl_target_maps_memdev

ACPI v6.0
ACPI
UEFI
uefi.org