cxl_root_decoder_alloc(9)
π cxl_root_decoder_alloc(9) β the Kernel API Manual, but make it make sense
okay so bestie, welcome to the cxl_root_decoder_alloc(9) page π this is straight out of the Kernel API Manual and it's genuinely iconic once you know what's going on, i promise.
πΈ NAME πΈ
cxl_root_decoder_alloc β allocate a root level decoder, that's the whole vibe β¨
π SYNOPSIS π
struct cxl_root_decoder * cxl_root_decoder_alloc (struct cxl_port *port
, unsigned int nr_targets );
like, you hand it a port and a nr_targets, and it gives you back a struct cxl_root_decoder * π«Ά
π¦ ARGUMENTS π¦
portβ the owning CXL root of this decoder. think of it as the main character's home base πnr_targetsβ the static number of downstream targets. static, meaning fixed, meaning don't come for it π₯
β RETURN β
it returns a new cxl decoder that's meant to be registered by cxl_decoder_add π« and also β a firmware description of CXL resources into a CXL standard decode topology. yes that's literally what it says, no i'm not paraphrasing, periodt.
π SEE ALSO π
the whole friend group, fr fr:
- Kernel file
./drivers/cxl/core/port.c cxl core(9)devm_cxl_add_port(9)devm_cxl_add_dport(9)devm_cxl_add_rch_dport(9)cxl_add_ep(9)find_cxl_port_by_dport(9)find_cxl_port_by_uport(9)cxl_decoder_init(9)cxl_switch_decoder_alloc(9)cxl_endpoint_decoder_alloc(9)cxl_decoder_add_locked(9)cxl_decoder_add(9)__cxl_driver_register(9)cxl_endpoint_get_perf_coordinates(9)
lowkey a whole squad, and they all live over in ./drivers/cxl/core π§
okay that's the page!! sourced from ./drivers/cxl/core, dated October 2026, and yeah β this was the cxl_root_decoder_alloc(9) moment π slay, go allocate urself a root decoder bestie πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms