Rust bindings for CXL Linux interfaces
cxl_rs attempts to grant the low level functionality which is needed to write a utility that would have functionality to the CXL utility that's part of the [ utility.
The library has 3 main responsibilities:
- Parsing file system entities representing CXL devices, like sysfs.
- Interfacing with the character device IOCTL interface
- Managing memory devices, ie provisioning a device, and interleave set management.
Status
Very limited functionality is currently supported by library. The following areas need work:
- Better tests. Tests are difficult to write because the host system usually will not have CXL devices.
- More idiomatic rust. Lots of code was written as a Rust novice and could use some conversion.
- Implement missing memory device commands.
- Handle provisioning (currently Linux driver has no support for this)
- Handle logging/debugging
- Make human readable size serializers
- Run rust-bindgen on UAPI as part of build
Contributing
Contributions are welcome. Currently the following areas are in need of work: