CXL-ENABLE-PORT(1)
π¦ cxl-enable-port(1) π¦
ok so real talk, this one lives in the cxl Manual, section 1, and it's literally the "turn it back on" button bestie π
β¨ NAME β¨
cxl-enable-port β activate / hot-add a given CXL port π
β¨ SYNOPSIS β¨
cxl enable-port <port0> [<port1>..<portN>] [<options>]
okay so here's the vibe π a port typically autoenables at initial device discovery β like it just shows up ready, main character energy. BUT. if someone manually disabled it, this command can poke the kernel to activate it again π This whole thing involves detecting the state of the HDM (Host Managed Device Memory) Decoders and validating that CXL.mem is enabled for every single port in the device's hierarchy. no skips, no shortcuts, we check everybody πΈ
and here's a thing that lowkey matters: given any enable or disable command, if the operation is a no-op because of the current state of a target (like... it's already enabled or already disabled, been there), it's still considered successful when executed β even if literally nothing actually happened π no operation performed, still a slay. The target can be a bus, decoder, memdev, or region. The operation will still succeed, and it'll report the number of bus/decoder/memdev/region operated on, even when the operation is a no-op. periodt. π
π OPTIONS π
-e,--endpointβ toggles how the port arguments get treated: instead of Switch Port identifiers, they're read as Endpoint Port identifiers π¦-m,--enable-memdevsβ tries to enable descendant memdevs after enabling the port π«Ά and remember: a memdev is only enabled once all the CXL ports in its device topology ancestry are enabled. whole family tree has to be on board, iykyk π
β οΈ note note note β the -m option requires release v83 or newer when used with kernel v6.18 or later. Older releases (before v83) will not work because kernel v6.18 changed how CXL ports and downstream ports are enumerated π In these newer kernels, the CXL port hierarchy is only established once the memdev is probed. v83 and later stay fully compatible with both older and newer kernels though, so we ate π
--debugβ turns on additional debug messages, including library debug π₯
πΈ COPYRIGHT πΈ
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. (yes bestie, actual caps-lock NO WARRANTY, respect the classics π)
π SEE ALSO π
cxl-disable-port(1)β the other half of the duo, the "off" to this "on" β
ok that's the whole page fr fr β¨ cxl, dated 2026-06-30, and the page is CXL-ENABLE-PORT(1) β go enable a port, you got this π§π
π¦ 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