# NDCTL User Guide

## 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 [ACPI v6.0](http://www.uefi.org/sites/default/files/resources/ACPI_6_0_Errata_A.PDF) NFIT (**N**VDIMM **F**irmware **I**nterface **T**able). The latest [ACPI ](http://www.uefi.org/specifications)and [UEFI ](http://www.uefi.org/specifications)specifications can be found at [uefi.org](http://www.uefi.org). Operations supported by `ndctl` include:

* Provisioning capacity (namespaces)
* Enumerating Devices
* Enabling and Disabling NVDIMMs, Regions, and Namespaces
* Managing NVDIMM Labels

## What's new in v67

This release incorporates functionality up to the 5.4 kernel, and adds a number of bug fixes, and improvements.

Highlights include small changes for PowerPC compatibility, improvements to the dax.sh unit test to detect failures in mapping huge pages, support for the 'security frozen' attribute, user experience improvements for the daxctl-reconfigure-device command, including an option to specify movable vs. non-movable state for onlining memory, and an option to allow create-namespaces to create a maximal configuration until it exhausts all available region capacity.

Commands:&#x20;

* [create-namespace](https://docs.pmem.io/ndctl-user-guide/v67/ndctl-man-pages/ndctl-create-namespace): add --continue option&#x20;
* [daxctl-reconfigure-device](https://docs.pmem.io/ndctl-user-guide/v67/daxctl-man-pages/daxctl-reconfigure-device): add --no-movable option&#x20;
* [daxctl-reconfigure-device](https://docs.pmem.io/ndctl-user-guide/v67/daxctl-man-pages/daxctl-reconfigure-device): display movable state in listings&#x20;
* [daxctl-reconfigure-device](https://docs.pmem.io/ndctl-user-guide/v67/daxctl-man-pages/daxctl-reconfigure-device): detect races in memory onlining&#x20;
* [ndctl-freeze-security](https://docs.pmem.io/ndctl-user-guide/v67/ndctl-man-pages/ndctl-freeze-security): support for 'security frozen' attribute

APIs:&#x20;

* ndctl\_dimm\_security\_is\_frozen&#x20;
* daxctl\_memory\_is\_movable&#x20;
* daxctl\_memory\_online\_no\_movable
