5 releases

0.0.5 Jun 25, 2021
0.0.4 May 25, 2021
0.0.3 May 23, 2021
0.0.2 Apr 30, 2021
0.0.1 Apr 21, 2021

#660 in Unix APIs

MIT license

75KB
2K SLoC

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 ndctl utility.

The library has 3 main responsibilities:

  1. Parsing file system entities representing CXL devices, like sysfs.
  2. Interfacing with the character device IOCTL interface
  3. 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:

  1. Better tests. Tests are difficult to write because the host system usually will not have CXL devices.
  2. More idiomatic rust. Lots of code was written as a Rust novice and could use some conversion.
  3. Implement missing memory device commands.
  4. Handle provisioning (currently Linux driver has no support for this)
  5. Handle logging/debugging
  6. Make human readable size serializers
  7. Run rust-bindgen on UAPI as part of build

Contributing

Contributions are welcome. Currently the following areas are in need of work:

Dependencies

~2.6–3.5MB
~77K SLoC