libcxlmi_mrvl is a vendor extension library for libcxlmi, the open-source CXL Management Interface library. It extends libcxlmi with Marvell-specific CCI commands, providing a C API for managing Marvell CXL memory devices.
The library uses the same endpoints and tunnel handles, and every Marvell command follows the same request/response calling convention as the libcxlmi command implementations.
- Clone the libcxlmi repository at https://github.com/computexpresslink/libcxlmi
NOTE: The last verified commit of libcxlmi is
e392b425ed4ea812073cbfdca179e90d8712c038. - Apply the
libcxlmi_mrvl.patchfile to the cloned libcxlmi repository:cd <path_to>/libcxlmi && git apply libcxlmi_mrvl.patch - Copy the
mrvldirectory inside the patched libcxlmi repository:cp -r <path_to>/mrvl <path_to>/libcxlmi/mrvlNOTE: Do not create a symbolic link, as this will break the build.
- Enter the libcxlmi repository and set the build up:
cd <path_to>/libcxlmi && meson setup build -Dvendor=mrvl - Enter the
build/directory and compile the code:This will producecd build && meson compilelibcxlmi_mrvl.a/libcxlmi_mrvl.soin thebuild/mrvl/directory.
NOTE:
libcxlmi_mrvlincorporates the fulllibcxlmiAPI, so applications only need to link againstlibcxlmi_mrvl— there is no need to also link withlibcxlmi.
Include libcxlmi_mrvl.h in your application to access both the Marvell vendor-specific commands and the full standard libcxlmi API:
#include <libcxlmi_mrvl.h>