Skip to content

MarvellEmbeddedProcessors/structera-cxl-host

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libcxlmi_mrvl

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.

Building libcxlmi_mrvl

  1. Clone the libcxlmi repository at https://github.com/computexpresslink/libcxlmi

    NOTE: The last verified commit of libcxlmi is e392b425ed4ea812073cbfdca179e90d8712c038.

  2. Apply the libcxlmi_mrvl.patch file to the cloned libcxlmi repository:
    cd <path_to>/libcxlmi && git apply libcxlmi_mrvl.patch
    
  3. Copy the mrvl directory inside the patched libcxlmi repository:
    cp -r <path_to>/mrvl <path_to>/libcxlmi/mrvl
    

    NOTE: Do not create a symbolic link, as this will break the build.

  4. Enter the libcxlmi repository and set the build up:
    cd <path_to>/libcxlmi && meson setup build -Dvendor=mrvl
    
  5. Enter the build/ directory and compile the code:
    cd build && meson compile
    
    This will produce libcxlmi_mrvl.a / libcxlmi_mrvl.so in the build/mrvl/ directory.

NOTE: libcxlmi_mrvl incorporates the full libcxlmi API, so applications only need to link against libcxlmi_mrvl — there is no need to also link with libcxlmi.

Using libcxlmi_mrvl

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>

About

Open source libcxlmi library with vendor-specific CCI commands

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors