DAXCTL-CREATE-DEVICE(1)

πŸ’… DAXCTL-CREATE-DEVICE πŸ’…

okay so bestie, you're reading the daxctl manual page for daxctl-create-device β€” yeah that's the whole manual name, it's a mouthful, we deal. this one's all about creating a devdax device, and honestly it's kind of iconic. let's get into it πŸŽ€


✨ SYNOPSIS ✨

daxctl create-device [<options>]

that's it. that's the whole vibe. options only, no positional args, she's low maintenance like that πŸ¦‹


🌸 EXAMPLES 🌸

okay these are the moment, fr fr. watch and learn πŸ‘‘

  • creates dax0.1 with 4G of size πŸ’–
# daxctl create-device -s 4G
[
  {
    "chardev":"dax0.1",
    "size":4294967296,
    "target_node":0,
    "mode":"devdax"
  }
]
  • creates devices with fully available size on all regions β€” -u said "make it pretty" and she DID ✨
# daxctl create-device -u
[
  {
    "chardev":"dax0.1",
    "size":"15.63 GiB (16.78 GB)",
    "target_node":0,
    "mode":"devdax"
  },
  {
    "chardev":"dax1.1",
    "size":"15.63 GiB (16.78 GB)",
    "target_node":1,
    "mode":"devdax"
  }
]
  • creates dax0.1 with fully available size on region id 0 β€” note the single object, not an array, she's solo now 🧚
# daxctl create-device -r 0 -u
{
  "chardev":"dax0.1",
  "size":"15.63 GiB (16.78 GB)",
  "target_node":0,
  "mode":"devdax"
}

πŸ¦‹ DESCRIPTION πŸ¦‹

so what does she actually do. daxctl create-device creates a dax device in devdax mode in dynamic regions. and the resultant? can also be converted to the system-ram mode β€” which arranges for the dax range to be hot-plugged into the system as regular memory. cute conversion arc, honestly πŸ’œ

now the important part, bestie, pay attention πŸ™ˆ: daxctl create-device expects that the BIOS or kernel defines a range in the EFI memory map with EFI_MEMORY_SP. and the resultant ranges mean that it's 100% capacity is reserved for applications. like, all of it. reserved. no sharing. main character energy only πŸ‘‘


πŸ’… OPTIONS πŸ’…

  • -r, --region= β€” restricts the operation to devices belonging to the specified region(s). so a device-dax region is a contiguous range of memory that hosts one or more /dev/daxX.Y devices, where X is the region id and Y is the device instance id. iykyk 🫢
  • -s, --size= β€” for regions that support dax device cretion, set the device size in bytes. otherwise it defaults to the maximum size specified by region. this option supports the suffixes "k" or "K" for KiB, "m" or "M" for MiB, "g" or "G" for GiB and "t" or "T" for TiB. 🌈

and listen β€” the size must be a multiple of the region alignment. no cap, don't try to be slick 😭

  • -a, --align β€” applications that want to establish dax memory mappings with page table entries greater than system base page size (4K on x86) need a device that is sufficiently aligned. this defaults to 2M. note that "devdax" mode enforces all mappings to be aligned to this value, i.e. it fails unaligned mapping attempts. so like... she will not be flexible about it πŸ’€
  • --input β€” applications that want to select ranges assigned to a device-dax instance, or wanting to establish previously created devices, can pass an input JSON file. the file option lets a user pass a JSON object similar to the one listed with "daxctl list". πŸ“

the device name is not re-created, but if a "chardev" is passed in the JSON file, it will use that to get the region id.

⚠️ ok important: the JSON content in the file cannot be an array of JSON objects but rather a single JSON object i.e. without the array enclosing brackets. no [ ], bestie. she said single. πŸ™…β€β™€οΈ
  • -u, --human β€” by default the command will output machine-friendly raw-integer data. instead, with this flag, numbers representing storage size will be formatted as human readable strings with units, other fields are converted to hexadecimal strings. it's giving "make it readable for the girlies" ✨
  • -v, --verbose β€” emit more debug messages. loud and proud, we love that for her πŸ”₯

Copyright © 2016 - 2022, Intel Corporation. License GPLv2: GNU GPL version 2 http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. 🫢


⭐ SEE ALSO ⭐

daxctl-list(1), daxctl-reconfigure-device[1], daxctl-destroy-device[1]

go read those next, bestie, they're all connected πŸ’–


and that's the page!! this came from daxctl, dated 2026-06-30, and yeah the header up top said DAXCTL-CREATE-DEVICE(1) because that's literally her whole title πŸ’… slay, go make some devices πŸ¦‹βœ¨

πŸ“¦ where this page comes from
  • arch rolling: ndctl 85-1 Β· LGPL-2.1-only AND GPL-2.0-only AND CC0-1.0 AND MIT
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms